aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/kvilib/ext/KviRegisteredUser.h3
-rw-r--r--src/kvirc/ui/KviConsoleWindow.cpp6
-rw-r--r--src/modules/reguser/RegisteredUserEntryDialog.cpp6
-rw-r--r--src/modules/reguser/RegisteredUserEntryDialog.h1
-rw-r--r--src/modules/reguser/libkvireguser.cpp2
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;