X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fignorelistsettingspage.cpp;h=a49b46ef4eabb7a66a83b172391a871298361f98;hb=6e73ba4a19fd92038e1ea749125767661fb34e27;hp=61f0864565837d1c8d7b72b776c0deca510cd469;hpb=f19fea582ace1d8f3dfe29c1096c48758079e56e;p=quassel.git diff --git a/src/qtui/settingspages/ignorelistsettingspage.cpp b/src/qtui/settingspages/ignorelistsettingspage.cpp index 61f08645..a49b46ef 100644 --- a/src/qtui/settingspages/ignorelistsettingspage.cpp +++ b/src/qtui/settingspages/ignorelistsettingspage.cpp @@ -31,7 +31,7 @@ #include "iconloader.h" IgnoreListSettingsPage::IgnoreListSettingsPage(QWidget *parent) - : SettingsPage(tr("Misc"), tr("Ignorelist"), parent) + : SettingsPage(tr("IRC"), tr("Ignore List"), parent) { ui.setupUi(this); _delegate = new IgnoreListDelegate(ui.ignoreListView); @@ -108,7 +108,11 @@ void IgnoreListSettingsPage::deleteSelectedIgnoreRule() { void IgnoreListSettingsPage::newIgnoreRule(QString rule) { IgnoreListManager::IgnoreListItem newItem = IgnoreListManager::IgnoreListItem(); + newItem.strictness = IgnoreListManager::SoftStrictness; + newItem.scope = IgnoreListManager::GlobalScope; + newItem.isRegEx = false; newItem.isActive = true; + bool enableOkButton = false; if(!rule.isEmpty()) { // we're called from contextmenu @@ -118,7 +122,6 @@ void IgnoreListSettingsPage::newIgnoreRule(QString rule) { IgnoreListEditDlg *dlg = new IgnoreListEditDlg(newItem, this, enableOkButton); dlg->enableOkButton(enableOkButton); - while(dlg->exec() == QDialog::Accepted) { if(!_ignoreListModel.newIgnoreRule(dlg->ignoreListItem())) { if(QMessageBox::warning(this, @@ -204,11 +207,14 @@ IgnoreListEditDlg::IgnoreListEditDlg(const IgnoreListManager::IgnoreListItem &it ui.setupUi(this); setAttribute(Qt::WA_DeleteOnClose, false); setModal(true); + // FIXME patch out the bugger completely if it's good without it + ui.isActiveCheckBox->hide(); // setup buttongroups // this could be moved to .ui file with qt4.5 _typeButtonGroup.addButton(ui.senderTypeButton, 0); _typeButtonGroup.addButton(ui.messageTypeButton, 1); + _typeButtonGroup.addButton(ui.ctcpTypeButton, 2); _strictnessButtonGroup.addButton(ui.dynamicStrictnessButton, 0); _strictnessButtonGroup.addButton(ui.permanentStrictnessButton, 1); _scopeButtonGroup.addButton(ui.globalScopeButton, 0); @@ -221,6 +227,8 @@ IgnoreListEditDlg::IgnoreListEditDlg(const IgnoreListManager::IgnoreListItem &it if(item.type == IgnoreListManager::MessageIgnore) ui.messageTypeButton->setChecked(true); + else if(item.type == IgnoreListManager::CtcpIgnore) + ui.ctcpTypeButton->setChecked(true); else ui.senderTypeButton->setChecked(true); @@ -260,11 +268,14 @@ IgnoreListEditDlg::IgnoreListEditDlg(const IgnoreListManager::IgnoreListItem &it connect(ui.isActiveCheckBox, SIGNAL(stateChanged(int)), this, SLOT(widgetHasChanged())); connect(ui.buttonBox->button(QDialogButtonBox::Ok), SIGNAL(clicked()), this, SLOT(aboutToAccept())); + widgetHasChanged(); } void IgnoreListEditDlg::widgetHasChanged() { if(ui.messageTypeButton->isChecked()) _clonedIgnoreListItem.type = IgnoreListManager::MessageIgnore; + else if(ui.ctcpTypeButton->isChecked()) + _clonedIgnoreListItem.type = IgnoreListManager::CtcpIgnore; else _clonedIgnoreListItem.type = IgnoreListManager::SenderIgnore;