5 #include <QSystemTrayIcon>
7 class TransactionTableModel;
10 class TransactionView;
12 class AddressBookPage;
13 class SendCoinsDialog;
19 class QAbstractItemModel;
25 class BitcoinGUI : public QMainWindow
29 explicit BitcoinGUI(QWidget *parent = 0);
30 void setClientModel(ClientModel *clientModel);
31 void setWalletModel(WalletModel *walletModel);
33 /* Transaction table tab indices */
42 void changeEvent(QEvent *e);
43 void closeEvent(QCloseEvent *event);
46 ClientModel *clientModel;
47 WalletModel *walletModel;
49 QStackedWidget *centralWidget;
51 OverviewPage *overviewPage;
52 QWidget *transactionsPage;
53 AddressBookPage *addressBookPage;
54 AddressBookPage *receiveCoinsPage;
55 SendCoinsDialog *sendCoinsPage;
57 QLabel *labelConnections;
58 QLabel *labelConnectionsIcon;
60 QLabel *progressBarLabel;
61 QProgressBar *progressBar;
63 QAction *overviewAction;
64 QAction *historyAction;
66 QAction *sendCoinsAction;
67 QAction *addressBookAction;
69 QAction *receiveCoinsAction;
70 QAction *optionsAction;
71 QAction *openBitcoinAction;
72 QAction *exportAction;
74 QSystemTrayIcon *trayIcon;
75 TransactionView *transactionView;
78 QWidget *createTabs();
79 void createTrayIcon();
82 void setBalance(qint64 balance);
83 void setNumConnections(int count);
84 void setNumBlocks(int count);
85 void setNumTransactions(int count);
86 void error(const QString &title, const QString &message);
87 /* It is currently not possible to pass a return value to another thread through
88 BlockingQueuedConnection, so use an indirected pointer.
89 http://bugreports.qt.nokia.com/browse/QTBUG-10440
91 void askFee(qint64 nFeeRequired, bool *payFee);
95 void gotoOverviewPage();
96 void gotoHistoryPage();
97 void gotoAddressBookPage();
98 void gotoReceiveCoinsPage();
99 void gotoSendCoinsPage();
102 void optionsClicked();
104 void trayIconActivated(QSystemTrayIcon::ActivationReason reason);
105 void transactionDetails(const QModelIndex& idx);
106 void incomingTransaction(const QModelIndex & parent, int start, int end);
107 void exportClicked();