X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fcorehighlightsettingspage.cpp;h=d4be7cf6ff5e04fcd844809c7f398c49ac18cf1f;hp=cdb5088853a891bfa0c9e99fce8d3a03e9b51541;hb=e7ca039bcfdef8e22946b4402643ce107e89709c;hpb=8fe8accd73abf77ab21d2d1c1346d2bc5c4de2ff diff --git a/src/qtui/settingspages/corehighlightsettingspage.cpp b/src/qtui/settingspages/corehighlightsettingspage.cpp index cdb50888..d4be7cf6 100644 --- a/src/qtui/settingspages/corehighlightsettingspage.cpp +++ b/src/qtui/settingspages/corehighlightsettingspage.cpp @@ -18,12 +18,12 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ +#include #include -#include +#include "client.h" #include "corehighlightsettingspage.h" #include "qtui.h" -#include "client.h" CoreHighlightSettingsPage::CoreHighlightSettingsPage(QWidget *parent) : SettingsPage(tr("Interface"), tr("Core-Side Highlights"), parent) @@ -37,6 +37,9 @@ CoreHighlightSettingsPage::CoreHighlightSettingsPage(QWidget *parent) ui.highlightNicksComboBox->addItem(tr("Current Nick"), QVariant(HighlightRuleManager::CurrentNick)); ui.highlightNicksComboBox->addItem(tr("None"), QVariant(HighlightRuleManager::NoNick)); + coreConnectionStateChanged(Client::isConnected()); // need a core connection! + connect(Client::instance(), SIGNAL(coreConnectionStateChanged(bool)), this, SLOT(coreConnectionStateChanged(bool))); + connect(ui.highlightAdd, SIGNAL(clicked(bool)), this, SLOT(addNewHighlightRow())); connect(ui.highlightRemove, SIGNAL(clicked(bool)), this, SLOT(removeSelectedHighlightRows())); @@ -75,6 +78,17 @@ CoreHighlightSettingsPage::CoreHighlightSettingsPage(QWidget *parent) connect(Client::instance(), SIGNAL(connected()), this, SLOT(clientConnected())); } + +void CoreHighlightSettingsPage::coreConnectionStateChanged(bool state) +{ + setEnabled(state); + if (state) { + load(); + } else { + revert(); + } +} + void CoreHighlightSettingsPage::setupRuleTable(QTableWidget *table) const { table->verticalHeader()->hide(); @@ -318,6 +332,7 @@ void CoreHighlightSettingsPage::highlightTableChanged(QTableWidgetItem *item) switch (item->column()) { case CoreHighlightSettingsPage::EnableColumn: highlightRule.isEnabled = (item->checkState() == Qt::Checked); + break; case CoreHighlightSettingsPage::NameColumn: if (item->text() == "") item->setText(tr("this shouldn't be empty")); @@ -355,6 +370,7 @@ void CoreHighlightSettingsPage::ignoredTableChanged(QTableWidgetItem *item) switch (item->column()) { case CoreHighlightSettingsPage::EnableColumn: ignoredRule.isEnabled = (item->checkState() == Qt::Checked); + break; case CoreHighlightSettingsPage::NameColumn: if (item->text() == "") item->setText(tr("this shouldn't be empty")); @@ -440,7 +456,7 @@ void CoreHighlightSettingsPage::save() rule.sender, rule.chanName); } - auto highlightNickType = ui.highlightNicksComboBox->currentData().value(); + auto highlightNickType = ui.highlightNicksComboBox->itemData(ui.highlightNicksComboBox->currentIndex()).value(); clonedManager.setHighlightNick(HighlightRuleManager::HighlightNickType(highlightNickType)); clonedManager.setNicksCaseSensitive(ui.nicksCaseSensitive->isChecked()); @@ -453,4 +469,4 @@ void CoreHighlightSettingsPage::save() void CoreHighlightSettingsPage::widgetHasChanged() { setChangedState(true); -} \ No newline at end of file +}