Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(ShareProfileDialog): contents spills outside of dialog #14003

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
189 changes: 99 additions & 90 deletions ui/imports/shared/views/profile/ShareProfileDialog.qml
Original file line number Diff line number Diff line change
Expand Up @@ -28,106 +28,115 @@ StatusDialog {

topPadding: Style.current.padding
bottomPadding: Style.current.xlPadding
horizontalPadding: 80

contentItem: ColumnLayout {
spacing: Style.current.halfPadding

Rectangle {
Layout.fillWidth: true
Layout.preferredHeight: width
color: Theme.palette.white

Image {
anchors.fill: parent
asynchronous: true
fillMode: Image.PreserveAspectFit
mipmap: true
smooth: false
source: root.qrCode

UserImage {
anchors.centerIn: parent
name: root.displayName
pubkey: root.publicKey
image: root.largeImage
interactive: false
imageWidth: 78
imageHeight: 78

// show a hardcoded white ring
showRing: true
colorHash: JSON.stringify([{colorId: 4, segmentLength: 32}])
}
horizontalPadding: 0

MouseArea {
anchors.fill: parent
acceptedButtons: Qt.RightButton
cursorShape: Qt.PointingHandCursor
onClicked: qrContextMenu.popup()
}
StatusScrollView {
anchors.fill: parent
contentWidth: availableWidth

ColumnLayout {
anchors.left: parent.left
anchors.leftMargin: 40
anchors.right: parent.right
anchors.rightMargin: 40
spacing: Style.current.halfPadding

ImageContextMenu {
id: qrContextMenu
imageSource: root.qrCode
Rectangle {
Layout.fillWidth: true
Layout.preferredHeight: width
color: Theme.palette.white

Image {
anchors.fill: parent
asynchronous: true
fillMode: Image.PreserveAspectFit
mipmap: true
smooth: false
source: root.qrCode

UserImage {
anchors.centerIn: parent
name: root.displayName
pubkey: root.publicKey
image: root.largeImage
interactive: false
imageWidth: 78
imageHeight: 78

// show a hardcoded white ring
showRing: true
colorHash: JSON.stringify([{colorId: 4, segmentLength: 32}])
}

MouseArea {
anchors.fill: parent
acceptedButtons: Qt.RightButton
cursorShape: Qt.PointingHandCursor
onClicked: qrContextMenu.popup()
}

ImageContextMenu {
id: qrContextMenu
imageSource: root.qrCode
}
}
}
}

StatusBaseText {
Layout.topMargin: Style.current.smallPadding
Layout.fillWidth: true
text: qsTr("Profile link")
}
StatusBaseText {
Layout.topMargin: Style.current.smallPadding
Layout.fillWidth: true
text: qsTr("Profile link")
}

StatusBaseInput {
Layout.fillWidth: true
Layout.preferredHeight: 44
leftPadding: Style.current.padding
rightPadding: Style.current.halfPadding
topPadding: 0
bottomPadding: 0
placeholder.rightPadding: Style.current.halfPadding
placeholder.elide: Text.ElideMiddle
placeholderText: root.linkToProfile
placeholderTextColor: Theme.palette.directColor1
edit.readOnly: true
background.color: "transparent"
background.border.color: Theme.palette.baseColor2
rightComponent: CopyButton {
textToCopy: root.linkToProfile
StatusToolTip {
text: qsTr("Copy link")
visible: parent.hovered
StatusBaseInput {
Layout.fillWidth: true
Layout.preferredHeight: 44
leftPadding: Style.current.padding
rightPadding: Style.current.halfPadding
topPadding: 0
bottomPadding: 0
placeholder.rightPadding: Style.current.halfPadding
placeholder.elide: Text.ElideMiddle
placeholderText: root.linkToProfile
placeholderTextColor: Theme.palette.directColor1
edit.readOnly: true
background.color: "transparent"
background.border.color: Theme.palette.baseColor2
rightComponent: CopyButton {
textToCopy: root.linkToProfile
StatusToolTip {
text: qsTr("Copy link")
visible: parent.hovered
}
}
}
}

StatusBaseText {
Layout.topMargin: Style.current.halfPadding
Layout.fillWidth: true
text: qsTr("Emoji hash")
}

StatusBaseInput {
Layout.fillWidth: true
Layout.preferredHeight: 44
leftPadding: Style.current.padding
rightPadding: Style.current.halfPadding
topPadding: 0
bottomPadding: 0
edit.readOnly: true
background.color: "transparent"
background.border.color: Theme.palette.baseColor2
leftComponent: EmojiHash {
publicKey: root.publicKey
oneRow: true
StatusBaseText {
Layout.topMargin: Style.current.halfPadding
Layout.fillWidth: true
text: qsTr("Emoji hash")
}
rightComponent: CopyButton {
textToCopy: Utils.getEmojiHashAsJson(root.publicKey).join("").toString()
StatusToolTip {
text: qsTr("Copy emoji hash")
visible: parent.hovered

StatusBaseInput {
Layout.fillWidth: true
Layout.preferredHeight: 44
leftPadding: Style.current.padding
rightPadding: Style.current.halfPadding
topPadding: 0
bottomPadding: 0
edit.readOnly: true
background.color: "transparent"
background.border.color: Theme.palette.baseColor2
leftComponent: EmojiHash {
publicKey: root.publicKey
oneRow: true
}
rightComponent: CopyButton {
textToCopy: Utils.getEmojiHashAsJson(root.publicKey).join("").toString()
StatusToolTip {
text: qsTr("Copy emoji hash")
visible: parent.hovered
}
}
}
}
Expand Down