improve address book, add less conspicious toolbar icon
[novacoin.git] / bitcoingui.h
1 #ifndef BITCOINGUI_H
2 #define BITCOINGUI_H
3
4 #include <QMainWindow>
5 #include <QSystemTrayIcon>
6
7 /* Forward declarations */
8 class TransactionTableModel;
9 class QLabel;
10 class QLineEdit;
11
12 class BitcoinGUI : public QMainWindow
13 {
14     Q_OBJECT
15 public:
16     explicit BitcoinGUI(QWidget *parent = 0);
17     
18     /* Transaction table tab indices */
19     enum {
20         AllTransactions = 0,
21         SentReceived = 1,
22         Sent = 2,
23         Received = 3
24     } TabIndex;
25 private:
26     TransactionTableModel *transaction_model;
27
28     QLineEdit *address;
29     QLabel *labelBalance;
30     QLabel *labelConnections;
31     QLabel *labelBlocks;
32     QLabel *labelTransactions;
33
34     QAction *quit;
35     QAction *sendcoins;
36     QAction *addressbook;
37     QAction *about;
38     QAction *receiving_addresses;
39     QAction *options;
40     QAction *openBitCoin;
41
42     QSystemTrayIcon *trayIcon;
43
44     void createActions();
45     QWidget *createTabs();
46     void createTrayIcon();
47
48 public slots:
49     void setBalance(double balance);
50     void setAddress(const QString &address);
51     void setNumConnections(int count);
52     void setNumBlocks(int count);
53     void setNumTransactions(int count);
54
55 private slots:
56     void sendcoinsClicked();
57     void addressbookClicked();
58     void optionsClicked();
59     void receivingAddressesClicked();
60     void aboutClicked();
61
62     void newAddressClicked();
63     void copyClipboardClicked();
64 };
65
66 #endif