5 #include <QSystemTrayIcon>
7 class TransactionTableModel;
10 class TransactionView;
17 class QAbstractItemModel;
23 class BitcoinGUI : public QMainWindow
27 explicit BitcoinGUI(QWidget *parent = 0);
28 void setClientModel(ClientModel *clientModel);
29 void setWalletModel(WalletModel *walletModel);
31 /* Transaction table tab indices */
40 void changeEvent(QEvent *e);
41 void closeEvent(QCloseEvent *event);
44 ClientModel *clientModel;
45 WalletModel *walletModel;
47 QStackedWidget *centralWidget;
48 OverviewPage *overviewPage;
49 QWidget *transactionsPage;
51 QLabel *labelConnections;
52 QLabel *labelConnectionsIcon;
54 QLabel *progressBarLabel;
55 QProgressBar *progressBar;
57 QAction *overviewAction;
58 QAction *historyAction;
63 QAction *receiveCoins;
66 QAction *exportAction;
68 QSystemTrayIcon *trayIcon;
69 TransactionView *transactionView;
72 QWidget *createTabs();
73 void createTrayIcon();
76 void setBalance(qint64 balance);
77 void setNumConnections(int count);
78 void setNumBlocks(int count);
79 void setNumTransactions(int count);
80 void error(const QString &title, const QString &message);
81 /* It is currently not possible to pass a return value to another thread through
82 BlockingQueuedConnection, so use an indirected pointer.
83 http://bugreports.qt.nokia.com/browse/QTBUG-10440
85 void askFee(qint64 nFeeRequired, bool *payFee);
88 void sendCoinsClicked();
89 void addressbookClicked();
90 void optionsClicked();
91 void receiveCoinsClicked();
93 void trayIconActivated(QSystemTrayIcon::ActivationReason reason);
94 void transactionDetails(const QModelIndex& idx);
95 void incomingTransaction(const QModelIndex & parent, int start, int end);
98 void gotoOverviewTab();
99 void gotoHistoryTab();