From 8716154b5831a9f4aa16cca8b5bbe3229bf268c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Thu, 2 Mar 2023 10:26:43 -0500
Subject: [PATCH] profile: minor fixes

+ ModalTextEdit should not change its editMode if isPersistent,
else some editions can be missed.
+ Do not emit profileChanged when the client changes only the
alias, as it's updated by the account's config.

Change-Id: I3381b7494366fcd2d6a8504f0dcf18b622dc1701
---
 src/app/commoncomponents/ModalTextEdit.qml |  2 +-
 src/libclient/accountmodel.cpp             | 15 +++++++--------
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/src/app/commoncomponents/ModalTextEdit.qml b/src/app/commoncomponents/ModalTextEdit.qml
index 7c0fe051b..33bbb24a3 100644
--- a/src/app/commoncomponents/ModalTextEdit.qml
+++ b/src/app/commoncomponents/ModalTextEdit.qml
@@ -99,7 +99,7 @@ Loader {
             inputIsValid: root.inputIsValid
             onFocusChanged: {
                 if (!focus && root.editMode) {
-                    root.editMode = false
+                    root.editMode = isPersistent
                     root.accepted()
                 }
                 activeChanged(root.editMode)
diff --git a/src/libclient/accountmodel.cpp b/src/libclient/accountmodel.cpp
index 48a825dfd..1dd57e88c 100644
--- a/src/libclient/accountmodel.cpp
+++ b/src/libclient/accountmodel.cpp
@@ -270,11 +270,12 @@ AccountModel::setAccountConfig(const QString& accountId,
             finalCred.append(credMap);
         }
 
-        VectorMapStringString oldCredentials = ConfigurationManager::instance().getCredentials(accountId);
-        if (oldCredentials.empty() || finalCred.empty() ||
-            oldCredentials[0][ConfProperties::PASSWORD] != finalCred[0][ConfProperties::PASSWORD] ||
-            oldCredentials[0][ConfProperties::REALM] != finalCred[0][ConfProperties::REALM] ||
-            oldCredentials[0][ConfProperties::USERNAME] != finalCred[0][ConfProperties::USERNAME])
+        VectorMapStringString oldCredentials = ConfigurationManager::instance().getCredentials(
+            accountId);
+        if (oldCredentials.empty() || finalCred.empty()
+            || oldCredentials[0][ConfProperties::PASSWORD] != finalCred[0][ConfProperties::PASSWORD]
+            || oldCredentials[0][ConfProperties::REALM] != finalCred[0][ConfProperties::REALM]
+            || oldCredentials[0][ConfProperties::USERNAME] != finalCred[0][ConfProperties::USERNAME])
             ConfigurationManager::instance().setCredentials(accountId, finalCred);
         details[ConfProperties::USERNAME] = confProperties.username;
         accountInfo.confProperties.credentials.swap(credentialsVec);
@@ -297,8 +298,6 @@ AccountModel::setAlias(const QString& accountId, const QString& alias)
     accountInfo.profileInfo.alias = alias;
 
     authority::storage::createOrUpdateProfile(accountInfo.id, accountInfo.profileInfo);
-
-    Q_EMIT profileUpdated(accountId);
 }
 
 void
@@ -823,7 +822,7 @@ account::Info::fromDetails(const MapStringString& details)
     profileInfo.alias = details[ConfProperties::DISPLAYNAME];
     enabled = toBool(details[ConfProperties::ENABLED]);
     status = lrc::api::account::to_status(
-                volatileDetails[libjami::Account::ConfProperties::Registration::STATUS]);
+        volatileDetails[libjami::Account::ConfProperties::Registration::STATUS]);
     confProperties.mailbox = details[ConfProperties::MAILBOX];
     confProperties.dtmfType = details[ConfProperties::DTMF_TYPE];
     confProperties.autoAnswer = toBool(details[ConfProperties::AUTOANSWER]);
-- 
GitLab