From: Manuel Nickschas Date: Sat, 20 Dec 2008 00:59:28 +0000 (+0100) Subject: Make the Opt-In/Out widget work correctly X-Git-Tag: 0.4.0~350 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=b36066bf47b54a48c56ccc46830b74ce64ccf4a7;ds=sidebyside Make the Opt-In/Out widget work correctly --- diff --git a/src/qtui/settingspages/chatmonitorsettingspage.cpp b/src/qtui/settingspages/chatmonitorsettingspage.cpp index c833dd8b..0170e870 100644 --- a/src/qtui/settingspages/chatmonitorsettingspage.cpp +++ b/src/qtui/settingspages/chatmonitorsettingspage.cpp @@ -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()); @@ -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(); diff --git a/src/qtui/settingspages/chatmonitorsettingspage.h b/src/qtui/settingspages/chatmonitorsettingspage.h index 9498c873..ebc97fb6 100644 --- a/src/qtui/settingspages/chatmonitorsettingspage.h +++ b/src/qtui/settingspages/chatmonitorsettingspage.h @@ -45,7 +45,7 @@ class ChatMonitorSettingsPage : public SettingsPage { void widgetHasChanged(); void on_activateBuffer_clicked(); void on_deactivateBuffer_clicked(); - void switchOperationMode(int modeIndex); + void switchOperationMode(int idx); private: Ui::ChatMonitorSettingsPage ui;