Make user action more straightforward in address book

- Add all actions that can be triggered with buttons to the context menu
- Hide delete action from context menu for receiving tab
This commit is contained in:
Wladimir J. van der Laan 2012-05-04 17:56:29 +02:00
parent 1210aa435f
commit 356c3cad1a
2 changed files with 23 additions and 8 deletions

View file

@ -58,25 +58,34 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
ui->signMessage->setVisible(true); ui->signMessage->setVisible(true);
break; break;
} }
ui->tableView->setTabKeyNavigation(false);
ui->tableView->setContextMenuPolicy(Qt::CustomContextMenu);
// Context menu actions // Context menu actions
QAction *copyAddressAction = new QAction(tr("Copy address"), this); QAction *copyLabelAction = new QAction(tr("Copy &Label"), this);
QAction *copyLabelAction = new QAction(tr("Copy label"), this); QAction *copyAddressAction = new QAction(ui->copyToClipboard->text(), this);
QAction *editAction = new QAction(tr("Edit"), this); QAction *editAction = new QAction(tr("&Edit"), this);
deleteAction = new QAction(tr("Delete"), this); QAction *showQRCodeAction = new QAction(ui->showQRCode->text(), this);
QAction *signMessageAction = new QAction(ui->signMessage->text(), this);
deleteAction = new QAction(ui->deleteButton->text(), this);
// Build context menu
contextMenu = new QMenu(); contextMenu = new QMenu();
contextMenu->addAction(copyAddressAction); contextMenu->addAction(copyAddressAction);
contextMenu->addAction(copyLabelAction); contextMenu->addAction(copyLabelAction);
contextMenu->addAction(editAction); contextMenu->addAction(editAction);
if(tab == SendingTab)
contextMenu->addAction(deleteAction); contextMenu->addAction(deleteAction);
contextMenu->addSeparator();
contextMenu->addAction(showQRCodeAction);
if(tab == ReceivingTab)
contextMenu->addAction(signMessageAction);
// Connect signals for context menu actions
connect(copyAddressAction, SIGNAL(triggered()), this, SLOT(on_copyToClipboard_clicked())); connect(copyAddressAction, SIGNAL(triggered()), this, SLOT(on_copyToClipboard_clicked()));
connect(copyLabelAction, SIGNAL(triggered()), this, SLOT(onCopyLabelAction())); connect(copyLabelAction, SIGNAL(triggered()), this, SLOT(onCopyLabelAction()));
connect(editAction, SIGNAL(triggered()), this, SLOT(onEditAction())); connect(editAction, SIGNAL(triggered()), this, SLOT(onEditAction()));
connect(deleteAction, SIGNAL(triggered()), this, SLOT(on_deleteButton_clicked())); connect(deleteAction, SIGNAL(triggered()), this, SLOT(on_deleteButton_clicked()));
connect(showQRCodeAction, SIGNAL(triggered()), this, SLOT(on_showQRCode_clicked()));
connect(signMessageAction, SIGNAL(triggered()), this, SLOT(on_signMessage_clicked()));
connect(ui->tableView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextualMenu(QPoint))); connect(ui->tableView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextualMenu(QPoint)));

View file

@ -29,9 +29,15 @@
</item> </item>
<item> <item>
<widget class="QTableView" name="tableView"> <widget class="QTableView" name="tableView">
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Double-click to edit address or label</string> <string>Double-click to edit address or label</string>
</property> </property>
<property name="tabKeyNavigation">
<bool>false</bool>
</property>
<property name="alternatingRowColors"> <property name="alternatingRowColors">
<bool>true</bool> <bool>true</bool>
</property> </property>
@ -71,7 +77,7 @@
<string>Copy the currently selected address to the system clipboard</string> <string>Copy the currently selected address to the system clipboard</string>
</property> </property>
<property name="text"> <property name="text">
<string>&amp;Copy to Clipboard</string> <string>&amp;Copy Address</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset resource="../bitcoin.qrc"> <iconset resource="../bitcoin.qrc">