5 #include <QSystemTrayIcon>
7 class TransactionTableModel;
10 class TransactionView;
16 class QAbstractItemModel;
21 class BitcoinGUI : public QMainWindow
25 explicit BitcoinGUI(QWidget *parent = 0);
26 void setClientModel(ClientModel *clientModel);
27 void setWalletModel(WalletModel *walletModel);
29 /* Transaction table tab indices */
38 void changeEvent(QEvent *e);
39 void closeEvent(QCloseEvent *event);
42 ClientModel *clientModel;
43 WalletModel *walletModel;
47 QLabel *labelConnections;
48 QLabel *labelConnectionsIcon;
50 QLabel *labelTransactions;
51 QLabel *progressBarLabel;
52 QProgressBar *progressBar;
58 QAction *receivingAddresses;
62 QSystemTrayIcon *trayIcon;
63 TransactionView *transactionView;
66 QWidget *createTabs();
67 void createTrayIcon();
70 void setBalance(qint64 balance);
71 void setAddress(const QString &address);
72 void setNumConnections(int count);
73 void setNumBlocks(int count);
74 void setNumTransactions(int count);
75 void error(const QString &title, const QString &message);
76 /* It is currently not possible to pass a return value to another thread through
77 BlockingQueuedConnection, so use an indirected pointer.
78 http://bugreports.qt.nokia.com/browse/QTBUG-10440
80 void askFee(qint64 nFeeRequired, bool *payFee);
83 void sendcoinsClicked();
84 void addressbookClicked();
85 void optionsClicked();
86 void receivingAddressesClicked();
88 void newAddressClicked();
89 void copyClipboardClicked();
90 void trayIconActivated(QSystemTrayIcon::ActivationReason reason);
91 void transactionDetails(const QModelIndex& idx);
92 void incomingTransaction(const QModelIndex & parent, int start, int end);