X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fqt%2Feditaddressdialog.cpp;h=3f2f958a1baf363750e8395f940c79ab438823ee;hb=HEAD;hp=8cc3c85d7aeea3a0dabb721f16a72e18c495d7c6;hpb=dead0ff8cd90eb39f1d9278539d2b3579982b3de;p=novacoin.git diff --git a/src/qt/editaddressdialog.cpp b/src/qt/editaddressdialog.cpp index 8cc3c85..3f2f958 100644 --- a/src/qt/editaddressdialog.cpp +++ b/src/qt/editaddressdialog.cpp @@ -1,13 +1,14 @@ #include "editaddressdialog.h" #include "ui_editaddressdialog.h" #include "addresstablemodel.h" +#include "dialogwindowflags.h" #include "guiutil.h" #include #include EditAddressDialog::EditAddressDialog(Mode mode, QWidget *parent) : - QDialog(parent), + QDialog(parent, DIALOGWINDOWHINTS), ui(new Ui::EditAddressDialog), mapper(0), mode(mode), model(0) { ui->setupUi(this); @@ -25,7 +26,7 @@ EditAddressDialog::EditAddressDialog(Mode mode, QWidget *parent) : break; case EditReceivingAddress: setWindowTitle(tr("Edit receiving address")); - ui->addressEdit->setDisabled(true); + ui->addressEdit->setEnabled(false); break; case EditSendingAddress: setWindowTitle(tr("Edit sending address")); @@ -44,6 +45,9 @@ EditAddressDialog::~EditAddressDialog() void EditAddressDialog::setModel(AddressTableModel *model) { this->model = model; + if(!model) + return; + mapper->setModel(model); mapper->addMapping(ui->labelEdit, AddressTableModel::Label); mapper->addMapping(ui->addressEdit, AddressTableModel::Address); @@ -58,6 +62,7 @@ bool EditAddressDialog::saveCurrentRow() { if(!model) return false; + switch(mode) { case NewReceivingAddress: @@ -82,32 +87,39 @@ void EditAddressDialog::accept() { if(!model) return; + if(!saveCurrentRow()) { switch(model->getEditStatus()) { - case AddressTableModel::DUPLICATE_ADDRESS: + case AddressTableModel::OK: + // Failed with unknown reason. Just reject. + break; + case AddressTableModel::NO_CHANGES: + // No changes were made during edit operation. Just reject. + break; + case AddressTableModel::INVALID_ADDRESS: QMessageBox::warning(this, windowTitle(), - tr("The entered address \"%1\" is already in the address book.").arg(ui->addressEdit->text()), + tr("The entered address \"%1\" is not a valid NovaCoin address.").arg(ui->addressEdit->text()), QMessageBox::Ok, QMessageBox::Ok); break; - case AddressTableModel::INVALID_ADDRESS: + case AddressTableModel::DUPLICATE_ADDRESS: QMessageBox::warning(this, windowTitle(), - tr("The entered address \"%1\" is not a valid bitcoin address.").arg(ui->addressEdit->text()), + tr("The entered address \"%1\" is already in the address book.").arg(ui->addressEdit->text()), QMessageBox::Ok, QMessageBox::Ok); - return; + break; case AddressTableModel::WALLET_UNLOCK_FAILURE: QMessageBox::critical(this, windowTitle(), tr("Could not unlock wallet."), QMessageBox::Ok, QMessageBox::Ok); - return; + break; case AddressTableModel::KEY_GENERATION_FAILURE: QMessageBox::critical(this, windowTitle(), tr("New key generation failed."), QMessageBox::Ok, QMessageBox::Ok); - return; - } + break; + } return; } QDialog::accept();