/***************************************************************************
- * 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 *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
-#ifndef _BUFFERSETTINGS_H_
-#define _BUFFERSETTINGS_H_
+#ifndef BUFFERSETTINGS_H
+#define BUFFERSETTINGS_H
#include "clientsettings.h"
+#include "message.h"
+#include "types.h"
class BufferSettings : public ClientSettings {
+public:
+ enum RedirectTarget {
+ DefaultBuffer = 0x01,
+ StatusBuffer = 0x02,
+ CurrentBuffer = 0x04
+ };
- public:
- BufferSettings(const QString &group = "Buffer");
+ BufferSettings(const QString &idString = "__default__");
+ BufferSettings(BufferId bufferId);
- void setValue(const QString &key, const QVariant &data);
- QVariant value(const QString &key, const QVariant &def = QVariant());
+ 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).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); }
};