mapper->setCurrentIndex(row);
}
-QString EditAddressDialog::saveCurrentRow()
+bool EditAddressDialog::saveCurrentRow()
{
- QString address;
+ if(!model)
+ return false;
switch(mode)
{
case NewReceivingAddress:
}
break;
}
- return address;
+ return !address.isEmpty();
}
void EditAddressDialog::accept()
{
- if(mode == NewSendingAddress || mode == EditSendingAddress)
+ if(!model)
+ return;
+ if(!saveCurrentRow())
{
- // For sending addresses, check validity
- // Not needed for receiving addresses, as those are generated
- if(!model->validateAddress(ui->addressEdit->text()))
+ switch(model->getEditStatus())
{
+ case AddressTableModel::DUPLICATE_ADDRESS:
+ QMessageBox::warning(this, windowTitle(),
+ tr("The entered address \"%1\" is already in the address book.").arg(ui->addressEdit->text()),
+ QMessageBox::Ok, QMessageBox::Ok);
+ break;
+ case AddressTableModel::INVALID_ADDRESS:
QMessageBox::warning(this, windowTitle(),
tr("The entered address \"%1\" is not a valid bitcoin address.").arg(ui->addressEdit->text()),
QMessageBox::Ok, QMessageBox::Ok);
return;
+ case AddressTableModel::WALLET_UNLOCK_FAILURE:
+ QMessageBox::critical(this, windowTitle(),
+ tr("Could not unlock wallet."),
+ QMessageBox::Ok, QMessageBox::Ok);
+ return;
+ case AddressTableModel::KEY_GENERATION_FAILURE:
+ QMessageBox::critical(this, windowTitle(),
+ tr("New key generation failed."),
+ QMessageBox::Ok, QMessageBox::Ok);
+ return;
+ case AddressTableModel::OK:
+ // Failed with unknown reason. Just reject.
+ break;
}
- }
- if(saveCurrentRow().isEmpty())
- {
- QMessageBox::warning(this, windowTitle(),
- tr("The entered address \"%1\" is already in the address book.").arg(ui->addressEdit->text()),
- QMessageBox::Ok, QMessageBox::Ok);
+
return;
}
QDialog::accept();
}
+QString EditAddressDialog::getAddress() const
+{
+ return address;
+}
+
+void EditAddressDialog::setAddress(const QString &address)
+{
+ this->address = address;
+ ui->addressEdit->setText(address);
+}