From 1d217faf4da887571b83fa4623b35ba135b423d9 Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Wed, 3 Nov 2021 14:17:30 +0100 Subject: [PATCH] Add a settings to change URL of version check Add an option to Form to overwrite max width of cell --- linphone-app/assets/languages/de.ts | 2 +- linphone-app/assets/languages/en.ts | 4 +- linphone-app/assets/languages/es.ts | 4 +- linphone-app/assets/languages/fr_FR.ts | 2 +- linphone-app/assets/languages/hu.ts | 2 +- linphone-app/assets/languages/it.ts | 2 +- linphone-app/assets/languages/ja.ts | 2 +- linphone-app/assets/languages/lt.ts | 2 +- linphone-app/assets/languages/pt_BR.ts | 2 +- linphone-app/assets/languages/ru.ts | 2 +- linphone-app/assets/languages/sv.ts | 2 +- linphone-app/assets/languages/tr.ts | 2 +- linphone-app/assets/languages/uk.ts | 2 +- linphone-app/assets/languages/zh_CN.ts | 2 +- linphone-app/assets/linphonerc-factory | 1 - .../src/components/settings/SettingsModel.cpp | 8 ++ .../src/components/settings/SettingsModel.hpp | 6 + linphone-app/src/utils/Constants.cpp | 1 + linphone-app/src/utils/Constants.hpp | 1 + .../Common/Form/Placements/FormGroup.qml | 8 +- .../Common/Form/Placements/FormHGroup.qml | 4 +- .../Common/Form/Placements/FormVGroup.qml | 109 +++++++++--------- .../ui/views/App/Settings/SettingsUi.qml | 32 +++-- 23 files changed, 116 insertions(+), 86 deletions(-) diff --git a/linphone-app/assets/languages/de.ts b/linphone-app/assets/languages/de.ts index 37a6cfbc9..7476a7702 100644 --- a/linphone-app/assets/languages/de.ts +++ b/linphone-app/assets/languages/de.ts @@ -2526,7 +2526,7 @@ Klicken Sie hier: <a href="%1">%1</a> 'Check for updates' : Label switch for enabling check for updates - + mipmapLabel 'Enable Mipmap' diff --git a/linphone-app/assets/languages/en.ts b/linphone-app/assets/languages/en.ts index 7ec9d766e..5b4616d2a 100644 --- a/linphone-app/assets/languages/en.ts +++ b/linphone-app/assets/languages/en.ts @@ -2548,8 +2548,8 @@ Click here: <a href="%1">%1</a> checkForUpdateLabel 'Check for updates' : Label switch for enabling check for updates Check for updates - - + + mipmapLabel 'Enable Mipmap' Enable Mipmap diff --git a/linphone-app/assets/languages/es.ts b/linphone-app/assets/languages/es.ts index 9efbd1683..980be9b5f 100644 --- a/linphone-app/assets/languages/es.ts +++ b/linphone-app/assets/languages/es.ts @@ -2524,9 +2524,9 @@ Haga clic aquí: <a href="%1">%1 </a> checkForUpdateLabel 'Check for updates' : Label switch for enabling check for updates - + - + mipmapLabel 'Enable Mipmap' diff --git a/linphone-app/assets/languages/fr_FR.ts b/linphone-app/assets/languages/fr_FR.ts index 58c22e796..d413a5232 100644 --- a/linphone-app/assets/languages/fr_FR.ts +++ b/linphone-app/assets/languages/fr_FR.ts @@ -2526,7 +2526,7 @@ Cliquez ici : <a href="%1">%1</a> 'Check for updates' : Label switch for enabling check for updates - + mipmapLabel 'Enable Mipmap' diff --git a/linphone-app/assets/languages/hu.ts b/linphone-app/assets/languages/hu.ts index a91db8c33..d8dcf38c3 100644 --- a/linphone-app/assets/languages/hu.ts +++ b/linphone-app/assets/languages/hu.ts @@ -2516,7 +2516,7 @@ Kattintson ide: <a href="%1">%1</a> 'Check for updates' : Label switch for enabling check for updates - + mipmapLabel 'Enable Mipmap' diff --git a/linphone-app/assets/languages/it.ts b/linphone-app/assets/languages/it.ts index 8d1d04c40..6b58309e2 100644 --- a/linphone-app/assets/languages/it.ts +++ b/linphone-app/assets/languages/it.ts @@ -2526,7 +2526,7 @@ Clicca: <a href="%1">%1</a> 'Check for updates' : Label switch for enabling check for updates - + mipmapLabel 'Enable Mipmap' diff --git a/linphone-app/assets/languages/ja.ts b/linphone-app/assets/languages/ja.ts index 09dcce11f..4879d776f 100644 --- a/linphone-app/assets/languages/ja.ts +++ b/linphone-app/assets/languages/ja.ts @@ -2516,7 +2516,7 @@ 'Check for updates' : Label switch for enabling check for updates - + mipmapLabel 'Enable Mipmap' diff --git a/linphone-app/assets/languages/lt.ts b/linphone-app/assets/languages/lt.ts index ea671cfd9..e0b6f91d0 100644 --- a/linphone-app/assets/languages/lt.ts +++ b/linphone-app/assets/languages/lt.ts @@ -2536,7 +2536,7 @@ Spustelėkite čia: <a href="%1">%1</a> 'Check for updates' : Label switch for enabling check for updates - + mipmapLabel 'Enable Mipmap' diff --git a/linphone-app/assets/languages/pt_BR.ts b/linphone-app/assets/languages/pt_BR.ts index 6502ed313..a6d9696d6 100644 --- a/linphone-app/assets/languages/pt_BR.ts +++ b/linphone-app/assets/languages/pt_BR.ts @@ -2526,7 +2526,7 @@ Clique aqui: <a href="%1">%1 </a> 'Check for updates' : Label switch for enabling check for updates - + mipmapLabel 'Enable Mipmap' diff --git a/linphone-app/assets/languages/ru.ts b/linphone-app/assets/languages/ru.ts index 81cfb5f1e..94cbb7e3b 100644 --- a/linphone-app/assets/languages/ru.ts +++ b/linphone-app/assets/languages/ru.ts @@ -2536,7 +2536,7 @@ 'Check for updates' : Label switch for enabling check for updates - + mipmapLabel 'Enable Mipmap' diff --git a/linphone-app/assets/languages/sv.ts b/linphone-app/assets/languages/sv.ts index 89204bf88..3a9aed662 100644 --- a/linphone-app/assets/languages/sv.ts +++ b/linphone-app/assets/languages/sv.ts @@ -2526,7 +2526,7 @@ Klicka här: <a href="%1">%1</a> 'Check for updates' : Label switch for enabling check for updates - + mipmapLabel 'Enable Mipmap' diff --git a/linphone-app/assets/languages/tr.ts b/linphone-app/assets/languages/tr.ts index 7ab01dd90..55979490d 100644 --- a/linphone-app/assets/languages/tr.ts +++ b/linphone-app/assets/languages/tr.ts @@ -2516,7 +2516,7 @@ Buraya tıklayın: <a href="%1">%1</a> 'Check for updates' : Label switch for enabling check for updates - + mipmapLabel 'Enable Mipmap' diff --git a/linphone-app/assets/languages/uk.ts b/linphone-app/assets/languages/uk.ts index 79b484091..f12ea353b 100644 --- a/linphone-app/assets/languages/uk.ts +++ b/linphone-app/assets/languages/uk.ts @@ -2536,7 +2536,7 @@ 'Check for updates' : Label switch for enabling check for updates - + mipmapLabel 'Enable Mipmap' diff --git a/linphone-app/assets/languages/zh_CN.ts b/linphone-app/assets/languages/zh_CN.ts index d3e6d8a2e..cd78ba20c 100644 --- a/linphone-app/assets/languages/zh_CN.ts +++ b/linphone-app/assets/languages/zh_CN.ts @@ -2516,7 +2516,7 @@ 'Check for updates' : Label switch for enabling check for updates - + mipmapLabel 'Enable Mipmap' diff --git a/linphone-app/assets/linphonerc-factory b/linphone-app/assets/linphonerc-factory index b62791822..96d5aea9d 100644 --- a/linphone-app/assets/linphonerc-factory +++ b/linphone-app/assets/linphonerc-factory @@ -1,5 +1,4 @@ [misc] -version_check_url_root=https://linphone.org/releases log_collection_upload_server_url=https://www.linphone.org:444/lft.php [sound] diff --git a/linphone-app/src/components/settings/SettingsModel.cpp b/linphone-app/src/components/settings/SettingsModel.cpp index 67acd305f..e880815a9 100644 --- a/linphone-app/src/components/settings/SettingsModel.cpp +++ b/linphone-app/src/components/settings/SettingsModel.cpp @@ -1268,6 +1268,14 @@ void SettingsModel::setCheckForUpdateEnabled(bool enable){ emit checkForUpdateEnabledChanged(); } +QString SettingsModel::getVersionCheckUrl() const{ + return Utils::coreStringToAppString(mConfig->getString("misc", "version_check_url_root", Constants::VersionCheckUrl)); +} + +void SettingsModel::setVersionCheckUrl(const QString& url){ + mConfig->setString("misc", "version_check_url_root", Utils::appStringToCoreString(url)); + emit versionCheckUrlChanged(); +} // ----------------------------------------------------------------------------- bool SettingsModel::getShowLocalSipAccount()const{ diff --git a/linphone-app/src/components/settings/SettingsModel.hpp b/linphone-app/src/components/settings/SettingsModel.hpp index dcad0f73f..0e226c384 100644 --- a/linphone-app/src/components/settings/SettingsModel.hpp +++ b/linphone-app/src/components/settings/SettingsModel.hpp @@ -179,6 +179,7 @@ class SettingsModel : public QObject { Q_PROPERTY(bool exitOnClose READ getExitOnClose WRITE setExitOnClose NOTIFY exitOnCloseChanged) Q_PROPERTY(bool checkForUpdateEnabled READ isCheckForUpdateEnabled WRITE setCheckForUpdateEnabled NOTIFY checkForUpdateEnabledChanged) + Q_PROPERTY(QString versionCheckUrl READ getVersionCheckUrl WRITE setVersionCheckUrl NOTIFY versionCheckUrlChanged) Q_PROPERTY(bool showLocalSipAccount READ getShowLocalSipAccount CONSTANT) Q_PROPERTY(bool showStartChatButton READ getShowStartChatButton CONSTANT) @@ -463,6 +464,10 @@ public: bool isCheckForUpdateEnabled() const; void setCheckForUpdateEnabled(bool enable); + QString getVersionCheckUrl() const; + void setVersionCheckUrl(const QString& url); + + Q_INVOKABLE bool getShowLocalSipAccount () const; Q_INVOKABLE bool getShowStartChatButton () const; Q_INVOKABLE bool getShowStartVideoCallButton () const; @@ -640,6 +645,7 @@ signals: void mipmapEnabledChanged(); void checkForUpdateEnabledChanged(); + void versionCheckUrlChanged(); // Advanced. ----------------------------------------------------------------- diff --git a/linphone-app/src/utils/Constants.cpp b/linphone-app/src/utils/Constants.cpp index 4a8491dc4..9c166fd63 100644 --- a/linphone-app/src/utils/Constants.cpp +++ b/linphone-app/src/utils/Constants.cpp @@ -98,6 +98,7 @@ constexpr char Constants::DefaultContactParameters[]; constexpr char Constants::DefaultContactParametersOnRemove[]; constexpr int Constants::DefaultExpires; constexpr char Constants::DownloadUrl[]; +constexpr char Constants::VersionCheckUrl[]; constexpr char Constants::PasswordRecoveryUrl[]; diff --git a/linphone-app/src/utils/Constants.hpp b/linphone-app/src/utils/Constants.hpp index a256bac92..939f5c5f4 100644 --- a/linphone-app/src/utils/Constants.hpp +++ b/linphone-app/src/utils/Constants.hpp @@ -55,6 +55,7 @@ public: static constexpr char DefaultContactParametersOnRemove[] = "message-expires=0"; static constexpr int DefaultExpires = 3600; static constexpr char DownloadUrl[] = "https://www.linphone.org/technical-corner/linphone"; + static constexpr char VersionCheckUrl[] = "https://linphone.org/releases"; static constexpr char PasswordRecoveryUrl[] = "https://subscribe.linphone.org/login"; static constexpr char LinphoneBZip2_exe[] = "http://www.linphone.org/releases/windows/tools/bzip2/bzip2.exe"; diff --git a/linphone-app/ui/modules/Common/Form/Placements/FormGroup.qml b/linphone-app/ui/modules/Common/Form/Placements/FormGroup.qml index 169fa590c..cdc303347 100644 --- a/linphone-app/ui/modules/Common/Form/Placements/FormGroup.qml +++ b/linphone-app/ui/modules/Common/Form/Placements/FormGroup.qml @@ -1,5 +1,6 @@ import QtQuick 2.7 +import Common.Styles 1.0 // ============================================================================= Loader { @@ -11,7 +12,8 @@ Loader { readonly property int orientation: parent.orientation default property var _content: null - + property int maxWidth: orientation === Qt.Horizontal ? FormHGroupStyle.content.maxWidth : FormVGroupStyle.content.maxWidth + // --------------------------------------------------------------------------- sourceComponent: orientation === Qt.Horizontal ? hGroup : vGroup @@ -21,19 +23,19 @@ Loader { Component { id: hGroup - FormHGroup { _content: loader._content label: loader.label + maxWidth: loader.maxWidth } } Component { id: vGroup - FormVGroup { _content: loader._content label: loader.label + maxWidth: loader.maxWidth } } } diff --git a/linphone-app/ui/modules/Common/Form/Placements/FormHGroup.qml b/linphone-app/ui/modules/Common/Form/Placements/FormHGroup.qml index f325aa428..8249e2839 100644 --- a/linphone-app/ui/modules/Common/Form/Placements/FormHGroup.qml +++ b/linphone-app/ui/modules/Common/Form/Placements/FormHGroup.qml @@ -10,7 +10,7 @@ RowLayout { property alias label: label.text default property var _content: null - + property int maxWidth: FormHGroupStyle.content.maxWidth // --------------------------------------------------------------------------- spacing: FormHGroupStyle.spacing @@ -63,7 +63,7 @@ RowLayout { Component.onCompleted: _content.width = Qt.binding(function () { var contentWidth = content.width - var wishedWidth = FormHGroupStyle.content.maxWidth + var wishedWidth = parent.parent.parent.maxWidth return contentWidth > wishedWidth ? wishedWidth : contentWidth }) } diff --git a/linphone-app/ui/modules/Common/Form/Placements/FormVGroup.qml b/linphone-app/ui/modules/Common/Form/Placements/FormVGroup.qml index c31c96721..a36861014 100644 --- a/linphone-app/ui/modules/Common/Form/Placements/FormVGroup.qml +++ b/linphone-app/ui/modules/Common/Form/Placements/FormVGroup.qml @@ -7,58 +7,59 @@ import Common.Styles 1.0 // ============================================================================= ColumnLayout { - property alias label: label.text - - default property var _content: null - - // --------------------------------------------------------------------------- - - spacing: FormVGroupStyle.spacing - width: parent.maxItemWidth - - // --------------------------------------------------------------------------- - - Text { - id: label - - Layout.fillWidth: true - - color: FormVGroupStyle.legend.color - elide: Text.ElideRight - font.pointSize: FormVGroupStyle.legend.pointSize - verticalAlignment: Text.AlignVCenter - - TooltipArea { - delay: 0 - text: parent.text - visible: parent.truncated - } - } - - // --------------------------------------------------------------------------- - - Item { - readonly property int currentHeight: _content ? _content.height : 0 - - Layout.fillWidth: true - Layout.preferredHeight: currentHeight - - Loader { - active: !!_content - anchors.fill: parent - - sourceComponent: Item { - id: content - - data: [ _content ] - width: parent.width - - Component.onCompleted: _content.width = Qt.binding(function () { - var contentWidth = content.width - var wishedWidth = FormVGroupStyle.content.maxWidth - return contentWidth > wishedWidth ? wishedWidth : contentWidth - }) - } - } - } + property alias label: label.text + + default property var _content: null + property int maxWidth: FormVGroupStyle.content.maxWidth + + // --------------------------------------------------------------------------- + + spacing: FormVGroupStyle.spacing + width: parent.maxItemWidth + + // --------------------------------------------------------------------------- + + Text { + id: label + + Layout.fillWidth: true + + color: FormVGroupStyle.legend.color + elide: Text.ElideRight + font.pointSize: FormVGroupStyle.legend.pointSize + verticalAlignment: Text.AlignVCenter + + TooltipArea { + delay: 0 + text: parent.text + visible: parent.truncated + } + } + + // --------------------------------------------------------------------------- + + Item { + readonly property int currentHeight: _content ? _content.height : 0 + + Layout.fillWidth: true + Layout.preferredHeight: currentHeight + + Loader { + active: !!_content + anchors.fill: parent + + sourceComponent: Item { + id: content + + data: [ _content ] + width: parent.width + + Component.onCompleted: _content.width = Qt.binding(function () { + var contentWidth = content.width + var wishedWidth = parent.parent.parent.maxWidth + return contentWidth > wishedWidth ? wishedWidth : contentWidth + }) + } + } + } } diff --git a/linphone-app/ui/views/App/Settings/SettingsUi.qml b/linphone-app/ui/views/App/Settings/SettingsUi.qml index 651d25ab9..309d0aa00 100644 --- a/linphone-app/ui/views/App/Settings/SettingsUi.qml +++ b/linphone-app/ui/views/App/Settings/SettingsUi.qml @@ -204,16 +204,6 @@ TabContainer { onClicked: App.autoStart = !checked } } - FormGroup { - //: 'Check for updates' : Label switch for enabling check for updates - label: qsTr('checkForUpdateLabel') - - Switch { - checked: SettingsModel.checkForUpdateEnabled - - onClicked: SettingsModel.checkForUpdateEnabled = !checked - } - } } FormLine { FormGroup { @@ -233,6 +223,28 @@ TabContainer { } } } + FormLine { + FormGroup { + //: 'Check for updates' : Label switch for enabling check for updates + label: qsTr('checkForUpdateLabel') + maxWidth: 150 + width: 150 + Switch { + checked: SettingsModel.checkForUpdateEnabled + + onClicked: SettingsModel.checkForUpdateEnabled = !checked + } + } + FormGroup { + maxWidth: parent.width - 200 + width: parent.width - 200 + TextField { + text: SettingsModel.versionCheckUrl + + onEditingFinished: SettingsModel.versionCheckUrl = text + } + } + } } } }