diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 19c580a..824c948 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -1,11 +1,15 @@ set(GUI_SRC - gui/partresizerwidget.cpp - gui/partwidget.cpp - gui/partwidgetbase.cpp + gui/decryptluksdialog.cpp + gui/decryptluksdialogwidget.cpp + gui/partresizerwidget.cpp + gui/partwidget.cpp + gui/partwidgetbase.cpp ) set(GUI_LIB_HDRS + gui/decryptluksdialog.h + gui/decryptluksdialogwidget.h gui/partresizerwidget.h gui/partwidget.h gui/partwidgetbase.h -) \ No newline at end of file +) diff --git a/src/gui/decryptluksdialog.cpp b/src/gui/decryptluksdialog.cpp new file mode 100644 index 0000000..8ad84fc --- /dev/null +++ b/src/gui/decryptluksdialog.cpp @@ -0,0 +1,48 @@ +/************************************************************************* + * Copyright (C) 2013 by Andrius Štikonas * + * * + * This program is free software; you can redistribute it and/or * + * modify it under the terms of the GNU General Public License as * + * published by the Free Software Foundation; either version 3 of * + * the License, or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see .* + *************************************************************************/ + +#include "gui/decryptluksdialog.h" +#include "gui/decryptluksdialogwidget.h" + +#include "core/device.h" +#include "core/partitiontable.h" + +#include + +#include +#include + +#include + +DecryptLuksDialog::DecryptLuksDialog(QWidget* parent, const QString& deviceNode) : + QDialog(parent), + m_DialogWidget(new DecryptLuksDialogWidget(this)), + m_DeviceNode(deviceNode) +{ + QVBoxLayout *mainLayout = new QVBoxLayout(this); + setLayout(mainLayout); + mainLayout->addWidget(&widget()); + setWindowTitle(xi18nc("@title:window", "Decrypt LUKS partition on %1", this->deviceNode())); + + QDialogButtonBox* dialogButtonBox = new QDialogButtonBox; + QPushButton* decryptButton = new QPushButton; + decryptButton->setText(i18nc("@action:button", "&Decrypt")); + decryptButton->setIcon(QIcon::fromTheme(QStringLiteral("object-unlocked"))); + dialogButtonBox->addButton(decryptButton, QDialogButtonBox::AcceptRole); + mainLayout->addWidget(dialogButtonBox); + connect(dialogButtonBox, SIGNAL(accepted()), this, SLOT(accept())); +} diff --git a/src/gui/decryptluksdialog.h b/src/gui/decryptluksdialog.h new file mode 100644 index 0000000..a8e5ffe --- /dev/null +++ b/src/gui/decryptluksdialog.h @@ -0,0 +1,53 @@ +/************************************************************************* + * Copyright (C) 2013 by Andrius Štikonas * + * * + * This program is free software; you can redistribute it and/or * + * modify it under the terms of the GNU General Public License as * + * published by the Free Software Foundation; either version 3 of * + * the License, or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see .* + *************************************************************************/ + +#if !defined(DECRYPTLUKSDIALOG__H) + +#define DECRYPTLUKSDIALOG__H + +#include "gui/decryptluksdialogwidget.h" + +#include + +class Device; + +class DecryptLuksDialog : public QDialog +{ + Q_OBJECT + + public: + DecryptLuksDialog(QWidget* parent, const QString& deviceNode); + + protected: + DecryptLuksDialogWidget& widget() { return *m_DialogWidget; } + const DecryptLuksDialogWidget& widget() const { return *m_DialogWidget; } + const QString& deviceNode() const { return m_DeviceNode; } + + private: + DecryptLuksDialogWidget* m_DialogWidget; + const QString& m_DeviceNode; + + public: + QLineEdit& luksName() { return widget().luksName(); } + const QLineEdit& luksName() const { return widget().luksName(); } + + QLineEdit& luksPassphrase() { return widget().luksPassphrase(); } + const QLineEdit& luksPassphrase() const { return widget().luksPassphrase(); } +}; + + +#endif