qt4-b-gone: Initialize data dir paths on demand
authorManuel Nickschas <sputnick@quassel-irc.org>
Thu, 26 Jul 2018 20:07:24 +0000 (22:07 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sun, 18 Nov 2018 10:06:43 +0000 (11:06 +0100)
Since special handling for KDE4 data locations was removed, it is
no longer required to set the paths from the outside. Simply
initialize the paths on first use.

src/common/quassel.cpp
src/common/quassel.h
src/qtui/qtuiapplication.cpp

index af4c69b..b7a6fbf 100644 (file)
@@ -416,22 +416,13 @@ QString Quassel::configDirPath()
 }
 
 
-void Quassel::setDataDirPaths(const QStringList &paths) {
-    instance()->_dataDirPaths = paths;
-}
-
-
 QStringList Quassel::dataDirPaths()
 {
-    return instance()->_dataDirPaths;
-}
-
+    if (!instance()->_dataDirPaths.isEmpty())
+        return instance()->_dataDirPaths;
 
-QStringList Quassel::findDataDirPaths()
-{
-    // TODO Qt5
-    // We don't use QStandardPaths for now, as we still need to provide fallbacks for Qt4 and
-    // want to stay consistent.
+    // TODO: Migrate to QStandardPaths (will require moving of the sqlite database,
+    //       or a fallback for it being in the config dir)
 
     QStringList dataDirNames;
 #ifdef Q_OS_WIN
@@ -485,6 +476,7 @@ QStringList Quassel::findDataDirPaths()
 
     dataDirNames.removeDuplicates();
 
+    instance()->_dataDirPaths = dataDirNames;
     return dataDirNames;
 }
 
index fc40bbb..097481d 100644 (file)
@@ -218,14 +218,6 @@ public slots:
 signals:
     void messageLogged(const QDateTime &timeStamp, const QString &msg);
 
-protected:
-    static void setDataDirPaths(const QStringList &paths);
-    static QStringList findDataDirPaths();
-
-    friend class CoreApplication;
-    friend class QtUiApplication;
-    friend class MonolithicApplication;
-
 private:
     void setupEnvironment();
     void registerMetaTypes();
index 3f03f09..608d39a 100644 (file)
@@ -35,8 +35,6 @@
 QtUiApplication::QtUiApplication(int &argc, char **argv)
     : QApplication(argc, argv)
 {
-    Quassel::setDataDirPaths(Quassel::findDataDirPaths());
-
     connect(this, &QGuiApplication::commitDataRequest, this, &QtUiApplication::commitData, Qt::DirectConnection);
     connect(this, &QGuiApplication::saveStateRequest, this, &QtUiApplication::saveState, Qt::DirectConnection);