X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fqtui%2Fsettingspages%2Fbacklogsettingspage.cpp;h=98305c7ed05d02d054ecaa5a23f9409eb594dbf0;hb=HEAD;hp=81ef6090d9ea6c0542140e7c9553939da5baf4ab;hpb=5992edbbfa5a6e4a3c72b07c6f08a464f87dd432;p=quassel.git diff --git a/src/qtui/settingspages/backlogsettingspage.cpp b/src/qtui/settingspages/backlogsettingspage.cpp index 81ef6090..f006c53a 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-2022 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,77 +15,62 @@ * 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" -#include "qtui.h" +#include "backlogrequester.h" #include "backlogsettings.h" +#include "qtui.h" +#include "widgethelpers.h" -BacklogSettingsPage::BacklogSettingsPage(QWidget *parent) - : SettingsPage(tr("Behaviour"), tr("Backlog"), parent) +BacklogSettingsPage::BacklogSettingsPage(QWidget* 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(3); + // If modifying ui.requesterType's item list, set to the index of "Globally unread messages" - connect(ui.dynamicBacklogAmount, SIGNAL(valueChanged(int)), this, SLOT(widgetHasChanged())); + connectToWidgetChangedSignal(ui.requesterType, this, &BacklogSettingsPage::widgetHasChanged); } -bool BacklogSettingsPage::hasDefaults() const { - return true; +bool BacklogSettingsPage::hasDefaults() const +{ + return true; } -void BacklogSettingsPage::defaults() { - // ui.completionSuffix->setText(": "); +void BacklogSettingsPage::defaults() +{ + ui.requesterType->setCurrentIndex(BacklogRequester::AsNeeded - 1); - 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()); +void BacklogSettingsPage::load() +{ + BacklogSettings backlogSettings; + 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()); - - load(); - setChangedState(false); -} +void BacklogSettingsPage::save() +{ + BacklogSettings backlogSettings; + backlogSettings.setRequesterType(ui.requesterType->currentIndex() + 1); + ui.requesterType->setProperty("storedValue", ui.requesterType->currentIndex()); -void BacklogSettingsPage::widgetHasChanged() { - bool changed = testHasChanged(); - if(changed != hasChanged()) setChangedState(changed); + 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()); }