From eae09f8f14c046e12ff6d4123d9a09ed00a82dc0 Mon Sep 17 00:00:00 2001 From: Loren Burkholder Date: Thu, 4 Feb 2021 18:41:00 -0500 Subject: [PATCH 1/4] Fix bug on logout of non-default profile --- src/ChatPage.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp index db80ecd5..ac327b82 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp @@ -448,15 +448,13 @@ void ChatPage::deleteConfigs() { QSettings settings; + + QString profilePrefix = (UserSettings::instance()->profile() == "default" ? "" : QString("profile/%1").arg(UserSettings::instance()->profile())); + settings.beginGroup(profilePrefix); settings.beginGroup("auth"); settings.remove(""); - settings.endGroup(); - settings.beginGroup("client"); - settings.remove(""); - settings.endGroup(); - settings.beginGroup("notifications"); - settings.remove(""); - settings.endGroup(); + settings.endGroup(); // auth + settings.endGroup(); // profilePrefix http::client()->shutdown(); cache::deleteData(); From 46e15218d4bdc83d27b688b5856fcd18d37ddb1c Mon Sep 17 00:00:00 2001 From: Loren Burkholder Date: Thu, 4 Feb 2021 18:41:32 -0500 Subject: [PATCH 2/4] Use UserSettings where possible --- src/Utils.cpp | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/Utils.cpp b/src/Utils.cpp index 5af5748e..1b2808b3 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -20,6 +20,7 @@ #include "Cache.h" #include "Config.h" #include "MatrixClient.h" +#include "UserSettingsPage.h" using TimelineEvent = mtx::events::collections::TimelineEvents; @@ -65,14 +66,11 @@ utils::replaceEmoji(const QString &body) QVector utf32_string = body.toUcs4(); - QSettings settings; - QString userFontFamily = settings.value("user/emoji_font_family", "emoji").toString(); - bool insideFontBlock = false; for (auto &code : utf32_string) { if (utils::codepointIsEmoji(code)) { if (!insideFontBlock) { - fmtBody += QString(""); + fmtBody += QString("font() + "\">"); insideFontBlock = true; } @@ -505,13 +503,7 @@ utils::getQuoteBody(const RelatedInfo &related) QString utils::linkColor() { - QSettings settings; - // Default to system theme if QT_QPA_PLATFORMTHEME var is set. - QString defaultTheme = - QProcessEnvironment::systemEnvironment().value("QT_QPA_PLATFORMTHEME", "").isEmpty() - ? "light" - : "system"; - const auto theme = settings.value("user/theme", defaultTheme).toString(); + const auto theme = UserSettings::instance()->theme(); if (theme == "light") { return "#0077b5"; From 777b9bf20de698bf9dabd2782c212a3b819c8e51 Mon Sep 17 00:00:00 2001 From: Loren Burkholder Date: Thu, 4 Feb 2021 18:43:33 -0500 Subject: [PATCH 3/4] Set profile to "" if it's the default for compatibility --- src/UserSettingsPage.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/UserSettingsPage.cpp b/src/UserSettingsPage.cpp index 96c07d7c..d31c8ef9 100644 --- a/src/UserSettingsPage.cpp +++ b/src/UserSettingsPage.cpp @@ -115,8 +115,8 @@ UserSettings::load(std::optional profile) cameraFrameRate_ = settings.value("user/camera_frame_rate", QString()).toString(); useStunServer_ = settings.value("user/use_stun_server", false).toBool(); - if (profile) - profile_ = *profile; + if (profile) // set to "" if it's the default to maintain compatibility + profile_ = (*profile == "default") ? "" : *profile; else profile_ = settings.value("user/currentProfile", "").toString(); From 343c9c811630b1321f3f15458c5c802d0c5094eb Mon Sep 17 00:00:00 2001 From: Loren Burkholder Date: Thu, 4 Feb 2021 19:01:48 -0500 Subject: [PATCH 4/4] Don't attempt to begin group "" --- src/ChatPage.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp index ac327b82..d8907740 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp @@ -449,12 +449,14 @@ ChatPage::deleteConfigs() { QSettings settings; - QString profilePrefix = (UserSettings::instance()->profile() == "default" ? "" : QString("profile/%1").arg(UserSettings::instance()->profile())); - settings.beginGroup(profilePrefix); + if (UserSettings::instance()->profile() != "") + { + settings.beginGroup("profile"); + settings.beginGroup(UserSettings::instance()->profile()); + } settings.beginGroup("auth"); settings.remove(""); settings.endGroup(); // auth - settings.endGroup(); // profilePrefix http::client()->shutdown(); cache::deleteData();