+void MessageFilter::init() {
+ BufferSettings defaultSettings;
+ _messageTypeFilter = defaultSettings.messageFilter();
+ defaultSettings.notify("MessageTypeFilter", this, SLOT(messageTypeFilterChanged()));
+ defaultSettings.notify("UserNoticesInDefaultBuffer", this, SLOT(messageRedirectionChanged()));
+ defaultSettings.notify("UserNoticesInStatusBuffer", this, SLOT(messageRedirectionChanged()));
+ defaultSettings.notify("UserNoticesInCurrentBuffer", this, SLOT(messageRedirectionChanged()));
+
+ defaultSettings.notify("serverNoticesInDefaultBuffer", this, SLOT(messageRedirectionChanged()));
+ defaultSettings.notify("serverNoticesInStatusBuffer", this, SLOT(messageRedirectionChanged()));
+ defaultSettings.notify("serverNoticesInCurrentBuffer", this, SLOT(messageRedirectionChanged()));
+
+ defaultSettings.notify("ErrorMsgsInDefaultBuffer", this, SLOT(messageRedirectionChanged()));
+ defaultSettings.notify("ErrorMsgsInStatusBuffer", this, SLOT(messageRedirectionChanged()));
+ defaultSettings.notify("ErrorMsgsInCurrentBuffer", this, SLOT(messageRedirectionChanged()));
+ messageRedirectionChanged();
+
+ BufferSettings mySettings(idString());
+ if(mySettings.hasFilter())
+ _messageTypeFilter = mySettings.messageFilter();
+ mySettings.notify("MessageTypeFilter", this, SLOT(messageTypeFilterChanged()));
+}
+
+void MessageFilter::messageTypeFilterChanged() {
+ int newFilter;
+ BufferSettings defaultSettings;
+ newFilter = BufferSettings().messageFilter();
+
+ BufferSettings mySettings(idString());
+ if(mySettings.hasFilter())
+ newFilter = mySettings.messageFilter();
+
+ if(_messageTypeFilter != newFilter) {
+ _messageTypeFilter = newFilter;
+ _filteredQuitMsgs.clear();
+ invalidateFilter();
+ }
+}
+
+void MessageFilter::messageRedirectionChanged() {
+ BufferSettings bufferSettings;
+ _userNoticesInDefaultBuffer = bufferSettings.value("UserNoticesInDefaultBuffer", QVariant(true)).toBool();
+ _userNoticesInStatusBuffer = bufferSettings.value("UserNoticesInStatusBuffer", QVariant(false)).toBool();
+ _userNoticesInCurrentBuffer = bufferSettings.value("UserNoticesInCurrentBuffer", QVariant(false)).toBool();
+
+ _serverNoticesInDefaultBuffer = bufferSettings.value("ServerNoticesInDefaultBuffer", QVariant(false)).toBool();
+ _serverNoticesInStatusBuffer = bufferSettings.value("ServerNoticesInStatusBuffer", QVariant(true)).toBool();
+ _serverNoticesInCurrentBuffer = bufferSettings.value("ServerNoticesInCurrentBuffer", QVariant(false)).toBool();
+
+ _errorMsgsInDefaultBuffer = bufferSettings.value("ErrorMsgsInDefaultBuffer", QVariant(true)).toBool();
+ _errorMsgsInStatusBuffer = bufferSettings.value("ErrorMsgsInStatusBuffer", QVariant(false)).toBool();
+ _errorMsgsInCurrentBuffer = bufferSettings.value("ErrorMsgsInCurrentBuffer", QVariant(false)).toBool();
+
+ invalidateFilter();
+}
+