ui->sendTableView->setFocus();
break;
}
+
+ connect(ui->tabWidget, SIGNAL(currentChanged(int)), this, SLOT(selectionChanged()));
}
AddressBookDialog::~AddressBookDialog()
ui->sendTableView->horizontalHeader()->setResizeMode(
AddressTableModel::Label, QHeaderView::Stretch);
+ connect(ui->receiveTableView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
+ this, SLOT(selectionChanged()));
+ connect(ui->sendTableView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
+ this, SLOT(selectionChanged()));
+
if(mode == ForSending)
{
// Auto-select first row when in sending mode
void AddressBookDialog::setTab(int tab)
{
ui->tabWidget->setCurrentIndex(tab);
- on_tabWidget_currentChanged(tab);
+ selectionChanged();
}
QTableView *AddressBookDialog::getCurrentTable()
dlg.exec();
}
-void AddressBookDialog::on_tabWidget_currentChanged(int index)
-{
- // Enable/disable buttons based on selected tab
- switch(index)
- {
- case SendingTab:
- ui->deleteButton->setEnabled(true);
- break;
- case ReceivingTab:
- ui->deleteButton->setEnabled(false);
- break;
- }
-}
-
void AddressBookDialog::on_deleteButton_clicked()
{
QTableView *table = getCurrentTable();
}
}
+void AddressBookDialog::selectionChanged()
+{
+ // Set button states based on selected tab and selection
+ QTableView *table = getCurrentTable();
+
+ if(table->selectionModel()->hasSelection())
+ {
+ switch(ui->tabWidget->currentIndex())
+ {
+ case SendingTab:
+ ui->deleteButton->setEnabled(true);
+ break;
+ case ReceivingTab:
+ ui->deleteButton->setEnabled(false);
+ break;
+ }
+ ui->copyToClipboard->setEnabled(true);
+ }
+ else
+ {
+ ui->deleteButton->setEnabled(false);
+ ui->copyToClipboard->setEnabled(false);
+ }
+}
QT_BEGIN_NAMESPACE
class QTableView;
+class QItemSelection;
QT_END_NAMESPACE
class AddressBookDialog : public QDialog
private slots:
void on_buttonBox_accepted();
void on_deleteButton_clicked();
- void on_tabWidget_currentChanged(int index);
void on_newAddressButton_clicked();
void on_copyToClipboard_clicked();
+ void selectionChanged();
};
#endif // ADDRESSBOOKDIALOG_H