X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fbuffersettings.cpp;h=aebca0d206abfa2ca1fc753fefdae2e9a1bc4570;hp=eda11376a191fb7464c1391e87e07e6742bd54be;hb=86bd6b1ffb870e65af6d830a2ea16471c348ed5a;hpb=2684aa5295d12e4f7c66b3011fc8b1819f3d1cbb diff --git a/src/client/buffersettings.cpp b/src/client/buffersettings.cpp index eda11376..aebca0d2 100644 --- a/src/client/buffersettings.cpp +++ b/src/client/buffersettings.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel IRC Team * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -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"); }