From 4985e1f536be5ee6ac827cc7d014b36e581c1c50 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Sat, 12 Jun 2021 14:07:32 +0200 Subject: Persist sidebar sizes --- src/UserSettingsPage.cpp | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'src/UserSettingsPage.cpp') diff --git a/src/UserSettingsPage.cpp b/src/UserSettingsPage.cpp index 99560678..9b906555 100644 --- a/src/UserSettingsPage.cpp +++ b/src/UserSettingsPage.cpp @@ -64,10 +64,14 @@ void UserSettings::load(std::optional profile) { QSettings settings; - tray_ = settings.value("user/window/tray", false).toBool(); + tray_ = settings.value("user/window/tray", false).toBool(); + startInTray_ = settings.value("user/window/start_in_tray", false).toBool(); + + roomListWidth_ = settings.value("user/sidebar/room_list_width", -1).toInt(); + communityListWidth_ = settings.value("user/sidebar/community_list_width", -1).toInt(); + hasDesktopNotifications_ = settings.value("user/desktop_notifications", true).toBool(); hasAlertOnNotification_ = settings.value("user/alert_on_notification", false).toBool(); - startInTray_ = settings.value("user/window/start_in_tray", false).toBool(); groupView_ = settings.value("user/group_view", true).toBool(); hiddenTags_ = settings.value("user/hidden_tags", QStringList{}).toStringList(); buttonsInTimeline_ = settings.value("user/timeline/buttons", true).toBool(); @@ -248,6 +252,24 @@ UserSettings::setTimelineMaxWidth(int state) emit timelineMaxWidthChanged(state); save(); } +void +UserSettings::setCommunityListWidth(int state) +{ + if (state == communityListWidth_) + return; + communityListWidth_ = state; + emit communityListWidthChanged(state); + save(); +} +void +UserSettings::setRoomListWidth(int state) +{ + if (state == roomListWidth_) + return; + roomListWidth_ = state; + emit roomListWidthChanged(state); + save(); +} void UserSettings::setDesktopNotifications(bool state) @@ -571,6 +593,11 @@ UserSettings::save() settings.setValue("start_in_tray", startInTray_); settings.endGroup(); // window + settings.beginGroup("sidebar"); + settings.setValue("community_list_width", communityListWidth_); + settings.setValue("room_list_width", roomListWidth_); + settings.endGroup(); // window + settings.beginGroup("timeline"); settings.setValue("buttons", buttonsInTimeline_); settings.setValue("message_hover_highlight", messageHoverHighlight_); -- cgit 1.5.1 From 4a5414975d6b9c6502488e7c0d4c5674b81c1e3a Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Fri, 25 Jun 2021 11:26:39 +0200 Subject: fix sort by unread not getting persisted --- src/UserSettingsPage.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src/UserSettingsPage.cpp') diff --git a/src/UserSettingsPage.cpp b/src/UserSettingsPage.cpp index 9b906555..6c0d8728 100644 --- a/src/UserSettingsPage.cpp +++ b/src/UserSettingsPage.cpp @@ -613,6 +613,7 @@ UserSettings::save() settings.setValue("mobile_mode", mobileMode_); settings.setValue("font_size", baseFontSize_); settings.setValue("typing_notifications", typingNotifications_); + settings.setValue("sort_by_unread", sortByImportance_); settings.setValue("minor_events", sortByImportance_); settings.setValue("read_receipts", readReceipts_); settings.setValue("group_view", groupView_); -- cgit 1.5.1 From 683a24d2aaaddbc9b8fab87a29361028949ac0ef Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Fri, 2 Jul 2021 12:36:33 +0200 Subject: Fix community sidebar toggle --- resources/qml/ChatPage.qml | 2 ++ src/UserSettingsPage.cpp | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src/UserSettingsPage.cpp') diff --git a/resources/qml/ChatPage.qml b/resources/qml/ChatPage.qml index cd323a97..3fa55b42 100644 --- a/resources/qml/ChatPage.qml +++ b/resources/qml/ChatPage.qml @@ -23,6 +23,8 @@ Rectangle { AdaptiveLayoutElement { id: communityListC + visible: Settings.groupView + minimumWidth: communitiesList.avatarSize * 4 + Nheko.paddingMedium * 2 collapsedWidth: communitiesList.avatarSize + 2 * Nheko.paddingMedium preferredWidth: Settings.communityListWidth >= minimumWidth ? Settings.communityListWidth : collapsedWidth diff --git a/src/UserSettingsPage.cpp b/src/UserSettingsPage.cpp index 6c0d8728..740b8979 100644 --- a/src/UserSettingsPage.cpp +++ b/src/UserSettingsPage.cpp @@ -179,10 +179,11 @@ UserSettings::setMobileMode(bool state) void UserSettings::setGroupView(bool state) { - if (groupView_ != state) - emit groupViewStateChanged(state); + if (groupView_ == state) + return; groupView_ = state; + emit groupViewStateChanged(state); save(); } -- cgit 1.5.1