5 #include <QSystemTrayIcon>
7 class TransactionTableModel;
10 class TransactionView;
12 class AddressBookPage;
13 class SendCoinsDialog;
20 class QAbstractItemModel;
27 class BitcoinGUI : public QMainWindow
31 explicit BitcoinGUI(QWidget *parent = 0);
32 void setClientModel(ClientModel *clientModel);
33 void setWalletModel(WalletModel *walletModel);
35 /* Transaction table tab indices */
44 void changeEvent(QEvent *e);
45 void closeEvent(QCloseEvent *event);
46 void dragEnterEvent(QDragEnterEvent *event);
47 void dropEvent(QDropEvent *event);
50 ClientModel *clientModel;
51 WalletModel *walletModel;
53 QStackedWidget *centralWidget;
55 OverviewPage *overviewPage;
56 QWidget *transactionsPage;
57 AddressBookPage *addressBookPage;
58 AddressBookPage *receiveCoinsPage;
59 SendCoinsDialog *sendCoinsPage;
61 QLabel *labelEncryptionIcon;
62 QLabel *labelConnectionsIcon;
63 QLabel *labelBlocksIcon;
64 QLabel *progressBarLabel;
65 QProgressBar *progressBar;
67 QAction *overviewAction;
68 QAction *historyAction;
70 QAction *sendCoinsAction;
71 QAction *addressBookAction;
73 QAction *receiveCoinsAction;
74 QAction *optionsAction;
75 QAction *openBitcoinAction;
76 QAction *exportAction;
77 QAction *encryptWalletAction;
78 QAction *changePassphraseAction;
80 QSystemTrayIcon *trayIcon;
81 Notificator *notificator;
82 TransactionView *transactionView;
84 QMovie *syncIconMovie;
87 QWidget *createTabs();
88 void createTrayIcon();
91 void setNumConnections(int count);
92 void setNumBlocks(int count);
93 void setEncryptionStatus(int status);
95 void error(const QString &title, const QString &message);
96 /* It is currently not possible to pass a return value to another thread through
97 BlockingQueuedConnection, so use an indirected pointer.
98 http://bugreports.qt.nokia.com/browse/QTBUG-10440
100 void askFee(qint64 nFeeRequired, bool *payFee);
104 void gotoOverviewPage();
105 void gotoHistoryPage();
106 void gotoAddressBookPage();
107 void gotoReceiveCoinsPage();
108 void gotoSendCoinsPage();
111 void optionsClicked();
113 void trayIconActivated(QSystemTrayIcon::ActivationReason reason);
114 void incomingTransaction(const QModelIndex & parent, int start, int end);
115 void encryptWallet(bool status);
116 void changePassphrase();