From e4af2bef7eb9a5c4f225dc6ccd4f955ad3ca41b0 Mon Sep 17 00:00:00 2001 From: Ming Rui Zhang <mingrui.zhang@savoirfairelinux.com> Date: Thu, 12 Nov 2020 13:49:53 -0500 Subject: [PATCH] settings: add auto registration after expired option Change-Id: Ib29e29f2d61d5684154c0714b5b3d656f99ddcf5 --- src/constant/JamiStrings.qml | 1 + src/settingsadapter.cpp | 14 ++++++++++++++ src/settingsadapter.h | 2 ++ .../components/AdvancedConnectivitySettings.qml | 13 +++++++++++++ 4 files changed, 30 insertions(+) diff --git a/src/constant/JamiStrings.qml b/src/constant/JamiStrings.qml index 8554b84c3..07e795ba7 100644 --- a/src/constant/JamiStrings.qml +++ b/src/constant/JamiStrings.qml @@ -92,6 +92,7 @@ Item { // AdvancedConnectivitySettings property string connectivity: qsTr("Connectivity") + property string autoRegistration: qsTr("Auto Registration After Expired") property string registrationTimeOut: qsTr("Registration expire timeout (seconds)") property string networkInterface: qsTr("Network interface") property string useUPnP: qsTr("Use UPnP") diff --git a/src/settingsadapter.cpp b/src/settingsadapter.cpp index 60957fb8b..e81c45f36 100644 --- a/src/settingsadapter.cpp +++ b/src/settingsadapter.cpp @@ -318,6 +318,12 @@ SettingsAdapter::getAccountConfig_Password() return getAccountConfig().password; } +bool +SettingsAdapter::getAccountConfig_KeepAliveEnabled() +{ + return getAccountConfig().keepAliveEnabled; +} + QString SettingsAdapter::getAccountConfig_RouteSet() { @@ -656,6 +662,14 @@ SettingsAdapter::setEnableProxy(bool state) LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } +void +SettingsAdapter::setKeepAliveEnabled(bool state) +{ + auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); + confProps.keepAliveEnabled = state; + LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); +} + void SettingsAdapter::setUseUPnP(bool state) { diff --git a/src/settingsadapter.h b/src/settingsadapter.h index d1b216d20..405b73854 100644 --- a/src/settingsadapter.h +++ b/src/settingsadapter.h @@ -108,6 +108,7 @@ public: Q_INVOKABLE QString getAccountConfig_Hostname(); Q_INVOKABLE QString getAccountConfig_Password(); + Q_INVOKABLE bool getAccountConfig_KeepAliveEnabled(); Q_INVOKABLE QString getAccountConfig_RouteSet(); Q_INVOKABLE QString getAccountConfig_ProxyServer(); Q_INVOKABLE bool getAccountConfig_ProxyEnabled(); @@ -175,6 +176,7 @@ public: Q_INVOKABLE void setAutoAnswerCalls(bool state); Q_INVOKABLE void setEnableRingtone(bool state); Q_INVOKABLE void setEnableProxy(bool state); + Q_INVOKABLE void setKeepAliveEnabled(bool state); Q_INVOKABLE void setUseUPnP(bool state); Q_INVOKABLE void setUseTURN(bool state); Q_INVOKABLE void setUseSTUN(bool state); diff --git a/src/settingsview/components/AdvancedConnectivitySettings.qml b/src/settingsview/components/AdvancedConnectivitySettings.qml index bd12ab347..1ea4164e7 100644 --- a/src/settingsview/components/AdvancedConnectivitySettings.qml +++ b/src/settingsview/components/AdvancedConnectivitySettings.qml @@ -36,6 +36,7 @@ ColumnLayout { property bool isSIP function updateConnectivityAccountInfos() { + autoRegistrationAfterExpired.checked = SettingsAdapter.getAccountConfig_KeepAliveEnabled() registrationExpireTimeoutSpinBox.setValue(SettingsAdapter.getAccountConfig_Registration_Expire()) networkInterfaceSpinBox.setValue(SettingsAdapter.getAccountConfig_Localport()) checkBoxUPnP.checked = SettingsAdapter.getAccountConfig_UpnpEnabled() @@ -64,6 +65,18 @@ ColumnLayout { Layout.fillWidth: true Layout.leftMargin: JamiTheme.preferredMarginSize + ToggleSwitch { + id: autoRegistrationAfterExpired + + Layout.fillWidth: true + + visible: isSIP + labelText: JamiStrings.autoRegistration + fontPointSize: JamiTheme.settingsFontSize + + onSwitchToggled: SettingsAdapter.setKeepAliveEnabled(checked) + } + SettingSpinBox { id: registrationExpireTimeoutSpinBox visible: isSIP -- GitLab