summaryrefslogtreecommitdiffstats
path: root/src/UserSettingsPage.h
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2020-06-08 20:26:37 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2020-06-08 20:26:37 +0200
commitf2bfa61e086266a1c1e39e39dd8228c9451b2707 (patch)
tree6af614a25933d34cdf5dda535247ff8b1ecdc19f /src/UserSettingsPage.h
parent96f4169be97715e6b6b45663492e3791ba21ae09 (diff)
Add menu actions to set presence
Diffstat (limited to 'src/UserSettingsPage.h')
-rw-r--r--src/UserSettingsPage.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/UserSettingsPage.h b/src/UserSettingsPage.h
index fb807067..550f207e 100644
--- a/src/UserSettingsPage.h
+++ b/src/UserSettingsPage.h
@@ -68,10 +68,20 @@ class UserSettings : public QObject
Q_PROPERTY(QString font READ font WRITE setFontFamily NOTIFY fontChanged)
Q_PROPERTY(
QString emojiFont READ emojiFont WRITE setEmojiFontFamily NOTIFY emojiFontChanged)
+ Q_PROPERTY(Presence presence READ presence WRITE setPresence NOTIFY presenceChanged)
public:
UserSettings();
+ enum class Presence
+ {
+ AutomaticPresence,
+ Online,
+ Unavailable,
+ Offline,
+ };
+ Q_ENUM(Presence);
+
void save();
void load();
void applyTheme();
@@ -93,6 +103,7 @@ public:
void setDesktopNotifications(bool state);
void setAvatarCircles(bool state);
void setDecryptSidebar(bool state);
+ void setPresence(Presence state);
QString theme() const { return !theme_.isEmpty() ? theme_ : defaultTheme_; }
bool messageHoverHighlight() const { return messageHoverHighlight_; }
@@ -112,6 +123,7 @@ public:
double fontSize() const { return baseFontSize_; }
QString font() const { return font_; }
QString emojiFont() const { return emojiFont_; }
+ Presence presence() const { return presence_; }
signals:
void groupViewStateChanged(bool state);
@@ -132,6 +144,7 @@ signals:
void fontSizeChanged(double state);
void fontChanged(QString state);
void emojiFontChanged(QString state);
+ void presenceChanged(Presence state);
private:
// Default to system theme if QT_QPA_PLATFORMTHEME var is set.
@@ -157,6 +170,7 @@ private:
double baseFontSize_;
QString font_;
QString emojiFont_;
+ Presence presence_;
};
class HorizontalLine : public QFrame