X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fqt%2Fbitcoingui.h;h=1338998a98c9e4d9e2f725a6378e414bae839d35;hb=41cde5bbdcf76bda63cb7c55675340726c73b7fc;hp=96452ef18b17ef869ee3c9e501112bb57a4f88f1;hpb=ba4081c1fcaddf361abd61b2721994eff5475bb3;p=novacoin.git diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 96452ef..1338998 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,38 +45,63 @@ public: protected: void changeEvent(QEvent *e); void closeEvent(QCloseEvent *event); + void dragEnterEvent(QDragEnterEvent *event); + void dropEvent(QDropEvent *event); private: - ClientModel *model; - - QLineEdit *address; - QLabel *labelBalance; - QLabel *labelConnections; - QLabel *labelBlocks; - QLabel *labelTransactions; - - QAction *quit; - QAction *sendcoins; - QAction *addressbook; - QAction *about; - QAction *receivingAddresses; - QAction *options; - QAction *openBitcoin; + ClientModel *clientModel; + WalletModel *walletModel; + + QStackedWidget *centralWidget; + + QWidget *dummyWidget; + + OverviewPage *overviewPage; + QWidget *transactionsPage; + AddressBookPage *addressBookPage; + AddressBookPage *receiveCoinsPage; + SendCoinsDialog *sendCoinsPage; + + QLabel *labelEncryptionIcon; + QLabel *labelConnectionsIcon; + QLabel *labelBlocksIcon; + QLabel *progressBarLabel; + QProgressBar *progressBar; + + 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 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); /* It is currently not possible to pass a return value to another thread through BlockingQueuedConnection, so use an indirected pointer. @@ -72,17 +109,26 @@ public slots: */ void askFee(qint64 nFeeRequired, bool *payFee); + void showNormal(); + 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