diff options
Diffstat (limited to 'src/qtpasssettings.cpp')
-rw-r--r-- | src/qtpasssettings.cpp | 74 |
1 files changed, 65 insertions, 9 deletions
diff --git a/src/qtpasssettings.cpp b/src/qtpasssettings.cpp index 20d7b5cb..e76ae886 100644 --- a/src/qtpasssettings.cpp +++ b/src/qtpasssettings.cpp @@ -58,13 +58,30 @@ void QtPassSettings::setPasswordConfiguration( config.Characters[PasswordConfiguration::CUSTOM]); } -QHash<QString, QString> QtPassSettings::getProfiles() { +QHash<QString, QHash<QString, QString>> QtPassSettings::getProfiles() { getInstance()->beginGroup(SettingsConstants::profile); - - QStringList childrenKeys = getInstance()->childKeys(); - QHash<QString, QString> profiles; - foreach (QString key, childrenKeys) { - profiles.insert(key, getInstance()->value(key).toString()); + QHash<QString, QHash<QString, QString>> profiles; + + // migration from version <= v1.3.2: profiles datastructure + QStringList childKeys = getInstance()->childKeys(); + if (!childKeys.empty()) { + foreach (QString key, childKeys) { + QHash<QString, QString> profile; + profile.insert("path", getInstance()->value(key).toString()); + profile.insert("signingKey", ""); + profiles.insert(key, profile); + } + } + // /migration from version <= v1.3.2 + + QStringList childGroups = getInstance()->childGroups(); + foreach (QString group, childGroups) { + QHash<QString, QString> profile; + profile.insert("path", getInstance()->value(group + "/path").toString()); + profile.insert("signingKey", + getInstance()->value(group + "/signingKey").toString()); + // profiles.insert(group, getInstance()->value(group).toString()); + profiles.insert(group, profile); } getInstance()->endGroup(); @@ -72,13 +89,16 @@ QHash<QString, QString> QtPassSettings::getProfiles() { return profiles; } -void QtPassSettings::setProfiles(const QHash<QString, QString> &profiles) { +void QtPassSettings::setProfiles( + const QHash<QString, QHash<QString, QString>> &profiles) { getInstance()->remove(SettingsConstants::profile); getInstance()->beginGroup(SettingsConstants::profile); - QHash<QString, QString>::const_iterator i = profiles.begin(); + QHash<QString, QHash<QString, QString>>::const_iterator i = profiles.begin(); for (; i != profiles.end(); ++i) { - getInstance()->setValue(i.key(), i.value()); + getInstance()->setValue(i.key() + "/path", i.value().value("path")); + getInstance()->setValue(i.key() + "/signingKey", + i.value().value("signingKey")); } getInstance()->endGroup(); @@ -242,6 +262,33 @@ void QtPassSettings::setHideContent(const bool &hideContent) { getInstance()->setValue(SettingsConstants::hideContent, hideContent); } +bool QtPassSettings::isUseMonospace(const bool &defaultValue) { + return getInstance() + ->value(SettingsConstants::useMonospace, defaultValue) + .toBool(); +} +void QtPassSettings::setUseMonospace(const bool &useMonospace) { + getInstance()->setValue(SettingsConstants::useMonospace, useMonospace); +} + +bool QtPassSettings::isDisplayAsIs(const bool &defaultValue) { + return getInstance() + ->value(SettingsConstants::displayAsIs, defaultValue) + .toBool(); +} +void QtPassSettings::setDisplayAsIs(const bool &displayAsIs) { + getInstance()->setValue(SettingsConstants::displayAsIs, displayAsIs); +} + +bool QtPassSettings::isNoLineWrapping(const bool &defaultValue) { + return getInstance() + ->value(SettingsConstants::noLineWrapping, defaultValue) + .toBool(); +} +void QtPassSettings::setNoLineWrapping(const bool &noLineWrapping) { + getInstance()->setValue(SettingsConstants::noLineWrapping, noLineWrapping); +} + bool QtPassSettings::isAddGPGId(const bool &defaultValue) { return getInstance() ->value(SettingsConstants::addGPGId, defaultValue) @@ -276,6 +323,15 @@ void QtPassSettings::setPassStore(const QString &passStore) { getInstance()->setValue(SettingsConstants::passStore, passStore); } +QString QtPassSettings::getPassSigningKey(const QString &defaultValue) { + return getInstance() + ->value(SettingsConstants::passSigningKey, defaultValue) + .toString(); +} +void QtPassSettings::setPassSigningKey(const QString &passSigningKey) { + getInstance()->setValue(SettingsConstants::passSigningKey, passSigningKey); +} + void QtPassSettings::initExecutables() { QString passExecutable = QtPassSettings::getPassExecutable(Util::findBinaryInPath("pass")); |