diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2011-07-07 18:25:27 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2011-07-07 18:25:27 +0200 |
commit | 94fe42a945bc9a5e7091149eb43d90d77165d5a2 (patch) | |
tree | 3a37b816de19a30b88ae875985e3f57c19c1f5b3 | |
parent | 3479849dc47acd2fb1e191ea690a0c507a97bb73 (diff) |
Selection/tab navigation fixes
-rw-r--r-- | src/qt/addressbookpage.cpp | 42 | ||||
-rw-r--r-- | src/qt/addressbookpage.h | 1 | ||||
-rw-r--r-- | src/qt/sendcoinsdialog.cpp | 10 | ||||
-rw-r--r-- | src/qt/transactionview.cpp | 1 |
4 files changed, 28 insertions, 26 deletions
diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp index 67ed0fecca..5127eb6009 100644 --- a/src/qt/addressbookpage.cpp +++ b/src/qt/addressbookpage.cpp @@ -19,7 +19,8 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : switch(mode) { case ForSending: - connect(ui->tableView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(on_buttonBox_accepted())); + connect(ui->tableView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(accept())); + ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->tableView->setFocus(); break; case ForEditing: @@ -34,6 +35,9 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : case ReceivingTab: break; } + ui->tableView->setTabKeyNavigation(false); + + connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(accept())); } AddressBookPage::~AddressBookPage() @@ -127,26 +131,6 @@ void AddressBookPage::on_deleteButton_clicked() } } -void AddressBookPage::on_buttonBox_accepted() -{ - QTableView *table = getCurrentTable(); - QModelIndexList indexes = table->selectionModel()->selectedRows(AddressTableModel::Address); - - foreach (QModelIndex index, indexes) - { - QVariant address = table->model()->data(index); - returnValue = address.toString(); - } - if(!returnValue.isEmpty()) - { - accept(); - } - else - { - reject(); - } -} - void AddressBookPage::selectionChanged() { // Set button states based on selected tab and selection @@ -177,5 +161,21 @@ void AddressBookPage::done(int retval) // When this is a tab/widget and not a model dialog, ignore "done" if(mode == ForEditing) return; + + // Figure out which address was selected, and return it + QTableView *table = getCurrentTable(); + QModelIndexList indexes = table->selectionModel()->selectedRows(AddressTableModel::Address); + + foreach (QModelIndex index, indexes) + { + QVariant address = table->model()->data(index); + returnValue = address.toString(); + } + + if(returnValue.isEmpty()) + { + retval = Rejected; + } + QDialog::done(retval); } diff --git a/src/qt/addressbookpage.h b/src/qt/addressbookpage.h index f25bbc990b..c4039523af 100644 --- a/src/qt/addressbookpage.h +++ b/src/qt/addressbookpage.h @@ -47,7 +47,6 @@ private: QTableView *getCurrentTable(); private slots: - void on_buttonBox_accepted(); void on_deleteButton_clicked(); void on_newAddressButton_clicked(); void on_copyToClipboard_clicked(); diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 8050baff38..2265f88cb0 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -113,11 +113,13 @@ void SendCoinsDialog::on_pasteButton_clicked() void SendCoinsDialog::on_addressBookButton_clicked() { - AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::SendingTab); + AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::SendingTab, this); dlg.setModel(model->getAddressTableModel()); - dlg.exec(); - ui->payTo->setText(dlg.getReturnValue()); - ui->payAmount->setFocus(); + if(dlg.exec()) + { + ui->payTo->setText(dlg.getReturnValue()); + ui->payAmount->setFocus(); + } } void SendCoinsDialog::on_buttonBox_rejected() diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index 037dfbb3ed..5a383da2b8 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -89,6 +89,7 @@ TransactionView::TransactionView(QWidget *parent) : hlayout->addSpacing(width); // Always show scroll bar view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); + view->setTabKeyNavigation(false); transactionView = view; |