Browse Source

Selection/tab navigation fixes

miguelfreitas
Wladimir J. van der Laan 14 years ago
parent
commit
94fe42a945
  1. 42
      src/qt/addressbookpage.cpp
  2. 1
      src/qt/addressbookpage.h
  3. 6
      src/qt/sendcoinsdialog.cpp
  4. 1
      src/qt/transactionview.cpp

42
src/qt/addressbookpage.cpp

@ -19,7 +19,8 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
switch(mode) switch(mode)
{ {
case ForSending: 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(); ui->tableView->setFocus();
break; break;
case ForEditing: case ForEditing:
@ -34,6 +35,9 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
case ReceivingTab: case ReceivingTab:
break; break;
} }
ui->tableView->setTabKeyNavigation(false);
connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
} }
AddressBookPage::~AddressBookPage() 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() void AddressBookPage::selectionChanged()
{ {
// Set button states based on selected tab and selection // 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" // When this is a tab/widget and not a model dialog, ignore "done"
if(mode == ForEditing) if(mode == ForEditing)
return; 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); QDialog::done(retval);
} }

1
src/qt/addressbookpage.h

@ -47,7 +47,6 @@ private:
QTableView *getCurrentTable(); QTableView *getCurrentTable();
private slots: private slots:
void on_buttonBox_accepted();
void on_deleteButton_clicked(); void on_deleteButton_clicked();
void on_newAddressButton_clicked(); void on_newAddressButton_clicked();
void on_copyToClipboard_clicked(); void on_copyToClipboard_clicked();

6
src/qt/sendcoinsdialog.cpp

@ -113,11 +113,13 @@ void SendCoinsDialog::on_pasteButton_clicked()
void SendCoinsDialog::on_addressBookButton_clicked() void SendCoinsDialog::on_addressBookButton_clicked()
{ {
AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::SendingTab); AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::SendingTab, this);
dlg.setModel(model->getAddressTableModel()); dlg.setModel(model->getAddressTableModel());
dlg.exec(); if(dlg.exec())
{
ui->payTo->setText(dlg.getReturnValue()); ui->payTo->setText(dlg.getReturnValue());
ui->payAmount->setFocus(); ui->payAmount->setFocus();
}
} }
void SendCoinsDialog::on_buttonBox_rejected() void SendCoinsDialog::on_buttonBox_rejected()

1
src/qt/transactionview.cpp

@ -89,6 +89,7 @@ TransactionView::TransactionView(QWidget *parent) :
hlayout->addSpacing(width); hlayout->addSpacing(width);
// Always show scroll bar // Always show scroll bar
view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
view->setTabKeyNavigation(false);
transactionView = view; transactionView = view;

Loading…
Cancel
Save