Make BacklogSettingsPage use the new automatic child widget handling
authorManuel Nickschas <sputnick@quassel-irc.org>
Sun, 4 Jan 2009 01:39:41 +0000 (02:39 +0100)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sun, 4 Jan 2009 01:42:30 +0000 (02:42 +0100)
src/qtui/settingspages/backlogsettingspage.cpp
src/qtui/settingspages/backlogsettingspage.h
src/qtui/settingspages/backlogsettingspage.ui

index 81ef609..eb5c59c 100644 (file)
@@ -27,15 +27,9 @@ BacklogSettingsPage::BacklogSettingsPage(QWidget *parent)
   : SettingsPage(tr("Behaviour"), tr("Backlog"), parent)
 {
   ui.setupUi(this);
   : SettingsPage(tr("Behaviour"), tr("Backlog"), parent)
 {
   ui.setupUi(this);
+  initAutoWidgets();
+  // not an auto widget, because we store index + 1
   connect(ui.requesterType, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged()));
   connect(ui.requesterType, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged()));
-
-  connect(ui.fixedBacklogAmount, SIGNAL(valueChanged(int)), this, SLOT(widgetHasChanged()));
-  connect(ui.globalUnreadLimit, SIGNAL(valueChanged(int)), this, SLOT(widgetHasChanged()));
-  connect(ui.globalUnreadAdditional, SIGNAL(valueChanged(int)), this, SLOT(widgetHasChanged()));
-  connect(ui.perBufferUnreadLimit, SIGNAL(valueChanged(int)), this, SLOT(widgetHasChanged()));
-  connect(ui.perBufferUnreadAdditional, SIGNAL(valueChanged(int)), this, SLOT(widgetHasChanged()));
-
-  connect(ui.dynamicBacklogAmount, SIGNAL(valueChanged(int)), this, SLOT(widgetHasChanged()));
 }
 
 bool BacklogSettingsPage::hasDefaults() const {
 }
 
 bool BacklogSettingsPage::hasDefaults() const {
@@ -43,49 +37,28 @@ bool BacklogSettingsPage::hasDefaults() const {
 }
 
 void BacklogSettingsPage::defaults() {
 }
 
 void BacklogSettingsPage::defaults() {
-  //  ui.completionSuffix->setText(": ");
+  ui.requesterType->setCurrentIndex(0);
 
 
-  widgetHasChanged();
+  SettingsPage::defaults();
 }
 
 void BacklogSettingsPage::load() {
   BacklogSettings backlogSettings;
 }
 
 void BacklogSettingsPage::load() {
   BacklogSettings backlogSettings;
-  SettingsPage::load(ui.requesterType, backlogSettings.requesterType() - 1);
-  
-  SettingsPage::load(ui.fixedBacklogAmount, backlogSettings.fixedBacklogAmount());
-  SettingsPage::load(ui.globalUnreadLimit, backlogSettings.globalUnreadBacklogLimit());
-  SettingsPage::load(ui.globalUnreadAdditional, backlogSettings.globalUnreadBacklogAdditional());
-  SettingsPage::load(ui.perBufferUnreadLimit, backlogSettings.perBufferUnreadBacklogLimit());
-  SettingsPage::load(ui.perBufferUnreadAdditional, backlogSettings.perBufferUnreadBacklogAdditional());
-  
-  SettingsPage::load(ui.dynamicBacklogAmount, backlogSettings.dynamicBacklogAmount());
+  int index = backlogSettings.requesterType() - 1;
+  ui.requesterType->setProperty("storedValue", index);
+  ui.requesterType->setCurrentIndex(index);
 
 
-  setChangedState(false);
+  SettingsPage::load();
 }
 
 void BacklogSettingsPage::save() {
   BacklogSettings backlogSettings;
   backlogSettings.setRequesterType(ui.requesterType->currentIndex() + 1);
 }
 
 void BacklogSettingsPage::save() {
   BacklogSettings backlogSettings;
   backlogSettings.setRequesterType(ui.requesterType->currentIndex() + 1);
-  backlogSettings.setFixedBacklogAmount(ui.fixedBacklogAmount->value());
-  backlogSettings.setGlobalUnreadBacklogLimit(ui.globalUnreadLimit->value());
-  backlogSettings.setGlobalUnreadBacklogAdditional(ui.globalUnreadAdditional->value());
-  backlogSettings.setPerBufferUnreadBacklogLimit(ui.perBufferUnreadLimit->value());
-  backlogSettings.setPerBufferUnreadBacklogAdditional(ui.perBufferUnreadAdditional->value());
-  
-  backlogSettings.setDynamicBacklogAmount(ui.dynamicBacklogAmount->value());
+  ui.requesterType->setProperty("storedValue", ui.requesterType->currentIndex());
 
 
-  load();
-  setChangedState(false);
+  SettingsPage::save();
 }
 
 void BacklogSettingsPage::widgetHasChanged() {
 }
 
 void BacklogSettingsPage::widgetHasChanged() {
-  bool changed = testHasChanged();
-  if(changed != hasChanged()) setChangedState(changed);
-}
-
-bool BacklogSettingsPage::testHasChanged() {
-  if(SettingsPage::hasChanged(ui.fixedBacklogAmount)) return true;
-  if(SettingsPage::hasChanged(ui.dynamicBacklogAmount)) return true;
-
-  return false;
+  setChangedState(ui.requesterType->currentIndex() != ui.requesterType->property("storedValue").toInt());
 }
 }
