summaryrefslogtreecommitdiffstats
path: root/src/qtpasssettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qtpasssettings.cpp')
-rw-r--r--src/qtpasssettings.cpp74
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"));