summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Blum <alexander.blum@c3s.cc>2023-06-18 21:11:54 +0200
committerAlexander Blum <alexander.blum@c3s.cc>2023-06-18 21:11:54 +0200
commit88bb093dfacab7cc2d2ed8dbb25cb6fa8a1306de (patch)
tree456881c1e70ff879c28e1671f11a54976923bf02
parentf386cc08a2d4de3e9d51f78479eb1c6c4ca1c7f2 (diff)
Add migration for profile settings from 'profile/name'->path to 'profile/name/path'->path
-rw-r--r--src/qtpasssettings.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/qtpasssettings.cpp b/src/qtpasssettings.cpp
index 83117021..9a95c96b 100644
--- a/src/qtpasssettings.cpp
+++ b/src/qtpasssettings.cpp
@@ -60,9 +60,21 @@ void QtPassSettings::setPasswordConfiguration(
QHash<QString, QHash<QString, QString>> QtPassSettings::getProfiles() {
getInstance()->beginGroup(SettingsConstants::profile);
+ 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();
- QHash<QString, QHash<QString, QString>> profiles;
foreach (QString group, childGroups) {
QHash<QString, QString> profile;
profile.insert("path", getInstance()->value(group + "/path").toString());