1 /***************************************************************************
2 * Copyright (C) 2005-2018 by the Quassel Project *
3 * devel@quassel-irc.org *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) version 3. *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the *
17 * Free Software Foundation, Inc., *
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
19 ***************************************************************************/
21 #include "buffersettings.h"
23 BufferSettings::BufferSettings(BufferId bufferId)
24 : ClientSettings(QString("Buffer/%1").arg(bufferId.toInt()))
29 BufferSettings::BufferSettings(const QString &idString)
30 : ClientSettings(QString("Buffer/%1").arg(idString))
35 void BufferSettings::setValue(const QString &key, const QVariant &data)
37 setLocalValue(key, data);
41 QVariant BufferSettings::value(const QString &key, const QVariant &def) const
43 return localValue(key, def);
47 void BufferSettings::filterMessage(Message::Type msgType, bool filter)
50 setLocalValue("hasMessageTypeFilter", true);
52 setLocalValue("MessageTypeFilter", localValue("MessageTypeFilter", 0).toInt() | msgType);
54 setLocalValue("MessageTypeFilter", localValue("MessageTypeFilter", 0).toInt() & ~msgType);
58 bool BufferSettings::hasFilter() const
60 return localValue("hasMessageTypeFilter", false).toBool();
64 int BufferSettings::messageFilter() const
66 return localValue("MessageTypeFilter", 0).toInt();
70 void BufferSettings::setMessageFilter(int filter)
73 setLocalValue("hasMessageTypeFilter", true);
74 setLocalValue("MessageTypeFilter", filter);
78 void BufferSettings::removeFilter()
80 setLocalValue("hasMessageTypeFilter", false);
81 removeLocalKey("MessageTypeFilter");
85 bool BufferSettings::showUserStateIcons() const
87 return localValue("ShowUserStateIcons", true).toBool();
91 void BufferSettings::enableUserStateIcons(bool enabled)
93 setLocalValue("ShowUserStateIcons", enabled);
97 int BufferSettings::userNoticesTarget() const
99 return localValue("UserNoticesTarget", RedirectTarget::DefaultBuffer | RedirectTarget::CurrentBuffer).toInt();
103 void BufferSettings::setUserNoticesTarget(int target)
105 setLocalValue("UserNoticesTarget", target);
109 int BufferSettings::serverNoticesTarget() const
111 return localValue("ServerNoticesTarget", RedirectTarget::StatusBuffer).toInt();
115 void BufferSettings::setServerNoticesTarget(int target)
117 setLocalValue("ServerNoticesTarget", target);
121 int BufferSettings::errorMsgsTarget() const
123 return localValue("ErrorMsgsTarget", RedirectTarget::DefaultBuffer).toInt();
127 void BufferSettings::setErrorMsgsTarget(int target)
129 setLocalValue("ErrorMsgsTarget", target);