From 1c0851c6ebbcc0d5ef648ab2a64a050a6a6f587d Mon Sep 17 00:00:00 2001 From: Sander van Grieken Date: Mon, 23 Feb 2026 12:31:02 +0100 Subject: [PATCH] styling OpenChannelDialog --- .../gui/qml/components/OpenChannelDialog.qml | 136 +++++++++--------- 1 file changed, 67 insertions(+), 69 deletions(-) diff --git a/electrum/gui/qml/components/OpenChannelDialog.qml b/electrum/gui/qml/components/OpenChannelDialog.qml index 99aa6cd2d..6282c54fa 100644 --- a/electrum/gui/qml/components/OpenChannelDialog.qml +++ b/electrum/gui/qml/components/OpenChannelDialog.qml @@ -67,78 +67,77 @@ ElDialog { ].join(' ') } - Label { - text: qsTr('Node') - Layout.columnSpan: 3 - color: Material.accentColor - } - // gossip - TextArea { - id: node - visible: Config.useGossip - Layout.columnSpan: 2 - Layout.fillWidth: true - font.family: FixedFont - wrapMode: Text.Wrap - placeholderText: qsTr('Paste or scan node uri/pubkey') - inputMethodHints: Qt.ImhSensitiveData | Qt.ImhNoPredictiveText | Qt.ImhNoAutoUppercase - onTextChanged: { - if (activeFocus) - channelopener.connectStr = text - } - onActiveFocusChanged: { - if (!activeFocus) - channelopener.connectStr = text - } - } - RowLayout { + Layout.columnSpan: 3 visible: Config.useGossip spacing: 0 - ToolButton { - icon.source: '../../icons/paste.png' - icon.height: constants.iconSizeMedium - icon.width: constants.iconSizeMedium - onClicked: { - var cliptext = AppController.clipboardToText() - if (!cliptext) - return - if (channelopener.validateConnectString(cliptext)) { - channelopener.connectStr = cliptext - node.text = channelopener.connectStr - } else { - var dialog = app.messageDialog.createObject(app, { - text: qsTr('Invalid node-id or connect string') + + TextArea { + id: nodeUri + visible: Config.useGossip + Layout.fillWidth: true + Layout.minimumHeight: nodeUriFontMetrics.lineSpacing * 4 + topPadding + bottomPadding + Layout.topMargin: constants.paddingSmall + font.family: FixedFont + wrapMode: Text.Wrap + placeholderText: qsTr('Paste or scan node uri/pubkey') + inputMethodHints: Qt.ImhSensitiveData | Qt.ImhNoPredictiveText | Qt.ImhNoAutoUppercase + onTextChanged: { + if (activeFocus) + channelopener.connectStr = text + } + onActiveFocusChanged: { + if (!activeFocus) + channelopener.connectStr = text + } + } + ColumnLayout { + spacing: 0 + ToolButton { + icon.source: '../../icons/paste.png' + icon.height: constants.iconSizeMedium + icon.width: constants.iconSizeMedium + onClicked: { + var cliptext = AppController.clipboardToText() + if (!cliptext) + return + if (channelopener.validateConnectString(cliptext)) { + channelopener.connectStr = cliptext + nodeUri.text = channelopener.connectStr + } else { + var dialog = app.messageDialog.createObject(app, { + text: qsTr('Invalid node-id or connect string') + }) + dialog.open() + } + } + } + ToolButton { + icon.source: '../../icons/qrcode.png' + icon.height: constants.iconSizeMedium + icon.width: constants.iconSizeMedium + scale: 1.2 + onClicked: { + var dialog = app.scanDialog.createObject(app, { + hint: qsTr('Scan a node-id or a connect string') + }) + dialog.onFoundText.connect(function(data) { + if (channelopener.validateConnectString(data)) { + channelopener.connectStr = data + nodeUri.text = channelopener.connectStr + } else { + var errdialog = app.messageDialog.createObject(app, { + text: qsTr('Invalid node-id or connect string') + }) + errdialog.open() + } + dialog.close() }) dialog.open() } } } - ToolButton { - icon.source: '../../icons/qrcode.png' - icon.height: constants.iconSizeMedium - icon.width: constants.iconSizeMedium - scale: 1.2 - onClicked: { - var dialog = app.scanDialog.createObject(app, { - hint: qsTr('Scan a node-id or a connect string') - }) - dialog.onFoundText.connect(function(data) { - if (channelopener.validateConnectString(data)) { - channelopener.connectStr = data - node.text = channelopener.connectStr - } else { - var errdialog = app.messageDialog.createObject(app, { - text: qsTr('Invalid node-id or connect string') - }) - errdialog.open() - } - dialog.close() - }) - dialog.open() - } - } } // trampoline @@ -160,15 +159,10 @@ ElDialog { } } - Label { - text: qsTr('Amount') - Layout.columnSpan: 3 - color: Material.accentColor - } - BtcField { id: amountBtc fiatfield: amountFiat + Layout.topMargin: constants.paddingLarge Layout.preferredWidth: amountFontMetrics.advanceWidth('0') * 14 + leftPadding + rightPadding onTextAsSatsChanged: { if (!is_max.checked) @@ -327,4 +321,8 @@ ElDialog { id: amountFontMetrics font: amountBtc.font } + FontMetrics { + id: nodeUriFontMetrics + font: nodeUri.font + } }