diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2013-04-12 12:24:41 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2013-04-12 13:13:32 +0200 |
commit | 45155d3010a3bbbe3cfbba670538ae18b9772a39 (patch) | |
tree | ce1a8631df298aef4bda092143651ddf70234769 | |
parent | 2aa462ec30c3960ae546e4d8d50fdbaffefef718 (diff) |
qt: move export button to tabs
Having the export button at the top was confusing people into thinking
the entire wallet was exported.
This commit moves the export button to the address book, receiving
addresses and transaction tabs separately.
-rw-r--r-- | src/qt/addressbookpage.cpp | 4 | ||||
-rw-r--r-- | src/qt/addressbookpage.h | 3 | ||||
-rw-r--r-- | src/qt/bitcoingui.cpp | 8 | ||||
-rw-r--r-- | src/qt/bitcoingui.h | 2 | ||||
-rw-r--r-- | src/qt/forms/addressbookpage.ui | 14 | ||||
-rw-r--r-- | src/qt/walletview.cpp | 30 |
6 files changed, 31 insertions, 30 deletions
diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp index 23c69fef21..8529c88b39 100644 --- a/src/qt/addressbookpage.cpp +++ b/src/qt/addressbookpage.cpp @@ -33,6 +33,7 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : ui->deleteAddress->setIcon(QIcon()); ui->verifyMessage->setIcon(QIcon()); ui->signMessage->setIcon(QIcon()); + ui->exportButton->setIcon(QIcon()); #endif #ifndef USE_QRCODE @@ -45,6 +46,7 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : connect(ui->tableView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(accept())); ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->tableView->setFocus(); + ui->exportButton->hide(); break; case ForEditing: ui->buttonBox->setVisible(false); @@ -323,7 +325,7 @@ void AddressBookPage::done(int retval) QDialog::done(retval); } -void AddressBookPage::exportClicked() +void AddressBookPage::on_exportButton_clicked() { // CSV is currently the only supported format QString filename = GUIUtil::getSaveFileName( diff --git a/src/qt/addressbookpage.h b/src/qt/addressbookpage.h index 0631781685..34465aa65f 100644 --- a/src/qt/addressbookpage.h +++ b/src/qt/addressbookpage.h @@ -43,7 +43,6 @@ public: public slots: void done(int retval); - void exportClicked(); private: Ui::AddressBookPage *ui; @@ -76,6 +75,8 @@ private slots: void onCopyLabelAction(); /** Edit currently selected address entry (no button) */ void onEditAction(); + /** Export button clicked */ + void on_exportButton_clicked(); /** Set button states based on selected tab and selection */ void selectionChanged(); diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 27272e69e1..ada55c45ed 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -236,9 +236,6 @@ void BitcoinGUI::createActions() verifyMessageAction = new QAction(QIcon(":/icons/transaction_0"), tr("&Verify message..."), this); verifyMessageAction->setStatusTip(tr("Verify messages to ensure they were signed with specified Bitcoin addresses")); - exportAction = new QAction(QIcon(":/icons/export"), tr("&Export..."), this); - exportAction->setStatusTip(tr("Export the data in the current tab to a file")); - exportAction->setToolTip(exportAction->statusTip()); openRPCConsoleAction = new QAction(QIcon(":/icons/debugwindow"), tr("&Debug window"), this); openRPCConsoleAction->setStatusTip(tr("Open debugging and diagnostic console")); @@ -267,7 +264,6 @@ void BitcoinGUI::createMenuBar() // Configure the menus QMenu *file = appMenuBar->addMenu(tr("&File")); file->addAction(backupWalletAction); - file->addAction(exportAction); file->addAction(signMessageAction); file->addAction(verifyMessageAction); file->addSeparator(); @@ -295,10 +291,6 @@ void BitcoinGUI::createToolBars() toolbar->addAction(receiveCoinsAction); toolbar->addAction(historyAction); toolbar->addAction(addressBookAction); - - QToolBar *toolbar2 = addToolBar(tr("Actions toolbar")); - toolbar2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); - toolbar2->addAction(exportAction); } void BitcoinGUI::setClientModel(ClientModel *clientModel) diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 5f7ef746f9..f361a62a41 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -67,7 +67,6 @@ public: QAction * getAddressBookAction() { return addressBookAction; } QAction * getReceiveCoinsAction() { return receiveCoinsAction; } QAction * getSendCoinsAction() { return sendCoinsAction; } - QAction * getExportAction() { return exportAction; } protected: void changeEvent(QEvent *e); @@ -98,7 +97,6 @@ private: QAction *receiveCoinsAction; QAction *optionsAction; QAction *toggleHideAction; - QAction *exportAction; QAction *encryptWalletAction; QAction *backupWalletAction; QAction *changePassphraseAction; diff --git a/src/qt/forms/addressbookpage.ui b/src/qt/forms/addressbookpage.ui index 3cf307384a..a2a7da34dd 100644 --- a/src/qt/forms/addressbookpage.ui +++ b/src/qt/forms/addressbookpage.ui @@ -149,6 +149,20 @@ </spacer> </item> <item> + <widget class="QPushButton" name="exportButton"> + <property name="toolTip"> + <string>Export the data in the current tab to a file</string> + </property> + <property name="text"> + <string>&Export</string> + </property> + <property name="icon"> + <iconset resource="../bitcoin.qrc"> + <normaloff>:/icons/export</normaloff>:/icons/export</iconset> + </property> + </widget> + </item> + <item> <widget class="QDialogButtonBox" name="buttonBox"> <property name="sizePolicy"> <sizepolicy hsizetype="Maximum" vsizetype="Fixed"> diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp index 1d02b81fb6..727b48ded7 100644 --- a/src/qt/walletview.cpp +++ b/src/qt/walletview.cpp @@ -23,6 +23,7 @@ #include <QAction> #include <QDesktopServices> #include <QFileDialog> +#include <QPushButton> WalletView::WalletView(QWidget *parent, BitcoinGUI *_gui): QStackedWidget(parent), @@ -35,8 +36,17 @@ WalletView::WalletView(QWidget *parent, BitcoinGUI *_gui): transactionsPage = new QWidget(this); QVBoxLayout *vbox = new QVBoxLayout(); + QHBoxLayout *hbox_buttons = new QHBoxLayout(); transactionView = new TransactionView(this); vbox->addWidget(transactionView); + QPushButton *exportButton = new QPushButton("&Export", this); + exportButton->setToolTip(tr("Export the data in the current tab to a file")); +#ifndef Q_OS_MAC // Icons on push buttons are very uncommon on Mac + exportButton->setIcon(QIcon(":/icons/export")); +#endif + hbox_buttons->addStretch(); + hbox_buttons->addWidget(exportButton); + vbox->addLayout(hbox_buttons); transactionsPage->setLayout(vbox); addressBookPage = new AddressBookPage(AddressBookPage::ForEditing, AddressBookPage::SendingTab); @@ -66,6 +76,8 @@ WalletView::WalletView(QWidget *parent, BitcoinGUI *_gui): connect(addressBookPage, SIGNAL(verifyMessage(QString)), this, SLOT(gotoVerifyMessageTab(QString))); // Clicking on "Sign Message" in the receive coins page opens the sign message tab in the Sign/Verify Message dialog connect(receiveCoinsPage, SIGNAL(signMessage(QString)), this, SLOT(gotoSignMessageTab(QString))); + // Clicking on "Export" allows to export the transaction list + connect(exportButton, SIGNAL(clicked()), transactionView, SLOT(exportClicked())); gotoOverviewPage(); } @@ -142,39 +154,24 @@ void WalletView::gotoOverviewPage() { gui->getOverviewAction()->setChecked(true); setCurrentWidget(overviewPage); - - gui->getExportAction()->setEnabled(false); - disconnect(gui->getExportAction(), SIGNAL(triggered()), 0, 0); } void WalletView::gotoHistoryPage() { gui->getHistoryAction()->setChecked(true); setCurrentWidget(transactionsPage); - - gui->getExportAction()->setEnabled(true); - disconnect(gui->getExportAction(), SIGNAL(triggered()), 0, 0); - connect(gui->getExportAction(), SIGNAL(triggered()), transactionView, SLOT(exportClicked())); } void WalletView::gotoAddressBookPage() { gui->getAddressBookAction()->setChecked(true); setCurrentWidget(addressBookPage); - - gui->getExportAction()->setEnabled(true); - disconnect(gui->getExportAction(), SIGNAL(triggered()), 0, 0); - connect(gui->getExportAction(), SIGNAL(triggered()), addressBookPage, SLOT(exportClicked())); } void WalletView::gotoReceiveCoinsPage() { gui->getReceiveCoinsAction()->setChecked(true); setCurrentWidget(receiveCoinsPage); - - gui->getExportAction()->setEnabled(true); - disconnect(gui->getExportAction(), SIGNAL(triggered()), 0, 0); - connect(gui->getExportAction(), SIGNAL(triggered()), receiveCoinsPage, SLOT(exportClicked())); } void WalletView::gotoSendCoinsPage(QString addr) @@ -182,9 +179,6 @@ void WalletView::gotoSendCoinsPage(QString addr) gui->getSendCoinsAction()->setChecked(true); setCurrentWidget(sendCoinsPage); - gui->getExportAction()->setEnabled(false); - disconnect(gui->getExportAction(), SIGNAL(triggered()), 0, 0); - if (!addr.isEmpty()) sendCoinsPage->setAddress(addr); } |