add export functionality for address book / receiving addresses
[novacoin.git] / src / qt / addressbookpage.h
1 #ifndef ADDRESSBOOKPAGE_H
2 #define ADDRESSBOOKPAGE_H
3
4 #include <QDialog>
5
6 namespace Ui {
7     class AddressBookPage;
8 }
9 class AddressTableModel;
10
11 QT_BEGIN_NAMESPACE
12 class QTableView;
13 class QItemSelection;
14 class QSortFilterProxyModel;
15 QT_END_NAMESPACE
16
17 class AddressBookPage : public QDialog
18 {
19     Q_OBJECT
20
21 public:
22     enum Tabs {
23         SendingTab = 0,
24         ReceivingTab = 1
25     };
26
27     enum Mode {
28         ForSending, // Pick address for sending
29         ForEditing  // Open address book for editing
30     };
31
32     explicit AddressBookPage(Mode mode, Tabs tab, QWidget *parent = 0);
33     ~AddressBookPage();
34
35     void setModel(AddressTableModel *model);
36     const QString &getReturnValue() const { return returnValue; }
37
38 public slots:
39     void done(int retval);
40     void exportClicked();
41
42 private:
43     Ui::AddressBookPage *ui;
44     AddressTableModel *model;
45     Mode mode;
46     Tabs tab;
47     QString returnValue;
48     QSortFilterProxyModel *proxyModel;
49
50     QTableView *getCurrentTable();
51
52 private slots:
53     void on_deleteButton_clicked();
54     void on_newAddressButton_clicked();
55     void on_copyToClipboard_clicked();
56     void selectionChanged();
57 };
58
59 #endif // ADDRESSBOOKDIALOG_H