Pieter Wuille
8 years ago
committed by
Jack Grigg
No known key found for this signature in database
GPG Key ID: 6A6914DAFBEA00DA
4 changed files with
13 additions and
1 deletions
-
src/init.cpp
-
src/noui.cpp
-
src/qt/bitcoingui.cpp
-
src/ui_interface.h
|
|
@ -1341,8 +1341,9 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) |
|
|
|
if (!fLoaded) { |
|
|
|
// first suggest a reindex
|
|
|
|
if (!fReset) { |
|
|
|
bool fRet = uiInterface.ThreadSafeMessageBox( |
|
|
|
bool fRet = uiInterface.ThreadSafeQuestion( |
|
|
|
strLoadError + ".\n\n" + _("Do you want to rebuild the block database now?"), |
|
|
|
strLoadError + ".\nPlease restart with -reindex or -reindex-chainstate to recover.", |
|
|
|
"", CClientUIInterface::MSG_ERROR | CClientUIInterface::BTN_ABORT); |
|
|
|
if (fRet) { |
|
|
|
fReindex = true; |
|
|
|
|
|
@ -39,6 +39,11 @@ static bool noui_ThreadSafeMessageBox(const std::string& message, const std::str |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
static bool noui_ThreadSafeQuestion(const std::string& /* ignored interactive message */, const std::string& message, const std::string& caption, unsigned int style) |
|
|
|
{ |
|
|
|
return noui_ThreadSafeMessageBox(message, caption, style); |
|
|
|
} |
|
|
|
|
|
|
|
static void noui_InitMessage(const std::string& message) |
|
|
|
{ |
|
|
|
LogPrintf("init message: %s\n", message); |
|
|
@ -48,5 +53,6 @@ void noui_connect() |
|
|
|
{ |
|
|
|
// Connect bitcoind signal handlers
|
|
|
|
uiInterface.ThreadSafeMessageBox.connect(noui_ThreadSafeMessageBox); |
|
|
|
uiInterface.ThreadSafeQuestion.connect(noui_ThreadSafeQuestion); |
|
|
|
uiInterface.InitMessage.connect(noui_InitMessage); |
|
|
|
} |
|
|
|
|
|
@ -1040,12 +1040,14 @@ void BitcoinGUI::subscribeToCoreSignals() |
|
|
|
{ |
|
|
|
// Connect signals to client
|
|
|
|
uiInterface.ThreadSafeMessageBox.connect(boost::bind(ThreadSafeMessageBox, this, _1, _2, _3)); |
|
|
|
uiInterface.ThreadSafeQuestion.connect(boost::bind(ThreadSafeMessageBox, this, _1, _3, _4)); |
|
|
|
} |
|
|
|
|
|
|
|
void BitcoinGUI::unsubscribeFromCoreSignals() |
|
|
|
{ |
|
|
|
// Disconnect signals from client
|
|
|
|
uiInterface.ThreadSafeMessageBox.disconnect(boost::bind(ThreadSafeMessageBox, this, _1, _2, _3)); |
|
|
|
uiInterface.ThreadSafeQuestion.disconnect(boost::bind(ThreadSafeMessageBox, this, _1, _3, _4)); |
|
|
|
} |
|
|
|
|
|
|
|
UnitDisplayStatusBarControl::UnitDisplayStatusBarControl() : |
|
|
|
|
|
@ -75,6 +75,9 @@ public: |
|
|
|
/** Show message box. */ |
|
|
|
boost::signals2::signal<bool (const std::string& message, const std::string& caption, unsigned int style), boost::signals2::last_value<bool> > ThreadSafeMessageBox; |
|
|
|
|
|
|
|
/** If possible, ask the user a question. If not, falls back to ThreadSafeMessageBox(noninteractive_message, caption, style) and returns false. */ |
|
|
|
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; |
|
|
|
|
|
|
|
/** Progress message during initialization. */ |
|
|
|
boost::signals2::signal<void (const std::string &message)> InitMessage; |
|
|
|
|
|
|
|