diff --git a/pages/AddressBook.qml b/pages/AddressBook.qml
index 65f097c0..29a18557 100644
--- a/pages/AddressBook.qml
+++ b/pages/AddressBook.qml
@@ -33,167 +33,106 @@ import moneroComponents.AddressBook 1.0
import moneroComponents.AddressBookModel 1.0
Rectangle {
- color: "#F0EEEE"
id: root
+ color: "#F0EEEE"
property var model
- Text {
- id: newEntryText
+ ColumnLayout {
+ anchors.margins: 17 * scaleRatio
anchors.left: parent.left
- anchors.right: parent.right
anchors.top: parent.top
- anchors.leftMargin: 17
- anchors.topMargin: 17
+ anchors.right: parent.right
+ spacing: 10 * scaleRatio
- elide: Text.ElideRight
- font.family: "Arial"
- font.pixelSize: 18
- color: "#4A4949"
- text: qsTr("Add new entry") + translationManager.emptyString
- }
-
- Label {
- id: addressLabel
- anchors.left: parent.left
- anchors.top: newEntryText.bottom
- anchors.leftMargin: 17
- anchors.topMargin: 17
- text: qsTr("Address") + translationManager.emptyString
- fontSize: 14
- }
-
- StandardButton {
- id: qrfinderButton
- anchors.left: parent.left
- anchors.leftMargin: 17
- anchors.topMargin: 5
- anchors.top: addressLabel.bottom
- text: qsTr("QRCODE") + translationManager.emptyString
- shadowReleasedColor: "#FF4304"
- shadowPressedColor: "#B32D00"
- releasedColor: "#FF6C3C"
- pressedColor: "#FF4304"
- visible : appWindow.qrScannerEnabled
- enabled : visible
- width: visible ? 60 : 0
- onClicked: {
- cameraUi.state = "Capture"
- cameraUi.qrcode_decoded.connect(updateFromQrCode)
+ Label {
+ id: addressLabel
+ anchors.left: parent.left
+ text: qsTr("Address") + translationManager.emptyString
}
- }
- LineEdit {
- id: addressLine
- anchors.left: qrfinderButton.right
- anchors.right: parent.right
- anchors.top: addressLabel.bottom
- anchors.rightMargin: 17
- anchors.topMargin: 5
- error: true;
- placeholderText: qsTr("4...") + translationManager.emptyString
- }
+ RowLayout {
+ StandardButton {
+ id: qrfinderButton
+ text: qsTr("QRCODE") + translationManager.emptyString
+ shadowReleasedColor: "#FF4304"
+ shadowPressedColor: "#B32D00"
+ releasedColor: "#FF6C3C"
+ pressedColor: "#FF4304"
+ visible : appWindow.qrScannerEnabled
+ enabled : visible
+ width: visible ? 60 * scaleRatio : 0
+ onClicked: {
+ cameraUi.state = "Capture"
+ cameraUi.qrcode_decoded.connect(updateFromQrCode)
+ }
+ }
- Label {
- id: paymentIdLabel
- anchors.left: parent.left
- anchors.top: addressLine.bottom
- anchors.leftMargin: 17
- anchors.topMargin: 17
- text: qsTr("Payment ID (Optional)") + translationManager.emptyString
- fontSize: 14
- }
+ LineEdit {
+ Layout.fillWidth: true;
+ id: addressLine
+ error: true;
+ placeholderText: qsTr("4...") + translationManager.emptyString
+ }
+ }
- LineEdit {
- id: paymentIdLine
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.top: paymentIdLabel.bottom
- anchors.leftMargin: 17
- anchors.rightMargin: 17
- anchors.topMargin: 5
- placeholderText: qsTr("Paste 64 hexadecimal characters") + translationManager.emptyString
- }
+ Label {
+ id: paymentIdLabel
+ text: qsTr("Payment ID (Optional)") + translationManager.emptyString
+ tipText: qsTr("Payment ID
A unique user name used in
the address book. It is not a
transfer of information sent
during the transfer")
+ + translationManager.emptyString
+ }
- Label {
- id: descriptionLabel
- anchors.left: parent.left
- anchors.top: paymentIdLine.bottom
- anchors.leftMargin: 17
- anchors.topMargin: 17
- text: qsTr("Description (Optional)") + translationManager.emptyString
- fontSize: 14
- }
+ LineEdit {
+ id: paymentIdLine
+ Layout.fillWidth: true;
+ placeholderText: qsTr("Paste 64 hexadecimal characters") + translationManager.emptyString
+ }
- LineEdit {
- id: descriptionLine
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.top: descriptionLabel.bottom
- anchors.leftMargin: 17
- anchors.rightMargin: 17
- anchors.topMargin: 5
- placeholderText: qsTr("Give this entry a name or description") + translationManager.emptyString
- }
+ Label {
+ id: descriptionLabel
+ text: qsTr("Description (Optional)") + translationManager.emptyString
+ }
+
+ LineEdit {
+ id: descriptionLine
+ Layout.fillWidth: true;
+ placeholderText: qsTr("Give this entry a name or description") + translationManager.emptyString
+ }
- RowLayout {
- id: addButton
- anchors.left: parent.left
- anchors.top: descriptionLine.bottom
- anchors.leftMargin: 17
- anchors.topMargin: 17
+ RowLayout {
+ id: addButton
+ Layout.bottomMargin: 17 * scaleRatio
+ StandardButton {
+ shadowReleasedColor: "#FF4304"
+ shadowPressedColor: "#B32D00"
+ releasedColor: "#FF6C3C"
+ pressedColor: "#FF4304"
+ text: qsTr("Add") + translationManager.emptyString
+ enabled: checkInformation(addressLine.text, paymentIdLine.text, appWindow.persistentSettings.testnet)
- StandardButton {
- shadowReleasedColor: "#FF4304"
- shadowPressedColor: "#B32D00"
- releasedColor: "#FF6C3C"
- pressedColor: "#FF4304"
- text: qsTr("Add") + translationManager.emptyString
- enabled: checkInformation(addressLine.text, paymentIdLine.text, appWindow.persistentSettings.testnet)
+ onClicked: {
+ if (!currentWallet.addressBook.addRow(addressLine.text.trim(), paymentIdLine.text.trim(), descriptionLine.text)) {
+ informationPopup.title = qsTr("Error") + translationManager.emptyString;
+ // TODO: check currentWallet.addressBook.errorString() instead.
+ if(currentWallet.addressBook.errorCode() === AddressBook.Invalid_Address)
+ informationPopup.text = qsTr("Invalid address") + translationManager.emptyString
+ else if(currentWallet.addressBook.errorCode() === AddressBook.Invalid_Payment_Id)
+ informationPopup.text = currentWallet.addressBook.errorString()
+ else
+ informationPopup.text = qsTr("Can't create entry") + translationManager.emptyString
- onClicked: {
- if (!currentWallet.addressBook.addRow(addressLine.text.trim(), paymentIdLine.text.trim(), descriptionLine.text)) {
- informationPopup.title = qsTr("Error") + translationManager.emptyString;
- // TODO: check currentWallet.addressBook.errorString() instead.
- if(currentWallet.addressBook.errorCode() === AddressBook.Invalid_Address)
- informationPopup.text = qsTr("Invalid address") + translationManager.emptyString
- else if(currentWallet.addressBook.errorCode() === AddressBook.Invalid_Payment_Id)
- informationPopup.text = currentWallet.addressBook.errorString()
- else
- informationPopup.text = qsTr("Can't create entry") + translationManager.emptyString
-
- informationPopup.onCloseCallback = null
- informationPopup.open();
- } else {
- addressLine.text = "";
- paymentIdLine.text = "";
- descriptionLine.text = "";
+ informationPopup.onCloseCallback = null
+ informationPopup.open();
+ } else {
+ addressLine.text = "";
+ paymentIdLine.text = "";
+ descriptionLine.text = "";
+ }
}
}
}
- }
-
-
- Item {
- id: expandItem
- property bool expanded: false
-
- anchors.right: parent.right
- anchors.bottom: tableRect.top
- width: 34
- height: 34
-
- Image {
- anchors.centerIn: parent
- source: "../images/expandTable.png"
- rotation: parent.expanded ? 180 : 0
- }
-
- MouseArea {
- anchors.fill: parent
- onClicked: parent.expanded = !parent.expanded
- }
}
Rectangle {
@@ -201,8 +140,7 @@ Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
- height: expandItem.expanded ? parent.height - newEntryText.y - newEntryText.height - 17 :
- parent.height - addButton.y - addButton.height - 17
+ height: parent.height - addButton.y - addButton.height - 36 * scaleRatio
color: "#FFFFFF"
Behavior on height {
@@ -217,44 +155,6 @@ Rectangle {
color: "#DBDBDB"
}
- ListModel {
- id: columnsModel
-// ListElement { columnName: qsTr("Address") + translationManager.emptyString; columnWidth: 148 }
-// ListElement { columnName: qsTr("Payment ID") + translationManager.emptyString; columnWidth: 148 }
-// ListElement { columnName: qsTr("Description") + translationManager.emptyString; columnWidth: 148 }
-//
- }
-
- TableHeader {
- id: header
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.top: parent.top
- anchors.topMargin: 17
- anchors.leftMargin: 14
- anchors.rightMargin: 14
- dataModel: columnsModel
- onSortRequest: console.log("column: " + column + " desc: " + desc)
- }
-
- ListModel {
- id: testModel
- ListElement { paymentId: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; address: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; description: "Client from Australia" }
- ListElement { paymentId: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; address: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; description: "Client from Australia" }
- ListElement { paymentId: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; address: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; description: "Client from Australia" }
- ListElement { paymentId: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; address: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; description: "Client from Australia" }
- ListElement { paymentId: ""; address: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; description: "" }
- ListElement { paymentId: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; address: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; description: "Client from Australia" }
- ListElement { paymentId: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; address: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; description: "Client from Australia" }
- ListElement { paymentId: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; address: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; description: "Client from Australia" }
- ListElement { paymentId: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; address: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; description: "Client from Australia" }
- ListElement { paymentId: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; address: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; description: "Client from Australia" }
- ListElement { paymentId: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; address: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; description: "Client from Australia" }
- ListElement { paymentId: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; address: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; description: "Client from Australia" }
- ListElement { paymentId: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; address: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; description: "Client from Australia" }
- ListElement { paymentId: ""; address: "faef56b9acf67a7dba75ec01f403497049d7cff111628edfe7b57278554dc798"; description: "" }
- }
-
Scroll {
id: flickableScroll
anchors.right: table.right
@@ -268,7 +168,7 @@ Rectangle {
id: table
anchors.left: parent.left
anchors.right: parent.right
- anchors.top: header.bottom
+ anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.leftMargin: 14
anchors.rightMargin: 14