X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fchatmonitorsettingspage.cpp;h=855c21837595771db5f1df330125f9b180fc6abd;hp=c833dd8b2759936c350ee4e92e66f9788081abb9;hb=6245a8d29e893eaff25a12b0be2f47b64f0f7bcd;hpb=572346c3a1075025a04508b8bc6b1842170c68bd diff --git a/src/qtui/settingspages/chatmonitorsettingspage.cpp b/src/qtui/settingspages/chatmonitorsettingspage.cpp index c833dd8b..855c2183 100644 --- a/src/qtui/settingspages/chatmonitorsettingspage.cpp +++ b/src/qtui/settingspages/chatmonitorsettingspage.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * 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 * @@ -32,7 +32,7 @@ #include ChatMonitorSettingsPage::ChatMonitorSettingsPage(QWidget *parent) - : SettingsPage(tr("General"), tr("Chat Monitor"), parent) { + : SettingsPage(tr("Appearance"), tr("Chat Monitor"), parent) { ui.setupUi(this); ui.activateBuffer->setIcon(SmallIcon("go-next")); @@ -84,6 +84,7 @@ void ChatMonitorSettingsPage::load() { 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()); @@ -98,12 +99,12 @@ void ChatMonitorSettingsPage::load() { bufferIdsFromConfig << v.value(); allBufferIds.removeAll(v.value()); } - 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); @@ -112,13 +113,8 @@ void ChatMonitorSettingsPage::load() { void ChatMonitorSettingsPage::loadSettings() { ChatViewSettings chatViewSettings("ChatMonitor"); - settings["OperationMode"] = static_cast(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()); @@ -148,7 +144,7 @@ void ChatMonitorSettingsPage::widgetHasChanged() { } 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; @@ -234,13 +230,12 @@ void ChatMonitorSettingsPage::on_deactivateBuffer_clicked() { 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(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();