X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fbuffersettings.h;h=5b15a2acd590c97d553b84efce25d1c555e7c327;hp=176fe3a01f90cc09158ed9d3a58443a83ab0675e;hb=HEAD;hpb=9996d2489e5e5ca23b0750f39f64d8d4b5990029 diff --git a/src/client/buffersettings.h b/src/client/buffersettings.h index 176fe3a0..6cc560b0 100644 --- a/src/client/buffersettings.h +++ b/src/client/buffersettings.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel IRC Team * + * Copyright (C) 2005-2022 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -15,31 +15,47 @@ * 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. * ***************************************************************************/ -#ifndef BUFFERSETTINGS_H -#define BUFFERSETTINGS_H +#include "client-export.h" #include "clientsettings.h" #include "message.h" #include "types.h" -class BufferSettings : public ClientSettings { +class CLIENT_EXPORT BufferSettings : public ClientSettings +{ public: - BufferSettings(const QString &idString = "__default__"); - BufferSettings(BufferId bufferId); - - inline void setValue(const QString &key, const QVariant &data) { setLocalValue(key, data); } - inline QVariant value(const QString &key, const QVariant &def = QVariant()) { return localValue(key, def); } - - inline bool hasFilter() { return localValue("hasMessageTypeFilter", false).toBool(); } - inline int messageFilter() { return localValue("MessageTypeFilter", 0).toInt(); } - void filterMessage(Message::Type msgType, bool filter); - - inline bool showUserStateIcons() { return localValue("ShowUserStateIcons", true).toBool(); } - inline void enableUserStateIcons(bool enabled) { setLocalValue("ShowUserStateIcons", enabled); } + enum RedirectTarget + { + DefaultBuffer = 0x01, + StatusBuffer = 0x02, + CurrentBuffer = 0x04 + }; + + BufferSettings(const QString& idString = "__default__"); + BufferSettings(BufferId bufferId); + + void setValue(const QString& key, const QVariant& data); + QVariant value(const QString& key, const QVariant& def = {}) const; + + // Message Filter (default and per view) + bool hasFilter() const; + int messageFilter() const; + void setMessageFilter(int filter); + void filterMessage(Message::Type msgType, bool filter); + void removeFilter(); + + // user state icons for query buffers (default) + bool showUserStateIcons() const; + void enableUserStateIcons(bool enabled); + + // redirection settings (default) + int userNoticesTarget() const; + void setUserNoticesTarget(int target); + int serverNoticesTarget() const; + void setServerNoticesTarget(int target); + int errorMsgsTarget() const; + void setErrorMsgsTarget(int target); }; - - -#endif