X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fqt%2Fbitcoingui.h;h=efe3e9cc6d72fc908eeec6ed9bb586b8195d77f7;hb=91d7e847e051c9aa8be87a72d2763872b6b4f385;hp=e1b3ef1783cc302947402fa9d7f9644838c5dc5a;hpb=b1ef1b24ced1e8360d1bf62b9fefbc960cdd19be;p=novacoin.git diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index e1b3ef1..efe3e9c 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -6,6 +6,12 @@ class TransactionTableModel; class ClientModel; +class WalletModel; +class TransactionView; +class OverviewPage; +class AddressBookPage; +class SendCoinsDialog; +class Notificator; QT_BEGIN_NAMESPACE class QLabel; @@ -13,6 +19,9 @@ class QLineEdit; class QTableView; class QAbstractItemModel; class QModelIndex; +class QProgressBar; +class QStackedWidget; +class QUrl; QT_END_NAMESPACE class BitcoinGUI : public QMainWindow @@ -20,7 +29,10 @@ class BitcoinGUI : public QMainWindow Q_OBJECT public: explicit BitcoinGUI(QWidget *parent = 0); - void setModel(ClientModel *model); + ~BitcoinGUI(); + + void setClientModel(ClientModel *clientModel); + void setWalletModel(WalletModel *walletModel); /* Transaction table tab indices */ enum { @@ -33,40 +45,62 @@ public: protected: void changeEvent(QEvent *e); void closeEvent(QCloseEvent *event); + void dragEnterEvent(QDragEnterEvent *event); + void dropEvent(QDropEvent *event); private: - ClientModel *model; + ClientModel *clientModel; + WalletModel *walletModel; + + QStackedWidget *centralWidget; - QLineEdit *address; - QLabel *labelBalance; - QLabel *labelConnections; + OverviewPage *overviewPage; + QWidget *transactionsPage; + AddressBookPage *addressBookPage; + AddressBookPage *receiveCoinsPage; + SendCoinsDialog *sendCoinsPage; + + QLabel *labelEncryptionIcon; QLabel *labelConnectionsIcon; - QLabel *labelBlocks; - QLabel *labelTransactions; + QLabel *labelBlocksIcon; + QLabel *progressBarLabel; + QProgressBar *progressBar; - QAction *quit; - QAction *sendcoins; - QAction *addressbook; - QAction *about; - QAction *receivingAddresses; - QAction *options; - QAction *openBitcoin; + QMenuBar *appMenuBar; + QAction *overviewAction; + QAction *historyAction; + QAction *quitAction; + QAction *sendCoinsAction; + QAction *addressBookAction; + QAction *aboutAction; + QAction *receiveCoinsAction; + QAction *optionsAction; + QAction *openBitcoinAction; + QAction *exportAction; + QAction *encryptWalletAction; + QAction *changePassphraseAction; + QAction *aboutQtAction; QSystemTrayIcon *trayIcon; - QList transactionViews; + Notificator *notificator; + TransactionView *transactionView; + + QMovie *syncIconMovie; void createActions(); + void createMenuBar(); + void createToolBars(); QWidget *createTabs(); void createTrayIcon(); - void setTabsModel(QAbstractItemModel *transaction_model); public slots: - void setBalance(qint64 balance); - void setAddress(const QString &address); void setNumConnections(int count); void setNumBlocks(int count); - void setNumTransactions(int count); - void error(const QString &title, const QString &message); + void setEncryptionStatus(int status); + /** Set the status bar text if there are any warnings (removes sync progress bar if applicable) */ + void refreshStatusBar(); + + void error(const QString &title, const QString &message, bool modal = false); /* It is currently not possible to pass a return value to another thread through BlockingQueuedConnection, so use an indirected pointer. http://bugreports.qt.nokia.com/browse/QTBUG-10440 @@ -74,16 +108,23 @@ public slots: void askFee(qint64 nFeeRequired, bool *payFee); private slots: - void sendcoinsClicked(); - void addressbookClicked(); + // UI pages + void gotoOverviewPage(); + void gotoHistoryPage(); + void gotoAddressBookPage(); + void gotoReceiveCoinsPage(); + void gotoSendCoinsPage(); + + // Misc actions void optionsClicked(); - void receivingAddressesClicked(); void aboutClicked(); - void newAddressClicked(); - void copyClipboardClicked(); +#ifndef Q_WS_MAC void trayIconActivated(QSystemTrayIcon::ActivationReason reason); - void transactionDetails(const QModelIndex& idx); +#endif void incomingTransaction(const QModelIndex & parent, int start, int end); + void encryptWallet(bool status); + void changePassphrase(); + void unlockWallet(); }; #endif