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