X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fqt%2Fsendcoinsdialog.cpp;h=592ae6f45ab44afba2bb1a41328aa75a95e06e34;hb=d652709abaccff37c1e5ea36a8334ad643809d23;hp=762f27dfa66fa1e487269496f8a4f72caabc0b24;hpb=dead0ff8cd90eb39f1d9278539d2b3579982b3de;p=novacoin.git diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 762f27d..592ae6f 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -11,6 +11,7 @@ #include #include #include +#include SendCoinsDialog::SendCoinsDialog(QWidget *parent) : QDialog(parent), @@ -29,6 +30,8 @@ SendCoinsDialog::SendCoinsDialog(QWidget *parent) : connect(ui->addButton, SIGNAL(clicked()), this, SLOT(addEntry())); connect(ui->clearButton, SIGNAL(clicked()), this, SLOT(clear())); + + fNewRecipientAllowed = true; } void SendCoinsDialog::setModel(WalletModel *model) @@ -91,6 +94,8 @@ void SendCoinsDialog::on_sendButton_clicked() formatted.append(tr("%1 to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), Qt::escape(rcp.label), rcp.address)); } + fNewRecipientAllowed = false; + QMessageBox::StandardButton retval = QMessageBox::question(this, tr("Confirm send coins"), tr("Are you sure you want to send %1?").arg(formatted.join(tr(" and "))), QMessageBox::Yes|QMessageBox::Cancel, @@ -98,6 +103,7 @@ void SendCoinsDialog::on_sendButton_clicked() if(retval != QMessageBox::Yes) { + fNewRecipientAllowed = true; return; } @@ -105,6 +111,7 @@ void SendCoinsDialog::on_sendButton_clicked() if(!ctx.isValid()) { // Unlock wallet was cancelled + fNewRecipientAllowed = true; return; } @@ -151,6 +158,7 @@ void SendCoinsDialog::on_sendButton_clicked() accept(); break; } + fNewRecipientAllowed = true; } void SendCoinsDialog::clear() @@ -188,6 +196,12 @@ SendCoinsEntry *SendCoinsDialog::addEntry() // Focus the field, so that entry can start immediately entry->clear(); + entry->setFocus(); + ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->sizeHint()); + QCoreApplication::instance()->processEvents(); + QScrollBar* bar = ui->scrollArea->verticalScrollBar(); + if (bar) + bar->setSliderPosition(bar->maximum()); return entry; } @@ -229,6 +243,9 @@ QWidget *SendCoinsDialog::setupTabChain(QWidget *prev) void SendCoinsDialog::pasteEntry(const SendCoinsRecipient &rv) { + if (!fNewRecipientAllowed) + return; + SendCoinsEntry *entry = 0; // Replace the first entry if it is still unused if(ui->entries->count() == 1) @@ -248,10 +265,10 @@ void SendCoinsDialog::pasteEntry(const SendCoinsRecipient &rv) } -void SendCoinsDialog::handleURL(const QUrl *url) +void SendCoinsDialog::handleURI(const QString &uri) { SendCoinsRecipient rv; - if(!GUIUtil::parseBitcoinURL(url, &rv)) + if(!GUIUtil::parseBitcoinURI(uri, &rv)) { return; }