Browse Source

made changes to preferences persistent again

Malte Veerman 10 years ago
parent
commit
ef1a28623a
4 changed files with 11 additions and 1 deletions
  1. 1 0
      fancontrol-gui/src/main.cpp
  2. 1 1
      kcm/src/fancontrolkcm.cpp
  3. 8 0
      lib/src/guibase.cpp
  4. 1 0
      lib/src/guibase.h

+ 1 - 0
fancontrol-gui/src/main.cpp

@@ -54,6 +54,7 @@ int main(int argc, char *argv[])
         
         
     GUIBase base;
     GUIBase base;
     base.loader()->load();
     base.loader()->load();
+    QObject::connect(&app, &QApplication::aboutToQuit, [&] () { base.save(false); });
     engine.rootContext()->setContextProperty("base", &base);
     engine.rootContext()->setContextProperty("base", &base);
     
     
     KPackage::Package package = KPackage::PackageLoader::self()->loadPackage("KPackage/GenericQML");
     KPackage::Package package = KPackage::PackageLoader::self()->loadPackage("KPackage/GenericQML");

+ 1 - 1
kcm/src/fancontrolkcm.cpp

@@ -64,7 +64,7 @@ FancontrolKCM::FancontrolKCM(QObject *parent, const QVariantList& args)
 
 
 void FancontrolKCM::save()
 void FancontrolKCM::save()
 {
 {
-    m_base->loader()->save();
+    m_base->save(true);
     
     
     if (m_base->systemdCommunicator()->serviceActive() && m_manualControl)
     if (m_base->systemdCommunicator()->serviceActive() && m_manualControl)
         m_base->systemdCommunicator()->restartService();
         m_base->systemdCommunicator()->restartService();

+ 8 - 0
lib/src/guibase.cpp

@@ -67,6 +67,14 @@ void GUIBase::load()
 #endif
 #endif
 }
 }
 
 
+void GUIBase::save(bool saveLoader)
+{
+    m_config->save();
+    
+    if (saveLoader)
+        m_loader->save();
+}
+
 qreal GUIBase::maxTemp() const
 qreal GUIBase::maxTemp() const
 {
 {
     return m_config->findItem("MaxTemp")->property().toReal();
     return m_config->findItem("MaxTemp")->property().toReal();

+ 1 - 0
lib/src/guibase.h

@@ -74,6 +74,7 @@ public:
     void setServiceName(const QString &name);
     void setServiceName(const QString &name);
     void setUnit(int unit) { if (unit != m_unit) { m_unit = unit; emit unitChanged(); } }
     void setUnit(int unit) { if (unit != m_unit) { m_unit = unit; emit unitChanged(); } }
     void load();
     void load();
+    void save(bool saveLoader = false);
 
 
     Q_INVOKABLE bool hasSystemdCommunicator() const { return SYSTEMD_BOOL; }
     Q_INVOKABLE bool hasSystemdCommunicator() const { return SYSTEMD_BOOL; }