-
-class BufferSettings : public ClientSettings {
-
- public:
- BufferSettings(const QString &group = "Buffer");
-
- void setValue(const QString &key, const QVariant &data);
- QVariant value(const QString &key, const QVariant &def = QVariant());
-
-
+#include "message.h"
+#include "types.h"
+
+class CLIENT_EXPORT BufferSettings : public ClientSettings
+{
+public:
+ enum RedirectTarget {
+ DefaultBuffer = 0x01,
+ StatusBuffer = 0x02,
+ CurrentBuffer = 0x04
+ };
+
+ 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); }
+
+ // Message Filter (default and per view)
+ 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();
+
+ // user state icons for query buffers (default)
+ inline bool showUserStateIcons() { return localValue("ShowUserStateIcons", true).toBool(); }
+ inline void enableUserStateIcons(bool enabled) { setLocalValue("ShowUserStateIcons", enabled); }
+
+ // redirection settings (default)
+ inline int userNoticesTarget() { return localValue("UserNoticesTarget", DefaultBuffer | CurrentBuffer).toInt(); }
+ inline void setUserNoticesTarget(int target) { setLocalValue("UserNoticesTarget", target); }
+ inline int serverNoticesTarget() { return localValue("ServerNoticesTarget", StatusBuffer).toInt(); }
+ inline void setServerNoticesTarget(int target) { setLocalValue("ServerNoticesTarget", target); }
+ inline int errorMsgsTarget() { return localValue("ErrorMsgsTarget", DefaultBuffer).toInt(); }
+ inline void setErrorMsgsTarget(int target) { setLocalValue("ErrorMsgsTarget", target); }