From 54d608741ef9ed9d7c0ee823a46e1617da1f9e76 Mon Sep 17 00:00:00 2001 From: wqking Date: Thu, 17 Sep 2020 09:23:02 +0800 Subject: [PATCH] Fundamental transaction support UI --- src/qt/forms/sendcoinsdialog.ui | 7 +++++++ src/qt/sendcoinsdialog.cpp | 22 +++++++++++++++++----- src/qt/sendcoinsdialog.h | 3 ++- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui index aab44da2c..03ffa420c 100755 --- a/src/qt/forms/sendcoinsdialog.ui +++ b/src/qt/forms/sendcoinsdialog.ui @@ -1675,6 +1675,13 @@ + + + + FundamentalNode Payment + + + diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 5b4a24333..986f74847 100755 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -59,8 +59,12 @@ SendCoinsDialog::SendCoinsDialog(QWidget* parent) : QDialog(parent, Qt::WindowSy // UTXO Splitter connect(ui->splitBlockCheckBox, SIGNAL(stateChanged(int)), this, SLOT(splitBlockChecked(int))); + connect(ui->splitBlockCheckBox, SIGNAL(stateChanged(int)), this, SLOT(splitBlockChecked(int))); connect(ui->splitBlockLineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(splitBlockLineEditChanged(const QString&))); + // FN Create Toggle + connect(ui->checkBoxFnPayment, SIGNAL(stateChanged(int)), this, SLOT(ffnPaymentChecked(int))); + // VITAE specific QSettings settings; if (!settings.contains("bUseObfuScation")) @@ -164,7 +168,7 @@ void SendCoinsDialog::setModel(WalletModel* model) setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance(), model->getZerocoinBalance (), model->getUnconfirmedZerocoinBalance (), model->getImmatureZerocoinBalance (), model->getWatchBalance(), model->getWatchUnconfirmedBalance(), model->getWatchImmatureBalance()); - connect(model, SIGNAL(balanceChanged(CAmount, CAmount, CAmount, CAmount, CAmount, CAmount, CAmount, CAmount, CAmount)), this, + connect(model, SIGNAL(balanceChanged(CAmount, CAmount, CAmount, CAmount, CAmount, CAmount, CAmount, CAmount, CAmount)), this, SLOT(setBalance(CAmount, CAmount, CAmount, CAmount, CAmount, CAmount, CAmount, CAmount, CAmount))); connect(model->getOptionsModel(), SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit())); updateDisplayUnit(); @@ -221,6 +225,8 @@ void SendCoinsDialog::on_sendButton_clicked() if (!model || !model->getOptionsModel()) return; + IsFundamentalNodePayment = ui->checkBoxFnPayment->checkState() == Qt::Checked; + QList recipients; bool valid = true; @@ -251,7 +257,7 @@ void SendCoinsDialog::on_sendButton_clicked() return; } - + //set split block in model CoinControlDialog::coinControl->fSplitBlock = ui->splitBlockCheckBox->checkState() == Qt::Checked; @@ -549,7 +555,7 @@ bool SendCoinsDialog::handlePaymentRequest(const SendCoinsRecipient& rv) return true; } -void SendCoinsDialog::setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, +void SendCoinsDialog::setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& zerocoinBalance, const CAmount& unconfirmedZerocoinBalance, const CAmount& immatureZerocoinBalance, const CAmount& watchBalance, const CAmount& watchUnconfirmedBalance, const CAmount& watchImmatureBalance) { @@ -574,7 +580,7 @@ void SendCoinsDialog::updateDisplayUnit() TRY_LOCK(cs_main, lockMain); if (!lockMain) return; - setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance(), + setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance(), model->getZerocoinBalance (), model->getUnconfirmedZerocoinBalance (), model->getImmatureZerocoinBalance (), model->getWatchBalance(), model->getWatchUnconfirmedBalance(), model->getWatchImmatureBalance()); coinControlUpdateLabels(); @@ -594,7 +600,7 @@ void SendCoinsDialog::updateSwiftTX() void SendCoinsDialog::processSendCoinsReturn(const WalletModel::SendCoinsReturn& sendCoinsReturn, const QString& msgArg, bool fPrepare) { bool fAskForUnlock = false; - + QPair msgParams; // Default to a warning message, override if error message is needed msgParams.second = CClientUIInterface::MSG_WARNING; @@ -755,6 +761,12 @@ void SendCoinsDialog::updateSmartFeeLabel() updateFeeMinimizedLabel(); } +// FN checkbox +void SendCoinsDialog::ffnPaymentChecked(int state) +{ + // TODO: display warning-disclaimer message about burn +} + // UTXO splitter void SendCoinsDialog::splitBlockChecked(int state) { diff --git a/src/qt/sendcoinsdialog.h b/src/qt/sendcoinsdialog.h index bb09b340d..101fbd559 100755 --- a/src/qt/sendcoinsdialog.h +++ b/src/qt/sendcoinsdialog.h @@ -54,7 +54,7 @@ public slots: void accept(); SendCoinsEntry* addEntry(); void updateTabsAndLabels(); - void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, + void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& zerocoinBalance, const CAmount& unconfirmedZerocoinBalance, const CAmount& immatureZerocoinBalance, const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance); @@ -100,6 +100,7 @@ private slots: void updateMinFeeLabel(); void updateSmartFeeLabel(); void updateGlobalFeeVariables(); + void ffnPaymentChecked(int state); signals: // Fired when a message should be reported to the user