@@ -157,17 +157,40 @@ void ReceiveCoinsDialog::on_receiveButton_clicked()
157
157
}
158
158
}
159
159
address = model->getAddressTableModel ()->addRow (AddressTableModel::Receive, label, " " , address_type);
160
- SendCoinsRecipient info (address, label,
161
- ui->reqAmount ->value (), ui->reqMessage ->text ());
162
- ReceiveRequestDialog *dialog = new ReceiveRequestDialog (this );
163
- dialog->setAttribute (Qt::WA_DeleteOnClose);
164
- dialog->setModel (model);
165
- dialog->setInfo (info);
166
- dialog->show ();
167
- clear ();
168
160
169
- /* Store request for later reference */
170
- model->getRecentRequestsTableModel ()->addNewRequest (info);
161
+ switch (model->getAddressTableModel ()->getEditStatus ())
162
+ {
163
+ case AddressTableModel::EditStatus::OK: {
164
+ // Success
165
+ SendCoinsRecipient info (address, label,
166
+ ui->reqAmount ->value (), ui->reqMessage ->text ());
167
+ ReceiveRequestDialog *dialog = new ReceiveRequestDialog (this );
168
+ dialog->setAttribute (Qt::WA_DeleteOnClose);
169
+ dialog->setModel (model);
170
+ dialog->setInfo (info);
171
+ dialog->show ();
172
+
173
+ /* Store request for later reference */
174
+ model->getRecentRequestsTableModel ()->addNewRequest (info);
175
+ break ;
176
+ }
177
+ case AddressTableModel::EditStatus::WALLET_UNLOCK_FAILURE:
178
+ QMessageBox::critical (this , windowTitle (),
179
+ tr (" Could not unlock wallet." ),
180
+ QMessageBox::Ok, QMessageBox::Ok);
181
+ break ;
182
+ case AddressTableModel::EditStatus::KEY_GENERATION_FAILURE:
183
+ QMessageBox::critical (this , windowTitle (),
184
+ tr (" Could not generate new %1 address" ).arg (QString::fromStdString (FormatOutputType (address_type))),
185
+ QMessageBox::Ok, QMessageBox::Ok);
186
+ break ;
187
+ // These aren't valid return values for our action
188
+ case AddressTableModel::EditStatus::INVALID_ADDRESS:
189
+ case AddressTableModel::EditStatus::DUPLICATE_ADDRESS:
190
+ case AddressTableModel::EditStatus::NO_CHANGES:
191
+ assert (false );
192
+ }
193
+ clear ();
171
194
}
172
195
173
196
void ReceiveCoinsDialog::on_recentRequestsView_doubleClicked (const QModelIndex &index)
0 commit comments