: 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.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 {
}
void BacklogSettingsPage::defaults() {
- // ui.completionSuffix->setText(": ");
+ ui.requesterType->setCurrentIndex(0);
- widgetHasChanged();
+ SettingsPage::defaults();
}
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);
- 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() {
- 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());
}
<item>
<widget class="QStackedWidget" name="stackedWidget" >
<property name="currentIndex" >
- <number>0</number>
+ <number>1</number>
</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" >
<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>
</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" >
<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>
<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>
- <spacer name="horizontalSpacer_3" >
+ <spacer name="horizontalSpacer_5" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
</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" >
<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>
<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>
<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>
<property name="sizeHint" stdset="0" >
<size>
<width>20</width>
- <height>18</height>
+ <height>40</height>
</size>
</property>
</spacer>
<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>