- if(_messageFilter)
- BufferSettings(_messageFilter->idString()).filterMessage(msgType, action->isChecked());
- else {
- foreach(QModelIndex index, _indexList) {
- BufferId bufferId = index.data(NetworkModel::BufferIdRole).value<BufferId>();
- if(!bufferId.isValid())
- continue;
- BufferSettings(bufferId).filterMessage(msgType, action->isChecked());
+ int filter = 0;
+ if(NetworkModelActionProvider::action(HideJoin)->isChecked())
+ filter |= Message::Join;
+ if(NetworkModelActionProvider::action(HidePart)->isChecked())
+ filter |= Message::Part;
+ if(NetworkModelActionProvider::action(HideQuit)->isChecked())
+ filter |= Message::Quit;
+ if(NetworkModelActionProvider::action(HideNick)->isChecked())
+ filter |= Message::Nick;
+ if(NetworkModelActionProvider::action(HideMode)->isChecked())
+ filter |= Message::Mode;
+ if(NetworkModelActionProvider::action(HideDayChange)->isChecked())
+ filter |= Message::DayChange;
+
+ switch(type) {
+ case HideJoin:
+ case HidePart:
+ case HideQuit:
+ case HideNick:
+ case HideMode:
+ case HideDayChange:
+ if(_messageFilter)
+ BufferSettings(_messageFilter->idString()).setMessageFilter(filter);
+ else {
+ foreach(QModelIndex index, _indexList) {
+ BufferId bufferId = index.data(NetworkModel::BufferIdRole).value<BufferId>();
+ if(!bufferId.isValid())
+ continue;
+ BufferSettings(bufferId).setMessageFilter(filter);
+ }