diff --git a/src/memodialog.ui b/src/memodialog.ui
new file mode 100644
index 0000000..0cbe59a
--- /dev/null
+++ b/src/memodialog.ui
@@ -0,0 +1,97 @@
+
+
+ MemoDialog
+
+
+
+ 0
+ 0
+ 618
+ 115
+
+
+
+ Dialog
+
+
+ -
+
+
+ -
+
+
+ Memo
+
+
+
+ -
+
+
+ 6 / 512
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QDialogButtonBox::Cancel|QDialogButtonBox::Ok
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+
+
+ buttonBox
+ accepted()
+ MemoDialog
+ accept()
+
+
+ 248
+ 254
+
+
+ 157
+ 274
+
+
+
+
+ buttonBox
+ rejected()
+ MemoDialog
+ reject()
+
+
+ 316
+ 260
+
+
+ 286
+ 274
+
+
+
+
+
diff --git a/src/rpc.cpp b/src/rpc.cpp
index ceb60b0..5837697 100644
--- a/src/rpc.cpp
+++ b/src/rpc.cpp
@@ -615,8 +615,7 @@ void RPC::refreshTransactions() {
QString::fromStdString(it["txid"]),
it["amount"].get() + fee,
it["confirmations"].get(),
- "", ""
- };
+ "", "" };
txdata.push_back(tx);
}
diff --git a/src/sendtab.cpp b/src/sendtab.cpp
index 5a3c623..c7be3b8 100644
--- a/src/sendtab.cpp
+++ b/src/sendtab.cpp
@@ -1,6 +1,7 @@
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "ui_confirm.h"
+#include "ui_memodialog.h"
#include "settings.h"
#include "rpc.h"
#include "utils.h"
@@ -238,13 +239,30 @@ void MainWindow::memoButtonClicked(int number) {
QString currentMemo = memoTxt->text();
// Ref to see if the button was clicked
- bool ok;
- QString newMemo = QInputDialog::getText(this, "Memo",
- "Please type a memo to include with the amount. The memo will be visible to the recepient",
- QLineEdit::Normal, currentMemo, &ok);
- if (ok) {
- memoTxt->setText(newMemo);
+ // bool ok;
+ // QString newMemo = QInputDialog::getText(this, "Memo",
+ // "Please type a memo to include with the amount. The memo will be visible to the recepient",
+ // QLineEdit::Normal, currentMemo, &ok);
+ Ui_MemoDialog memoDialog;
+ QDialog dialog(this);
+ memoDialog.setupUi(&dialog);
+
+ QObject::connect(memoDialog.memoTxt, &QLineEdit::textChanged, [=] (QString txt) {
+ memoDialog.memoSize->setText(QString::number(txt.toUtf8().size()) + "/512");
+
+ memoDialog.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(txt.toUtf8().size() <= 512);
+ if (txt.toUtf8().size() > 512) {
+ memoDialog.memoSize->setStyleSheet("color: red;");
+ } else {
+ memoDialog.memoSize->setStyleSheet("");
+ }
+ });
+ memoDialog.memoTxt->setText(currentMemo);
+
+ if (dialog.exec() == QDialog::Accepted) {
+ memoTxt->setText(memoDialog.memoTxt->text());
}
+
}
void MainWindow::removeExtraAddresses() {
diff --git a/src/ui_memodialog.h b/src/ui_memodialog.h
new file mode 100644
index 0000000..bd00d49
--- /dev/null
+++ b/src/ui_memodialog.h
@@ -0,0 +1,90 @@
+/********************************************************************************
+** Form generated from reading UI file 'memodialog.ui'
+**
+** Created by: Qt User Interface Compiler version 5.11.2
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef UI_MEMODIALOG_H
+#define UI_MEMODIALOG_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+QT_BEGIN_NAMESPACE
+
+class Ui_MemoDialog
+{
+public:
+ QGridLayout *gridLayout;
+ QLineEdit *memoTxt;
+ QLabel *label;
+ QLabel *memoSize;
+ QDialogButtonBox *buttonBox;
+ QSpacerItem *verticalSpacer;
+
+ void setupUi(QDialog *MemoDialog)
+ {
+ if (MemoDialog->objectName().isEmpty())
+ MemoDialog->setObjectName(QStringLiteral("MemoDialog"));
+ MemoDialog->resize(618, 115);
+ gridLayout = new QGridLayout(MemoDialog);
+ gridLayout->setObjectName(QStringLiteral("gridLayout"));
+ memoTxt = new QLineEdit(MemoDialog);
+ memoTxt->setObjectName(QStringLiteral("memoTxt"));
+
+ gridLayout->addWidget(memoTxt, 1, 0, 1, 2);
+
+ label = new QLabel(MemoDialog);
+ label->setObjectName(QStringLiteral("label"));
+
+ gridLayout->addWidget(label, 0, 0, 1, 1);
+
+ memoSize = new QLabel(MemoDialog);
+ memoSize->setObjectName(QStringLiteral("memoSize"));
+ memoSize->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
+
+ gridLayout->addWidget(memoSize, 0, 1, 1, 1);
+
+ buttonBox = new QDialogButtonBox(MemoDialog);
+ buttonBox->setObjectName(QStringLiteral("buttonBox"));
+ buttonBox->setOrientation(Qt::Horizontal);
+ buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
+
+ gridLayout->addWidget(buttonBox, 3, 0, 1, 2);
+
+ verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
+
+ gridLayout->addItem(verticalSpacer, 2, 0, 1, 2);
+
+
+ retranslateUi(MemoDialog);
+ QObject::connect(buttonBox, SIGNAL(accepted()), MemoDialog, SLOT(accept()));
+ QObject::connect(buttonBox, SIGNAL(rejected()), MemoDialog, SLOT(reject()));
+
+ QMetaObject::connectSlotsByName(MemoDialog);
+ } // setupUi
+
+ void retranslateUi(QDialog *MemoDialog)
+ {
+ MemoDialog->setWindowTitle(QApplication::translate("MemoDialog", "Dialog", nullptr));
+ label->setText(QApplication::translate("MemoDialog", "Memo", nullptr));
+ memoSize->setText(QApplication::translate("MemoDialog", "6 / 512", nullptr));
+ } // retranslateUi
+
+};
+
+namespace Ui {
+ class MemoDialog: public Ui_MemoDialog {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // UI_MEMODIALOG_H
diff --git a/zec-qt-wallet.pro b/zec-qt-wallet.pro
index c483f19..61763b5 100644
--- a/zec-qt-wallet.pro
+++ b/zec-qt-wallet.pro
@@ -71,7 +71,8 @@ FORMS += \
src/mainwindow.ui \
src/settings.ui \
src/about.ui \
- src/confirm.ui
+ src/confirm.ui \
+ src/memodialog.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin