void MessageFilter::init() {
setDynamicSortFilter(true);
+ _userNoticesTarget = _serverNoticesTarget = _errorMsgsTarget = -1;
+
BufferSettings defaultSettings;
defaultSettings.notify("UserNoticesTarget", this, SLOT(messageRedirectionChanged()));
defaultSettings.notify("ServerNoticesTarget", this, SLOT(messageRedirectionChanged()));
if(myNetworkId != msgNetworkId)
return false;
- bool redirect = false;
- int redirectionTarget = 0;
- switch(messageType) {
- case Message::Notice:
- if(Client::networkModel()->bufferType(bufferId) != BufferInfo::ChannelBuffer) {
- redirect = true;
- if(flags & Message::ServerMsg) {
- // server notice
- redirectionTarget = _serverNoticesTarget;
- } else {
- redirectionTarget = _userNoticesTarget;
+
+ if(flags & Message::Redirected) {
+ int redirectionTarget = 0;
+ switch(messageType) {
+ case Message::Notice:
+ if(Client::networkModel()->bufferType(bufferId) != BufferInfo::ChannelBuffer) {
+ if(flags & Message::ServerMsg) {
+ // server notice
+ redirectionTarget = _serverNoticesTarget;
+ } else {
+ redirectionTarget = _userNoticesTarget;
+ }
}
+ break;
+ case Message::Error:
+ redirectionTarget = _errorMsgsTarget;
+ break;
+ default:
+ break;
}
- break;
- case Message::Error:
- redirect = true;
- redirectionTarget = _errorMsgsTarget;
- break;
- default:
- break;
- }
-
- if(redirect) {
if(redirectionTarget & BufferSettings::DefaultBuffer && _validBuffers.contains(bufferId))
return true;