[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [elisa] src/localFileConfiguration: watch configuration file for changes and fix initial empty state
From:       Matthieu Gallien <null () kde ! org>
Date:       2017-07-31 22:08:17
Message-ID: E1dcIrJ-0003Pn-Vi () code ! kde ! org
[Download RAW message or body]

Git commit b427c95c53a87570980245362aa582c15f305c17 by Matthieu Gallien.
Committed on 31/07/2017 at 22:07.
Pushed by mgallien into branch 'master'.

watch configuration file for changes and fix initial empty state

M  +6    -1    src/localFileConfiguration/localfileconfiguration.cpp
M  +3    -0    src/localFileConfiguration/localfileconfiguration.h

https://commits.kde.org/elisa/b427c95c53a87570980245362aa582c15f305c17

diff --git a/src/localFileConfiguration/localfileconfiguration.cpp \
b/src/localFileConfiguration/localfileconfiguration.cpp index 508e78a..f985597 100644
--- a/src/localFileConfiguration/localfileconfiguration.cpp
+++ b/src/localFileConfiguration/localfileconfiguration.cpp
@@ -48,10 +48,15 @@ KCMElisaLocalFile::KCMElisaLocalFile(QObject* parent, const \
QVariantList &args)  
     connect(Elisa::ElisaConfiguration::self(), \
&Elisa::ElisaConfiguration::configChanged,  this, &KCMElisaLocalFile::configChanged);
+    connect(&mConfigFileWatcher, &QFileSystemWatcher::fileChanged,
+            this, &KCMElisaLocalFile::configChanged);
+
 
     setRootPath(Elisa::ElisaConfiguration::rootPath());
     Elisa::ElisaConfiguration::setRootPath(mRootPath);
     Elisa::ElisaConfiguration::self()->save();
+
+    mConfigFileWatcher.addPath(Elisa::ElisaConfiguration::self()->config()->name());
 }
 
 KCMElisaLocalFile::~KCMElisaLocalFile()
@@ -81,7 +86,7 @@ void KCMElisaLocalFile::save()
 
 void KCMElisaLocalFile::setRootPath(QStringList rootPath)
 {
-    if (mRootPath == rootPath) {
+    if (mRootPath == rootPath && !mRootPath.isEmpty()) {
         return;
     }
 
diff --git a/src/localFileConfiguration/localfileconfiguration.h \
b/src/localFileConfiguration/localfileconfiguration.h index 878d26d..885c90c 100644
--- a/src/localFileConfiguration/localfileconfiguration.h
+++ b/src/localFileConfiguration/localfileconfiguration.h
@@ -22,6 +22,7 @@
 
 #include <KQuickAddons/ConfigModule>
 #include <QStringList>
+#include <QFileSystemWatcher>
 
 class KCMElisaLocalFile : public KQuickAddons::ConfigModule
 {
@@ -63,6 +64,8 @@ private:
 
     QStringList mRootPath;
 
+    QFileSystemWatcher mConfigFileWatcher;
+
 };
 
 #endif


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic