summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/UserSettingsPage.cpp20
-rw-r--r--src/UserSettingsPage.h8
2 files changed, 23 insertions, 5 deletions
diff --git a/src/UserSettingsPage.cpp b/src/UserSettingsPage.cpp

index e19aa876..6af08e12 100644 --- a/src/UserSettingsPage.cpp +++ b/src/UserSettingsPage.cpp
@@ -51,11 +51,13 @@ void UserSettings::load() { QSettings settings; - isTrayEnabled_ = settings.value("user/window/tray", false).toBool(); - hasDesktopNotifications_ = settings.value("user/desktop_notifications", true).toBool(); - isStartInTrayEnabled_ = settings.value("user/window/start_in_tray", false).toBool(); - isGroupViewEnabled_ = settings.value("user/group_view", true).toBool(); - isButtonsInTimelineEnabled_ = settings.value("user/timeline/buttons", true).toBool(); + isTrayEnabled_ = settings.value("user/window/tray", false).toBool(); + hasDesktopNotifications_ = settings.value("user/desktop_notifications", true).toBool(); + isStartInTrayEnabled_ = settings.value("user/window/start_in_tray", false).toBool(); + isGroupViewEnabled_ = settings.value("user/group_view", true).toBool(); + isButtonsInTimelineEnabled_ = settings.value("user/timeline/buttons", true).toBool(); + isMessageHoverHighlightEnabled_ = + settings.value("user/timeline/message_hover_highlight", false).toBool(); isMarkdownEnabled_ = settings.value("user/markdown_enabled", true).toBool(); isTypingNotificationsEnabled_ = settings.value("user/typing_notifications", true).toBool(); sortByImportance_ = settings.value("user/sort_by_unread", true).toBool(); @@ -165,6 +167,7 @@ UserSettings::save() settings.beginGroup("timeline"); settings.setValue("buttons", isButtonsInTimelineEnabled_); + settings.setValue("message_hover_highlight", isMessageHoverHighlightEnabled_); settings.endGroup(); settings.setValue("avatar_circles", avatarCircles_); @@ -235,6 +238,7 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge groupViewToggle_ = new Toggle{this}; timelineButtonsToggle_ = new Toggle{this}; typingNotifications_ = new Toggle{this}; + messageHoverHighlight_ = new Toggle{this}; sortByImportance_ = new Toggle{this}; readReceipts_ = new Toggle{this}; markdownEnabled_ = new Toggle{this}; @@ -345,6 +349,7 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge boxWrap(tr("Read receipts"), readReceipts_); boxWrap(tr("Send messages as Markdown"), markdownEnabled_); boxWrap(tr("Desktop notifications"), desktopNotifications_); + boxWrap(tr("Highlight message on hover"), messageHoverHighlight_); formLayout_->addRow(uiLabel_); formLayout_->addRow(new HorizontalLine{this}); @@ -463,6 +468,10 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge settings_->setDesktopNotifications(!isDisabled); }); + connect(messageHoverHighlight_, &Toggle::toggled, this, [this](bool isDisabled) { + settings_->setMessageHoverHighlight(!isDisabled); + }); + connect( sessionKeysImportBtn, &QPushButton::clicked, this, &UserSettingsPage::importSessionKeys); @@ -495,6 +504,7 @@ UserSettingsPage::showEvent(QShowEvent *) readReceipts_->setState(!settings_->isReadReceiptsEnabled()); markdownEnabled_->setState(!settings_->isMarkdownEnabled()); desktopNotifications_->setState(!settings_->hasDesktopNotifications()); + messageHoverHighlight_->setState(!settings_->isMessageHoverHighlightEnabled()); deviceIdValue_->setText(QString::fromStdString(http::client()->device_id())); deviceFingerprintValue_->setText( diff --git a/src/UserSettingsPage.h b/src/UserSettingsPage.h
index 6b9834ea..088bbfb5 100644 --- a/src/UserSettingsPage.h +++ b/src/UserSettingsPage.h
@@ -44,6 +44,11 @@ public: void load(); void applyTheme(); void setTheme(QString theme); + void setMessageHoverHighlight(bool state) + { + isMessageHoverHighlightEnabled_ = state; + save(); + } void setTray(bool state) { isTrayEnabled_ = state; @@ -118,6 +123,7 @@ public: } QString theme() const { return !theme_.isEmpty() ? theme_ : defaultTheme_; } + bool isMessageHoverHighlightEnabled() const { return isMessageHoverHighlightEnabled_; } bool isTrayEnabled() const { return isTrayEnabled_; } bool isStartInTrayEnabled() const { return isStartInTrayEnabled_; } bool isGroupViewEnabled() const { return isGroupViewEnabled_; } @@ -144,6 +150,7 @@ private: ? "light" : "system"; QString theme_; + bool isMessageHoverHighlightEnabled_; bool isTrayEnabled_; bool isStartInTrayEnabled_; bool isGroupViewEnabled_; @@ -203,6 +210,7 @@ private: Toggle *groupViewToggle_; Toggle *timelineButtonsToggle_; Toggle *typingNotifications_; + Toggle *messageHoverHighlight_; Toggle *sortByImportance_; Toggle *readReceipts_; Toggle *markdownEnabled_;