/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel IRC Team *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include <QVariant>
ChatMonitorSettingsPage::ChatMonitorSettingsPage(QWidget *parent)
- : SettingsPage(tr("General"), tr("Chat Monitor"), parent) {
+ : SettingsPage(tr("Interface"), tr("Chat Monitor"), parent) {
ui.setupUi(this);
ui.activateBuffer->setIcon(SmallIcon("go-next"));
else
loadSettings();
+ switchOperationMode(settings["OperationMode"].toInt() - 1);
ui.operationMode->setCurrentIndex(settings["OperationMode"].toInt() - 1);
ui.showHighlights->setChecked(settings["ShowHighlights"].toBool());
ui.showOwnMessages->setChecked(settings["ShowOwnMsgs"].toBool());
bufferIdsFromConfig << v.value<BufferId>();
allBufferIds.removeAll(v.value<BufferId>());
}
- qSort(bufferIdsFromConfig.begin(), bufferIdsFromConfig.end(), bufferIdLessThan);
+ Client::networkModel()->sortBufferIds(bufferIdsFromConfig);
_configActive->initSetBufferList(bufferIdsFromConfig);
}
ui.activeBuffers->setFilteredModel(Client::bufferModel(), _configActive);
- qSort(allBufferIds.begin(), allBufferIds.end(), bufferIdLessThan);
+ Client::networkModel()->sortBufferIds(allBufferIds);
_configAvailable->initSetBufferList(allBufferIds);
ui.availableBuffers->setFilteredModel(Client::bufferModel(), _configAvailable);
void ChatMonitorSettingsPage::loadSettings() {
ChatViewSettings chatViewSettings("ChatMonitor");
- settings["OperationMode"] = static_cast<ChatViewSettings::OperationMode>(chatViewSettings.value("OperationMode", QVariant()).toInt());
+ settings["OperationMode"] = (ChatViewSettings::OperationMode)chatViewSettings.value("OperationMode", ChatViewSettings::OptOut).toInt();
- // Load default behavior if no or invalid settings found
- if(settings["OperationMode"] == ChatViewSettings::InvalidMode) {
- switchOperationMode(ui.operationMode->findData(ChatViewSettings::OptOut));
- settings["OperationMode"] == ChatViewSettings::OptOut;
- }
settings["ShowHighlights"] = chatViewSettings.value("ShowHighlights", false);
settings["ShowOwnMsgs"] = chatViewSettings.value("ShowOwnMsgs", false);
settings["Buffers"] = chatViewSettings.value("Buffers", QVariantList());
}
bool ChatMonitorSettingsPage::testHasChanged() {
- if(settings["OperationMode"] != ui.operationMode->itemData(ui.operationMode->currentIndex()))
+ if(settings["OperationMode"].toInt() != ui.operationMode->currentIndex() + 1)
return true;
if(settings["ShowHighlights"].toBool() != ui.showHighlights->isChecked())
return true;
switchOperationMode gets called on combobox signal currentIndexChanged.
modeIndex is the row id in combobox itemlist
*/
-void ChatMonitorSettingsPage::switchOperationMode(int modeIndex) {
- ChatViewSettings::OperationMode newMode = static_cast<ChatViewSettings::OperationMode>(ui.operationMode->itemData(modeIndex).toInt());
-
- if(newMode == ChatViewSettings::OptIn) {
+void ChatMonitorSettingsPage::switchOperationMode(int idx) {
+ ChatViewSettings::OperationMode mode = (ChatViewSettings::OperationMode)(idx + 1);
+ if(mode == ChatViewSettings::OptIn) {
ui.labelActiveBuffers->setText(tr("Show:"));
}
- else if(newMode == ChatViewSettings::OptOut) {
+ else if(mode == ChatViewSettings::OptOut) {
ui.labelActiveBuffers->setText(tr("Ignore:"));
}
widgetHasChanged();