diff --git a/electrum/gui/icons/copy_bw.png b/electrum/gui/icons/copy_bw.png new file mode 100644 index 000000000..739edbecb Binary files /dev/null and b/electrum/gui/icons/copy_bw.png differ diff --git a/electrum/gui/icons/delete.png b/electrum/gui/icons/delete.png new file mode 100644 index 000000000..02a7d58ba Binary files /dev/null and b/electrum/gui/icons/delete.png differ diff --git a/electrum/gui/icons/share.png b/electrum/gui/icons/share.png new file mode 100644 index 000000000..d0dc761d4 Binary files /dev/null and b/electrum/gui/icons/share.png differ diff --git a/electrum/gui/qml/components/RequestDialog.qml b/electrum/gui/qml/components/RequestDialog.qml index cb9bdf844..b3636fccc 100644 --- a/electrum/gui/qml/components/RequestDialog.qml +++ b/electrum/gui/qml/components/RequestDialog.qml @@ -34,137 +34,142 @@ Dialog { font.bold: true font.pixelSize: 16 } - ToolButton { - Layout.alignment: Qt.AlignBaseline - icon.source: '../../icons/closebutton.png' - icon.color: 'transparent' - icon.width: 32 - icon.height: 32 - onClicked: dialog.close() - visible: false - } } - GridLayout { - width: parent.width - rowSpacing: constants.paddingXLarge - columns: 3 - Rectangle { - height: 1 - Layout.fillWidth: true - Layout.columnSpan: 3 - color: Material.accentColor - } + Flickable { + anchors.fill: parent + contentHeight: rootLayout.height + clip:true + interactive: height < contentHeight - Image { - Layout.columnSpan: 3 - Layout.alignment: Qt.AlignHCenter - source: 'image://qrgen/' + modelItem.address + GridLayout { + id: rootLayout + width: parent.width + rowSpacing: constants.paddingMedium + columns: 3 Rectangle { - property int size: 57 // should be qr pixel multiple - color: 'white' - x: (parent.width - size) / 2 - y: (parent.height - size) / 2 - width: size - height: size - - Image { - source: '../../icons/electrum.png' - x: 1 - y: 1 - width: parent.width - 2 - height: parent.height - 2 - scale: 0.9 - } + height: 1 + Layout.fillWidth: true + Layout.columnSpan: 3 + color: Material.accentColor } - } - - Rectangle { - height: 1 - Layout.fillWidth: true - Layout.columnSpan: 3 - color: Material.accentColor - } - Label { - visible: modelItem.message != '' - text: qsTr('Description') - } - Label { - visible: modelItem.message != '' - Layout.columnSpan: 2 - Layout.fillWidth: true - wrapMode: Text.WordWrap - text: modelItem.message - font.pixelSize: constants.fontSizeLarge - } + Image { + Layout.columnSpan: 3 + Layout.alignment: Qt.AlignHCenter + Layout.topMargin: constants.paddingSmall + Layout.bottomMargin: constants.paddingSmall + + source: 'image://qrgen/' + modelItem.address + + Rectangle { + property int size: 57 // should be qr pixel multiple + color: 'white' + x: (parent.width - size) / 2 + y: (parent.height - size) / 2 + width: size + height: size + + Image { + source: '../../icons/electrum.png' + x: 1 + y: 1 + width: parent.width - 2 + height: parent.height - 2 + scale: 0.9 + } + } + } - Label { - visible: modelItem.amount > 0 - text: qsTr('Amount') - } - Label { - visible: modelItem.amount > 0 - text: Config.formatSats(modelItem.amount, false) - font.family: FixedFont - font.pixelSize: constants.fontSizeLarge - } - Label { - visible: modelItem.amount > 0 - Layout.fillWidth: true - text: Config.baseUnit - color: Material.accentColor - font.pixelSize: constants.fontSizeLarge - } + Rectangle { + height: 1 + Layout.fillWidth: true + Layout.columnSpan: 3 + color: Material.accentColor + } - Label { - text: qsTr('Address') - } - Label { - Layout.fillWidth: true - font.family: FixedFont - font.pixelSize: constants.fontSizeLarge - wrapMode: Text.WrapAnywhere - text: modelItem.address - } - ToolButton { - icon.source: '../../icons/copy.png' - icon.color: 'transparent' - onClicked: { - AppController.textToClipboard(modelItem.address) + RowLayout { + Layout.columnSpan: 3 + Layout.alignment: Qt.AlignHCenter + Button { + icon.source: '../../icons/delete.png' + text: qsTr('Delete') + onClicked: { + Daemon.currentWallet.delete_request(modelItem.key) + dialog.close() + } + } + Button { + icon.source: '../../icons/copy_bw.png' + icon.color: 'transparent' + text: 'Copy' + enabled: false + } + Button { + icon.source: '../../icons/share.png' + text: 'Share' + enabled: false + } + } + Label { + visible: modelItem.message != '' + text: qsTr('Description') + } + Label { + visible: modelItem.message != '' + Layout.columnSpan: 2 + Layout.fillWidth: true + wrapMode: Text.WordWrap + text: modelItem.message + font.pixelSize: constants.fontSizeLarge } - } - Label { - text: qsTr('Status') - } - Label { - Layout.columnSpan: 2 - Layout.fillWidth: true - font.pixelSize: constants.fontSizeLarge - text: modelItem.status - } + Label { + visible: modelItem.amount > 0 + text: qsTr('Amount') + } + Label { + visible: modelItem.amount > 0 + text: Config.formatSats(modelItem.amount, false) + font.family: FixedFont + font.pixelSize: constants.fontSizeLarge + } + Label { + visible: modelItem.amount > 0 + Layout.fillWidth: true + text: Config.baseUnit + color: Material.accentColor + font.pixelSize: constants.fontSizeLarge + } - RowLayout { - Layout.columnSpan: 3 - Layout.fillHeight: true - Layout.alignment: Qt.AlignHCenter - Button { - text: 'Delete' + Label { + text: qsTr('Address') + } + Label { + Layout.fillWidth: true + font.family: FixedFont + font.pixelSize: constants.fontSizeLarge + wrapMode: Text.WrapAnywhere + text: modelItem.address + } + ToolButton { + icon.source: '../../icons/copy_bw.png' onClicked: { - Daemon.currentWallet.delete_request(modelItem.key) - dialog.close() + AppController.textToClipboard(modelItem.address) } } - Button { - text: 'Copy' - enabled: false + + Label { + text: qsTr('Status') } - Button { - text: 'Share' - enabled: false + Label { + Layout.columnSpan: 2 + Layout.fillWidth: true + font.pixelSize: constants.fontSizeLarge + text: modelItem.status } + } }