mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 06:58:57 +01:00
Merge bitcoin-core/gui#263: Revamp context menus
16c157de3cqt, refactor: Use better QMenu::addAction overloaded function (Hennadii Stepanov)79311750b5qt: Do not assign Alt+<KEY> shortcuts to context menu actions (Hennadii Stepanov)963e12058fqt: Drop menu separator that separates nothing (Hennadii Stepanov)1398a6536cqt, refactor: Make AddressBookPage::deleteAction a local variable (Hennadii Stepanov) Pull request description: This PR: 1. removes useless `Alt` + `<KEY>` shortcuts from context menu items 2. replaces 3 lines of code with the only call of [`QMenu::addAction`](https://doc.qt.io/qt-5/qmenu.html#addAction-5) for each context menu item (it became possible since https://github.com/bitcoin/bitcoin/pull/21286 was merged) 3. makes other minor cleanups No behavior change. ACKs for top commit: kristapsk: ACK16c157de3cpromag: Code review ACK16c157de3c. Nice code cleanup that takes advantage of more recent Qt API. jarolrod: ACK16c157de3cTree-SHA512: e5555fe957058cc67b351aaf9f09fe3635edb2d07a2223d3093913a25607ae538f0a2fde84c0b0cd43e7475b248949548eb4a5d4b21d8f7391fa2fa8541c04ff
This commit is contained in:
@@ -112,29 +112,17 @@ AddressBookPage::AddressBookPage(const PlatformStyle *platformStyle, Mode _mode,
|
||||
break;
|
||||
}
|
||||
|
||||
// Context menu actions
|
||||
QAction *copyAddressAction = new QAction(tr("&Copy Address"), this);
|
||||
QAction *copyLabelAction = new QAction(tr("Copy &Label"), this);
|
||||
QAction *editAction = new QAction(tr("&Edit"), this);
|
||||
deleteAction = new QAction(ui->deleteAddress->text(), this);
|
||||
|
||||
// Build context menu
|
||||
contextMenu = new QMenu(this);
|
||||
contextMenu->addAction(copyAddressAction);
|
||||
contextMenu->addAction(copyLabelAction);
|
||||
contextMenu->addAction(editAction);
|
||||
if(tab == SendingTab)
|
||||
contextMenu->addAction(deleteAction);
|
||||
contextMenu->addSeparator();
|
||||
contextMenu->addAction(tr("Copy Address"), this, &AddressBookPage::on_copyAddress_clicked);
|
||||
contextMenu->addAction(tr("Copy Label"), this, &AddressBookPage::onCopyLabelAction);
|
||||
contextMenu->addAction(tr("Edit"), this, &AddressBookPage::onEditAction);
|
||||
|
||||
// Connect signals for context menu actions
|
||||
connect(copyAddressAction, &QAction::triggered, this, &AddressBookPage::on_copyAddress_clicked);
|
||||
connect(copyLabelAction, &QAction::triggered, this, &AddressBookPage::onCopyLabelAction);
|
||||
connect(editAction, &QAction::triggered, this, &AddressBookPage::onEditAction);
|
||||
connect(deleteAction, &QAction::triggered, this, &AddressBookPage::on_deleteAddress_clicked);
|
||||
if (tab == SendingTab) {
|
||||
contextMenu->addAction(tr("Delete"), this, &AddressBookPage::on_deleteAddress_clicked);
|
||||
}
|
||||
|
||||
connect(ui->tableView, &QWidget::customContextMenuRequested, this, &AddressBookPage::contextualMenu);
|
||||
|
||||
connect(ui->closeButton, &QPushButton::clicked, this, &QDialog::accept);
|
||||
|
||||
GUIUtil::handleCloseWindowShortcut(this);
|
||||
@@ -249,13 +237,11 @@ void AddressBookPage::selectionChanged()
|
||||
// In sending tab, allow deletion of selection
|
||||
ui->deleteAddress->setEnabled(true);
|
||||
ui->deleteAddress->setVisible(true);
|
||||
deleteAction->setEnabled(true);
|
||||
break;
|
||||
case ReceivingTab:
|
||||
// Deleting receiving addresses, however, is not allowed
|
||||
ui->deleteAddress->setEnabled(false);
|
||||
ui->deleteAddress->setVisible(false);
|
||||
deleteAction->setEnabled(false);
|
||||
break;
|
||||
}
|
||||
ui->copyAddress->setEnabled(true);
|
||||
|
||||
Reference in New Issue
Block a user