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);
34 void setClientModel(ClientModel *clientModel);
35 void setWalletModel(WalletModel *walletModel);
37 /* Transaction table tab indices */
46 void changeEvent(QEvent *e);
47 void closeEvent(QCloseEvent *event);
48 void dragEnterEvent(QDragEnterEvent *event);
49 void dropEvent(QDropEvent *event);
52 ClientModel *clientModel;
53 WalletModel *walletModel;
55 QStackedWidget *centralWidget;
57 OverviewPage *overviewPage;
58 QWidget *transactionsPage;
59 AddressBookPage *addressBookPage;
60 AddressBookPage *receiveCoinsPage;
61 SendCoinsDialog *sendCoinsPage;
63 QLabel *labelEncryptionIcon;
64 QLabel *labelConnectionsIcon;
65 QLabel *labelBlocksIcon;
66 QLabel *progressBarLabel;
67 QProgressBar *progressBar;
70 QAction *overviewAction;
71 QAction *historyAction;
73 QAction *sendCoinsAction;
74 QAction *addressBookAction;
76 QAction *receiveCoinsAction;
77 QAction *optionsAction;
78 QAction *openBitcoinAction;
79 QAction *exportAction;
80 QAction *encryptWalletAction;
81 QAction *changePassphraseAction;
82 QAction *aboutQtAction;
84 QSystemTrayIcon *trayIcon;
85 Notificator *notificator;
86 TransactionView *transactionView;
88 QMovie *syncIconMovie;
92 void createToolBars();
93 QWidget *createTabs();
94 void createTrayIcon();
97 void setNumConnections(int count);
98 void setNumBlocks(int count);
99 void setEncryptionStatus(int status);
100 /** Set the status bar text if there are any warnings (removes sync progress bar if applicable) */
101 void refreshStatusBar();
103 void error(const QString &title, const QString &message, bool modal = false);
104 /* It is currently not possible to pass a return value to another thread through
105 BlockingQueuedConnection, so use an indirected pointer.
106 http://bugreports.qt.nokia.com/browse/QTBUG-10440
108 void askFee(qint64 nFeeRequired, bool *payFee);
112 void gotoOverviewPage();
113 void gotoHistoryPage();
114 void gotoAddressBookPage();
115 void gotoReceiveCoinsPage();
116 void gotoSendCoinsPage();
119 void optionsClicked();
122 void trayIconActivated(QSystemTrayIcon::ActivationReason reason);
124 void incomingTransaction(const QModelIndex & parent, int start, int end);
125 void encryptWallet(bool status);
126 void changePassphrase();