aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pages/AddressBook.qml11
-rw-r--r--src/libwalletqt/AddressBook.cpp16
-rw-r--r--src/libwalletqt/AddressBook.h1
3 files changed, 22 insertions, 6 deletions
diff --git a/pages/AddressBook.qml b/pages/AddressBook.qml
index 574e7384..168f5b18 100644
--- a/pages/AddressBook.qml
+++ b/pages/AddressBook.qml
@@ -313,11 +313,12 @@ Rectangle {
MoneroComponents.Label {
fontSize: 32
wrapMode: Text.WordWrap
- text: (root.editEntry ? qsTr("Edit an address") : qsTr("Add an address")) + translationManager.emptyString
+ text: (root.editEntry ? qsTr("Edit entry") : qsTr("Add an address")) + translationManager.emptyString
}
MoneroComponents.LineEditMulti {
id: addressLine
+ visible: !root.editEntry
Layout.topMargin: 20
KeyNavigation.backtab: deleteButton.visible ? deleteButton: cancelButton
KeyNavigation.tab: resolveButton.visible ? resolveButton : descriptionLine
@@ -444,7 +445,7 @@ Rectangle {
enabled: root.checkInformation(addressLine.text, appWindow.persistentSettings.nettype)
onClicked: {
console.log("Add")
- if (!currentWallet.addressBook.addRow(addressLine.text.trim(),"", descriptionLine.text)) {
+ if (!root.editEntry && !currentWallet.addressBook.addRow(addressLine.text.trim(),"", descriptionLine.text)) {
informationPopup.title = qsTr("Error") + translationManager.emptyString;
// TODO: check currentWallet.addressBook.errorString() instead.
if(currentWallet.addressBook.errorCode() === AddressBook.Invalid_Address)
@@ -457,11 +458,9 @@ Rectangle {
informationPopup.onCloseCallback = null
informationPopup.open();
} else {
- if (root.editEntry) {
- currentWallet.addressBook.deleteRow(addressBookListView.currentIndex);
- }
- root.showAddressBook();
+ currentWallet.addressBook.setDescription(addressBookListView.currentIndex, descriptionLine.text);
}
+ root.showAddressBook()
}
}
diff --git a/src/libwalletqt/AddressBook.cpp b/src/libwalletqt/AddressBook.cpp
index 6fb5e93f..4460ef7d 100644
--- a/src/libwalletqt/AddressBook.cpp
+++ b/src/libwalletqt/AddressBook.cpp
@@ -132,3 +132,19 @@ QString AddressBook::getDescription(const QString &address) const
}
return QString::fromStdString(m_rows.value(*it)->getDescription());
}
+
+void AddressBook::setDescription(int index, const QString &description)
+{
+ bool result;
+
+ {
+ QWriteLocker locker(&m_lock);
+
+ result = m_addressBookImpl->setDescription(index, description.toStdString());
+ }
+
+ if (result)
+ {
+ getAll();
+ }
+ }
diff --git a/src/libwalletqt/AddressBook.h b/src/libwalletqt/AddressBook.h
index d74f05d4..a7551ac5 100644
--- a/src/libwalletqt/AddressBook.h
+++ b/src/libwalletqt/AddressBook.h
@@ -52,6 +52,7 @@ public:
Q_INVOKABLE QString errorString() const;
Q_INVOKABLE int errorCode() const;
Q_INVOKABLE QString getDescription(const QString &address) const;
+ Q_INVOKABLE void setDescription(int index, const QString &label);
enum ErrorCode {
Status_Ok,