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
;
14 class AddressBookPage
;
21 class QSortFilterProxyModel
;
24 /** Widget that shows a list of sending or receiving addresses.
26 class AddressBookPage
: public QDialog
37 ForSelection
, /**< Open address book to pick address */
38 ForEditing
/**< Open address book for editing */
41 explicit AddressBookPage(const PlatformStyle
*platformStyle
, Mode mode
, Tabs tab
, QWidget
*parent
);
44 void setModel(AddressTableModel
*model
);
45 const QString
&getReturnValue() const { return returnValue
; }
48 void done(int retval
);
51 Ui::AddressBookPage
*ui
;
52 AddressTableModel
*model
;
56 QSortFilterProxyModel
*proxyModel
;
58 QAction
*deleteAction
; // to be able to explicitly disable it
59 QString newAddressToSelect
;
62 /** Delete currently selected address entry */
63 void on_deleteAddress_clicked();
64 /** Create a new address for receiving coins and / or add a new address book entry */
65 void on_newAddress_clicked();
66 /** Copy address of currently selected address entry to clipboard */
67 void on_copyAddress_clicked();
68 /** Copy label of currently selected address entry to clipboard (no button) */
69 void onCopyLabelAction();
70 /** Edit currently selected address entry (no button) */
72 /** Export button clicked */
73 void on_exportButton_clicked();
75 /** Set button states based on selected tab and selection */
76 void selectionChanged();
77 /** Spawn contextual menu (right mouse menu) for address book entry */
78 void contextualMenu(const QPoint
&point
);
79 /** New entry/entries were added to address table */
80 void selectNewAddress(const QModelIndex
&parent
, int begin
, int /*end*/);
83 void sendCoins(QString addr
);
86 #endif // BITCOIN_QT_ADDRESSBOOKPAGE_H