mirror of
https://github.com/monero-project/monero-gui.git
synced 2024-12-23 03:59:38 +00:00
Merge pull request #1807
6fa805d
qrscanner: update addressbook and transfer UI (mmbyday)
This commit is contained in:
commit
b4e19cb3e8
7 changed files with 56 additions and 45 deletions
|
@ -42,6 +42,7 @@ Item {
|
|||
property string textColor: "#FFFFFF"
|
||||
property int fontSize: 12 * scaleRatio
|
||||
property alias text: inlineText.text
|
||||
property alias buttonColor: rect.color
|
||||
signal clicked()
|
||||
|
||||
function doClick() {
|
||||
|
@ -55,7 +56,7 @@ Item {
|
|||
color: MoneroComponents.Style.buttonBackgroundColorDisabled
|
||||
border.color: "black"
|
||||
height: 28 * scaleRatio
|
||||
width: inlineText.width + 22 * scaleRatio
|
||||
width: inlineText.text ? (inlineText.width + 22) * scaleRatio : inlineButton.icon ? (inlineImage.width + 16) * scaleRatio : rect.height
|
||||
radius: 4
|
||||
|
||||
anchors.top: parent.top
|
||||
|
@ -71,6 +72,13 @@ Item {
|
|||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
}
|
||||
|
||||
Image {
|
||||
id: inlineImage
|
||||
visible: inlineButton.icon !== ""
|
||||
anchors.centerIn: parent
|
||||
source: inlineButton.icon
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: buttonArea
|
||||
cursorShape: rect.enabled ? Qt.PointingHandCursor : Qt.ArrowCursor
|
||||
|
@ -78,12 +86,12 @@ Item {
|
|||
anchors.fill: parent
|
||||
onClicked: doClick()
|
||||
onEntered: {
|
||||
rect.color = "#707070";
|
||||
rect.color = buttonColor ? buttonColor : "#707070";
|
||||
rect.opacity = 0.8;
|
||||
}
|
||||
onExited: {
|
||||
rect.opacity = 1.0;
|
||||
rect.color = "#808080";
|
||||
rect.color = buttonColor ? buttonColor : "#808080";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -83,6 +83,9 @@ ColumnLayout {
|
|||
property alias addressValidation: input.addressValidation
|
||||
property string backgroundColor: "" // mock
|
||||
|
||||
property alias inlineButton: inlineButtonId
|
||||
property bool inlineButtonVisible: false
|
||||
|
||||
signal labelButtonClicked();
|
||||
signal inputLabelLinkActivated();
|
||||
signal editingFinished();
|
||||
|
@ -183,5 +186,14 @@ ColumnLayout {
|
|||
anchors.fill: parent
|
||||
visible: !item.borderDisabled
|
||||
}
|
||||
|
||||
MoneroComponents.InlineButton {
|
||||
id: inlineButtonId
|
||||
visible: (inlineButtonId.text || inlineButtonId.icon) && inlineButtonVisible ? true : false
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: 8 * scaleRatio
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 4 * scaleRatio
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
BIN
images/qr.png
Normal file
BIN
images/qr.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 KiB |
BIN
images/qr@2x.png
Normal file
BIN
images/qr@2x.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.3 KiB |
|
@ -28,14 +28,16 @@
|
|||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Layouts 1.1
|
||||
import "../components"
|
||||
import "../components" as MoneroComponents
|
||||
import moneroComponents.AddressBook 1.0
|
||||
import moneroComponents.AddressBookModel 1.0
|
||||
import moneroComponents.Clipboard 1.0
|
||||
|
||||
ColumnLayout {
|
||||
id: root
|
||||
property var model
|
||||
property bool selectAndSend: false
|
||||
Clipboard { id: clipboard }
|
||||
|
||||
ColumnLayout {
|
||||
Layout.margins: (isMobile ? 17 : 20) * scaleRatio
|
||||
|
@ -44,34 +46,27 @@ ColumnLayout {
|
|||
spacing: 26 * scaleRatio
|
||||
visible: !root.selectAndSend
|
||||
|
||||
RowLayout {
|
||||
StandardButton {
|
||||
id: qrfinderButton
|
||||
text: qsTr("Qr Code") + translationManager.emptyString
|
||||
visible : appWindow.qrScannerEnabled
|
||||
enabled : visible
|
||||
width: visible ? 60 * scaleRatio : 0
|
||||
onClicked: {
|
||||
cameraUi.state = "Capture"
|
||||
cameraUi.qrcode_decoded.connect(updateFromQrCode)
|
||||
}
|
||||
}
|
||||
|
||||
LineEditMulti {
|
||||
Layout.fillWidth: true;
|
||||
id: addressLine
|
||||
labelText: qsTr("Address") + translationManager.emptyString
|
||||
error: true;
|
||||
placeholderText: qsTr("4.. / 8..") + translationManager.emptyString
|
||||
wrapMode: Text.WrapAnywhere
|
||||
addressValidation: true
|
||||
MoneroComponents.LineEditMulti {
|
||||
id: addressLine
|
||||
Layout.fillWidth: true
|
||||
fontBold: true
|
||||
labelText: qsTr("Address") + translationManager.emptyString
|
||||
placeholderText: qsTr("4.. / 8..") + translationManager.emptyString
|
||||
wrapMode: Text.WrapAnywhere
|
||||
addressValidation: true
|
||||
inlineButton.icon: "../images/qr.png"
|
||||
inlineButton.buttonColor: MoneroComponents.Style.orange
|
||||
inlineButton.onClicked: {
|
||||
cameraUi.state = "Capture"
|
||||
cameraUi.qrcode_decoded.connect(updateFromQrCode)
|
||||
}
|
||||
inlineButtonVisible : appWindow.qrScannerEnabled && !addressLine.text
|
||||
}
|
||||
|
||||
LineEditMulti {
|
||||
MoneroComponents.LineEditMulti {
|
||||
id: paymentIdLine
|
||||
visible: appWindow.persistentSettings.showPid
|
||||
Layout.fillWidth: true;
|
||||
Layout.fillWidth: true
|
||||
labelText: qsTr("Payment ID <font size='2'>(Optional)</font>") + translationManager.emptyString
|
||||
placeholderText: qsTr("Paste 64 hexadecimal characters") + translationManager.emptyString
|
||||
wrapMode: Text.WrapAnywhere
|
||||
|
@ -79,9 +74,9 @@ ColumnLayout {
|
|||
// + translationManager.emptyString
|
||||
}
|
||||
|
||||
LineEditMulti {
|
||||
MoneroComponents.LineEditMulti {
|
||||
id: descriptionLine
|
||||
Layout.fillWidth: true;
|
||||
Layout.fillWidth: true
|
||||
labelText: qsTr("Description <font size='2'>(Optional)</font>") + translationManager.emptyString
|
||||
placeholderText: qsTr("Give this entry a name or description") + translationManager.emptyString
|
||||
wrapMode: Text.WrapAnywhere
|
||||
|
@ -91,7 +86,7 @@ ColumnLayout {
|
|||
RowLayout {
|
||||
id: addButton
|
||||
Layout.bottomMargin: 17 * scaleRatio
|
||||
StandardButton {
|
||||
MoneroComponents.StandardButton {
|
||||
text: qsTr("Add") + translationManager.emptyString
|
||||
enabled: checkInformation(addressLine.text, paymentIdLine.text, appWindow.persistentSettings.nettype)
|
||||
|
||||
|
@ -129,16 +124,16 @@ ColumnLayout {
|
|||
NumberAnimation { duration: 200; easing.type: Easing.InQuad }
|
||||
}
|
||||
|
||||
Scroll {
|
||||
MoneroComponents.Scroll {
|
||||
id: flickableScroll
|
||||
anchors.right: table.right
|
||||
anchors.rightMargin: -14
|
||||
anchors.rightMargin: -14 * scaleRatio
|
||||
anchors.top: table.top
|
||||
anchors.bottom: table.bottom
|
||||
flickable: table
|
||||
}
|
||||
|
||||
AddressBookTable {
|
||||
MoneroComponents.AddressBookTable {
|
||||
id: table
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
|
@ -179,7 +174,6 @@ ColumnLayout {
|
|||
console.log("updateFromQrCode")
|
||||
addressLine.text = address
|
||||
paymentIdLine.text = payment_id
|
||||
//amountLine.text = amount
|
||||
descriptionLine.text = recipient_name + " " + tx_description
|
||||
cameraUi.qrcode_decoded.disconnect(updateFromQrCode)
|
||||
}
|
||||
|
|
|
@ -168,7 +168,7 @@ Rectangle {
|
|||
Layout.topMargin: 12 * scaleRatio
|
||||
text: qsTr("Transaction priority") + translationManager.emptyString
|
||||
fontBold: false
|
||||
fontSize: 16
|
||||
fontSize: 16 * scaleRatio
|
||||
}
|
||||
// Note: workaround for translations in listElements
|
||||
// ListElement: cannot use script for property value, so
|
||||
|
@ -235,24 +235,19 @@ Rectangle {
|
|||
addressLine.text = clipboardText;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StandardButton {
|
||||
id: qrfinderButton
|
||||
text: qsTr("QR Code") + translationManager.emptyString
|
||||
visible : appWindow.qrScannerEnabled
|
||||
enabled : visible
|
||||
width: visible ? 60 * scaleRatio : 0
|
||||
onClicked: {
|
||||
inlineButton.icon: "../images/qr.png"
|
||||
inlineButton.buttonColor: MoneroComponents.Style.orange
|
||||
inlineButton.onClicked: {
|
||||
cameraUi.state = "Capture"
|
||||
cameraUi.qrcode_decoded.connect(updateFromQrCode)
|
||||
}
|
||||
inlineButtonVisible : appWindow.qrScannerEnabled && !addressLine.text
|
||||
}
|
||||
}
|
||||
|
||||
StandardButton {
|
||||
id: resolveButton
|
||||
width: 80
|
||||
width: 80 * scaleRatio
|
||||
text: qsTr("Resolve") + translationManager.emptyString
|
||||
visible: TxUtils.isValidOpenAliasAddress(addressLine.text)
|
||||
enabled : visible
|
||||
|
|
2
qml.qrc
2
qml.qrc
|
@ -213,6 +213,8 @@
|
|||
<file>components/RadioButton.qml</file>
|
||||
<file>images/editIcon.png</file>
|
||||
<file>images/editIcon@2x.png</file>
|
||||
<file>images/qr.png</file>
|
||||
<file>images/qr@2x.png</file>
|
||||
<file>pages/settings/Settings.qml</file>
|
||||
<file>pages/settings/SettingsWallet.qml</file>
|
||||
<file>pages/settings/SettingsNode.qml</file>
|
||||
|
|
Loading…
Reference in a new issue