X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fbuffersettings.cpp;h=9e2949008c968e3de7b9eaec92b669b017979e91;hp=c586471af060a5fb204f4334353ee630b42a9113;hb=16f22647e6890d3eb8c3e94f7a0700e12fa29e44;hpb=620882e248fafe97a736e545d8e3eb72569a078b diff --git a/src/client/buffersettings.cpp b/src/client/buffersettings.cpp index c586471a..9e294900 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-2016 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -15,19 +15,44 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #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"); +}