address book edit: edit the right row

This commit is contained in:
Wladimir J. van der Laan 2011-06-10 20:06:59 +02:00
parent 66d536ed07
commit c30075142f

View file

@ -82,7 +82,7 @@ void AddressBookDialog::on_copyToClipboard_clicked()
foreach (QModelIndex index, indexes)
{
QVariant address = table->model()->data(index);
QVariant address = index.data();
QApplication::clipboard()->setText(address.toString());
}
}
@ -94,6 +94,9 @@ void AddressBookDialog::on_editButton_clicked()
{
return;
}
/* Map selected index to source address book model */
QAbstractProxyModel *proxy_model = static_cast<QAbstractProxyModel*>(getCurrentTable()->model());
QModelIndex selected = proxy_model->mapToSource(indexes.at(0));
/* Double click also triggers edit button */
EditAddressDialog dlg(
@ -101,7 +104,7 @@ void AddressBookDialog::on_editButton_clicked()
EditAddressDialog::EditSendingAddress :
EditAddressDialog::EditReceivingAddress);
dlg.setModel(model);
dlg.loadRow(indexes.at(0).row());
dlg.loadRow(selected.row());
if(dlg.exec())
{
dlg.saveCurrentRow();