X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fbuffersettings.cpp;h=c42cd81ca0b1e553e0783f08cbe91cad5bcf0263;hp=eda11376a191fb7464c1391e87e07e6742bd54be;hb=99934fe47293f61e1e62ecc0f0d49f958a992c32;hpb=2684aa5295d12e4f7c66b3011fc8b1819f3d1cbb diff --git a/src/client/buffersettings.cpp b/src/client/buffersettings.cpp index eda11376..c42cd81c 100644 --- a/src/client/buffersettings.cpp +++ b/src/client/buffersettings.cpp @@ -20,14 +20,29 @@ #include "buffersettings.h" -BufferSettings::BufferSettings(const QString &group) : ClientSettings(group) { +BufferSettings::BufferSettings(BufferId bufferId) + : ClientSettings(QString("Buffer/%1").arg(bufferId.toInt())) +{ +} + +BufferSettings::BufferSettings(const QString &idString) + : ClientSettings(QString("Buffer/%1").arg(idString)) +{ +} +bool BufferSettings::hasFilter() { + return localValue("hasMessageTypeFilter", false).toBool(); } -void BufferSettings::setValue(const QString &key, const QVariant &data) { - setLocalValue(key, data); +int BufferSettings::messageFilter() { + return localValue("MessageTypeFilter", 0).toInt(); } -QVariant BufferSettings::value(const QString &key, const QVariant &def) { - return localValue(key, def); +void BufferSettings::filterMessage(Message::Type msgType, bool filter) { + if(!hasFilter()) + setLocalValue("hasMessageTypeFilter", true); + if(filter) + setLocalValue("MessageTypeFilter", localValue("MessageTypeFilter", 0).toInt() | msgType); + else + setLocalValue("MessageTypeFilter", localValue("MessageTypeFilter", 0).toInt() & ~msgType); }