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

List:       kde-commits
Subject:    playground/sysadmin/shaman/shaman
From:       Dario Freddi <drf () kde ! org>
Date:       2009-11-30 23:04:17
Message-ID: 1259622257.318158.5933.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1056818 by dafre:

Serializer in action

Signed-off-by: Dario Freddi <drf@kde.org>

 M  +1 -1      src/ConfigDialog.cpp  
 M  +24 -1     src/MainWindow.cpp  
 M  +2 -0      src/MainWindow.h  
 M  +3 -0      src/shaman.kcfg  
 M  +11 -4     ui/GeneralSettings.ui  


--- trunk/playground/sysadmin/shaman/shaman/src/ConfigDialog.cpp #1056817:1056818
@@ -48,7 +48,7 @@
 void PluginSelector::saveState()
 {
     pluginSelector->save();
-    
+
     Shaman::Base::instance()->setConfigurationChanged();
 }
 
--- trunk/playground/sysadmin/shaman/shaman/src/MainWindow.cpp #1056817:1056818
@@ -35,6 +35,8 @@
 #include "updatedatabase/UpdateDatabaseHandler.h"
 #include <QLabel>
 #include <KAboutData>
+#include "QueueSerializer.h"
+#include <KApplication>
 
 MainWindow::MainWindow(KAboutData *data)
   : KXmlGuiWindow(),
@@ -44,7 +46,8 @@
     m_trickWindow(new QMainWindow(0)),
     m_isReloading(false),
     m_aboutData(data),
-    m_dockWidgetIndex(0)
+    m_dockWidgetIndex(0),
+    m_isFirstReload(true)
 {
     setCentralWidget(m_trickWindow);
     m_trickWindow->setWindowFlags(Qt::Widget);
@@ -76,6 +79,7 @@
     connect(m_shaman, SIGNAL(initCompleted()), SLOT(setUpGui()));
 
     connect(this, SIGNAL(shamanReady()), m_shaman, SLOT(init()));
+    connect(KApplication::instance(), SIGNAL(aboutToQuit()), this, SLOT(aboutToQuit()));
 
     emit shamanReady();
 }
@@ -85,6 +89,17 @@
     slotSaveMyself();
 }
 
+void MainWindow::aboutToQuit()
+{
+    // eventually the queue...
+    if (Settings::saveQueueOnExit()) {
+        kDebug() << "Saving last queue";
+        KConfigGroup queue(KGlobal::config(), "LastQueue");
+        QueueSerializer::saveQueueToConfigGroup(&queue);
+        KGlobal::config().data()->sync();
+    }
+}
+
 void MainWindow::setUpGui()
 {
     // Ok, first of all update the about data
@@ -229,6 +244,7 @@
 
 void MainWindow::slotSaveMyself()
 {
+    kDebug() << "Saving before closing";
     // save last parameters ..
     Settings::setMainPosition(pos());
     // .. and write config to disk
@@ -252,6 +268,13 @@
         foreach (QAction *action, m_queueActions) {
             action->setEnabled(true);
         }
+        if (m_isFirstReload) {
+            // Eventually load the last queue
+            if (Settings::saveQueueOnExit()) {
+                KConfigGroup queue(KGlobal::config(), "LastQueue");
+                QueueSerializer::loadQueueFromConfigGroup(queue);
+            }
+        }
         m_isReloading = false;
     }
 }
--- trunk/playground/sysadmin/shaman/shaman/src/MainWindow.h #1056817:1056818
@@ -54,6 +54,7 @@
         void slotNewToolbarConfig();
         void slotAllowedAreasChanged(Qt::DockWidgetAreas);
         void backendStateChanged(Shaman::BackendInterface::State state);
+        void aboutToQuit();
 
     signals:
         void shamanReady();
@@ -70,6 +71,7 @@
         QPointer<KAboutApplicationDialog> m_aboutDialog;
         QList<QAction*> m_queueActions;
         int m_dockWidgetIndex;
+        bool m_isFirstReload;
 };
 
 #endif
--- trunk/playground/sysadmin/shaman/shaman/src/shaman.kcfg #1056817:1056818
@@ -15,6 +15,9 @@
     <entry name="SystrayEnabled" type="Bool">
       <default>true</default>
     </entry>
+    <entry name="SaveQueueOnExit" type="Bool">
+      <default>true</default>
+    </entry>
   </group>
   <group name="UpdateDatabase">
     <entry name="time_based_updates_on" type="Bool">
--- trunk/playground/sysadmin/shaman/shaman/ui/GeneralSettings.ui #1056817:1056818
@@ -18,14 +18,14 @@
      </property>
     </widget>
    </item>
-   <item row="1" column="0">
+   <item row="2" column="0">
     <widget class="QCheckBox" name="kcfg_time_based_updates_on">
      <property name="text">
       <string>Update Database every:</string>
      </property>
     </widget>
    </item>
-   <item row="1" column="1">
+   <item row="2" column="1">
     <widget class="QSpinBox" name="kcfg_time_based_updates">
      <property name="enabled">
       <bool>false</bool>
@@ -44,14 +44,14 @@
      </property>
     </widget>
    </item>
-   <item row="2" column="0">
+   <item row="3" column="0">
     <widget class="QCheckBox" name="kcfg_at_time_updates_on">
      <property name="text">
       <string>Update Database at:</string>
      </property>
     </widget>
    </item>
-   <item row="2" column="1">
+   <item row="3" column="1">
     <widget class="QTimeEdit" name="kcfg_at_time_updates">
      <property name="enabled">
       <bool>false</bool>
@@ -98,6 +98,13 @@
      </property>
     </widget>
    </item>
+   <item row="1" column="0">
+    <widget class="QCheckBox" name="kcfg_SaveQueueOnExit">
+     <property name="text">
+      <string>Load last queue on startup</string>
+     </property>
+    </widget>
+   </item>
   </layout>
  </widget>
  <resources/>
[prev in list] [next in list] [prev in thread] [next in thread] 

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