From 5a70c7e7e8eaecf967555f01712ffcda2759a2d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Thu, 8 Jun 2023 10:22:27 -0400 Subject: [PATCH] misc: fix some overlap issues + Fix the password entry for linking a new device with password + Fix the linked devices page with a lot of devices + Fix the add default moderators popup Change-Id: I1bac4bd8f55dd91825278399fe39f3503e153edb GitLab: #886 --- src/app/commoncomponents/BaseModalDialog.qml | 2 +- src/app/mainview/components/ContactPicker.qml | 119 ++++++------------ src/app/mainview/js/contactpickercreation.js | 2 +- .../components/LinkDeviceDialog.qml | 15 ++- .../components/LinkedDevicesPage.qml | 3 +- 5 files changed, 50 insertions(+), 91 deletions(-) diff --git a/src/app/commoncomponents/BaseModalDialog.qml b/src/app/commoncomponents/BaseModalDialog.qml index 181ac7e4e..0fdc3ff71 100644 --- a/src/app/commoncomponents/BaseModalDialog.qml +++ b/src/app/commoncomponents/BaseModalDialog.qml @@ -67,7 +67,7 @@ Popup { Layout.preferredHeight: text.length === 0 ? 0 : contentHeight - font.pointSize: 12 + font.pointSize: JamiTheme.menuFontSize color: JamiTheme.textColor } diff --git a/src/app/mainview/components/ContactPicker.qml b/src/app/mainview/components/ContactPicker.qml index cddfd72ad..ca0f8d812 100644 --- a/src/app/mainview/components/ContactPicker.qml +++ b/src/app/mainview/components/ContactPicker.qml @@ -23,113 +23,66 @@ import net.jami.Models 1.1 import net.jami.Constants 1.1 import "../../commoncomponents" -Popup { +BaseModalDialog { id: contactPickerPopup property int type: ContactList.CONFERENCE - contentWidth: 250 - contentHeight: contactPickerPopupRectColumnLayout.height + 50 + width: Math.min(appWindow.width - 2 * JamiTheme.preferredMarginSize, JamiTheme.preferredDialogWidth) + height: Math.min(appWindow.height - 2 * JamiTheme.preferredMarginSize, JamiTheme.preferredDialogHeight) padding: 0 - modal: true - - contentItem: Rectangle { - id: contactPickerPopupRect - width: 250 - - PushButton { - id: closeButton - - anchors.top: contactPickerPopupRect.top - anchors.topMargin: 5 - anchors.right: contactPickerPopupRect.right - anchors.rightMargin: 5 - imageColor: JamiTheme.textColor - - source: JamiResources.round_close_24dp_svg - - onClicked: { - contactPickerPopup.close(); - } + title: { + switch (type) { + case ContactList.CONFERENCE: + return JamiStrings.addToConference; + case ContactList.ADDCONVMEMBER: + return JamiStrings.addToConversation; + case ContactList.TRANSFER: + return JamiStrings.transferThisCall; + default: + return JamiStrings.addDefaultModerator; } + } - ColumnLayout { - id: contactPickerPopupRectColumnLayout - - anchors.top: contactPickerPopupRect.top - anchors.topMargin: 15 - - Text { - id: contactPickerTitle - - Layout.alignment: Qt.AlignCenter - Layout.preferredWidth: contactPickerPopupRect.width - Layout.preferredHeight: 30 - - font.pointSize: JamiTheme.textFontSize - font.bold: true - color: JamiTheme.textColor - - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - - text: { - switch (type) { - case ContactList.CONFERENCE: - return JamiStrings.addToConference; - case ContactList.ADDCONVMEMBER: - return JamiStrings.addToConversation; - case ContactList.TRANSFER: - return JamiStrings.transferThisCall; - default: - return JamiStrings.addDefaultModerator; - } - } - } + popupContent: ColumnLayout { + id: contactPickerPopupRectColumnLayout - Searchbar { - id: contactPickerContactSearchBar + Searchbar { + id: contactPickerContactSearchBar - Layout.alignment: Qt.AlignCenter - Layout.margins: 5 - Layout.fillWidth: true - Layout.preferredHeight: 35 + Layout.alignment: Qt.AlignCenter + Layout.margins: 5 + Layout.fillWidth: true + Layout.preferredHeight: 35 - placeHolderText: type === ContactList.TRANSFER ? JamiStrings.transferTo : JamiStrings.addParticipant + placeHolderText: type === ContactList.TRANSFER ? JamiStrings.transferTo : JamiStrings.addParticipant - onSearchBarTextChanged: function(text){ - ContactAdapter.setSearchFilter(text); - } + onSearchBarTextChanged: function(text){ + ContactAdapter.setSearchFilter(text); } + } - JamiListView { - id: contactPickerListView + JamiListView { + id: contactPickerListView - Layout.alignment: Qt.AlignCenter - Layout.preferredWidth: contactPickerPopupRect.width - Layout.preferredHeight: 200 + Layout.alignment: Qt.AlignCenter + Layout.fillWidth: true + Layout.preferredHeight: 180 + Layout.bottomMargin: JamiTheme.preferredMarginSize - model: ContactAdapter.getContactSelectableModel(type) + model: ContactAdapter.getContactSelectableModel(type) - delegate: ContactPickerItemDelegate { - id: contactPickerItemDelegate + delegate: ContactPickerItemDelegate { + id: contactPickerItemDelegate - showPresenceIndicator: type !== ContactList.TRANSFER - } + showPresenceIndicator: type !== ContactList.TRANSFER } } - - radius: 10 - color: JamiTheme.backgroundColor } onAboutToShow: { contactPickerListView.model = ContactAdapter.getContactSelectableModel(type); } - - background: Rectangle { - color: "transparent" - } } diff --git a/src/app/mainview/js/contactpickercreation.js b/src/app/mainview/js/contactpickercreation.js index a87cf6877..cd5c94449 100644 --- a/src/app/mainview/js/contactpickercreation.js +++ b/src/app/mainview/js/contactpickercreation.js @@ -20,7 +20,7 @@ function presentContactPickerPopup(type, parent) { var comp = Qt.createComponent( "../components/ContactPicker.qml") if (comp.status === Component.Ready) { - var obj = comp.createObject(parent, { type: type }) + var obj = comp.createObject(parent, { type: type, parent: parent }) if (obj === null) { console.log("Error creating object for contact picker") } else { diff --git a/src/app/settingsview/components/LinkDeviceDialog.qml b/src/app/settingsview/components/LinkDeviceDialog.qml index 58d2b33e4..21b7c43ba 100644 --- a/src/app/settingsview/components/LinkDeviceDialog.qml +++ b/src/app/settingsview/components/LinkDeviceDialog.qml @@ -127,16 +127,21 @@ BaseModalDialog { PasswordTextEdit { id: passwordEdit - Layout.alignment: Qt.AlignCenter - Layout.preferredWidth: JamiTheme.preferredFieldWidth - Layout.preferredHeight: 48 + firstEntry: true + placeholderText: JamiStrings.password + + Layout.topMargin: 10 + Layout.leftMargin: JamiTheme.cornerIconSize + Layout.rightMargin: JamiTheme.cornerIconSize + Layout.alignment: Qt.AlignLeft + Layout.fillWidth: true - placeholderText: JamiStrings.enterCurrentPassword + KeyNavigation.up: btnConfirm + KeyNavigation.down: KeyNavigation.up onDynamicTextChanged: { btnConfirm.enabled = dynamicText.length > 0; } - onAccepted: btnConfirm.clicked() } diff --git a/src/app/settingsview/components/LinkedDevicesPage.qml b/src/app/settingsview/components/LinkedDevicesPage.qml index 489ea2800..a9c187a8c 100644 --- a/src/app/settingsview/components/LinkedDevicesPage.qml +++ b/src/app/settingsview/components/LinkedDevicesPage.qml @@ -68,6 +68,7 @@ SettingsPageBase { Layout.preferredWidth: parent.width Layout.alignment: Qt.AlignHCenter title: JamiStrings.linkedThisDevice + clip: true } LinkedDevicesBase { @@ -78,6 +79,7 @@ SettingsPageBase { Layout.alignment: Qt.AlignHCenter inverted: true isCurrent: false + clip: true title: JamiStrings.linkedOtherDevices } } @@ -92,7 +94,6 @@ SettingsPageBase { text: JamiStrings.linkedAccountDescription color: JamiTheme.textColor horizontalAlignment: Text.AlignLeft - verticalAlignment: Text.AlignVCenter wrapMode: Text.WordWrap font.pixelSize: JamiTheme.settingsDescriptionPixelSize -- GitLab