/***************************************************************************
- * Copyright (C) 2005-09 by the Quassel Project *
+ * Copyright (C) 2005-2020 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* 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 setMessageFilter(int filter);
- void filterMessage(Message::Type msgType, bool filter);
- void removeFilter();
-
- 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