From 9aa1a1073e04092881ec68aaa21949d742bc01f8 Mon Sep 17 00:00:00 2001 From: MishkaRogachev Date: Wed, 20 Jul 2022 17:54:30 +0300 Subject: [PATCH] fix(@desktop): Fix scrolling in chat components, wallet fixes --- ui/app/AppLayouts/Browser/panels/FavoritesList.qml | 4 +++- .../CommunitiesPortal/panels/CommunityColorPanel.qml | 5 ++--- .../CommunitiesPortal/panels/CommunityTagsPanel.qml | 5 ++--- .../Onboarding/views/SeedPhraseInputView.qml | 4 +++- .../popups/backupseed/ConfirmSeedPhrasePanel.qml | 3 ++- .../Profile/views/EnsTermsAndConditionsView.qml | 6 +++--- ui/app/AppLayouts/Profile/views/EnsWelcomeView.qml | 2 +- .../AppLayouts/Wallet/panels/ImportSeedPhrasePanel.qml | 2 +- ui/app/AppLayouts/Wallet/popups/AddAccountModal.qml | 2 +- ui/app/AppLayouts/Wallet/views/LeftTabView.qml | 4 +--- ui/imports/shared/controls/RecipientSelector.qml | 3 ++- ui/imports/shared/status/StatusChatInput.qml | 1 + ui/imports/shared/status/StatusEmojiSection.qml | 8 ++++---- ui/imports/shared/status/StatusGifPopup.qml | 3 +-- ui/imports/shared/status/StatusStickerList.qml | 5 +++-- ui/imports/shared/status/StatusStickerMarket.qml | 5 +++-- ui/imports/shared/status/StatusStickersPopup.qml | 2 ++ ui/imports/shared/views/TabAddressSelectorView.qml | 10 +++++----- 18 files changed, 40 insertions(+), 34 deletions(-) diff --git a/ui/app/AppLayouts/Browser/panels/FavoritesList.qml b/ui/app/AppLayouts/Browser/panels/FavoritesList.qml index eb5431089b..92e77eb80b 100644 --- a/ui/app/AppLayouts/Browser/panels/FavoritesList.qml +++ b/ui/app/AppLayouts/Browser/panels/FavoritesList.qml @@ -1,10 +1,12 @@ import QtQuick 2.13 +import StatusQ.Core 0.1 + import utils 1.0 import "../controls" -GridView { +StatusGridView { id: bookmarkGrid property var determineRealURLFn: function(url){} diff --git a/ui/app/AppLayouts/CommunitiesPortal/panels/CommunityColorPanel.qml b/ui/app/AppLayouts/CommunitiesPortal/panels/CommunityColorPanel.qml index 2ba7a5150f..64bccbdcec 100644 --- a/ui/app/AppLayouts/CommunitiesPortal/panels/CommunityColorPanel.qml +++ b/ui/app/AppLayouts/CommunitiesPortal/panels/CommunityColorPanel.qml @@ -35,12 +35,11 @@ StatusScrollView { hexInput.text = color.toString(); } - ScrollBar.vertical.policy: ScrollBar.AsNeeded - ScrollBar.horizontal.policy: ScrollBar.AlwaysOff + padding: 0 ColumnLayout { id: column - width: root.width - root.leftPadding - root.rightPadding + width: root.availableWidth spacing: 12 StatusColorSpace { diff --git a/ui/app/AppLayouts/CommunitiesPortal/panels/CommunityTagsPanel.qml b/ui/app/AppLayouts/CommunitiesPortal/panels/CommunityTagsPanel.qml index bab56a8be8..318c952200 100644 --- a/ui/app/AppLayouts/CommunitiesPortal/panels/CommunityTagsPanel.qml +++ b/ui/app/AppLayouts/CommunitiesPortal/panels/CommunityTagsPanel.qml @@ -61,8 +61,7 @@ StatusScrollView { } onSelectedTagsChanged: updateSelectedTags() - ScrollBar.vertical.policy: ScrollBar.AsNeeded - ScrollBar.horizontal.policy: ScrollBar.AlwaysOff + padding: 0 QtObject { id: d @@ -73,7 +72,7 @@ StatusScrollView { ColumnLayout { id: column - width: root.width - root.leftPadding - root.rightPadding + width: root.availableWidth spacing: 20 StatusInput { diff --git a/ui/app/AppLayouts/Onboarding/views/SeedPhraseInputView.qml b/ui/app/AppLayouts/Onboarding/views/SeedPhraseInputView.qml index c5e1482bfa..d18a8600ad 100644 --- a/ui/app/AppLayouts/Onboarding/views/SeedPhraseInputView.qml +++ b/ui/app/AppLayouts/Onboarding/views/SeedPhraseInputView.qml @@ -7,9 +7,11 @@ import StatusQ.Controls 0.1 import StatusQ.Popups 0.1 import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 + import utils 1.0 import shared.stores 1.0 import shared.controls 1.0 + import "../controls" import "../stores" @@ -131,7 +133,7 @@ OnboardingBasePage { } clip: true - GridView { + StatusGridView { id: grid width: parent.width property var wordIndex: [ diff --git a/ui/app/AppLayouts/Profile/popups/backupseed/ConfirmSeedPhrasePanel.qml b/ui/app/AppLayouts/Profile/popups/backupseed/ConfirmSeedPhrasePanel.qml index a6700eddae..995079a74a 100644 --- a/ui/app/AppLayouts/Profile/popups/backupseed/ConfirmSeedPhrasePanel.qml +++ b/ui/app/AppLayouts/Profile/popups/backupseed/ConfirmSeedPhrasePanel.qml @@ -2,6 +2,7 @@ import QtQuick 2.12 import QtQuick.Layouts 1.12 import QtGraphicalEffects 1.13 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import StatusQ.Controls 0.1 @@ -20,7 +21,7 @@ BackupSeedStepBase { implicitHeight: 304 Layout.fillWidth: true - GridView { + StatusGridView { id: grid leftMargin: grid.spacing/2 width: cellWidth*2 diff --git a/ui/app/AppLayouts/Profile/views/EnsTermsAndConditionsView.qml b/ui/app/AppLayouts/Profile/views/EnsTermsAndConditionsView.qml index 61f39883e3..a528c1884a 100644 --- a/ui/app/AppLayouts/Profile/views/EnsTermsAndConditionsView.qml +++ b/ui/app/AppLayouts/Profile/views/EnsTermsAndConditionsView.qml @@ -83,6 +83,7 @@ Item { title: qsTr("Terms of name registration") StatusScrollView { + id: scroll ScrollBar.horizontal.policy: ScrollBar.AlwaysOff ScrollBar.vertical.policy: ScrollBar.AlwaysOn width: parent.width @@ -91,7 +92,7 @@ Item { Column { spacing: Style.current.halfPadding height: childrenRect.height - width: parent.width + width: scroll.availableWidth StatusBaseText { @@ -223,8 +224,7 @@ Item { Item { id: contentItem - anchors.right: parent.right; - anchors.left: parent.left; + width: sview.availableWidth Rectangle { id: circleAt diff --git a/ui/app/AppLayouts/Profile/views/EnsWelcomeView.qml b/ui/app/AppLayouts/Profile/views/EnsWelcomeView.qml index e5c66fd193..64356b46bd 100644 --- a/ui/app/AppLayouts/Profile/views/EnsWelcomeView.qml +++ b/ui/app/AppLayouts/Profile/views/EnsWelcomeView.qml @@ -25,11 +25,11 @@ Item { anchors.bottomMargin: Style.current.padding anchors.left: parent.left anchors.right: parent.right + contentWidth: contentItem.width Item { id: contentItem width: profileContentWidth - anchors.horizontalCenter: parent.horizontalCenter Image { id: image diff --git a/ui/app/AppLayouts/Wallet/panels/ImportSeedPhrasePanel.qml b/ui/app/AppLayouts/Wallet/panels/ImportSeedPhrasePanel.qml index 5475f714f5..c8d8d12d2c 100644 --- a/ui/app/AppLayouts/Wallet/panels/ImportSeedPhrasePanel.qml +++ b/ui/app/AppLayouts/Wallet/panels/ImportSeedPhrasePanel.qml @@ -9,7 +9,7 @@ import shared.stores 1.0 import "../stores" -GridView { +StatusGridView { id: grid property bool isValid: false diff --git a/ui/app/AppLayouts/Wallet/popups/AddAccountModal.qml b/ui/app/AppLayouts/Wallet/popups/AddAccountModal.qml index 7b37767ceb..d54402d9df 100644 --- a/ui/app/AppLayouts/Wallet/popups/AddAccountModal.qml +++ b/ui/app/AppLayouts/Wallet/popups/AddAccountModal.qml @@ -154,7 +154,7 @@ StatusModal { contentItem: StatusScrollView { id: scroll - width: root.width + width: popup.width topPadding: Style.current.halfPadding bottomPadding: Style.current.halfPadding leftPadding: Style.current.padding diff --git a/ui/app/AppLayouts/Wallet/views/LeftTabView.qml b/ui/app/AppLayouts/Wallet/views/LeftTabView.qml index 6b64b33b70..d84b06eb61 100644 --- a/ui/app/AppLayouts/Wallet/views/LeftTabView.qml +++ b/ui/app/AppLayouts/Wallet/views/LeftTabView.qml @@ -85,7 +85,7 @@ Rectangle { Layout.fillHeight: true Layout.topMargin: Style.current.halfPadding - ScrollBar.horizontal.policy: ScrollBar.AlwaysOff + // ScrollBar.horizontal.policy: ScrollBar.AlwaysOff delegate: StatusListItem { width: ListView.view.width @@ -126,8 +126,6 @@ Rectangle { // model: RootStore.exampleWalletModel } - Item { Layout.fillHeight: true } - StatusButton { size: StatusBaseButton.Size.Small topPadding: Style.current.halfPadding diff --git a/ui/imports/shared/controls/RecipientSelector.qml b/ui/imports/shared/controls/RecipientSelector.qml index 5c222632e0..22eebd9476 100644 --- a/ui/imports/shared/controls/RecipientSelector.qml +++ b/ui/imports/shared/controls/RecipientSelector.qml @@ -25,7 +25,6 @@ Item { property alias additionalInfo: txtAddlInfo.text property var selectedRecipient property bool readOnly: false - height: inpAddress.height + txtLabel.height readonly property string addressValidationError: qsTr("Invalid ethereum address") property alias wrongInputValidationError: inpAddress.wrongInputValidationError property bool isValid: false @@ -115,6 +114,8 @@ Item { } } + implicitHeight: inpAddress.height + txtLabel.height + Text { id: txtLabel visible: label !== "" diff --git a/ui/imports/shared/status/StatusChatInput.qml b/ui/imports/shared/status/StatusChatInput.qml index fc47713a76..0f1367ec3f 100644 --- a/ui/imports/shared/status/StatusChatInput.qml +++ b/ui/imports/shared/status/StatusChatInput.qml @@ -945,6 +945,7 @@ Rectangle { id: messageInputField property var lastClick: 0 property int cursorWhenPressed: 0 + width: scrollView.availableWidth textFormat: Text.RichText font.pixelSize: 15 font.family: Style.current.fontRegular.name diff --git a/ui/imports/shared/status/StatusEmojiSection.qml b/ui/imports/shared/status/StatusEmojiSection.qml index fa7ca7cf9e..1568749974 100644 --- a/ui/imports/shared/status/StatusEmojiSection.qml +++ b/ui/imports/shared/status/StatusEmojiSection.qml @@ -1,12 +1,13 @@ import QtQuick 2.13 import QtQuick.Layouts 1.3 +import StatusQ.Core 0.1 +import StatusQ.Components 0.1 + import utils 1.0 import shared 1.0 import shared.panels 1.0 -import StatusQ.Components 0.1 - Item { id: emojiSection property string searchString: "" @@ -64,7 +65,7 @@ Item { this.emojis = this.allEmojis } - GridView { + StatusGridView { id: emojiGrid anchors.top: categoryText.bottom anchors.topMargin: Style.current.smallPadding @@ -75,7 +76,6 @@ Item { cellHeight: emojiSection.imageWidth + emojiSection.imageMargin * 2 model: emojiSection.emojis focus: true - clip: true interactive: false delegate: Item { diff --git a/ui/imports/shared/status/StatusGifPopup.qml b/ui/imports/shared/status/StatusGifPopup.qml index f6ddc60d86..ef87a9b7c0 100644 --- a/ui/imports/shared/status/StatusGifPopup.qml +++ b/ui/imports/shared/status/StatusGifPopup.qml @@ -308,8 +308,7 @@ Popup { Row { id: gifs - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter + width: scrollView.availableWidth spacing: Style.current.halfPadding property string lastHoveredId diff --git a/ui/imports/shared/status/StatusStickerList.qml b/ui/imports/shared/status/StatusStickerList.qml index ac3da1dd1c..8df4eb38e3 100644 --- a/ui/imports/shared/status/StatusStickerList.qml +++ b/ui/imports/shared/status/StatusStickerList.qml @@ -3,11 +3,13 @@ import QtQuick.Controls 2.13 import QtQuick.Layouts 1.3 import QtGraphicalEffects 1.0 +import StatusQ.Core 0.1 + import utils 1.0 import shared 1.0 import shared.panels 1.0 -GridView { +StatusGridView { id: root property int packId: -1 property var stickerGrid @@ -17,7 +19,6 @@ GridView { cellHeight: 88 model: stickerList focus: true - clip: true signal stickerClicked(string hash, int packId) delegate: Item { width: root.cellWidth diff --git a/ui/imports/shared/status/StatusStickerMarket.qml b/ui/imports/shared/status/StatusStickerMarket.qml index 80d5c46773..a477d62792 100644 --- a/ui/imports/shared/status/StatusStickerMarket.qml +++ b/ui/imports/shared/status/StatusStickerMarket.qml @@ -4,6 +4,8 @@ import QtQuick.Layouts 1.3 import QtGraphicalEffects 1.0 import QtQml.Models 2.13 +import StatusQ.Core 0.1 + import utils 1.0 import shared 1.0 import shared.panels 1.0 @@ -28,7 +30,7 @@ Item { signal updateClicked(int packId) signal buyClicked(int packId) - GridView { + StatusGridView { id: availableStickerPacks width: parent.width height: 380 @@ -42,7 +44,6 @@ Item { cellHeight: height - 72 focus: true - clip: true model: DelegateModel { id: delegateModel diff --git a/ui/imports/shared/status/StatusStickersPopup.qml b/ui/imports/shared/status/StatusStickersPopup.qml index db0494f57a..a6af210e47 100644 --- a/ui/imports/shared/status/StatusStickersPopup.qml +++ b/ui/imports/shared/status/StatusStickersPopup.qml @@ -236,7 +236,9 @@ Popup { RowLayout { id: stickersRowLayout + width: scrollView.availableWidth spacing: Style.current.padding + Repeater { id: stickerPackListView property int selectedPackId: -1 diff --git a/ui/imports/shared/views/TabAddressSelectorView.qml b/ui/imports/shared/views/TabAddressSelectorView.qml index 6d9e9f872b..cd8e24f244 100644 --- a/ui/imports/shared/views/TabAddressSelectorView.qml +++ b/ui/imports/shared/views/TabAddressSelectorView.qml @@ -19,7 +19,7 @@ import "../views" Item { id: root clip: true - height: accountSelectionTabBar.height + stackLayout.height + Style.current.xlPadding + implicitHeight: accountSelectionTabBar.height + stackLayout.height + Style.current.xlPadding property var store @@ -73,7 +73,7 @@ Item { header: savedAddresses.count > 0 ? search : nothingInList headerPositioning: ListView.OverlayHeader delegate: StatusListItem { - width: visible ? parent.width: 0 + width: visible ? savedAddresses.availableWidth : 0 height: visible ? 64 : 0 title: name subTitle: address @@ -126,9 +126,9 @@ Item { height: Math.min(288, myAccounts.contentHeight) delegate: StatusListItem { - width: visible ? parent.width: 0 + width: myAccounts.availableWidth height: visible ? 64 : 0 - title: model.name + title: !!model.name ? model.name : "" subTitle: Utils.toLocaleString(model.currencyBalance.toFixed(2), store.locale, {"model.currency": true}) + " " + store.currentCurrency.toUpperCase() icon.emoji: !!model.emoji ? model.emoji: "" icon.color: model.color @@ -166,7 +166,7 @@ Item { delegate: StatusListItem { property bool isIncoming: to === store.currentAccount.address - width: visible ? parent.width: 0 + width: visible ? recents.availableWidth : 0 height: visible ? 64 : 0 title: isIncoming ? from : to subTitle: Utils.getTimeDifference(new Date(parseInt(timestamp) * 1000), new Date())