index 65f1bd6..31059cb 100644 (file)
@@ -32,6 +32,7 @@ class BacklogSettingsPage : public SettingsPage {
 public:
   BacklogSettingsPage(QWidget *parent = 0);
 
 public:
   BacklogSettingsPage(QWidget *parent = 0);
 
+  inline QString settingsKey() const { return "Backlog"; }
   bool hasDefaults() const;
 
 public slots:
   bool hasDefaults() const;
 
 public slots:
@@ -44,9 +45,6 @@ private slots:
 
 private:
   Ui::BacklogSettingsPage ui;
 
 private:
   Ui::BacklogSettingsPage ui;
-  QHash<QString, QVariant> settings;
-
-  bool testHasChanged();
 };
 
 #endif
 };
 
 #endif
index 04e4ccd..0cfc67e 100644 (file)
    <item>
     <widget class="QStackedWidget" name="stackedWidget" >
      <property name="currentIndex" >
    <item>
     <widget class="QStackedWidget" name="stackedWidget" >
      <property name="currentIndex" >
-      <number>0</number>
+      <number>1</number>
      </property>
      <widget class="QWidget" name="page" >
      </property>
      <widget class="QWidget" name="page" >
-      <property name="geometry" >
-       <rect>
-        <x>0</x>
-        <y>0</y>
-        <width>415</width>
-        <height>216</height>
-       </rect>
-      </property>
       <layout class="QVBoxLayout" name="verticalLayout_2" >
        <item>
         <widget class="QLabel" name="label_9" >
       <layout class="QVBoxLayout" name="verticalLayout_2" >
        <item>
         <widget class="QLabel" name="label_9" >
            <property name="value" >
             <number>500</number>
            </property>
            <property name="value" >
             <number>500</number>
            </property>
+           <property name="settingsKey" stdset="0" >
+            <string>FixedBacklogAmount</string>
+           </property>
+           <property name="defaultValue" stdset="0" >
+            <number>500</number>
+           </property>
           </widget>
          </item>
          <item>
           </widget>
          </item>
          <item>
       </layout>
      </widget>
      <widget class="QWidget" name="page_2" >
       </layout>
      </widget>
      <widget class="QWidget" name="page_2" >
-      <property name="geometry" >
-       <rect>
-        <x>0</x>
-        <y>0</y>
-        <width>415</width>
-        <height>216</height>
-       </rect>
-      </property>
       <layout class="QVBoxLayout" name="verticalLayout_3" >
        <item>
         <widget class="QLabel" name="label_10" >
       <layout class="QVBoxLayout" name="verticalLayout_3" >
        <item>
         <widget class="QLabel" name="label_10" >
@@ -190,6 +180,12 @@ You can also chose to fetch additional older chatlines to provide a better conte
            <property name="value" >
             <number>200</number>
            </property>
            <property name="value" >
             <number>200</number>
            </property>
