From e932c37528ca431d34a1e76d18c570033b226f13 Mon Sep 17 00:00:00 2001 From: Fadi SHEHADEH <fadi.shehadeh@savoirfairelinux.com> Date: Fri, 17 Feb 2023 13:33:45 -0500 Subject: [PATCH] settingsview: updated lineEdits - replaced line edits with ModalTextEdit components Change-Id: I0e386b443d6d46dcc412e36a6956add595337b58 --- src/app/commoncomponents/EditedPopup.qml | 2 +- src/app/commoncomponents/PasswordDialog.qml | 36 ++++++++----------- src/app/commoncomponents/ResponsiveImage.qml | 2 -- .../mainview/components/JamiIdentifier.qml | 3 ++ .../components/AccountProfile.qml | 2 ++ .../AdvancedConnectivitySettings.qml | 20 +++++------ .../AdvancedJamiSecuritySettings.qml | 4 +-- .../components/AdvancedNameServerSettings.qml | 4 +-- .../components/AdvancedOpenDHTSettings.qml | 8 ++--- .../AdvancedPublicAddressSettings.qml | 4 +-- .../AdvancedSIPSecuritySettings.qml | 8 ++--- .../components/AdvancedVoiceMailSettings.qml | 4 +-- .../components/JamiUserIdentity.qml | 1 + .../components/LinkDeviceDialog.qml | 11 ++---- .../components/RevokeDevicePasswordDialog.qml | 8 ++--- .../components/SIPUserIdentity.qml | 17 +++++---- .../components/SettingsMaterialLineEdit.qml | 31 +++++++--------- 17 files changed, 73 insertions(+), 92 deletions(-) diff --git a/src/app/commoncomponents/EditedPopup.qml b/src/app/commoncomponents/EditedPopup.qml index a6fde017a..9b5c1469b 100644 --- a/src/app/commoncomponents/EditedPopup.qml +++ b/src/app/commoncomponents/EditedPopup.qml @@ -95,4 +95,4 @@ BaseModalDialog { onClicked: close() } } -} \ No newline at end of file +} diff --git a/src/app/commoncomponents/PasswordDialog.qml b/src/app/commoncomponents/PasswordDialog.qml index b0451b584..2526b829d 100644 --- a/src/app/commoncomponents/PasswordDialog.qml +++ b/src/app/commoncomponents/PasswordDialog.qml @@ -85,15 +85,15 @@ BaseModalDialog { function validatePassword() { switch (purpose) { case PasswordDialog.ExportAccount: - btnConfirm.enabled = currentPasswordEdit.length > 0 + btnConfirm.enabled = currentPasswordEdit.dynamicText.length > 0 break case PasswordDialog.SetPassword: btnConfirm.enabled = passwordEdit.length > 0 && - passwordEdit.text === confirmPasswordEdit.text + passwordEdit.dynamicText === confirmPasswordEdit.dynamicText break default: - btnConfirm.enabled = currentPasswordEdit.length > 0 && - passwordEdit.text === confirmPasswordEdit.text + btnConfirm.enabled = currentPasswordEdit.dynamicText.length > 0 && + passwordEdit.dynamicText === confirmPasswordEdit.dynamicText } } @@ -103,7 +103,7 @@ BaseModalDialog { success = AccountAdapter.exportToFile( LRCInstance.currentAccountId, path, - currentPasswordEdit.text) + currentPasswordEdit.dynamicText) } reportStatus(success) @@ -113,8 +113,8 @@ BaseModalDialog { function savePasswordQML() { var success = AccountAdapter.savePassword( LRCInstance.currentAccountId, - currentPasswordEdit.text, - passwordEdit.text) + currentPasswordEdit.dynamicText, + passwordEdit.dynamicText) reportStatus(success) close() } @@ -136,7 +136,7 @@ BaseModalDialog { } } - MaterialLineEdit { + PasswordTextEdit { id: currentPasswordEdit Layout.alignment: Qt.AlignHCenter @@ -145,15 +145,13 @@ BaseModalDialog { visible: purpose === PasswordDialog.ChangePassword || purpose === PasswordDialog.ExportAccount - echoMode: TextInput.Password placeholderText: JamiStrings.enterCurrentPassword - onVisibleChanged: clear() + onDynamicTextChanged: popupContentColumnLayout.validatePassword() - onTextChanged: popupContentColumnLayout.validatePassword() } - MaterialLineEdit { + PasswordTextEdit { id: passwordEdit Layout.alignment: Qt.AlignHCenter @@ -162,15 +160,13 @@ BaseModalDialog { visible: purpose === PasswordDialog.ChangePassword || purpose === PasswordDialog.SetPassword - echoMode: TextInput.Password - placeholderText: JamiStrings.enterNewPassword - onVisibleChanged: clear() + placeholderText: JamiStrings.enterNewPassword - onTextChanged: popupContentColumnLayout.validatePassword() + onDynamicTextChanged: popupContentColumnLayout.validatePassword() } - MaterialLineEdit { + PasswordTextEdit { id: confirmPasswordEdit Layout.alignment: Qt.AlignHCenter @@ -179,12 +175,10 @@ BaseModalDialog { visible: purpose === PasswordDialog.ChangePassword || purpose === PasswordDialog.SetPassword - echoMode: TextInput.Password - placeholderText: JamiStrings.confirmNewPassword - onVisibleChanged: clear() + placeholderText: JamiStrings.confirmNewPassword - onTextChanged: popupContentColumnLayout.validatePassword() + onDynamicTextChanged: popupContentColumnLayout.validatePassword() } RowLayout { diff --git a/src/app/commoncomponents/ResponsiveImage.qml b/src/app/commoncomponents/ResponsiveImage.qml index 212207947..d2a1f2c55 100644 --- a/src/app/commoncomponents/ResponsiveImage.qml +++ b/src/app/commoncomponents/ResponsiveImage.qml @@ -89,6 +89,4 @@ Item { } } - - } diff --git a/src/app/mainview/components/JamiIdentifier.qml b/src/app/mainview/components/JamiIdentifier.qml index c1f329072..c622d6962 100644 --- a/src/app/mainview/components/JamiIdentifier.qml +++ b/src/app/mainview/components/JamiIdentifier.qml @@ -149,6 +149,9 @@ Item { Layout.leftMargin: JamiTheme.preferredMarginSize Layout.rightMargin: JamiTheme.preferredMarginSize fontPointSize: JamiTheme.textFontSize + 1 + staticText: hasRegisteredName ? registeredName : infohash + editMode: false + isPersistent: false onAccepted: { if (dynamicText === '') { diff --git a/src/app/settingsview/components/AccountProfile.qml b/src/app/settingsview/components/AccountProfile.qml index d96b6c771..5ad133f26 100644 --- a/src/app/settingsview/components/AccountProfile.qml +++ b/src/app/settingsview/components/AccountProfile.qml @@ -26,6 +26,8 @@ import net.jami.Constants 1.1 import "../../commoncomponents" ColumnLayout { + + spacing: 8 id: root Connections { diff --git a/src/app/settingsview/components/AdvancedConnectivitySettings.qml b/src/app/settingsview/components/AdvancedConnectivitySettings.qml index c957d8400..cdaba5fcd 100644 --- a/src/app/settingsview/components/AdvancedConnectivitySettings.qml +++ b/src/app/settingsview/components/AdvancedConnectivitySettings.qml @@ -122,12 +122,12 @@ ColumnLayout { enabled: checkBoxTurnEnable.checked - textField: CurrentAccount.server_TURN + staticText: CurrentAccount.server_TURN itemWidth: root.itemWidth titleField: JamiStrings.turnAdress - onEditFinished: CurrentAccount.server_TURN = textField + onEditFinished: CurrentAccount.server_TURN = dynamicText } SettingsMaterialLineEdit { @@ -138,12 +138,12 @@ ColumnLayout { enabled: checkBoxTurnEnable.checked - textField: CurrentAccount.username_TURN + staticText: CurrentAccount.username_TURN itemWidth: root.itemWidth titleField: JamiStrings.turnUsername - onEditFinished: CurrentAccount.username_TURN = textField + onEditFinished: CurrentAccount.username_TURN = dynamicText } SettingsMaterialLineEdit { @@ -154,12 +154,12 @@ ColumnLayout { enabled: checkBoxTurnEnable.checked - textField: CurrentAccount.password_TURN + staticText: CurrentAccount.password_TURN itemWidth: root.itemWidth titleField: JamiStrings.turnPassword - onEditFinished: CurrentAccount.password_TURN = textField + onEditFinished: CurrentAccount.password_TURN = dynamicText } SettingsMaterialLineEdit { @@ -170,12 +170,12 @@ ColumnLayout { enabled: checkBoxTurnEnable.checked - textField: CurrentAccount.realm_TURN + staticText: CurrentAccount.realm_TURN itemWidth: root.itemWidth titleField: JamiStrings.turnRealm - onEditFinished: CurrentAccount.realm_TURN = textField + onEditFinished: CurrentAccount.realm_TURN = dynamicText } ToggleSwitch { @@ -201,12 +201,12 @@ ColumnLayout { enabled: checkBoxSTUNEnable.checked visible: isSIP - textField: CurrentAccount.server_STUN + staticText: CurrentAccount.server_STUN itemWidth: root.itemWidth titleField: JamiStrings.stunAdress - onEditFinished: CurrentAccount.server_STUN = textField + onEditFinished: CurrentAccount.server_STUN = dynamicText } } } diff --git a/src/app/settingsview/components/AdvancedJamiSecuritySettings.qml b/src/app/settingsview/components/AdvancedJamiSecuritySettings.qml index e3046345a..8a417c8b2 100644 --- a/src/app/settingsview/components/AdvancedJamiSecuritySettings.qml +++ b/src/app/settingsview/components/AdvancedJamiSecuritySettings.qml @@ -131,9 +131,9 @@ ColumnLayout { itemWidth: root.itemWidth titleField: JamiStrings.privateKeyPassword - textField: CurrentAccount.password_TLS + staticText: CurrentAccount.password_TLS - onEditFinished: CurrentAccount.password_TLS = textField + onEditFinished: CurrentAccount.password_TLS = dynamicText } } } diff --git a/src/app/settingsview/components/AdvancedNameServerSettings.qml b/src/app/settingsview/components/AdvancedNameServerSettings.qml index 8d0fba558..b0a373697 100644 --- a/src/app/settingsview/components/AdvancedNameServerSettings.qml +++ b/src/app/settingsview/components/AdvancedNameServerSettings.qml @@ -55,8 +55,8 @@ ColumnLayout { itemWidth: root.itemWidth titleField: JamiStrings.address - textField: CurrentAccount.uri_RingNS + staticText: CurrentAccount.uri_RingNS - onEditFinished: CurrentAccount.uri_RingNS = textField + onEditFinished: CurrentAccount.uri_RingNS = dynamicText } } diff --git a/src/app/settingsview/components/AdvancedOpenDHTSettings.qml b/src/app/settingsview/components/AdvancedOpenDHTSettings.qml index fdc171596..c59562d4c 100644 --- a/src/app/settingsview/components/AdvancedOpenDHTSettings.qml +++ b/src/app/settingsview/components/AdvancedOpenDHTSettings.qml @@ -82,12 +82,12 @@ ColumnLayout { enabled: checkBoxEnableProxy.checked - textField: CurrentAccount.proxyServer + staticText: CurrentAccount.proxyServer itemWidth: root.itemWidth titleField: JamiStrings.proxyAddress - onEditFinished: CurrentAccount.proxyServer = textField + onEditFinished: CurrentAccount.proxyServer = dynamicText } SettingsMaterialLineEdit { @@ -96,12 +96,12 @@ ColumnLayout { Layout.fillWidth: true Layout.preferredHeight: JamiTheme.preferredFieldHeight - textField: CurrentAccount.hostname + staticText: CurrentAccount.hostname itemWidth: root.itemWidth titleField: JamiStrings.bootstrap - onEditFinished: CurrentAccount.hostname = textField + onEditFinished: CurrentAccount.hostname = dynamicText } } } diff --git a/src/app/settingsview/components/AdvancedPublicAddressSettings.qml b/src/app/settingsview/components/AdvancedPublicAddressSettings.qml index dcee4745a..54024707e 100644 --- a/src/app/settingsview/components/AdvancedPublicAddressSettings.qml +++ b/src/app/settingsview/components/AdvancedPublicAddressSettings.qml @@ -83,9 +83,9 @@ ColumnLayout { itemWidth: root.itemWidth titleField: JamiStrings.address - textField: CurrentAccount.publishedAddress + staticText: CurrentAccount.publishedAddress - onEditFinished: CurrentAccount.publishedAddress = textField + onEditFinished: CurrentAccount.publishedAddress = dynamicText } SettingSpinBox { diff --git a/src/app/settingsview/components/AdvancedSIPSecuritySettings.qml b/src/app/settingsview/components/AdvancedSIPSecuritySettings.qml index 906324753..b3ef0beb5 100644 --- a/src/app/settingsview/components/AdvancedSIPSecuritySettings.qml +++ b/src/app/settingsview/components/AdvancedSIPSecuritySettings.qml @@ -189,9 +189,9 @@ ColumnLayout { itemWidth: root.itemWidth titleField: JamiStrings.privateKeyPassword - textField: CurrentAccount.password_TLS + staticText: CurrentAccount.password_TLS - onEditFinished: CurrentAccount.password_TLS = textField + onEditFinished: CurrentAccount.password_TLS = dynamicText } ToggleSwitch { @@ -270,9 +270,9 @@ ColumnLayout { itemWidth: root.itemWidth titleField: JamiStrings.tlsServerName - textField: CurrentAccount.serverName_TLS + staticText: CurrentAccount.serverName_TLS - onEditFinished: CurrentAccount.serverName_TLS = textField + onEditFinished: CurrentAccount.serverName_TLS = dynamicText } SettingSpinBox { diff --git a/src/app/settingsview/components/AdvancedVoiceMailSettings.qml b/src/app/settingsview/components/AdvancedVoiceMailSettings.qml index 7f171ea65..941398d96 100644 --- a/src/app/settingsview/components/AdvancedVoiceMailSettings.qml +++ b/src/app/settingsview/components/AdvancedVoiceMailSettings.qml @@ -50,8 +50,8 @@ ColumnLayout { itemWidth: root.itemWidth titleField: JamiStrings.voiceMailDialCode - textField: CurrentAccount.mailbox + staticText: CurrentAccount.mailbox - onEditFinished: CurrentAccount.mailbox = textField + onEditFinished: CurrentAccount.mailbox = dynamicText } } diff --git a/src/app/settingsview/components/JamiUserIdentity.qml b/src/app/settingsview/components/JamiUserIdentity.qml index a3acde950..fcdbfd6b4 100644 --- a/src/app/settingsview/components/JamiUserIdentity.qml +++ b/src/app/settingsview/components/JamiUserIdentity.qml @@ -127,6 +127,7 @@ ColumnLayout { text: CurrentAccount.registeredName readOnly: CurrentAccount.registeredName !== "" font.bold: CurrentAccount.registeredName !== "" + loseFocusWhenEnterPressed: btnRegisterName.visible onEditingFinished: { diff --git a/src/app/settingsview/components/LinkDeviceDialog.qml b/src/app/settingsview/components/LinkDeviceDialog.qml index cae0ded44..aaf57ceee 100644 --- a/src/app/settingsview/components/LinkDeviceDialog.qml +++ b/src/app/settingsview/components/LinkDeviceDialog.qml @@ -100,7 +100,6 @@ BaseModalDialog { onVisibleChanged: { if (visible) { infoLabel.text = JamiStrings.pinTimerInfos - passwordEdit.clear() if(CurrentAccount.hasArchivePassword) { stackedWidget.currentIndex = enterPasswordPage.pageIndex @@ -133,21 +132,17 @@ BaseModalDialog { verticalAlignment: Text.AlignVCenter } - MaterialLineEdit { + PasswordTextEdit { id: passwordEdit Layout.alignment: Qt.AlignCenter Layout.preferredWidth: JamiTheme.preferredFieldWidth Layout.preferredHeight: 48 - echoMode: TextInput.Password - horizontalAlignment: Text.AlignLeft - verticalAlignment: Text.AlignVCenter - placeholderText: JamiStrings.enterCurrentPassword - onTextChanged: { - btnConfirm.enabled = text.length > 0 + onDynamicTextChanged: { + btnConfirm.enabled = dynamicText.length > 0 } onAccepted: btnConfirm.clicked() diff --git a/src/app/settingsview/components/RevokeDevicePasswordDialog.qml b/src/app/settingsview/components/RevokeDevicePasswordDialog.qml index c32f0742b..ad108cebe 100644 --- a/src/app/settingsview/components/RevokeDevicePasswordDialog.qml +++ b/src/app/settingsview/components/RevokeDevicePasswordDialog.qml @@ -58,21 +58,17 @@ BaseModalDialog { verticalAlignment: Text.AlignVCenter } - MaterialLineEdit { + PasswordTextEdit { id: passwordEdit Layout.alignment: Qt.AlignHCenter Layout.preferredWidth: JamiTheme.preferredFieldWidth Layout.preferredHeight: visible ? 48 : 0 - echoMode: TextInput.Password placeholderText: JamiStrings.enterCurrentPassword - onVisibleChanged: passwordEdit.clear() + onDynamicTextChanged: btnRemove.enabled = dynamicText.length > 0 - onTextChanged: { - btnRemove.enabled = text.length > 0 - } } RowLayout { diff --git a/src/app/settingsview/components/SIPUserIdentity.qml b/src/app/settingsview/components/SIPUserIdentity.qml index 8109f776d..ef6a155b8 100644 --- a/src/app/settingsview/components/SIPUserIdentity.qml +++ b/src/app/settingsview/components/SIPUserIdentity.qml @@ -36,12 +36,12 @@ ColumnLayout { Layout.fillWidth: true Layout.preferredHeight: JamiTheme.preferredFieldHeight - textField: CurrentAccount.username + staticText: CurrentAccount.username titleField: JamiStrings.username itemWidth: root.itemWidth - onEditFinished: CurrentAccount.username = textField + onEditFinished: CurrentAccount.username = dynamicText } SettingsMaterialLineEdit { @@ -50,12 +50,12 @@ ColumnLayout { Layout.fillWidth: true Layout.preferredHeight: JamiTheme.preferredFieldHeight - textField: CurrentAccount.hostname + staticText: CurrentAccount.hostname titleField: JamiStrings.server itemWidth: root.itemWidth - onEditFinished: CurrentAccount.hostname = textField + onEditFinished: CurrentAccount.hostname = dynamicText } SettingsMaterialLineEdit { @@ -64,18 +64,18 @@ ColumnLayout { Layout.fillWidth: true Layout.preferredHeight: JamiTheme.preferredFieldHeight - textField: CurrentAccount.routeset + staticText: CurrentAccount.routeset titleField: JamiStrings.proxy itemWidth: root.itemWidth - onEditFinished: CurrentAccount.routeset = textField + onEditFinished: CurrentAccount.routeset = dynamicText } SettingsMaterialLineEdit { id: passSIPlineEdit - textField: CurrentAccount.password + staticText: CurrentAccount.password Layout.fillWidth: true Layout.preferredHeight: JamiTheme.preferredFieldHeight @@ -83,8 +83,7 @@ ColumnLayout { titleField: JamiStrings.password itemWidth: root.itemWidth - echoMode: TextInput.Password - onEditFinished: CurrentAccount.password = textField + onEditFinished: CurrentAccount.password = dynamicText } } diff --git a/src/app/settingsview/components/SettingsMaterialLineEdit.qml b/src/app/settingsview/components/SettingsMaterialLineEdit.qml index b00c5fd39..4f767fb92 100644 --- a/src/app/settingsview/components/SettingsMaterialLineEdit.qml +++ b/src/app/settingsview/components/SettingsMaterialLineEdit.qml @@ -29,12 +29,12 @@ RowLayout { id: root property alias titleField: title.text - property alias textField: materialLineEdit.text - property alias enabled: materialLineEdit.enabled + property alias staticText: modalTextEdit.staticText + property alias placeholderText: modalTextEdit.placeholderText + property alias enabled: modalTextEdit.enabled + property alias dynamicText: modalTextEdit.dynamicText property int itemWidth - property int wrapMode: Text.NoWrap - property int echoMode: TextInput.Normal signal editFinished @@ -54,24 +54,17 @@ RowLayout { elide: Text.ElideRight } - MaterialLineEdit { - id: materialLineEdit - + ModalTextEdit { + id: modalTextEdit Layout.alignment: Qt.AlignCenter Layout.preferredWidth: itemWidth - Layout.preferredHeight: root.height - - font.pointSize: JamiTheme.settingsFontSize - font.kerning: true - - padding: 8 - horizontalAlignment: Text.AlignLeft - verticalAlignment: Text.AlignVCenter + Layout.maximumHeight: 40 + staticText: staticText + placeholderText: "" - loseFocusWhenEnterPressed: true - wrapMode: root.wrapMode - echoMode: root.echoMode + onAccepted: { + editFinished() + } - onEditingFinished: editFinished() } } -- GitLab