+
+void ChatMonitorFilter::addShowField(int field) {
+ QtUiSettings s;
+ int fields = s.value(showFieldSettingId(), AllFields).toInt();
+ if(fields & field)
+ return;
+
+ fields |= field;
+ s.setValue(showFieldSettingId(), fields);
+ showFieldSettingsChanged();
+}
+
+void ChatMonitorFilter::removeShowField(int field) {
+ QtUiSettings s;
+ int fields = s.value(showFieldSettingId(), AllFields).toInt();
+ if(!(fields & field))
+ return;
+
+ fields ^= field;
+ s.setValue(showFieldSettingId(), fields);
+ showFieldSettingsChanged();
+}
+
+void ChatMonitorFilter::showFieldSettingsChanged() {
+ int rows = rowCount();
+ if(rows == 0)
+ return;
+
+ emit dataChanged(index(0, ChatLineModel::SenderColumn), index(rows - 1, ChatLineModel::SenderColumn));
+}
+