int filter = 0;
if(NetworkModelController::action(HideJoin)->isChecked())
- filter |= Message::Join;
+ filter |= Message::Join | Message::NetsplitJoin;
if(NetworkModelController::action(HidePart)->isChecked())
filter |= Message::Part;
if(NetworkModelController::action(HideQuit)->isChecked())
- filter |= Message::Quit;
+ filter |= Message::Quit | Message::NetsplitQuit;
if(NetworkModelController::action(HideNick)->isChecked())
filter |= Message::Nick;
if(NetworkModelController::action(HideMode)->isChecked())
if(!bufferInfo.isValid())
continue;
- // the validity of that cast is checked on contextmenu creation, take care
- IrcUser *ircUser = qobject_cast<IrcUser *>(index.data(NetworkModel::IrcUserRole).value<QObject *>());
-
switch(type) {
case NickWhois:
Client::userInput(bufferInfo, QString("/WHOIS %1 %1").arg(nick));
Client::userInput(bufferInfo, QString("/QUERY %1").arg(nick));
break;
case NickIgnoreUser:
+ {
+ IrcUser *ircUser = qobject_cast<IrcUser *>(index.data(NetworkModel::IrcUserRole).value<QObject *>());
+ if(!ircUser)
+ break;
Client::ignoreListManager()->requestAddIgnoreListItem(IgnoreListManager::SenderIgnore,
- action->text(),
+ action->property("ignoreRule").toString(),
false, IgnoreListManager::SoftStrictness,
IgnoreListManager::NetworkScope,
ircUser->network()->networkName(), true);
break;
+ }
case NickIgnoreHost:
+ {
+ IrcUser *ircUser = qobject_cast<IrcUser *>(index.data(NetworkModel::IrcUserRole).value<QObject *>());
+ if(!ircUser)
+ break;
Client::ignoreListManager()->requestAddIgnoreListItem(IgnoreListManager::SenderIgnore,
- action->text(),
+ action->property("ignoreRule").toString(),
false, IgnoreListManager::SoftStrictness,
IgnoreListManager::NetworkScope,
ircUser->network()->networkName(), true);
break;
+ }
case NickIgnoreDomain:
+ {
+ IrcUser *ircUser = qobject_cast<IrcUser *>(index.data(NetworkModel::IrcUserRole).value<QObject *>());
+ if(!ircUser)
+ break;
Client::ignoreListManager()->requestAddIgnoreListItem(IgnoreListManager::SenderIgnore,
- action->text(),
+ action->property("ignoreRule").toString(),
false, IgnoreListManager::SoftStrictness,
IgnoreListManager::NetworkScope,
ircUser->network()->networkName(), true);
break;
+ }
case NickIgnoreCustom:
// forward that to mainwin since we can access the settingspage only from there
- emit showIgnoreList(ircUser->hostmask());
+ emit showIgnoreList(action->property("ignoreRule").toString());
break;
case NickIgnoreToggleEnabled0:
case NickIgnoreToggleEnabled1:
case NickIgnoreToggleEnabled2:
case NickIgnoreToggleEnabled3:
case NickIgnoreToggleEnabled4:
- Client::ignoreListManager()->requestToggleIgnoreRule(action->text());
+ Client::ignoreListManager()->requestToggleIgnoreRule(action->property("ignoreRule").toString());
break;
default:
qWarning() << "Unhandled nick action";