class ClientModel;
class WalletModel;
class TransactionView;
+class MintingView;
class OverviewPage;
class AddressBookPage;
class SendCoinsDialog;
-class MessagePage;
+class SignVerifyMessageDialog;
+class SecondAuthDialog;
+class MultisigDialog;
class Notificator;
+class RPCConsole;
+class AboutDialog;
+class OptionsDialog;
QT_BEGIN_NAMESPACE
class QLabel;
functionality.
*/
void setWalletModel(WalletModel *walletModel);
-
+
protected:
void changeEvent(QEvent *e);
void closeEvent(QCloseEvent *event);
OverviewPage *overviewPage;
QWidget *transactionsPage;
+ QWidget *mintingPage;
AddressBookPage *addressBookPage;
AddressBookPage *receiveCoinsPage;
SendCoinsDialog *sendCoinsPage;
- MessagePage *messagePage;
+ SignVerifyMessageDialog *signVerifyMessageDialog;
+ SecondAuthDialog *secondAuthDialog;
+ MultisigDialog *multisigPage;
QLabel *labelEncryptionIcon;
QLabel *labelConnectionsIcon;
QLabel *labelBlocksIcon;
+ QLabel *labelMiningIcon;
QLabel *progressBarLabel;
QProgressBar *progressBar;
QMenuBar *appMenuBar;
QAction *overviewAction;
QAction *historyAction;
+ QAction *mintingAction;
QAction *quitAction;
QAction *sendCoinsAction;
QAction *addressBookAction;
- QAction *messageAction;
+ QAction *signMessageAction;
+ QAction *verifyMessageAction;
+ QAction *secondAuthAction;
+ QAction *multisigAction;
QAction *aboutAction;
QAction *receiveCoinsAction;
QAction *optionsAction;
- QAction *openBitcoinAction;
+ QAction *toggleHideAction;
QAction *exportAction;
QAction *encryptWalletAction;
+ QAction *lockWalletAction;
+ QAction *unlockWalletAction;
+ QAction *unlockWalletMiningAction;
+ QAction *backupWalletAction;
+ QAction *dumpWalletAction;
+ QAction *importWalletAction;
QAction *changePassphraseAction;
QAction *aboutQtAction;
+ QAction *openRPCConsoleAction;
QSystemTrayIcon *trayIcon;
Notificator *notificator;
TransactionView *transactionView;
+ MintingView *mintingView;
+ RPCConsole *rpcConsole;
+ AboutDialog *aboutDialog;
+ OptionsDialog *optionsDialog;
QMovie *syncIconMovie;
/** Create the main UI actions. */
void createActions();
- /** Create the menu bar and submenus. */
+ /** Create the menu bar and sub-menus. */
void createMenuBar();
/** Create the toolbars */
void createToolBars();
/** Set number of connections shown in the UI */
void setNumConnections(int count);
/** Set number of blocks shown in the UI */
- void setNumBlocks(int count);
+ void setNumBlocks(int count, int nTotalBlocks);
+ /** Set stake miner status in the UI */
+ void updateMining();
/** Set the encryption status as shown in the UI.
@param[in] status current encryption status
@see WalletModel::EncryptionStatus
*/
void setEncryptionStatus(int status);
- /** Set the status bar text if there are any warnings (removes sync progress bar if applicable) */
- void refreshStatusBar();
/** Notify the user of an error in the network or transaction handling code. */
- void error(const QString &title, const QString &message);
+ void error(const QString &title, const QString &message, bool modal);
+ void message(const QString &title, const QString &message, unsigned int style, const QString &detail=QString());
+
/** Asks the user whether to pay the transaction fee or to cancel the transaction.
It is currently not possible to pass a return value to another thread through
BlockingQueuedConnection, so an indirected pointer is used.
- http://bugreports.qt.nokia.com/browse/QTBUG-10440
+ https://bugreports.qt-project.org/browse/QTBUG-10440
@param[in] nFeeRequired the required fee
@param[out] payFee true to pay the fee, false to not pay the fee
*/
void askFee(qint64 nFeeRequired, bool *payFee);
- void handleURL(QString strURL);
+ void handleURI(QString strURI);
- void gotoMessagePage();
- void gotoMessagePage(QString);
+ void gotoMultisigPage();
private slots:
/** Switch to overview (home) page */
void gotoOverviewPage();
/** Switch to history (transactions) page */
void gotoHistoryPage();
+ /** Switch to minting page */
+ void gotoMintingPage();
/** Switch to address book page */
void gotoAddressBookPage();
/** Switch to receive coins page */
/** Switch to send coins page */
void gotoSendCoinsPage();
+ /** Show Sign/Verify Message dialog and switch to sign message tab */
+ void gotoSignMessageTab(QString addr = "");
+ /** Show Sign/Verify Message dialog and switch to verify message tab */
+ void gotoVerifyMessageTab(QString addr = "");
+
+ /** Show Second Auth dialog */
+ void gotoSecondAuthPage(QString addr = "");
+
/** Show configuration dialog */
void optionsClicked();
/** Show about dialog */
void aboutClicked();
-#ifndef Q_WS_MAC
+#ifndef Q_OS_MAC
/** Handle tray icon clicked */
void trayIconActivated(QSystemTrayIcon::ActivationReason reason);
#endif
void incomingTransaction(const QModelIndex & parent, int start, int end);
/** Encrypt the wallet */
void encryptWallet(bool status);
+ /** Backup the wallet */
+ void backupWallet();
/** Change encrypted wallet passphrase */
+
+ void dumpWallet();
+ void importWallet();
+
void changePassphrase();
- /** Ask for pass phrase to unlock wallet temporarily */
+ /** Ask for passphrase to unlock wallet temporarily */
+ void lockWallet();
void unlockWallet();
+ void unlockWalletMining(bool status);
- /** Show window if hidden, unminimize when minimized */
- void showNormalIfMinimized();
+ /** Show window if hidden, unminimize when minimized, rise when obscured or show if hidden and fToggleHidden is true */
+ void showNormalIfMinimized(bool fToggleHidden = false);
+ /** simply calls showNormalIfMinimized(true) for use in SLOT() macro */
+ void toggleHidden();
};
#endif