diff options
| author | 2015-11-13 14:18:08 -0500 | |
|---|---|---|
| committer | 2015-11-13 14:18:08 -0500 | |
| commit | 6fb6613fa11533164cd289299be799e0c0549d3d (patch) | |
| tree | 80285907baf475b510cd54888e8b41e6dc7ddd72 /src | |
| parent | numeric: Add output for 461 (diff) | |
| download | KVIrc-6fb6613fa11533164cd289299be799e0c0549d3d.tar.gz KVIrc-6fb6613fa11533164cd289299be799e0c0549d3d.tar.bz2 KVIrc-6fb6613fa11533164cd289299be799e0c0549d3d.zip | |
reguser: Add base for ignoring highlights
Closes #1605
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvilib/ext/KviRegisteredUser.h | 3 | ||||
| -rw-r--r-- | src/kvirc/ui/KviConsoleWindow.cpp | 6 | ||||
| -rw-r--r-- | src/modules/reguser/RegisteredUserEntryDialog.cpp | 6 | ||||
| -rw-r--r-- | src/modules/reguser/RegisteredUserEntryDialog.h | 1 | ||||
| -rw-r--r-- | src/modules/reguser/libkvireguser.cpp | 2 |
5 files changed, 17 insertions, 1 deletions
diff --git a/src/kvilib/ext/KviRegisteredUser.h b/src/kvilib/ext/KviRegisteredUser.h index 78f8c23f9..cf12f49f6 100644 --- a/src/kvilib/ext/KviRegisteredUser.h +++ b/src/kvilib/ext/KviRegisteredUser.h @@ -42,7 +42,8 @@ public: Notice=4, Ctcp=8, Invite=16, - Dcc=32 + Dcc=32, + Highlight=64 }; KviRegisteredUser(const QString & szName); diff --git a/src/kvirc/ui/KviConsoleWindow.cpp b/src/kvirc/ui/KviConsoleWindow.cpp index 0ff744d34..4cfa0f60d 100644 --- a/src/kvirc/ui/KviConsoleWindow.cpp +++ b/src/kvirc/ui/KviConsoleWindow.cpp @@ -551,6 +551,12 @@ void KviConsoleWindow::closeEvent(QCloseEvent *e) // internal helper for applyHighlighting int KviConsoleWindow::triggerOnHighlight(KviWindow * pWnd, int iType, const QString & szNick, const QString & szUser, const QString & szHost, const QString & szMsg, const QString & szTrigger) { + KviRegisteredUser * u = connection()->userDataBase()->registeredUser(szNick,szUser,szHost); + if(u) + { + if(u->isIgnoreEnabledFor(KviRegisteredUser::Highlight)) + return iType; + } if(!KVI_OPTION_STRING(KviOption_stringOnHighlightedMessageSound).isEmpty() && pWnd && !pWnd->hasAttention()) KviKvsScript::run("snd.play $0",0,new KviKvsVariantList(new KviKvsVariant(KVI_OPTION_STRING(KviOption_stringOnHighlightedMessageSound)))); diff --git a/src/modules/reguser/RegisteredUserEntryDialog.cpp b/src/modules/reguser/RegisteredUserEntryDialog.cpp index d0dc0a63d..e1c91e91c 100644 --- a/src/modules/reguser/RegisteredUserEntryDialog.cpp +++ b/src/modules/reguser/RegisteredUserEntryDialog.cpp @@ -460,6 +460,9 @@ RegisteredUserEntryDialog::RegisteredUserEntryDialog(QWidget *p,KviRegisteredUse m_pIgnoreDcc = new QCheckBox(__tr2qs_ctx("Ignore DCCs","register"),gb); layout->addWidget(m_pIgnoreDcc); + m_pIgnoreHighlight = new QCheckBox(__tr2qs_ctx("Ignore highlights","register"),gb); + layout->addWidget(m_pIgnoreHighlight); + QWidget *w = new QWidget(vb); w->setSizePolicy(QSizePolicy::Ignored,QSizePolicy::Ignored); @@ -512,6 +515,7 @@ RegisteredUserEntryDialog::RegisteredUserEntryDialog(QWidget *p,KviRegisteredUse m_pIgnoreCtcp->setChecked(r->ignoreFlags() & KviRegisteredUser::Ctcp); m_pIgnoreInvite->setChecked(r->ignoreFlags() & KviRegisteredUser::Invite); m_pIgnoreDcc->setChecked(r->ignoreFlags() & KviRegisteredUser::Dcc); + m_pIgnoreHighlight->setChecked(r->ignoreFlags() & KviRegisteredUser::Highlight); } else { // default values if(!m_pIgnoreEnabled->isChecked()) @@ -683,6 +687,8 @@ void RegisteredUserEntryDialog::okClicked() iIgnoreFlags |= KviRegisteredUser::Invite; if(m_pIgnoreDcc->isChecked()) iIgnoreFlags |= KviRegisteredUser::Dcc; + if(m_pIgnoreHighlight->isChecked()) + iIgnoreFlags |= KviRegisteredUser::Highlight; u->setIgnoreFlags(iIgnoreFlags); accept(); diff --git a/src/modules/reguser/RegisteredUserEntryDialog.h b/src/modules/reguser/RegisteredUserEntryDialog.h index 31cb72221..985f4a91b 100644 --- a/src/modules/reguser/RegisteredUserEntryDialog.h +++ b/src/modules/reguser/RegisteredUserEntryDialog.h @@ -125,6 +125,7 @@ protected: QCheckBox * m_pIgnoreCtcp; QCheckBox * m_pIgnoreInvite; QCheckBox * m_pIgnoreDcc; + QCheckBox * m_pIgnoreHighlight; virtual void closeEvent(QCloseEvent *); protected slots: diff --git a/src/modules/reguser/libkvireguser.cpp b/src/modules/reguser/libkvireguser.cpp index be218e668..e238ccaf2 100644 --- a/src/modules/reguser/libkvireguser.cpp +++ b/src/modules/reguser/libkvireguser.cpp @@ -535,6 +535,8 @@ static bool reguser_kvs_cmd_setIgnoreFlags(KviKvsModuleCommandCall * c) iIgnoreFlags |= KviRegisteredUser::Invite; if(c->hasSwitch('d',"dcc")) iIgnoreFlags |= KviRegisteredUser::Dcc; + if(c->hasSwitch('h',"highlight")) + iIgnoreFlags |= KviRegisteredUser::Highlight; u->setIgnoreFlags(iIgnoreFlags); } return true; |
