From: Manuel Nickschas Date: Sun, 4 Jan 2009 01:39:41 +0000 (+0100) Subject: Make BacklogSettingsPage use the new automatic child widget handling X-Git-Tag: 0.4.0~277 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=9d919506679e00fcdf47ab3cbebad414d77bda7d Make BacklogSettingsPage use the new automatic child widget handling --- diff --git a/src/qtui/settingspages/backlogsettingspage.cpp b/src/qtui/settingspages/backlogsettingspage.cpp index 81ef6090..eb5c59c4 100644 --- a/src/qtui/settingspages/backlogsettingspage.cpp +++ b/src/qtui/settingspages/backlogsettingspage.cpp @@ -27,15 +27,9 @@ BacklogSettingsPage::BacklogSettingsPage(QWidget *parent) : 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 { @@ -43,49 +37,28 @@ 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()); } diff --git a/src/qtui/settingspages/backlogsettingspage.h b/src/qtui/settingspages/backlogsettingspage.h index 65f1bd65..31059cb7 100644 --- a/src/qtui/settingspages/backlogsettingspage.h +++ b/src/qtui/settingspages/backlogsettingspage.h @@ -32,6 +32,7 @@ class BacklogSettingsPage : public SettingsPage { public: BacklogSettingsPage(QWidget *parent = 0); + inline QString settingsKey() const { return "Backlog"; } bool hasDefaults() const; public slots: @@ -44,9 +45,6 @@ private slots: private: Ui::BacklogSettingsPage ui; - QHash settings; - - bool testHasChanged(); }; #endif diff --git a/src/qtui/settingspages/backlogsettingspage.ui b/src/qtui/settingspages/backlogsettingspage.ui index 04e4ccd7..0cfc67e8 100644 --- a/src/qtui/settingspages/backlogsettingspage.ui +++ b/src/qtui/settingspages/backlogsettingspage.ui @@ -59,17 +59,9 @@ - 0 + 1 - - - 0 - 0 - 415 - 216 - - @@ -107,6 +99,12 @@ 500 + + FixedBacklogAmount + + + 500 + @@ -140,14 +138,6 @@ - - - 0 - 0 - 415 - 216 - - @@ -190,6 +180,12 @@ You can also chose to fetch additional older chatlines to provide a better conte 200 + + PerBufferUnreadBacklogLimit + + + 200 + @@ -216,10 +212,16 @@ You can also chose to fetch additional older chatlines to provide a better conte 50 + + PerBufferUnreadBacklogAdditional + + + 50 + - + Qt::Horizontal @@ -249,14 +251,6 @@ You can also chose to fetch additional older chatlines to provide a better conte - - - 0 - 0 - 415 - 216 - - @@ -302,6 +296,12 @@ You can also chose to fetch additional older chatlines to provide a better conte 200 + + GlobalUnreadBacklogLimit + + + 200 + @@ -328,6 +328,12 @@ You can also chose to fetch additional older chatlines to provide a better conte 50 + + GlobalUnreadBacklogAdditional + + + 50 + @@ -385,6 +391,12 @@ You can also chose to fetch additional older chatlines to provide a better conte 200 + + DynamicBacklogAmount + + + 200 + @@ -410,7 +422,7 @@ You can also chose to fetch additional older chatlines to provide a better conte 20 - 18 + 40 @@ -426,8 +438,8 @@ You can also chose to fetch additional older chatlines to provide a better conte setCurrentIndex(int) - 146 - 27 + 316 + 31 147