fixing crash on disconnect
[quassel.git] / src / client / buffersettings.h
index a86b12a..81667d2 100644 (file)
 
 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); }
 
+  // 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); }
 };