5 #include <QSystemTrayIcon>
7 class TransactionTableModel;
10 class TransactionView;
12 class AddressBookPage;
13 class SendCoinsDialog;
19 class QAbstractItemModel;
26 class BitcoinGUI : public QMainWindow
30 explicit BitcoinGUI(QWidget *parent = 0);
31 void setClientModel(ClientModel *clientModel);
32 void setWalletModel(WalletModel *walletModel);
34 /* Transaction table tab indices */
43 void changeEvent(QEvent *e);
44 void closeEvent(QCloseEvent *event);
45 void dragEnterEvent(QDragEnterEvent *event);
46 void dropEvent(QDropEvent *event);
49 ClientModel *clientModel;
50 WalletModel *walletModel;
52 QStackedWidget *centralWidget;
54 OverviewPage *overviewPage;
55 QWidget *transactionsPage;
56 AddressBookPage *addressBookPage;
57 AddressBookPage *receiveCoinsPage;
58 SendCoinsDialog *sendCoinsPage;
60 QLabel *labelEncryptionIcon;
61 QLabel *labelConnectionsIcon;
62 QLabel *labelBlocksIcon;
63 QLabel *progressBarLabel;
64 QProgressBar *progressBar;
66 QAction *overviewAction;
67 QAction *historyAction;
69 QAction *sendCoinsAction;
70 QAction *addressBookAction;
72 QAction *receiveCoinsAction;
73 QAction *optionsAction;
74 QAction *openBitcoinAction;
75 QAction *exportAction;
76 QAction *encryptWalletAction;
77 QAction *changePassphraseAction;
79 QSystemTrayIcon *trayIcon;
80 TransactionView *transactionView;
82 QMovie *syncIconMovie;
85 QWidget *createTabs();
86 void createTrayIcon();
89 void setNumConnections(int count);
90 void setNumBlocks(int count);
91 void setEncryptionStatus(int status);
93 void error(const QString &title, const QString &message);
94 /* It is currently not possible to pass a return value to another thread through
95 BlockingQueuedConnection, so use an indirected pointer.
96 http://bugreports.qt.nokia.com/browse/QTBUG-10440
98 void askFee(qint64 nFeeRequired, bool *payFee);
102 void gotoOverviewPage();
103 void gotoHistoryPage();
104 void gotoAddressBookPage();
105 void gotoReceiveCoinsPage();
106 void gotoSendCoinsPage();
109 void optionsClicked();
111 void trayIconActivated(QSystemTrayIcon::ActivationReason reason);
112 void incomingTransaction(const QModelIndex & parent, int start, int end);
113 void encryptWallet(bool status);
114 void changePassphrase();