From 79b19aec01dfc6230548ab214987ec1c73d50195 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Thu, 22 Feb 2024 14:04:45 -0500 Subject: [PATCH] conversation: use account config for send typing indicator git.jami.net/savoirfairelinux/jami-daemon/-/issues/951 Change-Id: I0d952d6916ad5c4a8c51cbb80998f46665af9141 --- daemon | 2 +- src/app/appsettingsmanager.h | 1 - src/app/currentaccount.cpp | 1 + src/app/currentaccount.h | 1 + src/app/messagesadapter.cpp | 4 +--- .../components/AdvancedChatSettings.qml | 13 +++++++++++++ .../settingsview/components/ChatSettingsPage.qml | 15 --------------- src/libclient/accountmodel.cpp | 2 ++ src/libclient/api/account.h | 1 + 9 files changed, 20 insertions(+), 20 deletions(-) diff --git a/daemon b/daemon index 80142ae63..fab9009a1 160000 --- a/daemon +++ b/daemon @@ -1 +1 @@ -Subproject commit 80142ae63d4639f38f3ab491bde47e886d9c0ea8 +Subproject commit fab9009a1c3b95430723ab3ddd93037943195ec9 diff --git a/src/app/appsettingsmanager.h b/src/app/appsettingsmanager.h index 011617579..bbdfa5cd8 100644 --- a/src/app/appsettingsmanager.h +++ b/src/app/appsettingsmanager.h @@ -47,7 +47,6 @@ extern const QString defaultDownloadPath; X(DownloadPath, defaultDownloadPath) \ X(ScreenshotPath, {}) \ X(EnableNotifications, true) \ - X(EnableTypingIndicator, true) \ X(EnableReadReceipt, true) \ X(AcceptTransferBelow, 20) \ X(AutoAcceptFiles, true) \ diff --git a/src/app/currentaccount.cpp b/src/app/currentaccount.cpp index 45e8a77cf..0c74309ea 100644 --- a/src/app/currentaccount.cpp +++ b/src/app/currentaccount.cpp @@ -144,6 +144,7 @@ CurrentAccount::updateData() set_deviceId(accConfig.deviceId); set_peerDiscovery(accConfig.peerDiscovery, true); set_sendReadReceipt(accConfig.sendReadReceipt, true); + set_sendComposing(accConfig.sendComposing, true); set_isRendezVous(accConfig.isRendezVous, true); set_dhtPort(accConfig.dhtPort, true); set_autoAnswer(accConfig.autoAnswer, true); diff --git a/src/app/currentaccount.h b/src/app/currentaccount.h index 32ffdfb84..0d31cac0d 100644 --- a/src/app/currentaccount.h +++ b/src/app/currentaccount.h @@ -119,6 +119,7 @@ class CurrentAccount final : public QObject QML_ACCOUNT_CONFIG_SETTINGS_PROPERTY(int, dhtPort) QML_ACCOUNT_CONFIG_SETTINGS_PROPERTY(bool, peerDiscovery) QML_ACCOUNT_CONFIG_SETTINGS_PROPERTY(bool, sendReadReceipt) + QML_ACCOUNT_CONFIG_SETTINGS_PROPERTY(bool, sendComposing) QML_ACCOUNT_CONFIG_SETTINGS_PROPERTY(bool, isRendezVous) QML_ACCOUNT_CONFIG_SETTINGS_PROPERTY(bool, autoAnswer) QML_ACCOUNT_CONFIG_SETTINGS_PROPERTY(bool, proxyEnabled) diff --git a/src/app/messagesadapter.cpp b/src/app/messagesadapter.cpp index 066e35fa7..a735c02c5 100644 --- a/src/app/messagesadapter.cpp +++ b/src/app/messagesadapter.cpp @@ -391,10 +391,8 @@ MessagesAdapter::dataForInteraction(const QString& interactionId, int role) cons void MessagesAdapter::userIsComposing(bool isComposing) { - if (!settingsManager_->getValue(Settings::Key::EnableTypingIndicator).toBool() - || lrcInstance_->get_selectedConvUid().isEmpty()) { + if (lrcInstance_->get_selectedConvUid().isEmpty()) return; - } lrcInstance_->getCurrentConversationModel()->setIsComposing(lrcInstance_->get_selectedConvUid(), isComposing); } diff --git a/src/app/settingsview/components/AdvancedChatSettings.qml b/src/app/settingsview/components/AdvancedChatSettings.qml index 7dfa403b5..367c8c971 100644 --- a/src/app/settingsview/components/AdvancedChatSettings.qml +++ b/src/app/settingsview/components/AdvancedChatSettings.qml @@ -53,4 +53,17 @@ ColumnLayout { onSwitchToggled: CurrentAccount.sendReadReceipt = checked } + + ToggleSwitch { + id: enableTypingIndicatorCheckbox + + Layout.fillWidth: true + + checked: CurrentAccount.sendComposing + labelText: JamiStrings.enableTypingIndicator + descText: JamiStrings.enableTypingIndicatorDescription + tooltipText: JamiStrings.enableTypingIndicator + + onSwitchToggled: CurrentAccount.sendComposing = checked + } } diff --git a/src/app/settingsview/components/ChatSettingsPage.qml b/src/app/settingsview/components/ChatSettingsPage.qml index 08a53252f..7b46e1a5e 100644 --- a/src/app/settingsview/components/ChatSettingsPage.qml +++ b/src/app/settingsview/components/ChatSettingsPage.qml @@ -65,19 +65,6 @@ SettingsPageBase { font.kerning: true } - ToggleSwitch { - id: enableTypingIndicatorCheckbox - - Layout.fillWidth: true - - checked: UtilsAdapter.getAppValue(Settings.EnableTypingIndicator) - labelText: JamiStrings.enableTypingIndicator - descText: JamiStrings.enableTypingIndicatorDescription - tooltipText: JamiStrings.enableTypingIndicator - - onSwitchToggled: UtilsAdapter.setAppValue(Settings.Key.EnableTypingIndicator, checked) - } - ToggleSwitch { id: displayImagesCheckbox visible: WITH_WEBENGINE @@ -258,10 +245,8 @@ SettingsPageBase { acceptTransferBelowSpinBox.valueField = UtilsAdapter.getDefault(Settings.Key.AcceptTransferBelow); UtilsAdapter.setToDefault(Settings.Key.AutoAcceptFiles); UtilsAdapter.setToDefault(Settings.Key.AcceptTransferBelow); - UtilsAdapter.setToDefault(Settings.Key.EnableTypingIndicator); UtilsAdapter.setToDefault(Settings.Key.ChatViewEnterIsNewLine); UtilsAdapter.setToDefault(Settings.Key.DisplayHyperlinkPreviews); - enableTypingIndicatorCheckbox.checked = UtilsAdapter.getAppValue(Settings.EnableTypingIndicator); displayImagesCheckbox.checked = UtilsAdapter.getAppValue(Settings.DisplayHyperlinkPreviews); if (UtilsAdapter.getAppValue(Settings.Key.ChatViewEnterIsNewLine)) enterButton.checked = true; diff --git a/src/libclient/accountmodel.cpp b/src/libclient/accountmodel.cpp index fc516ad2c..d81951c3a 100644 --- a/src/libclient/accountmodel.cpp +++ b/src/libclient/accountmodel.cpp @@ -819,6 +819,7 @@ account::Info::fromDetails(const MapStringString& details) confProperties.dtmfType = details[ConfProperties::DTMF_TYPE]; confProperties.autoAnswer = toBool(details[ConfProperties::AUTOANSWER]); confProperties.sendReadReceipt = toBool(details[ConfProperties::SENDREADRECEIPT]); + confProperties.sendComposing = toBool(details[ConfProperties::SENDCOMPOSING]); confProperties.isRendezVous = toBool(details[ConfProperties::ISRENDEZVOUS]); confProperties.activeCallLimit = toInt(details[ConfProperties::ACTIVE_CALL_LIMIT]); confProperties.hostname = details[ConfProperties::HOSTNAME]; @@ -934,6 +935,7 @@ account::ConfProperties_t::toDetails() const details[ConfProperties::DTMF_TYPE] = this->dtmfType; details[ConfProperties::AUTOANSWER] = toQString(this->autoAnswer); details[ConfProperties::SENDREADRECEIPT] = toQString(this->sendReadReceipt); + details[ConfProperties::SENDCOMPOSING] = toQString(this->sendComposing); details[ConfProperties::ISRENDEZVOUS] = toQString(this->isRendezVous); details[ConfProperties::ACTIVE_CALL_LIMIT] = toQString(this->activeCallLimit); details[ConfProperties::HOSTNAME] = this->hostname; diff --git a/src/libclient/api/account.h b/src/libclient/api/account.h index 9e867da7a..4779f5152 100644 --- a/src/libclient/api/account.h +++ b/src/libclient/api/account.h @@ -81,6 +81,7 @@ struct ConfProperties_t QString dtmfType; bool autoAnswer; bool sendReadReceipt; + bool sendComposing; bool isRendezVous; int activeCallLimit; QString hostname; -- GitLab