From d4b4ccb3ce843ec671bc8efca5f73bc594384d66 Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Tue, 24 May 2022 12:29:39 +0200 Subject: [PATCH] Add version types preset for version url checker. Fix add/edit contact icons in secure chat. Add a dynamic width combobox that fit content text. --- CHANGELOG.md | 1 + linphone-app/assets/languages/da.ts | 15 ++++++++ linphone-app/assets/languages/de.ts | 15 ++++++++ linphone-app/assets/languages/en.ts | 15 ++++++++ linphone-app/assets/languages/es.ts | 15 ++++++++ linphone-app/assets/languages/fr_FR.ts | 15 ++++++++ linphone-app/assets/languages/hu.ts | 15 ++++++++ linphone-app/assets/languages/it.ts | 15 ++++++++ linphone-app/assets/languages/ja.ts | 15 ++++++++ linphone-app/assets/languages/lt.ts | 15 ++++++++ linphone-app/assets/languages/pt_BR.ts | 15 ++++++++ linphone-app/assets/languages/ru.ts | 15 ++++++++ linphone-app/assets/languages/sv.ts | 15 ++++++++ linphone-app/assets/languages/tr.ts | 26 +++++++++----- linphone-app/assets/languages/uk.ts | 15 ++++++++ linphone-app/assets/languages/zh_CN.ts | 15 ++++++++ .../src/components/settings/SettingsModel.cpp | 35 +++++++++++++++++-- .../src/components/settings/SettingsModel.hpp | 13 +++++++ linphone-app/src/utils/Constants.cpp | 3 +- linphone-app/src/utils/Constants.hpp | 3 +- .../ui/modules/Common/Form/ComboBox.qml | 5 +++ .../ui/views/App/Main/Conversation.qml | 21 ++++++++--- .../ui/views/App/Settings/SettingsUi.qml | 19 +++++++++- 23 files changed, 316 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f53b59e9e..4531c9350 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Based on LinphoneSDK 5.1.34 - Add Sanitizer build. +- Version types selection for version checker. ### Fixed - Order messages from receiving time. diff --git a/linphone-app/assets/languages/da.ts b/linphone-app/assets/languages/da.ts index 48c5aab62..972935795 100644 --- a/linphone-app/assets/languages/da.ts +++ b/linphone-app/assets/languages/da.ts @@ -2655,6 +2655,21 @@ Klik her: <a href="%1">%1</a> 'Show a minimal version of what to display in timeline.' : + + versionCheckTypeRelease + 'Release' : Keyword for an option to check the release version + + + + versionCheckTypeCustom + 'Custom' : Keyword for an option to check the custom version + + + + versionCheckTypeNightly + 'Nightly' : Keyword for an option to check the nightly version + + SettingsVideo diff --git a/linphone-app/assets/languages/de.ts b/linphone-app/assets/languages/de.ts index 72a0b511e..9d14c9cc0 100644 --- a/linphone-app/assets/languages/de.ts +++ b/linphone-app/assets/languages/de.ts @@ -2655,6 +2655,21 @@ Klicken Sie hier: <a href="%1">%1</a> 'Show a minimal version of what to display in timeline.' : + + versionCheckTypeRelease + 'Release' : Keyword for an option to check the release version + + + + versionCheckTypeCustom + 'Custom' : Keyword for an option to check the custom version + + + + versionCheckTypeNightly + 'Nightly' : Keyword for an option to check the nightly version + + SettingsVideo diff --git a/linphone-app/assets/languages/en.ts b/linphone-app/assets/languages/en.ts index f9e29b55b..0b8da396f 100644 --- a/linphone-app/assets/languages/en.ts +++ b/linphone-app/assets/languages/en.ts @@ -2678,6 +2678,21 @@ Click here: <a href="%1">%1</a> 'Show a minimal version of what to display in timeline.' : Show a minimal version of what to display in timeline. + + versionCheckTypeRelease + 'Release' : Keyword for an option to check the release version + Release + + + versionCheckTypeCustom + 'Custom' : Keyword for an option to check the custom version + Custom + + + versionCheckTypeNightly + 'Nightly' : Keyword for an option to check the nightly version + Nightly + SettingsVideo diff --git a/linphone-app/assets/languages/es.ts b/linphone-app/assets/languages/es.ts index 2c195c471..6506ef3a9 100644 --- a/linphone-app/assets/languages/es.ts +++ b/linphone-app/assets/languages/es.ts @@ -2655,6 +2655,21 @@ Haga clic aquí: <a href="%1">%1 </a> 'Show a minimal version of what to display in timeline.' : + + versionCheckTypeRelease + 'Release' : Keyword for an option to check the release version + + + + versionCheckTypeCustom + 'Custom' : Keyword for an option to check the custom version + + + + versionCheckTypeNightly + 'Nightly' : Keyword for an option to check the nightly version + + SettingsVideo diff --git a/linphone-app/assets/languages/fr_FR.ts b/linphone-app/assets/languages/fr_FR.ts index 8a075c504..249c7a447 100644 --- a/linphone-app/assets/languages/fr_FR.ts +++ b/linphone-app/assets/languages/fr_FR.ts @@ -2655,6 +2655,21 @@ Cliquez ici : <a href="%1">%1</a> 'Show a minimal version of what to display in timeline.' : Afficher une version minimaliste dans la zone de recherche des chronologies. + + versionCheckTypeRelease + 'Release' : Keyword for an option to check the release version + + + + versionCheckTypeCustom + 'Custom' : Keyword for an option to check the custom version + + + + versionCheckTypeNightly + 'Nightly' : Keyword for an option to check the nightly version + + SettingsVideo diff --git a/linphone-app/assets/languages/hu.ts b/linphone-app/assets/languages/hu.ts index d2f833383..0007a8e9b 100644 --- a/linphone-app/assets/languages/hu.ts +++ b/linphone-app/assets/languages/hu.ts @@ -2644,6 +2644,21 @@ Kattintson ide: <a href="%1">%1</a> 'Show a minimal version of what to display in timeline.' : + + versionCheckTypeRelease + 'Release' : Keyword for an option to check the release version + + + + versionCheckTypeCustom + 'Custom' : Keyword for an option to check the custom version + + + + versionCheckTypeNightly + 'Nightly' : Keyword for an option to check the nightly version + + SettingsVideo diff --git a/linphone-app/assets/languages/it.ts b/linphone-app/assets/languages/it.ts index b5c57b01e..214ada9ec 100644 --- a/linphone-app/assets/languages/it.ts +++ b/linphone-app/assets/languages/it.ts @@ -2655,6 +2655,21 @@ Clicca: <a href="%1">%1</a> 'Show a minimal version of what to display in timeline.' : + + versionCheckTypeRelease + 'Release' : Keyword for an option to check the release version + + + + versionCheckTypeCustom + 'Custom' : Keyword for an option to check the custom version + + + + versionCheckTypeNightly + 'Nightly' : Keyword for an option to check the nightly version + + SettingsVideo diff --git a/linphone-app/assets/languages/ja.ts b/linphone-app/assets/languages/ja.ts index 07c8d13bf..1bf530b3e 100644 --- a/linphone-app/assets/languages/ja.ts +++ b/linphone-app/assets/languages/ja.ts @@ -2644,6 +2644,21 @@ 'Show a minimal version of what to display in timeline.' : + + versionCheckTypeRelease + 'Release' : Keyword for an option to check the release version + + + + versionCheckTypeCustom + 'Custom' : Keyword for an option to check the custom version + + + + versionCheckTypeNightly + 'Nightly' : Keyword for an option to check the nightly version + + SettingsVideo diff --git a/linphone-app/assets/languages/lt.ts b/linphone-app/assets/languages/lt.ts index fa6c7ef0a..08361450c 100644 --- a/linphone-app/assets/languages/lt.ts +++ b/linphone-app/assets/languages/lt.ts @@ -2666,6 +2666,21 @@ Spustelėkite čia: <a href="%1">%1</a> 'Show a minimal version of what to display in timeline.' : + + versionCheckTypeRelease + 'Release' : Keyword for an option to check the release version + + + + versionCheckTypeCustom + 'Custom' : Keyword for an option to check the custom version + + + + versionCheckTypeNightly + 'Nightly' : Keyword for an option to check the nightly version + + SettingsVideo diff --git a/linphone-app/assets/languages/pt_BR.ts b/linphone-app/assets/languages/pt_BR.ts index 164694999..4b9ce045c 100644 --- a/linphone-app/assets/languages/pt_BR.ts +++ b/linphone-app/assets/languages/pt_BR.ts @@ -2655,6 +2655,21 @@ Clique aqui: <a href="%1">%1 </a> 'Show a minimal version of what to display in timeline.' : + + versionCheckTypeRelease + 'Release' : Keyword for an option to check the release version + + + + versionCheckTypeCustom + 'Custom' : Keyword for an option to check the custom version + + + + versionCheckTypeNightly + 'Nightly' : Keyword for an option to check the nightly version + + SettingsVideo diff --git a/linphone-app/assets/languages/ru.ts b/linphone-app/assets/languages/ru.ts index 433ffd6f5..70365e7ed 100644 --- a/linphone-app/assets/languages/ru.ts +++ b/linphone-app/assets/languages/ru.ts @@ -2666,6 +2666,21 @@ 'Show a minimal version of what to display in timeline.' : + + versionCheckTypeRelease + 'Release' : Keyword for an option to check the release version + + + + versionCheckTypeCustom + 'Custom' : Keyword for an option to check the custom version + + + + versionCheckTypeNightly + 'Nightly' : Keyword for an option to check the nightly version + + SettingsVideo diff --git a/linphone-app/assets/languages/sv.ts b/linphone-app/assets/languages/sv.ts index a0c93a410..a615eec9f 100644 --- a/linphone-app/assets/languages/sv.ts +++ b/linphone-app/assets/languages/sv.ts @@ -2655,6 +2655,21 @@ Klicka här: <a href="%1">%1</a> 'Show a minimal version of what to display in timeline.' : + + versionCheckTypeRelease + 'Release' : Keyword for an option to check the release version + + + + versionCheckTypeCustom + 'Custom' : Keyword for an option to check the custom version + + + + versionCheckTypeNightly + 'Nightly' : Keyword for an option to check the nightly version + + SettingsVideo diff --git a/linphone-app/assets/languages/tr.ts b/linphone-app/assets/languages/tr.ts index 2699bee58..9c67225dd 100644 --- a/linphone-app/assets/languages/tr.ts +++ b/linphone-app/assets/languages/tr.ts @@ -475,7 +475,6 @@ Sunucu url'si yapılandırılmadı. '%1 is typing...' indicate that someone is composing in chat %1 yazıyor… - %1 yazıyor… @@ -1040,7 +1039,6 @@ Sunucu url'si yapılandırılmadı. '%1 minute' %1 dakika - %1 dakika @@ -1048,7 +1046,6 @@ Sunucu url'si yapılandırılmadı. '%1 hour' %1 saat - %1 saat @@ -1056,7 +1053,6 @@ Sunucu url'si yapılandırılmadı. '%1 day' %1 gün - %1 gün @@ -1064,7 +1060,6 @@ Sunucu url'si yapılandırılmadı. '%1 week' %1 hafta - %1 hafta @@ -1369,7 +1364,7 @@ Buraya tıklayın: <a href="%1">%1</a> newChatRoom - 'Open Conference' : Tooltip to illustrate a button + 'Start a chat room' : Tooltip to illustrate a button Konuşma odası başlat @@ -1472,7 +1467,6 @@ Buraya tıklayın: <a href="%1">%1</a> 'You need at least %1 participant.' : Tooltip to warn a user that there are not enough participants for the chat creation. En az %1 katılımcınız olmalı. - En az %1 katılımcınız olmalı. @@ -1601,7 +1595,6 @@ Buraya tıklayın: <a href="%1">%1</a> '%1 unread messages' : Little message to show on an event where unread messages begin. %1 okunmamış ileti - %1 okunmamış ileti @@ -2639,7 +2632,7 @@ Buraya tıklayın: <a href="%1">%1</a> mipmapTooltip2 'Mipmap filtering gives better visual quality when scaling down compared to smooth, but it may come at a performance cost (both when initializing the image and during rendering).' : Second line of a tooltip about Mipmap mode. - + Bu özellik, resmin ölçeklenirken veya dönüştürülürken mipmap süzgecini kullanıp kullanmayacağını barındırır. {2?} minimalTimelineFilterLabel @@ -2651,6 +2644,21 @@ Buraya tıklayın: <a href="%1">%1</a> 'Show a minimal version of what to display in timeline.' : Zaman çizelgesinde sunulacakların kısa sürümünü göster. + + versionCheckTypeRelease + 'Release' : Keyword for an option to check the release version + + + + versionCheckTypeCustom + 'Custom' : Keyword for an option to check the custom version + + + + versionCheckTypeNightly + 'Nightly' : Keyword for an option to check the nightly version + + SettingsVideo diff --git a/linphone-app/assets/languages/uk.ts b/linphone-app/assets/languages/uk.ts index 9b5035f25..1d8a8c700 100644 --- a/linphone-app/assets/languages/uk.ts +++ b/linphone-app/assets/languages/uk.ts @@ -2666,6 +2666,21 @@ 'Show a minimal version of what to display in timeline.' : + + versionCheckTypeRelease + 'Release' : Keyword for an option to check the release version + + + + versionCheckTypeCustom + 'Custom' : Keyword for an option to check the custom version + + + + versionCheckTypeNightly + 'Nightly' : Keyword for an option to check the nightly version + + SettingsVideo diff --git a/linphone-app/assets/languages/zh_CN.ts b/linphone-app/assets/languages/zh_CN.ts index a4f2dcb43..b844acd1b 100644 --- a/linphone-app/assets/languages/zh_CN.ts +++ b/linphone-app/assets/languages/zh_CN.ts @@ -2644,6 +2644,21 @@ 'Show a minimal version of what to display in timeline.' : + + versionCheckTypeRelease + 'Release' : Keyword for an option to check the release version + + + + versionCheckTypeCustom + 'Custom' : Keyword for an option to check the custom version + + + + versionCheckTypeNightly + 'Nightly' : Keyword for an option to check the nightly version + + SettingsVideo diff --git a/linphone-app/src/components/settings/SettingsModel.cpp b/linphone-app/src/components/settings/SettingsModel.cpp index 8384f8ff6..db911332a 100644 --- a/linphone-app/src/components/settings/SettingsModel.cpp +++ b/linphone-app/src/components/settings/SettingsModel.cpp @@ -1359,13 +1359,42 @@ void SettingsModel::setCheckForUpdateEnabled(bool enable){ } QString SettingsModel::getVersionCheckUrl() const{ - return Utils::coreStringToAppString(mConfig->getString("misc", "version_check_url_root", Constants::VersionCheckUrl)); + return Utils::coreStringToAppString(mConfig->getString("misc", "version_check_url_root", Constants::VersionCheckReleaseUrl)); } void SettingsModel::setVersionCheckUrl(const QString& url){ - mConfig->setString("misc", "version_check_url_root", Utils::appStringToCoreString(url)); - emit versionCheckUrlChanged(); + if( url != getVersionCheckUrl()){ + mConfig->setString("misc", "version_check_url_root", Utils::appStringToCoreString(url)); + if( url == Constants::VersionCheckReleaseUrl) + setVersionCheckType(VersionCheckType_Release); + else if( url == Constants::VersionCheckNightlyUrl) + setVersionCheckType(VersionCheckType_Nightly); + else + setVersionCheckType(VersionCheckType_Custom); + emit versionCheckUrlChanged(); + } } + +SettingsModel::VersionCheckType SettingsModel::getVersionCheckType() const{ + return (SettingsModel::VersionCheckType) mConfig->getInt(UiSection, "version_check_type", (int)VersionCheckType_Release); +} + +void SettingsModel::setVersionCheckType(const VersionCheckType& type){ + if( type != getVersionCheckType()){ + mConfig->setInt(UiSection, "version_check_type", (int)type); + switch(type){ + case VersionCheckType_Release : setVersionCheckUrl(Constants::VersionCheckReleaseUrl); break; + case VersionCheckType_Nightly : setVersionCheckUrl(Constants::VersionCheckNightlyUrl);break; + case VersionCheckType_Custom : break;// Do not override URL + } + emit versionCheckTypeChanged(); + } +} + +bool SettingsModel::haveVersionNightlyUrl()const{ + return QString(Constants::VersionCheckNightlyUrl) != ""; +} + // ----------------------------------------------------------------------------- bool SettingsModel::getShowLocalSipAccount()const{ diff --git a/linphone-app/src/components/settings/SettingsModel.hpp b/linphone-app/src/components/settings/SettingsModel.hpp index 4f1ed9c5a..9b8afc9c7 100644 --- a/linphone-app/src/components/settings/SettingsModel.hpp +++ b/linphone-app/src/components/settings/SettingsModel.hpp @@ -192,6 +192,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(VersionCheckType versionCheckType READ getVersionCheckType WRITE setVersionCheckType NOTIFY versionCheckTypeChanged) Q_PROPERTY(bool showLocalSipAccount READ getShowLocalSipAccount CONSTANT) Q_PROPERTY(bool showStartChatButton READ getShowStartChatButton CONSTANT) @@ -220,6 +221,13 @@ public: }; Q_ENUM(MediaEncryption) + enum VersionCheckType { + VersionCheckType_Release, + VersionCheckType_Nightly, + VersionCheckType_Custom + }; + Q_ENUM(VersionCheckType); + SettingsModel (QObject *parent = Q_NULLPTR); virtual ~SettingsModel (); @@ -508,6 +516,10 @@ public: QString getVersionCheckUrl() const; void setVersionCheckUrl(const QString& url); + VersionCheckType getVersionCheckType() const; + void setVersionCheckType(const VersionCheckType& type); + Q_INVOKABLE bool haveVersionNightlyUrl()const; + Q_INVOKABLE bool getShowLocalSipAccount () const; Q_INVOKABLE bool getShowStartChatButton () const; @@ -705,6 +717,7 @@ signals: void checkForUpdateEnabledChanged(); void versionCheckUrlChanged(); + void versionCheckTypeChanged(); // Advanced. ----------------------------------------------------------------- diff --git a/linphone-app/src/utils/Constants.cpp b/linphone-app/src/utils/Constants.cpp index af9462ac9..3d8364aa4 100644 --- a/linphone-app/src/utils/Constants.cpp +++ b/linphone-app/src/utils/Constants.cpp @@ -105,7 +105,8 @@ constexpr char Constants::DefaultContactParameters[]; constexpr char Constants::DefaultContactParametersOnRemove[]; constexpr int Constants::DefaultExpires; constexpr char Constants::DownloadUrl[]; -constexpr char Constants::VersionCheckUrl[]; +constexpr char Constants::VersionCheckReleaseUrl[]; +constexpr char Constants::VersionCheckNightlyUrl[]; constexpr char Constants::PasswordRecoveryUrl[]; constexpr char Constants::CguUrl[]; constexpr char Constants::PrivatePolicyUrl[]; diff --git a/linphone-app/src/utils/Constants.hpp b/linphone-app/src/utils/Constants.hpp index e57078460..58f61b7d3 100644 --- a/linphone-app/src/utils/Constants.hpp +++ b/linphone-app/src/utils/Constants.hpp @@ -55,7 +55,8 @@ 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 VersionCheckReleaseUrl[] = "https://download.linphone.org/releases"; + static constexpr char VersionCheckNightlyUrl[] = "https://download.linphone.org/snapshots"; static constexpr char PasswordRecoveryUrl[] = "https://subscribe.linphone.org/login"; static constexpr char CguUrl[] = "https://www.linphone.org/general-terms"; static constexpr char PrivatePolicyUrl[] = "https://www.linphone.org/privacy-policy"; diff --git a/linphone-app/ui/modules/Common/Form/ComboBox.qml b/linphone-app/ui/modules/Common/Form/ComboBox.qml index 18bc30dbb..7e36d772f 100644 --- a/linphone-app/ui/modules/Common/Form/ComboBox.qml +++ b/linphone-app/ui/modules/Common/Form/ComboBox.qml @@ -18,6 +18,8 @@ Controls.ComboBox { property bool haveBorder: true property bool haveMargin: true property color backgroundColor: ComboBoxStyle.background.color.normal + + property int fitWidth: contentItem.fitWidth + ComboBoxStyle.indicator.dropDown.iconSize // --------------------------------------------------------------------------- @@ -40,10 +42,12 @@ Controls.ComboBox { // --------------------------------------------------------------------------- contentItem: Item { + property int fitWidth: contentText.implicitWidth + ComboBoxStyle.contentItem.iconSize + contentLayout.anchors.leftMargin height: comboBox.height width: comboBox.width RowLayout { + id: contentLayout anchors { fill: parent leftMargin: comboBox.haveMargin ? ComboBoxStyle.contentItem.leftMargin : 0 @@ -59,6 +63,7 @@ Controls.ComboBox { } Text { + id: contentText Layout.fillWidth: true color: ComboBoxStyle.contentItem.text.color diff --git a/linphone-app/ui/views/App/Main/Conversation.qml b/linphone-app/ui/views/App/Main/Conversation.qml index 77b0c79d4..475214151 100644 --- a/linphone-app/ui/views/App/Main/Conversation.qml +++ b/linphone-app/ui/views/App/Main/Conversation.qml @@ -29,14 +29,14 @@ ColumnLayout { property ChatRoomModel chatRoomModel - property string peerAddress : chatRoomModel?chatRoomModel.getPeerAddress() : defaultPeerAddress + property string peerAddress : getPeerAddress() property string localAddress : chatRoomModel?chatRoomModel.getLocalAddress() : defaultLocalAddress - property string fullPeerAddress : chatRoomModel?chatRoomModel.getFullPeerAddress() : defaultFullPeerAddress + property string fullPeerAddress : getFullPeerAddress() property string fullLocalAddress : chatRoomModel?chatRoomModel.getFullLocalAddress() : defaultFullLocalAddress property int securityLevel : chatRoomModel ? chatRoomModel.securityLevel : 1 - readonly property var _sipAddressObserver: SipAddressesModel.getSipAddressObserver((fullPeerAddress?fullPeerAddress:peerAddress), (fullLocalAddress?fullLocalAddress:localAddress)) + property SipAddressObserver _sipAddressObserver: SipAddressesModel.getSipAddressObserver((fullPeerAddress?fullPeerAddress:peerAddress), (fullLocalAddress?fullLocalAddress:localAddress)) property bool haveMoreThanOneParticipants: chatRoomModel ? chatRoomModel.participants.count > 2 : false property bool haveLessThanMinParticipantsForCall: chatRoomModel ? chatRoomModel.participants.count <= 5 : false @@ -48,7 +48,18 @@ ColumnLayout { return chatRoomModel.sipAddress; } }else { - return conversation.fullPeerAddress || conversation.peerAddress || ''; + return defaultPeerAddress + } + } + function getFullPeerAddress() { + if(chatRoomModel) { + if(chatRoomModel.groupEnabled || chatRoomModel.isSecure()) { + return chatRoomModel.participants.addressesToString; + }else { + return chatRoomModel.sipAddress; + } + }else { + return defaultFullPeerAddress; } } @@ -312,7 +323,7 @@ ColumnLayout { visible: SettingsModel.contactsEnabled && !conversation.chatRoomModel.groupEnabled onClicked: window.setView('ContactEdit', { - sipAddress: conversation.getPeerAddress() + sipAddress: conversation.getFullPeerAddress() }) tooltipText: Logic.getEditTooltipText() } diff --git a/linphone-app/ui/views/App/Settings/SettingsUi.qml b/linphone-app/ui/views/App/Settings/SettingsUi.qml index 060f0820b..f3a2818aa 100644 --- a/linphone-app/ui/views/App/Settings/SettingsUi.qml +++ b/linphone-app/ui/views/App/Settings/SettingsUi.qml @@ -242,7 +242,7 @@ TabContainer { FormGroup { //: 'Check for updates' : Label switch for enabling check for updates label: qsTr('checkForUpdateLabel') - + maxWidth: 3*parent.width/2 RowLayout{ Switch { checked: SettingsModel.checkForUpdateEnabled @@ -255,6 +255,23 @@ TabContainer { onEditingFinished: SettingsModel.versionCheckUrl = text } + ComboBox{ + Layout.preferredWidth: fitWidth + Layout.leftMargin: 10 + //: 'Release' : Keyword for an option to check the release version + model: [qsTr('versionCheckTypeRelease'), + //: 'Nightly' : Keyword for an option to check the nightly version + qsTr('versionCheckTypeNightly'), + //: 'Custom' : Keyword for an option to check the custom version + qsTr('versionCheckTypeCustom')] + visible: SettingsModel.haveVersionNightlyUrl() + currentIndex: SettingsModel.versionCheckType == SettingsModel.VersionCheckType_Release ? 0 + : SettingsModel.versionCheckType == SettingsModel.VersionCheckType_Nightly ? 1 + : 2 + onActivated: SettingsModel.versionCheckType = ( currentIndex == 0 ? SettingsModel.VersionCheckType_Release + : currentIndex == 1 ? SettingsModel.VersionCheckType_Nightly + : SettingsModel.VersionCheckType_Custom) + } } } }