[pim/trojita] src/Plugins/AbookAddressbook: Add method for getting abook database filename

Espen Sandøy Hustad <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit df81720a1ad1bd0d907dafc85730686d9484ec35 by Espen Sandøy Hustad.
Committed on 03/08/2026 at 18:42.
Pushed by ehustad into branch 'master'.

Add method for getting abook database filename

To avoid duplication.

M  +11   -6    src/Plugins/AbookAddressbook/AbookAddressbook.cpp
M  +1    -0    src/Plugins/AbookAddressbook/AbookAddressbook.h

https://invent.kde.org/pim/trojita/-/commit/df81720a1ad1bd0d907dafc85730686d9484ec35

diff --git a/src/Plugins/AbookAddressbook/AbookAddressbook.cpp b/src/Plugins/AbookAddressbook/AbookAddressbook.cpp
index 9de13f0b1..d3635fccf 100644
--- a/src/Plugins/AbookAddressbook/AbookAddressbook.cpp
+++ b/src/Plugins/AbookAddressbook/AbookAddressbook.cpp
@@ -121,7 +121,7 @@ AbookAddressbook::AbookAddressbook(QObject *parent): AddressbookPlugin(parent),
     readAbook(false);
 
     m_filesystemWatcher = new QFileSystemWatcher(this);
-    m_filesystemWatcher->addPath(QDir::homePath() + QLatin1String("/.abook/addressbook"));
+    m_filesystemWatcher->addPath(dbFileName());
     connect (m_filesystemWatcher, &QFileSystemWatcher::fileChanged, this, &AbookAddressbook::scheduleAbookUpdate);
 }
 
@@ -169,7 +169,7 @@ QStandardItemModel *AbookAddressbook::model() const
 
 void AbookAddressbook::remonitorAdressbook()
 {
-    m_filesystemWatcher->addPath(QDir::homePath() + QLatin1String("/.abook/addressbook"));
+    m_filesystemWatcher->addPath(dbFileName());
 }
 
 QString AbookAddressbook::abookDirPath() const
@@ -182,6 +182,11 @@ QString AbookAddressbook::configFileName() const
     return abookDirPath() + QStringLiteral("/abookrc");
 }
 
+QString AbookAddressbook::dbFileName() const
+{
+    return abookDirPath() + QStringLiteral("/addressbook");
+}
+
 void AbookAddressbook::createAbookDir()
 {
     QDir dir(abookDirPath());
@@ -223,7 +228,7 @@ void AbookAddressbook::updateConfigFile() const
 
 void AbookAddressbook::createAbookDBFile() const
 {
-    QFile abookFile(QDir::homePath() + QLatin1String("/.abook/addressbook"));
+    QFile abookFile(dbFileName());
     if (!abookFile.exists()) {
         abookFile.open(QIODevice::WriteOnly);
     }
@@ -244,14 +249,14 @@ void AbookAddressbook::updateAbook()
 {
     readAbook(true);
     // QFileSystemWatcher will usually unhook from the file when it's re/written - the entire watcher ain't so great :-(
-    m_filesystemWatcher->addPath(QDir::homePath() + QLatin1String("/.abook/addressbook"));
+    m_filesystemWatcher->addPath(dbFileName());
 }
 
 void AbookAddressbook::readAbook(bool update)
 {
 //     QElapsedTimer profile;
 //     profile.start();
-    QSettings abook(QDir::homePath() + QLatin1String("/.abook/addressbook"), QSettings::IniFormat);
+    QSettings abook(dbFileName(), QSettings::IniFormat);
     QStringList contacts = abook.childGroups();
     foreach (const QString &contact, contacts) {
         Common::SettingsCategoryGuard guard(&abook, contact);
@@ -323,7 +328,7 @@ void AbookAddressbook::readAbook(bool update)
 void AbookAddressbook::saveContacts()
 {
     m_filesystemWatcher->blockSignals(true);
-    QSettings abook(QDir::homePath() + QLatin1String("/.abook/addressbook"), QSettings::IniFormat);
+    QSettings abook(dbFileName(), QSettings::IniFormat);
     abook.clear();
     for (int i = 0; i < m_contacts->rowCount(); ++i) {
         Common::SettingsCategoryGuard guard(&abook, QString::number(i));
diff --git a/src/Plugins/AbookAddressbook/AbookAddressbook.h b/src/Plugins/AbookAddressbook/AbookAddressbook.h
index 448ba41b6..fea2040f2 100644
--- a/src/Plugins/AbookAddressbook/AbookAddressbook.h
+++ b/src/Plugins/AbookAddressbook/AbookAddressbook.h
@@ -79,6 +79,7 @@ private:
 
     [[nodiscard]] QString abookDirPath() const;
     [[nodiscard]] QString configFileName() const;
+    [[nodiscard]] QString dbFileName() const;
 
     QFileSystemWatcher *m_filesystemWatcher;
     QTimer *m_updateTimer;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.