X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fclient%2Fbuffersettings.cpp;h=f99e52ef937ddff146565f2e060254e97ad79fd2;hb=694f9bfbf7f1af19108461c7e00d133e55082bce;hp=c586471af060a5fb204f4334353ee630b42a9113;hpb=620882e248fafe97a736e545d8e3eb72569a078b;p=quassel.git diff --git a/src/client/buffersettings.cpp b/src/client/buffersettings.cpp index c586471a..f99e52ef 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,39 @@ #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); -} \ No newline at end of file + +void BufferSettings::removeFilter() +{ + setLocalValue("hasMessageTypeFilter", false); + removeLocalKey("MessageTypeFilter"); +}