X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fbuffersettings.cpp;h=c7b123f3a289d935026433a26eeb6fc886f1ab48;hp=c586471af060a5fb204f4334353ee630b42a9113;hb=61f33c7895e324f6e95034d86897ad2e963653f1;hpb=620882e248fafe97a736e545d8e3eb72569a078b diff --git a/src/client/buffersettings.cpp b/src/client/buffersettings.cpp index c586471a..c7b123f3 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-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -15,19 +15,116 @@ * 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::setValue(const QString &key, const QVariant &data) +{ + setLocalValue(key, data); +} + + +QVariant BufferSettings::value(const QString &key, const QVariant &def) const +{ + return localValue(key, def); +} + + +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); +} + + +bool BufferSettings::hasFilter() const +{ + return localValue("hasMessageTypeFilter", false).toBool(); +} + + +int BufferSettings::messageFilter() const +{ + return localValue("MessageTypeFilter", 0).toInt(); +} + + +void BufferSettings::setMessageFilter(int filter) +{ + if (!hasFilter()) + setLocalValue("hasMessageTypeFilter", true); + setLocalValue("MessageTypeFilter", filter); +} + +void BufferSettings::removeFilter() +{ + setLocalValue("hasMessageTypeFilter", false); + removeLocalKey("MessageTypeFilter"); +} + + +bool BufferSettings::showUserStateIcons() const +{ + return localValue("ShowUserStateIcons", true).toBool(); +} + + +void BufferSettings::enableUserStateIcons(bool enabled) +{ + setLocalValue("ShowUserStateIcons", enabled); +} + + +int BufferSettings::userNoticesTarget() const +{ + return localValue("UserNoticesTarget", RedirectTarget::DefaultBuffer | RedirectTarget::CurrentBuffer).toInt(); +} + + +void BufferSettings::setUserNoticesTarget(int target) +{ + setLocalValue("UserNoticesTarget", target); +} + + +int BufferSettings::serverNoticesTarget() const +{ + return localValue("ServerNoticesTarget", RedirectTarget::StatusBuffer).toInt(); } -void BufferSettings::setValue(const QString &key, const QVariant &data) { - setLocalValue(key, data); + +void BufferSettings::setServerNoticesTarget(int target) +{ + setLocalValue("ServerNoticesTarget", target); } -QVariant BufferSettings::value(const QString &key, const QVariant &def) { - return localValue(key, def); -} \ No newline at end of file + +int BufferSettings::errorMsgsTarget() const +{ + return localValue("ErrorMsgsTarget", RedirectTarget::DefaultBuffer).toInt(); +} + + +void BufferSettings::setErrorMsgsTarget(int target) +{ + setLocalValue("ErrorMsgsTarget", target); +}