X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fbuffersettings.cpp;h=12988440fa0215f33fc884de274e8a9ed95db822;hb=9fcd3d063228a779afae82f015a9067186c3b742;hp=eda11376a191fb7464c1391e87e07e6742bd54be;hpb=2684aa5295d12e4f7c66b3011fc8b1819f3d1cbb;p=quassel.git diff --git a/src/client/buffersettings.cpp b/src/client/buffersettings.cpp index eda11376..12988440 100644 --- a/src/client/buffersettings.cpp +++ b/src/client/buffersettings.cpp @@ -20,14 +20,32 @@ #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)) +{ +} +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); } -void BufferSettings::setValue(const QString &key, const QVariant &data) { - setLocalValue(key, data); +void BufferSettings::setMessageFilter(int filter) { + if(!hasFilter()) + setLocalValue("hasMessageTypeFilter", true); + setLocalValue("MessageTypeFilter", filter); } -QVariant BufferSettings::value(const QString &key, const QVariant &def) { - return localValue(key, def); +void BufferSettings::removeFilter() { + setLocalValue("hasMessageTypeFilter", false); + removeLocalKey("MessageTypeFilter"); }