/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel IRC Team *
+ * Copyright (C) 2005-2016 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 *
* 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 "backlogsettings.h"
+// For backlog requester types
+#include "backlogrequester.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(BacklogRequester::PerBufferUnread - 1);
-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());
}