aboutsummaryrefslogtreecommitdiff
path: root/gui/include/bitcoingui.h
blob: 955d7b47810abe19ddcc3b36ef0a502bcc3403de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#ifndef BITCOINGUI_H
#define BITCOINGUI_H

#include <QMainWindow>
#include <QSystemTrayIcon>

/* Forward declarations */
class TransactionTableModel;
class ClientModel;

QT_BEGIN_NAMESPACE
class QLabel;
class QLineEdit;
QT_END_NAMESPACE

class BitcoinGUI : public QMainWindow
{
    Q_OBJECT
public:
    explicit BitcoinGUI(QWidget *parent = 0);
    void setModel(ClientModel *model);
    
    /* Transaction table tab indices */
    enum {
        AllTransactions = 0,
        SentReceived = 1,
        Sent = 2,
        Received = 3
    } TabIndex;
private:
    TransactionTableModel *transaction_model;
    ClientModel *model;

    QLineEdit *address;
    QLabel *labelBalance;
    QLabel *labelConnections;
    QLabel *labelBlocks;
    QLabel *labelTransactions;

    QAction *quit;
    QAction *sendcoins;
    QAction *addressbook;
    QAction *about;
    QAction *receiving_addresses;
    QAction *options;
    QAction *openBitCoin;

    QSystemTrayIcon *trayIcon;

    void createActions();
    QWidget *createTabs();
    void createTrayIcon();

public slots:
    void setBalance(qint64 balance);
    void setAddress(const QString &address);
    void setNumConnections(int count);
    void setNumBlocks(int count);
    void setNumTransactions(int count);

private slots:
    void sendcoinsClicked();
    void addressbookClicked();
    void optionsClicked();
    void receivingAddressesClicked();
    void aboutClicked();

    void newAddressClicked();
    void copyClipboardClicked();
    void error(const QString &title, const QString &message);
};

#endif