/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel IRC Team *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include "message.h"
#include "types.h"
-class BufferSettings : public ClientSettings {
+class BufferSettings : public ClientSettings
+{
public:
- BufferSettings(const QString &idString = "__default__");
- BufferSettings(BufferId bufferId);
+ enum RedirectTarget {
+ DefaultBuffer = 0x01,
+ StatusBuffer = 0x02,
+ CurrentBuffer = 0x04
+ };
- 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); }
+ BufferSettings(const QString &idString = "__default__");
+ BufferSettings(BufferId bufferId);
- bool hasFilter();
- int messageFilter();
- void filterMessage(Message::Type msgType, bool filter);
+ 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); }
};