[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kpmcore/luks-decorator] src/fs: Allow the UI to set a passphrase before creation instead of asking.
From: Teo Mrnjavac <teo () kde ! org>
Date: 2016-04-21 15:06:08
Message-ID: E1atGBE-0000gr-90 () scm ! kde ! org
[Download RAW message or body]
Git commit 7edc601a36206f3121f5b0e1b5792433e8f89c8a by Teo Mrnjavac.
Committed on 21/04/2016 at 15:05.
Pushed by mrnjavac into branch 'luks-decorator'.
Allow the UI to set a passphrase before creation instead of asking.
M +9 -11 src/fs/luks.cpp
M +3 -0 src/fs/luks.h
http://commits.kde.org/kpmcore/7edc601a36206f3121f5b0e1b5792433e8f89c8a
diff --git a/src/fs/luks.cpp b/src/fs/luks.cpp
index 6f42320..54ff999 100644
--- a/src/fs/luks.cpp
+++ b/src/fs/luks.cpp
@@ -78,19 +78,13 @@ void luks::init()
bool luks::create(Report& report, const QString& deviceNode) const
{
Q_ASSERT(m_innerFs);
- QPointer<DecryptLuksDialog> dlg = new DecryptLuksDialog(0, deviceNode); //TODO: \
parent widget instead of 0
-
- if (dlg->exec() != QDialog::Accepted)
- {
- delete dlg;
- return false;
- }
+ Q_ASSERT(!m_passphrase.isEmpty());
std::vector<QString> commands;
commands.push_back(QStringLiteral("echo"));
commands.push_back(QStringLiteral("cryptsetup"));
std::vector<QStringList> args;
- args.push_back({ dlg->luksPassphrase().text() });
+ args.push_back({ m_passphrase });
args.push_back({ QStringLiteral("-s"),
QStringLiteral("512"),
QStringLiteral("luksFormat"),
@@ -104,11 +98,10 @@ bool luks::create(Report& report, const QString& deviceNode) \
const commands.push_back(QStringLiteral("echo"));
commands.push_back(QStringLiteral("cryptsetup"));
args.clear();
- args.push_back({ dlg->luksPassphrase().text() });
+ args.push_back({ m_passphrase });
args.push_back({ QStringLiteral("luksOpen"),
deviceNode,
- dlg->luksName().text() });
- delete dlg;
+ QStringLiteral("luks-") + readUUID(deviceNode) });
ExternalCommand openCmd(commands, args);
if (!(openCmd.run(-1) && openCmd.exitCode() == 0))
@@ -175,6 +168,11 @@ QString luks::cryptCloseTitle() const
return i18nc("@title:menu", "Deactivate");
}
+void luks::setPassphrase(const QString& passphrase)
+{
+ m_passphrase = passphrase;
+}
+
bool luks::canMount(const QString& deviceNode) const
{
return m_isCryptOpen &&
diff --git a/src/fs/luks.h b/src/fs/luks.h
index 45c48c2..11eaf21 100644
--- a/src/fs/luks.h
+++ b/src/fs/luks.h
@@ -95,6 +95,8 @@ public:
QString cryptOpenTitle() const;
QString cryptCloseTitle() const;
+ void setPassphrase(const QString&);
+
virtual bool canMount(const QString&) const;
virtual bool canUnmount(const QString&) const;
bool isMounted() const;
@@ -143,6 +145,7 @@ private:
mutable FileSystem* m_innerFs;
mutable bool m_isCryptOpen;
+ QString m_passphrase;
bool m_isMounted;
};
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic