X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fbacklogsettingspage.cpp;h=8afcbbcc09d58b7393acb7ead2d1891d8f36cc4a;hb=a4b12295cffc6add9b03c25faff35f753b026ec9;hp=81ef6090d9ea6c0542140e7c9553939da5baf4ab;hpb=5992edbbfa5a6e4a3c72b07c6f08a464f87dd432;p=quassel.git diff --git a/src/qtui/settingspages/backlogsettingspage.cpp b/src/qtui/settingspages/backlogsettingspage.cpp index 81ef6090..8afcbbcc 100644 --- a/src/qtui/settingspages/backlogsettingspage.cpp +++ b/src/qtui/settingspages/backlogsettingspage.cpp @@ -1,11 +1,11 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel IRC Team * + * Copyright (C) 2005-2013 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * + * (at your option) version 3. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #include "backlogsettingspage.h" @@ -24,68 +24,55 @@ #include "backlogsettings.h" BacklogSettingsPage::BacklogSettingsPage(QWidget *parent) - : SettingsPage(tr("Behaviour"), tr("Backlog"), parent) + : SettingsPage(tr("Interface"), tr("Backlog Fetching"), parent) { - ui.setupUi(this); - connect(ui.requesterType, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged())); + ui.setupUi(this); + initAutoWidgets(); + // not an auto widget, because we store index + 1 - 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())); + // FIXME: global backlog requester disabled until issues ruled out + ui.requesterType->removeItem(2); - connect(ui.dynamicBacklogAmount, SIGNAL(valueChanged(int)), this, SLOT(widgetHasChanged())); + connect(ui.requesterType, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged())); } -bool BacklogSettingsPage::hasDefaults() const { - return true; + +bool BacklogSettingsPage::hasDefaults() const +{ + return true; } -void BacklogSettingsPage::defaults() { - // ui.completionSuffix->setText(": "); - widgetHasChanged(); -} +void BacklogSettingsPage::defaults() +{ + ui.requesterType->setCurrentIndex(0); -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()); - - setChangedState(false); + SettingsPage::defaults(); } -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()); - - load(); - setChangedState(false); + +void BacklogSettingsPage::load() +{ + BacklogSettings backlogSettings; + int index = backlogSettings.requesterType() - 1; + ui.requesterType->setProperty("storedValue", index); + ui.requesterType->setCurrentIndex(index); + + SettingsPage::load(); } -void BacklogSettingsPage::widgetHasChanged() { - bool changed = testHasChanged(); - if(changed != hasChanged()) setChangedState(changed); + +void BacklogSettingsPage::save() +{ + BacklogSettings backlogSettings; + backlogSettings.setRequesterType(ui.requesterType->currentIndex() + 1); + ui.requesterType->setProperty("storedValue", ui.requesterType->currentIndex()); + + SettingsPage::save(); } -bool BacklogSettingsPage::testHasChanged() { - if(SettingsPage::hasChanged(ui.fixedBacklogAmount)) return true; - if(SettingsPage::hasChanged(ui.dynamicBacklogAmount)) return true; - return false; +void BacklogSettingsPage::widgetHasChanged() +{ + setChangedState(ui.requesterType->currentIndex() != ui.requesterType->property("storedValue").toInt()); }