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;
67 QSystemTrayIcon *trayIcon;
68 TransactionView *transactionView;
71 QWidget *createTabs();
72 void createTrayIcon();
75 void setBalance(qint64 balance);
76 void setNumConnections(int count);
77 void setNumBlocks(int count);
78 void setNumTransactions(int count);
79 void error(const QString &title, const QString &message);
80 /* It is currently not possible to pass a return value to another thread through
81 BlockingQueuedConnection, so use an indirected pointer.
82 http://bugreports.qt.nokia.com/browse/QTBUG-10440
84 void askFee(qint64 nFeeRequired, bool *payFee);
87 void sendCoinsClicked();
88 void addressbookClicked();
89 void optionsClicked();
90 void receiveCoinsClicked();
92 void trayIconActivated(QSystemTrayIcon::ActivationReason reason);
93 void transactionDetails(const QModelIndex& idx);
94 void incomingTransaction(const QModelIndex & parent, int start, int end);
96 void gotoOverviewTab();
97 void gotoHistoryTab();