From bfc818029e87656c7b7f322d04f6e168261a96f6 Mon Sep 17 00:00:00 2001 From: Sebastian Goth Date: Mon, 14 Sep 2009 12:36:03 +0200 Subject: [PATCH] Less is more is better contextmenu - Don't show predefined ignore rules twice in case there is no difference between host.domain.tld and domain.tld - Don't fuckup IPs --- src/uisupport/contextmenuactionprovider.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/uisupport/contextmenuactionprovider.cpp b/src/uisupport/contextmenuactionprovider.cpp index fbe45415..55932e3f 100644 --- a/src/uisupport/contextmenuactionprovider.cpp +++ b/src/uisupport/contextmenuactionprovider.cpp @@ -400,7 +400,7 @@ void ContextMenuActionProvider::addIgnoreMenu(QMenu *menu, const QString &hostma QString ident = userFromMask(hostmask); QString host = hostFromMask(hostmask); QString domain = host; - QRegExp domainRx = QRegExp("(\\.[^.]+\\.\\w+)$"); + QRegExp domainRx = QRegExp("(\\.[^.]+\\.\\w+\\D)$"); if(domainRx.indexIn(host) != -1) domain = domainRx.cap(1); // we can't rely on who-data @@ -430,7 +430,10 @@ void ContextMenuActionProvider::addIgnoreMenu(QMenu *menu, const QString &hostma ignoreMenu->addAction(action(NickIgnoreUser)); if(!ignoreMap.contains(action(NickIgnoreHost)->property("ignoreRule").toString())) ignoreMenu->addAction(action(NickIgnoreHost)); - if(!ignoreMap.contains(action(NickIgnoreDomain)->property("ignoreRule").toString())) + // we only add that NickIgnoreDomain if it isn't the same as NickIgnoreUser + // as happens with @foobar.com hostmasks and ips + if(!ignoreMap.contains(action(NickIgnoreDomain)->property("ignoreRule").toString()) + && action(NickIgnoreUser)->property("ignoreRule").toString() != action(NickIgnoreDomain)->property("ignoreRule").toString()) ignoreMenu->addAction(action(NickIgnoreDomain)); } -- 2.20.1