1 // Copyright (c) 2011-2015 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 #ifndef BITCOIN_QT_ADDRESSBOOKPAGE_H
6 #define BITCOIN_QT_ADDRESSBOOKPAGE_H
10 class AddressTableModel
;
15 class AddressBookPage
;
22 class QSortFilterProxyModel
;
26 /** Widget that shows a list of sending or receiving addresses.
28 class AddressBookPage
: public QDialog
39 ForSelection
, /**< Open address book to pick address */
40 ForEditing
/**< Open address book for editing */
43 explicit AddressBookPage(const PlatformStyle
*platformStyle
, Mode mode
, Tabs tab
, QWidget
*parent
);
46 void setModel(AddressTableModel
*model
);
47 const QString
&getReturnValue() const { return returnValue
; }
50 void done(int retval
);
53 Ui::AddressBookPage
*ui
;
54 AddressTableModel
*model
;
58 QSortFilterProxyModel
*proxyModel
;
60 QAction
*deleteAction
; // to be able to explicitly disable it
61 QString newAddressToSelect
;
64 /** Delete currently selected address entry */
65 void on_deleteAddress_clicked();
66 /** Create a new address for receiving coins and / or add a new address book entry */
67 void on_newAddress_clicked();
68 /** Copy address of currently selected address entry to clipboard */
69 void on_copyAddress_clicked();
70 /** Copy label of currently selected address entry to clipboard (no button) */
71 void onCopyLabelAction();
72 /** Edit currently selected address entry (no button) */
74 /** Export button clicked */
75 void on_exportButton_clicked();
77 /** Set button states based on selected tab and selection */
78 void selectionChanged();
79 /** Spawn contextual menu (right mouse menu) for address book entry */
80 void contextualMenu(const QPoint
&point
);
81 /** New entry/entries were added to address table */
82 void selectNewAddress(const QModelIndex
&parent
, int begin
, int /*end*/);
85 void sendCoins(QString addr
);
88 #endif // BITCOIN_QT_ADDRESSBOOKPAGE_H