registerAction(NickCtcpVersion, tr("Version"));
registerAction(NickCtcpTime, tr("Time"));
registerAction(NickCtcpPing, tr("Ping"));
- registerAction(NickCtcpFinger, tr("Finger"));
+ registerAction(NickCtcpClientinfo, tr("Client info"));
registerAction(NickIgnoreCustom, tr("Custom..."));
// these texts are only dummies! don't think about tr() here!
nickCtcpMenu->addAction(action(NickCtcpPing));
nickCtcpMenu->addAction(action(NickCtcpVersion));
nickCtcpMenu->addAction(action(NickCtcpTime));
- nickCtcpMenu->addAction(action(NickCtcpFinger));
+ nickCtcpMenu->addAction(action(NickCtcpClientinfo));
_nickCtcpMenuAction = new Action(tr("CTCP"), 0);
_nickCtcpMenuAction->setMenu(nickCtcpMenu);
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
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));
}