+           <property name="settingsKey" stdset="0" >
+            <string>PerBufferUnreadBacklogLimit</string>
+           </property>
+           <property name="defaultValue" stdset="0" >
+            <number>200</number>
+           </property>
           </widget>
          </item>
          <item>
           </widget>
          </item>
          <item>
@@ -216,10 +212,16 @@ You can also chose to fetch additional older chatlines to provide a better conte
            <property name="value" >
             <number>50</number>
            </property>
            <property name="value" >
             <number>50</number>
            </property>
+           <property name="settingsKey" stdset="0" >
+            <string>PerBufferUnreadBacklogAdditional</string>
+           </property>
+           <property name="defaultValue" stdset="0" >
+            <number>50</number>
+           </property>
           </widget>
          </item>
          <item>
           </widget>
          </item>
          <item>
-          <spacer name="horizontalSpacer_3" >
+          <spacer name="horizontalSpacer_5" >
            <property name="orientation" >
             <enum>Qt::Horizontal</enum>
            </property>
            <property name="orientation" >
             <enum>Qt::Horizontal</enum>
            </property>
@@ -249,14 +251,6 @@ You can also chose to fetch additional older chatlines to provide a better conte
       </layout>
      </widget>
      <widget class="QWidget" name="Seite" >
       </layout>
      </widget>
      <widget class="QWidget" name="Seite" >
-      <property name="geometry" >
-       <rect>
-        <x>0</x>
-        <y>0</y>
-        <width>415</width>
-        <height>216</height>
-       </rect>
-      </property>
       <layout class="QVBoxLayout" name="verticalLayout_4" >
        <item>
         <widget class="QLabel" name="label_15" >
       <layout class="QVBoxLayout" name="verticalLayout_4" >
        <item>
         <widget class="QLabel" name="label_15" >
@@ -302,6 +296,12 @@ You can also chose to fetch additional older chatlines to provide a better conte
            <property name="value" >
             <number>200</number>
            </property>
            <property name="value" >
             <number>200</number>
            </property>
+           <property name="settingsKey" stdset="0" >
+            <string>GlobalUnreadBacklogLimit</string>
+           </property>
+           <property name="defaultValue" stdset="0" >
+            <number>200</number>
+           </property>
           </widget>
          </item>
          <item>
           </widget>
          </item>
          <item>
@@ -328,6 +328,12 @@ You can also chose to fetch additional older chatlines to provide a better conte
            <property name="value" >
             <number>50</number>
            </property>
            <property name="value" >
             <number>50</number>
            </property>
+           <property name="settingsKey" stdset="0" >
+            <string>GlobalUnreadBacklogAdditional</string>
+           </property>
+           <property name="defaultValue" stdset="0" >
+            <number>50</number>
+           </property>
           </widget>
          </item>
          <item>
           </widget>
          </item>
          <item>
@@ -385,6 +391,12 @@ You can also chose to fetch additional older chatlines to provide a better conte
        <property name="value" >
         <number>200</number>
        </property>
        <property name="value" >
         <number>200</number>
        </property>
+       <property name="settingsKey" stdset="0" >
+        <string>DynamicBacklogAmount</string>
+       </property>
+       <property name="defaultValue" stdset="0" >
+        <number>200</number>
+       </property>
       </widget>
      </item>
      <item>
       </widget>
      </item>
      <item>
@@ -410,7 +422,7 @@ You can also chose to fetch additional older chatlines to provide a better conte
      <property name="sizeHint" stdset="0" >
       <size>
        <width>20</width>
      <property name="sizeHint" stdset="0" >
       <size>
        <width>20</width>
-       <height>18</height>
+       <height>40</height>
       </size>
      </property>
     </spacer>
       </size>
      </property>
     </spacer>
@@ -426,8 +438,8 @@ You can also chose to fetch additional older chatlines to provide a better conte
    <slot>setCurrentIndex(int)</slot>
    <hints>
     <hint type="sourcelabel" >
    <slot>setCurrentIndex(int)</slot>
    <hints>
     <hint type="sourcelabel" >
-     <x>146</x>
-     <y>27</y>
+     <x>316</x>
+     <y>31</y>
     </hint>
     <hint type="destinationlabel" >
      <x>147</x>
     </hint>
     <hint type="destinationlabel" >
      <x>147</x>