Set QSS-parsed gradients' coordinate system to ObjectBoundingMode
[quassel.git] / src / uisupport / uisettings.h
index 6da65ef..cf0e54f 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-08 by the Quassel Project                          *
+ *   Copyright (C) 2005-2010 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -28,19 +28,17 @@ class UiSettings : public ClientSettings {
 public:
   UiSettings(const QString &group = "Ui");
 
-  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); }
+  virtual inline void setValue(const QString &key, const QVariant &data) { setLocalValue(key, data); }
+  virtual inline QVariant value(const QString &key, const QVariant &def = QVariant()) { return localValue(key, def); }
+
   inline void remove(const QString &key) { removeLocalKey(key); }
 };
 
 
-class UiStyleSettings : public ClientSettings {
+class UiStyleSettings : public UiSettings {
 public:
-  UiStyleSettings(const QString &group = "UiStyle");
-
-  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); }
-  inline void remove(const QString &key) { removeLocalKey(key); }
+  UiStyleSettings();
+  UiStyleSettings(const QString &subGroup);
 
   void setCustomFormat(UiStyle::FormatType, QTextCharFormat);
   QTextCharFormat customFormat(UiStyle::FormatType);
@@ -49,4 +47,39 @@ public:
   QList<UiStyle::FormatType> availableFormats();
 };
 
+class SessionSettings : public UiSettings {
+public:
+  SessionSettings(const QString &sessionId, const QString &group = "Session");
+
+  virtual void setValue(const QString &key, const QVariant &data);
+  virtual QVariant value(const QString &key, const QVariant &def = QVariant());
+
+  void removeKey(const QString &key);
+  void removeSession();
+
+  void cleanup();
+  void sessionAging();
+
+  int sessionAge();
+  void setSessionAge(int age);
+  inline const QString sessionId() { return _sessionId; };
+  inline void setSessionId(const QString &sessionId) { _sessionId = sessionId; }
+
+private:
+  QString _sessionId;
+};
+
+class ShortcutSettings : public UiSettings {
+public:
+  ShortcutSettings();
+
+  //! Remove all stored shortcuts
+  void clear();
+
+  QStringList savedShortcuts();
+
+  void saveShortcut(const QString &name, const QKeySequence &shortcut);
+  QKeySequence loadShortcut(const QString &name);
+};
+
 #endif