style button is smaller now
[quassel.git] / src / client / buffersettings.h
index d60236d..81667d2 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   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  *
 
 class 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); }
 
-  bool hasFilter();
-  int messageFilter();
+  // 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); }
 };