+#include "uistyle.h"
+
+class UISUPPORT_EXPORT UiSettings : public ClientSettings
+{
+public:
+ UiSettings(QString group = "Ui");
+
+ virtual void setValue(const QString &key, const QVariant &data);
+ virtual QVariant value(const QString &key, const QVariant &def = {}) const;
+
+ /**
+ * Gets if a value exists in settings
+ *
+ * @param[in] key ID of local settings key
+ * @returns True if key exists in settings, otherwise false
+ */
+ bool valueExists(const QString &key) const;
+
+ void remove(const QString &key);
+};
+
+
+class UISUPPORT_EXPORT UiStyleSettings : public UiSettings
+{
+public:
+ UiStyleSettings();
+ UiStyleSettings(const QString &subGroup);
+
+ void setCustomFormat(UiStyle::FormatType, const QTextCharFormat &format);
+ QTextCharFormat customFormat(UiStyle::FormatType) const;
+
+ void removeCustomFormat(UiStyle::FormatType);
+ QList<UiStyle::FormatType> availableFormats() const;
+};
+
+
+class UISUPPORT_EXPORT SessionSettings : public UiSettings
+{
+public:
+ SessionSettings(QString sessionId, QString group = "Session");