25 #endif // ENABLE_WALLET 41 #include <QApplication> 43 #include <QDesktopWidget> 44 #include <QDragEnterEvent> 45 #include <QListWidget> 47 #include <QMessageBox> 49 #include <QProgressDialog> 52 #include <QStackedWidget> 57 #include <QVBoxLayout> 59 #if QT_VERSION < 0x050000 60 #include <QTextDocument> 69 #elif defined(Q_OS_WIN) 82 unitDisplayControl(0),
83 labelEncryptionIcon(0),
84 labelWalletHDStatusIcon(0),
85 labelConnectionsIcon(0),
96 sendCoinsMenuAction(0),
97 usedSendingAddressesAction(0),
98 usedReceivingAddressesAction(0),
100 verifyMessageAction(0),
102 receiveCoinsAction(0),
103 receiveCoinsMenuAction(0),
106 encryptWalletAction(0),
107 backupWalletAction(0),
108 changePassphraseAction(0),
110 openRPCConsoleAction(0),
112 showHelpMessageAction(0),
113 showPrivateSendHelpAction(0),
119 helpMessageDialog(0),
123 platformStyle(platformStyle)
130 QString windowTitle = tr(
"Dash Core") +
" - ";
136 #endif // ENABLE_WALLET 139 windowTitle += tr(
"Wallet");
141 windowTitle += tr(
"Node");
143 QString userWindowTitle = QString::fromStdString(
GetArg(
"-windowtitle",
""));
144 if(!userWindowTitle.isEmpty()) windowTitle +=
" - " + userWindowTitle;
152 setWindowTitle(windowTitle);
154 #if defined(Q_OS_MAC) && QT_VERSION < 0x050000 157 setUnifiedTitleAndToolBarOnMac(
true);
168 #endif // ENABLE_WALLET 177 setAcceptDrops(
true);
196 statusBar()->setSizeGripEnabled(
false);
199 QFrame *frameBlocks =
new QFrame();
200 frameBlocks->setContentsMargins(0,0,0,0);
201 frameBlocks->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred);
202 QHBoxLayout *frameBlocksLayout =
new QHBoxLayout(frameBlocks);
203 frameBlocksLayout->setContentsMargins(3,0,3,0);
204 frameBlocksLayout->setSpacing(3);
213 frameBlocksLayout->addStretch();
215 frameBlocksLayout->addStretch();
219 frameBlocksLayout->addStretch();
221 frameBlocksLayout->addStretch();
223 frameBlocksLayout->addStretch();
235 QString curStyle = QApplication::style()->metaObject()->className();
236 if(curStyle ==
"QWindowsStyle" || curStyle ==
"QWindowsXPStyle")
238 progressBar->setStyleSheet(
"QProgressBar { background-color: #F8F8F8; border: 1px solid grey; border-radius: 7px; padding: 1px; text-align: center; } QProgressBar::chunk { background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #00CCFF, stop: 1 #33CCFF); border-radius: 7px; margin: 0px; }");
243 statusBar()->addPermanentWidget(frameBlocks);
246 this->installEventFilter(
this);
285 QActionGroup *tabGroup =
new QActionGroup(
this);
288 overviewAction =
new QAction(QIcon(
":/icons/" + theme +
"/overview"), tr(
"&Overview"),
this);
289 overviewAction->setStatusTip(tr(
"Show general overview of wallet"));
299 sendCoinsAction =
new QAction(QIcon(
":/icons/" + theme +
"/send"), tr(
"&Send"),
this);
314 receiveCoinsAction =
new QAction(QIcon(
":/icons/" + theme +
"/receiving_addresses"), tr(
"&Receive"),
this);
315 receiveCoinsAction->setStatusTip(tr(
"Request payments (generates QR codes and dash: URIs)"));
329 historyAction =
new QAction(QIcon(
":/icons/" + theme +
"/history"), tr(
"&Transactions"),
this);
330 historyAction->setStatusTip(tr(
"Browse transaction history"));
334 historyAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_4));
336 historyAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_4));
342 if (
settings.value(
"fShowMasternodesTab").toBool()) {
343 masternodeAction =
new QAction(QIcon(
":/icons/" + theme +
"/masternodes"), tr(
"&Masternodes"),
this);
354 connect(
masternodeAction, SIGNAL(triggered()),
this, SLOT(gotoMasternodePage()));
360 connect(
overviewAction, SIGNAL(triggered()),
this, SLOT(gotoOverviewPage()));
362 connect(
sendCoinsAction, SIGNAL(triggered()),
this, SLOT(gotoSendCoinsPage()));
370 connect(
historyAction, SIGNAL(triggered()),
this, SLOT(gotoHistoryPage()));
371 #endif // ENABLE_WALLET 373 quitAction =
new QAction(QIcon(
":/icons/" + theme +
"/quit"), tr(
"E&xit"),
this);
374 quitAction->setStatusTip(tr(
"Quit application"));
375 quitAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q));
377 aboutAction =
new QAction(QIcon(
":/icons/" + theme +
"/about"), tr(
"&About Dash Core"),
this);
378 aboutAction->setStatusTip(tr(
"Show information about Dash Core"));
381 aboutQtAction =
new QAction(QIcon(
":/icons/" + theme +
"/about_qt"), tr(
"About &Qt"),
this);
382 aboutQtAction->setStatusTip(tr(
"Show information about Qt"));
384 optionsAction =
new QAction(QIcon(
":/icons/" + theme +
"/options"), tr(
"&Options..."),
this);
385 optionsAction->setStatusTip(tr(
"Modify configuration options for Dash Core"));
388 toggleHideAction =
new QAction(QIcon(
":/icons/" + theme +
"/about"), tr(
"&Show / Hide"),
this);
391 encryptWalletAction =
new QAction(QIcon(
":/icons/" + theme +
"/lock_closed"), tr(
"&Encrypt Wallet..."),
this);
392 encryptWalletAction->setStatusTip(tr(
"Encrypt the private keys that belong to your wallet"));
394 backupWalletAction =
new QAction(QIcon(
":/icons/" + theme +
"/filesave"), tr(
"&Backup Wallet..."),
this);
396 changePassphraseAction =
new QAction(QIcon(
":/icons/" + theme +
"/key"), tr(
"&Change Passphrase..."),
this);
401 signMessageAction =
new QAction(QIcon(
":/icons/" + theme +
"/edit"), tr(
"Sign &message..."),
this);
402 signMessageAction->setStatusTip(tr(
"Sign messages with your Dash addresses to prove you own them"));
403 verifyMessageAction =
new QAction(QIcon(
":/icons/" + theme +
"/transaction_0"), tr(
"&Verify message..."),
this);
404 verifyMessageAction->setStatusTip(tr(
"Verify messages to ensure they were signed with specified Dash addresses"));
406 openInfoAction =
new QAction(QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation), tr(
"&Information"),
this);
408 openRPCConsoleAction =
new QAction(QIcon(
":/icons/" + theme +
"/debugwindow"), tr(
"&Debug console"),
this);
410 openGraphAction =
new QAction(QIcon(
":/icons/" + theme +
"/connect_4"), tr(
"&Network Monitor"),
this);
412 openPeersAction =
new QAction(QIcon(
":/icons/" + theme +
"/connect_4"), tr(
"&Peers list"),
this);
414 openRepairAction =
new QAction(QIcon(
":/icons/" + theme +
"/options"), tr(
"Wallet &Repair"),
this);
416 openConfEditorAction =
new QAction(QIcon(
":/icons/" + theme +
"/edit"), tr(
"Open Wallet &Configuration File"),
this);
418 openMNConfEditorAction =
new QAction(QIcon(
":/icons/" + theme +
"/edit"), tr(
"Open &Masternode Configuration File"),
this);
420 showBackupsAction =
new QAction(QIcon(
":/icons/" + theme +
"/browse"), tr(
"Show Automatic &Backups"),
this);
421 showBackupsAction->setStatusTip(tr(
"Show automatically created wallet backups"));
434 openAction =
new QAction(QApplication::style()->standardIcon(QStyle::SP_DirOpenIcon), tr(
"Open &URI..."),
this);
435 openAction->setStatusTip(tr(
"Open a dash: URI or payment request"));
437 showHelpMessageAction =
new QAction(QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation), tr(
"&Command-line options"),
this);
439 showHelpMessageAction->setStatusTip(tr(
"Show the Dash Core help message to get a list with possible Dash Core command-line options"));
441 showPrivateSendHelpAction =
new QAction(QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation), tr(
"&PrivateSend information"),
this);
445 connect(
quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
447 connect(
aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
479 connect(
signMessageAction, SIGNAL(triggered()),
this, SLOT(gotoSignMessageTab()));
483 connect(
openAction, SIGNAL(triggered()),
this, SLOT(openClicked()));
485 #endif // ENABLE_WALLET 487 new QShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_I),
this, SLOT(
showInfo()));
488 new QShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_C),
this, SLOT(
showConsole()));
489 new QShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_G),
this, SLOT(
showGraph()));
490 new QShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_P),
this, SLOT(
showPeers()));
491 new QShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_R),
this, SLOT(
showRepair()));
512 file->addSeparator();
515 file->addSeparator();
532 QMenu *tools =
appMenuBar->addMenu(tr(
"&Tools"));
538 tools->addSeparator();
547 help->addSeparator();
556 QToolBar *toolbar =
new QToolBar(tr(
"Tabs toolbar"));
557 toolbar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
563 if (
settings.value(
"fShowMasternodesTab").toBool())
567 toolbar->setMovable(
false);
573 QVBoxLayout *layout =
new QVBoxLayout;
574 layout->addWidget(toolbar);
576 layout->setSpacing(0);
577 layout->setContentsMargins(QMargins());
578 QWidget *containerWidget =
new QWidget();
579 containerWidget->setLayout(layout);
580 setCentralWidget(containerWidget);
600 connect(
trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
620 connect(
clientModel, SIGNAL(numBlocksChanged(
int,QDateTime,
double,
bool)),
this, SLOT(
setNumBlocks(
int,QDateTime,
double,
bool)));
636 #endif // ENABLE_WALLET 643 connect(optionsModel,SIGNAL(hideTrayIconChanged(
bool)),
this,SLOT(
setTrayIconVisible(
bool)));
660 #endif // ENABLE_WALLET 674 bool BitcoinGUI::addWallet(
const QString&
name,
WalletModel *walletModel)
682 bool BitcoinGUI::setCurrentWallet(
const QString&
name)
689 void BitcoinGUI::removeAllWallets()
696 #endif // ENABLE_WALLET 722 trayIcon =
new QSystemTrayIcon(
this);
723 QString toolTip = tr(
"Dash Core client") +
" " + networkStyle->
getTitleAddText();
734 pmenu->addSeparator();
737 pmenu->addSeparator();
740 pmenu->addSeparator();
747 pmenu->addSeparator();
751 #ifndef Q_OS_MAC // This is built-in on Mac 752 pmenu->addSeparator();
760 if(reason == QSystemTrayIcon::Trigger)
855 void BitcoinGUI::openClicked()
864 void BitcoinGUI::gotoOverviewPage()
870 void BitcoinGUI::gotoHistoryPage()
876 void BitcoinGUI::gotoMasternodePage()
879 if (
settings.value(
"fShowMasternodesTab").toBool()) {
885 void BitcoinGUI::gotoReceiveCoinsPage()
891 void BitcoinGUI::gotoSendCoinsPage(QString addr)
897 void BitcoinGUI::gotoSignMessageTab(QString addr)
902 void BitcoinGUI::gotoVerifyMessageTab(QString addr)
906 #endif // ENABLE_WALLET 915 case 0: icon =
":/icons/" + theme +
"/connect_0";
break;
916 case 1:
case 2:
case 3: icon =
":/icons/" + theme +
"/connect_1";
break;
917 case 4:
case 5:
case 6: icon =
":/icons/" + theme +
"/connect_2";
break;
918 case 7:
case 8:
case 9: icon =
":/icons/" + theme +
"/connect_3";
break;
919 default: icon =
":/icons/" + theme +
"/connect_4";
break;
926 icon =
":/icons/" + theme +
"/network_disabled";
948 progressBarLabel->setText(tr(
"Syncing Headers (%1%)...").arg(QString::number(100.0 / (headersTipHeight+estHeadersLeft)*headersTipHeight,
'f', 1)));
964 statusBar()->clearMessage();
968 switch (blockSource) {
997 QDateTime currentDate = QDateTime::currentDateTime();
998 qint64 secs = blockDate.secsTo(currentDate);
1000 tooltip = tr(
"Processed %n block(s) of transaction history.",
"",
count);
1005 #ifdef ENABLE_WALLET 1019 #endif // ENABLE_WALLET 1026 progressBar->setFormat(tr(
"%1 behind").arg(timeBehindText));
1028 progressBar->setValue(nVerificationProgress * 1000000000.0 + 0.5);
1031 tooltip = tr(
"Catching up...") + QString(
"<br>") + tooltip;
1035 ":/movies/spinner-%1").arg(
spinnerFrame, 3, 10, QChar(
'0')))
1041 #ifdef ENABLE_WALLET 1046 #endif // ENABLE_WALLET 1048 tooltip += QString(
"<br>");
1049 tooltip += tr(
"Last received block was generated %1 ago.").arg(timeBehindText);
1050 tooltip += QString(
"<br>");
1051 tooltip += tr(
"Transactions after this will not yet be visible.");
1055 tooltip = QString(
"<nobr>") + tooltip + QString(
"</nobr>");
1072 statusBar()->clearMessage();
1079 QString strSyncStatus;
1080 tooltip = tr(
"Up to date") + QString(
".<br>") + tooltip;
1089 ":/movies/spinner-%1").arg(
spinnerFrame, 3, 10, QChar(
'0')))
1093 #ifdef ENABLE_WALLET 1096 #endif // ENABLE_WALLET 1098 progressBar->setFormat(tr(
"Synchronizing additional data: %p%"));
1100 progressBar->setValue(nSyncProgress * 1000000000.0 + 0.5);
1105 tooltip = strSyncStatus + QString(
"<br>") + tooltip;
1108 tooltip = QString(
"<nobr>") + tooltip + QString(
"</nobr>");
1117 QString strTitle = tr(
"Dash Core");
1119 int nMBoxIcon = QMessageBox::Information;
1125 if (!title.isEmpty()) {
1131 msgType = tr(
"Error");
1134 msgType = tr(
"Warning");
1137 msgType = tr(
"Information");
1144 if (!msgType.isEmpty())
1145 strTitle +=
" - " + msgType;
1149 nMBoxIcon = QMessageBox::Critical;
1153 nMBoxIcon = QMessageBox::Warning;
1160 QMessageBox::StandardButton buttons;
1162 buttons = QMessageBox::Ok;
1165 QMessageBox mBox((QMessageBox::Icon)nMBoxIcon, strTitle,
message, buttons,
this);
1166 int r = mBox.exec();
1168 *ret = r == QMessageBox::Ok;
1176 QMainWindow::changeEvent(e);
1177 #ifndef Q_OS_MAC // Ignored on Mac 1178 if(e->type() == QEvent::WindowStateChange)
1182 QWindowStateChangeEvent *wsevt =
static_cast<QWindowStateChangeEvent*
>(e);
1183 if(!(wsevt->oldState() & Qt::WindowMinimized) && isMinimized())
1185 QTimer::singleShot(0,
this, SLOT(hide()));
1195 #ifndef Q_OS_MAC // Ignored on Mac 1203 QApplication::quit();
1207 QMainWindow::closeEvent(event);
1222 #ifdef ENABLE_WALLET 1223 void BitcoinGUI::incomingTransaction(
const QString& date,
int unit,
const CAmount& amount,
const QString& type,
const QString& address,
const QString& label)
1226 QString
msg = tr(
"Date: %1\n").arg(date) +
1228 tr(
"Type: %1\n").arg(type);
1229 if (!label.isEmpty())
1230 msg += tr(
"Label: %1\n").arg(label);
1231 else if (!address.isEmpty())
1232 msg += tr(
"Address: %1\n").arg(address);
1233 message((amount)<0 ? tr(
"Sent transaction") : tr(
"Incoming transaction"),
1236 #endif // ENABLE_WALLET 1241 if(event->mimeData()->hasUrls())
1242 event->acceptProposedAction();
1247 if(event->mimeData()->hasUrls())
1249 Q_FOREACH(
const QUrl &uri, event->mimeData()->urls())
1254 event->acceptProposedAction();
1260 if (event->type() == QEvent::StatusTip)
1266 return QMainWindow::eventFilter(
object, event);
1269 #ifdef ENABLE_WALLET 1276 gotoSendCoinsPage();
1282 void BitcoinGUI::setHDStatus(
int hdEnabled)
1287 labelWalletHDStatusIcon->setToolTip(hdEnabled ? tr(
"HD key generation is <b>enabled</b>") : tr(
"HD key generation is <b>disabled</b>"));
1293 void BitcoinGUI::setEncryptionStatus(
int status)
1309 labelEncryptionIcon->setToolTip(tr(
"Wallet is <b>encrypted</b> and currently <b>unlocked</b>"));
1319 labelEncryptionIcon->setToolTip(tr(
"Wallet is <b>encrypted</b> and currently <b>unlocked</b> for mixing only"));
1329 labelEncryptionIcon->setToolTip(tr(
"Wallet is <b>encrypted</b> and currently <b>locked</b>"));
1338 #endif // ENABLE_WALLET 1351 else if (isMinimized())
1361 else if(fToggleHidden)
1391 else if (nProgress == 100)
1407 trayIcon->setVisible(!fHideTrayIcon);
1425 QMetaObject::invokeMethod(gui,
"message",
1427 Q_ARG(QString, QString::fromStdString(caption)),
1428 Q_ARG(QString, QString::fromStdString(message)),
1429 Q_ARG(
unsigned int, style),
1430 Q_ARG(
bool*, &ret));
1467 setToolTip(tr(
"Unit to show amounts in. Click to select another unit."));
1470 const QFontMetrics fm(font());
1475 setMinimumSize(max_width, 0);
1476 setAlignment(Qt::AlignRight | Qt::AlignVCenter);
1477 setStyleSheet(QString(
"QLabel { color : %1 }").arg(platformStyle->
SingleColor().name()));
1489 menu =
new QMenu(
this);
1493 menuAction->setData(QVariant(u));
1494 menu->addAction(menuAction);
1523 QPoint globalPos = mapToGlobal(point);
1524 menu->exec(globalPos);
const QIcon & getTrayAndWindowIcon() const
QAction * sendCoinsMenuAction
void gotoMasternodePage()
QLabel * labelConnectionsIcon
CMasternodeSync masternodeSync
QSystemTrayIcon * trayIcon
QAction * verifyMessageAction
QLabel * labelEncryptionIcon
void showEvent(QShowEvent *event)
QAction * usedSendingAddressesAction
bool isObscured(QWidget *w)
void setAdditionalDataSyncProgress(double nSyncProgress)
void setKnownBestHeight(int count, const QDateTime &blockDate)
bool setCurrentWallet(const QString &name)
void requestedRestart(QStringList args)
void setClientModel(ClientModel *clientModel)
void setTabFocus(enum TabTypes tabType)
const Consensus::Params & GetConsensus() const
OptionsModel * optionsModel
enum BlockSource getBlockSource() const
Returns enum BlockSource of the current importing/syncing state.
static bool ThreadSafeMessageBox(BitcoinGUI *gui, const std::string &message, const std::string &caption, unsigned int style)
ClientModel * clientModel
void showHelpMessageClicked()
static constexpr int HEADER_HEIGHT_DELTA_SYNC
The required delta of headers to the estimated number of available headers until we show the IBD prog...
void unsubscribeFromCoreSignals()
int64_t getHeaderTipTime() const
void createIconMenu(QMenu *pmenu)
void createTrayIcon(const NetworkStyle *networkStyle)
void saveWindowGeometry(const QString &strSetting, QWidget *parent)
QAction * openPeersAction
void handleRestart(QStringList args)
void message(const QString &title, const QString &message, unsigned int style, bool *ret=NULL)
QProgressDialog * progressDialog
void notify(Class cls, const QString &title, const QString &text, const QIcon &icon=QIcon(), int millisTimeout=10000)
bool handlePaymentRequest(const SendCoinsRecipient &recipient)
bool eventFilter(QObject *object, QEvent *event)
ModalOverlay * modalOverlay
QAction * openRepairAction
Qt::ConnectionType blockingGUIThreadConnection()
void setNetworkActive(bool active)
Toggle network activity state in core.
void setNetworkActive(bool networkActive)
void gotoVerifyMessageTab(QString addr="")
static QString formatWithUnit(int unit, const CAmount &amount, bool plussign=false, SeparatorStyle separators=separatorStandard)
Format as string (with unit)
UnitDisplayStatusBarControl(const PlatformStyle *platformStyle)
void restoreWindowGeometry(const QString &strSetting, const QSize &defaultSize, QWidget *parent)
boost::signals2::signal< bool(const std::string &message, const std::string &caption, unsigned int style), boost::signals2::last_value< bool > > ThreadSafeMessageBox
void changeEvent(QEvent *e)
QAction * unlockWalletAction
void setClientModel(ClientModel *clientModel)
static const QString DEFAULT_WALLET
void setClientModel(ClientModel *model)
boost::signals2::signal< bool(const std::string &message, const std::string &noninteractive_message, const std::string &caption, unsigned int style), boost::signals2::last_value< bool > > ThreadSafeQuestion
QAction * openRPCConsoleAction
void setTrayIconVisible(bool)
QLabel * labelWalletHDStatusIcon
bool addWallet(const QString &name, WalletModel *walletModel)
void mousePressEvent(QMouseEvent *event)
const PlatformStyle * platformStyle
static MacDockIconHandler * instance()
bool GetBoolArg(const std::string &strArg, bool fDefault)
QAction * toggleHideAction
BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *networkStyle, QWidget *parent=0)
bool getMinimizeOnClose()
void updateNetworkState()
const QString & getTitleAddText() const
void setDisplayUnit(const QVariant &value)
void showPrivateSendHelpClicked()
QAction * backupWalletAction
std::string GetSyncStatus()
void setNumBlocks(int count, const QDateTime &blockDate, double nVerificationProgress, bool headers)
QAction * lockWalletAction
void updateDisplayUnit(int newUnits)
void setIcon(const QIcon &icon)
QAction * showBackupsAction
QLabel * progressBarLabel
QAction * changePassphraseAction
ClickableProgressBar ProgressBar
void trayIconActivated(QSystemTrayIcon::ActivationReason reason)
void showNormalIfMinimized(bool fToggleHidden=false)
CClientUIInterface uiInterface
void showHide(bool hide=false, bool userRequested=false)
QAction * usedReceivingAddressesAction
int64_t nPowTargetSpacing
void gotoSendCoinsPage(QString addr="")
void setWalletActionsEnabled(bool enabled)
void closeEvent(QCloseEvent *event)
void setNumConnections(int count)
QAction * encryptWalletAction
int getHeaderTipHeight() const
void gotoSignMessageTab(QString addr="")
QProgressBar * progressBar
UnitDisplayStatusBarControl * unitDisplayControl
QString formatNiceTimeOffset(qint64 secs)
void setMainWindow(QMainWindow *window)
static const int STATUSBAR_ICONSIZE
void updateHeadersSyncProgressLabel()
static const std::string DEFAULT_UIPLATFORM
void showOutOfSyncWarning(bool fShow)
void toggleNetworkActive()
QAction * signMessageAction
QAction * openMNConfEditorAction
void setOptionsModel(OptionsModel *optionsModel)
bool getNetworkActive() const
Return true if network activity in core is enabled.
QAction * showHelpMessageAction
const CChainParams & Params()
void dropEvent(QDropEvent *event)
void onDisplayUnitsClicked(const QPoint &point)
bool IsBlockchainSynced()
WalletFrame * walletFrame
void receivedURI(const QString &uri)
void onMenuSelection(QAction *action)
QAction * masternodeAction
static QString name(int unit)
Short name.
void dragEnterEvent(QDragEnterEvent *event)
void subscribeToCoreSignals()
QAction * showPrivateSendHelpAction
double getVerificationProgress(const CBlockIndex *tip) const
std::string GetArg(const std::string &strArg, const std::string &strDefault)
int64_t GetTime()
For unit testing.
QAction * receiveCoinsMenuAction
void gotoReceiveCoinsPage()
QAction * receiveCoinsAction
static QList< Unit > availableUnits()
Get list of units, for drop-down box.
QAction * openGraphAction
Notificator * notificator
void tipUpdate(int count, const QDateTime &blockDate, double nVerificationProgress)
HelpMessageDialog * helpMessageDialog
void showProgress(const QString &title, int nProgress)
void setModel(OptionsModel *model)
QAction * openConfEditorAction
QDateTime getLastBlockDate() const
OptionsModel * getOptionsModel()
QAction * sendCoinsAction
UniValue help(const UniValue ¶ms, bool fHelp)
const QIcon & getAppIcon() const
int getNumConnections(unsigned int flags=CONNECTIONS_ALL) const
Return number of connections, default is in- and outbound (total)