diff --git a/src/browser/BrowserService.cpp b/src/browser/BrowserService.cpp index 2ab7682e0..506e63395 100644 --- a/src/browser/BrowserService.cpp +++ b/src/browser/BrowserService.cpp @@ -453,11 +453,6 @@ void BrowserService::addEntry(const QString& id, return; } - auto* addEntryGroup = findCreateAddEntryGroup(db); - if (!addEntryGroup) { - return; - } - auto* entry = new Entry(); entry->setUuid(QUuid::createUuid()); entry->setTitle(QUrl(url).host()); @@ -465,16 +460,19 @@ void BrowserService::addEntry(const QString& id, entry->setIcon(KEEPASSXCBROWSER_DEFAULT_ICON); entry->setUsername(login); entry->setPassword(password); - entry->setGroup(addEntryGroup); // Select a group for the entry if (!group.isEmpty()) { if (db->rootGroup()) { auto selectedGroup = db->rootGroup()->findGroupByUuid(Tools::hexToUuid(groupUuid)); - if (selectedGroup && selectedGroup->name() == group) { + if (selectedGroup) { entry->setGroup(selectedGroup); + } else { + entry->setGroup(getDefaultEntryGroup(db)); } } + } else { + entry->setGroup(getDefaultEntryGroup(db)); } const QString host = QUrl(url).host(); @@ -859,7 +857,7 @@ BrowserService::checkAccess(const Entry* entry, const QString& host, const QStri return Unknown; } -Group* BrowserService::findCreateAddEntryGroup(const QSharedPointer& selectedDb) +Group* BrowserService::getDefaultEntryGroup(const QSharedPointer& selectedDb) { auto db = selectedDb ? selectedDb : getDatabase(); if (!db) { @@ -872,7 +870,7 @@ Group* BrowserService::findCreateAddEntryGroup(const QSharedPointer& s } const QString groupName = - QLatin1String(KEEPASSXCBROWSER_GROUP_NAME); // TODO: setting to decide where new keys are created + QLatin1String(KEEPASSXCBROWSER_GROUP_NAME); for (auto* g : rootGroup->groupsRecursive(true)) { if (g->name() == groupName && !g->isRecycled()) { diff --git a/src/browser/BrowserService.h b/src/browser/BrowserService.h index a8f04262f..bbc6d187f 100644 --- a/src/browser/BrowserService.h +++ b/src/browser/BrowserService.h @@ -114,7 +114,7 @@ private: const QString& realm); QJsonObject prepareEntry(const Entry* entry); Access checkAccess(const Entry* entry, const QString& host, const QString& submitHost, const QString& realm); - Group* findCreateAddEntryGroup(const QSharedPointer& selectedDb = {}); + Group* getDefaultEntryGroup(const QSharedPointer& selectedDb = {}); int sortPriority(const Entry* entry, const QString& host, const QString& submitUrl, const QString& baseSubmitUrl) const; bool matchUrlScheme(const QString& url);