1 /***************************************************************************
2 * Copyright (C) 2005-2019 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()))
27 BufferSettings::BufferSettings(const QString& idString)
28 : ClientSettings(QString("Buffer/%1").arg(idString))
31 void BufferSettings::setValue(const QString& key, const QVariant& data)
33 setLocalValue(key, data);
36 QVariant BufferSettings::value(const QString& key, const QVariant& def) const
38 return localValue(key, def);
41 void BufferSettings::filterMessage(Message::Type msgType, bool filter)
44 setLocalValue("hasMessageTypeFilter", true);
46 setLocalValue("MessageTypeFilter", localValue("MessageTypeFilter", 0).toInt() | msgType);
48 setLocalValue("MessageTypeFilter", localValue("MessageTypeFilter", 0).toInt() & ~msgType);
51 bool BufferSettings::hasFilter() const
53 return localValue("hasMessageTypeFilter", false).toBool();
56 int BufferSettings::messageFilter() const
58 return localValue("MessageTypeFilter", 0).toInt();
61 void BufferSettings::setMessageFilter(int filter)
64 setLocalValue("hasMessageTypeFilter", true);
65 setLocalValue("MessageTypeFilter", filter);
68 void BufferSettings::removeFilter()
70 setLocalValue("hasMessageTypeFilter", false);
71 removeLocalKey("MessageTypeFilter");
74 bool BufferSettings::showUserStateIcons() const
76 return localValue("ShowUserStateIcons", true).toBool();
79 void BufferSettings::enableUserStateIcons(bool enabled)
81 setLocalValue("ShowUserStateIcons", enabled);
84 int BufferSettings::userNoticesTarget() const
86 return localValue("UserNoticesTarget", RedirectTarget::DefaultBuffer | RedirectTarget::CurrentBuffer).toInt();
89 void BufferSettings::setUserNoticesTarget(int target)
91 setLocalValue("UserNoticesTarget", target);
94 int BufferSettings::serverNoticesTarget() const
96 return localValue("ServerNoticesTarget", RedirectTarget::StatusBuffer).toInt();
99 void BufferSettings::setServerNoticesTarget(int target)
101 setLocalValue("ServerNoticesTarget", target);
104 int BufferSettings::errorMsgsTarget() const
106 return localValue("ErrorMsgsTarget", RedirectTarget::DefaultBuffer).toInt();
109 void BufferSettings::setErrorMsgsTarget(int target)
111 setLocalValue("ErrorMsgsTarget", target);