aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2018-09-11 08:38:43 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2018-09-11 08:41:39 +0200
commit7ab2837b65217e6bf010512c4ea44b09cad69bad (patch)
treeadf14c4597396e9f463eab15d697a130f656f553 /src
parenteb2f1bd276108e70aff0f582a407e9b702eb4dd1 (diff)
parentfa7e9694e1ed5406036620d4bf0b72a2aa984578 (diff)
downloadbitcoin-7ab2837b65217e6bf010512c4ea44b09cad69bad.tar.xz
Merge #14162: gui: Also log and print messages or questions like bitcoind
fa7e9694e1ed5406036620d4bf0b72a2aa984578 qt: Also log and print messages or questions like bitcoind (MarcoFalke) dd031e383975ae42b4cddd9a5bf6080ef5b46afa noui: Move handlers to header file (MarcoFalke) Pull request description: Testing and debugging after shutdown are harder if the node was run through the gui, because errors and warnings would not be logged to the debug.log or written to the stderr (as is the case for bitcoind). Tree-SHA512: 1154e2bf02e3c2616c8d28609569d6c3c7344c5877ad5c1303245044cc7aced9eaec9627f1e1258ed087b49c2a2e6f99bc6c1ad0abe0a855b61e737bdf2059bc
Diffstat (limited to 'src')
-rw-r--r--src/noui.cpp7
-rw-r--r--src/noui.h12
-rw-r--r--src/qt/bitcoin.cpp5
-rw-r--r--src/qt/bitcoingui.cpp6
4 files changed, 22 insertions, 8 deletions
diff --git a/src/noui.cpp b/src/noui.cpp
index 3a1ec2d050..df4bfabb66 100644
--- a/src/noui.cpp
+++ b/src/noui.cpp
@@ -14,7 +14,7 @@
#include <boost/signals2/connection.hpp>
-static bool noui_ThreadSafeMessageBox(const std::string& message, const std::string& caption, unsigned int style)
+bool noui_ThreadSafeMessageBox(const std::string& message, const std::string& caption, unsigned int style)
{
bool fSecure = style & CClientUIInterface::SECURE;
style &= ~CClientUIInterface::SECURE;
@@ -41,19 +41,18 @@ 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)
+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)
+void noui_InitMessage(const std::string& message)
{
LogPrintf("init message: %s\n", message);
}
void noui_connect()
{
- // Connect bitcoind signal handlers
uiInterface.ThreadSafeMessageBox_connect(noui_ThreadSafeMessageBox);
uiInterface.ThreadSafeQuestion_connect(noui_ThreadSafeQuestion);
uiInterface.InitMessage_connect(noui_InitMessage);
diff --git a/src/noui.h b/src/noui.h
index ff16cc9aa8..169c2bbd7f 100644
--- a/src/noui.h
+++ b/src/noui.h
@@ -5,6 +5,16 @@
#ifndef BITCOIN_NOUI_H
#define BITCOIN_NOUI_H
-extern void noui_connect();
+#include <string>
+
+/** Non-GUI handler, which logs and prints messages. */
+bool noui_ThreadSafeMessageBox(const std::string& message, const std::string& caption, unsigned int style);
+/** Non-GUI handler, which logs and prints questions. */
+bool noui_ThreadSafeQuestion(const std::string& /* ignored interactive message */, const std::string& message, const std::string& caption, unsigned int style);
+/** Non-GUI handler, which only logs a message. */
+void noui_InitMessage(const std::string& message);
+
+/** Connect all bitcoind signal handlers */
+void noui_connect();
#endif // BITCOIN_NOUI_H
diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp
index f1d3074c2f..87282a961f 100644
--- a/src/qt/bitcoin.cpp
+++ b/src/qt/bitcoin.cpp
@@ -28,6 +28,7 @@
#include <interfaces/handler.h>
#include <interfaces/node.h>
+#include <noui.h>
#include <rpc/server.h>
#include <ui_interface.h>
#include <uint256.h>
@@ -71,9 +72,9 @@ Q_DECLARE_METATYPE(bool*)
Q_DECLARE_METATYPE(CAmount)
Q_DECLARE_METATYPE(uint256)
-static void InitMessage(const std::string &message)
+static void InitMessage(const std::string& message)
{
- LogPrintf("init message: %s\n", message);
+ noui_InitMessage(message);
}
/** Translate string to current locale using Qt. */
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 632ce0750a..51aff08c42 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -31,6 +31,7 @@
#include <chainparams.h>
#include <interfaces/handler.h>
#include <interfaces/node.h>
+#include <noui.h>
#include <ui_interface.h>
#include <util.h>
@@ -1217,8 +1218,11 @@ void BitcoinGUI::showModalOverlay()
modalOverlay->toggleVisibility();
}
-static bool ThreadSafeMessageBox(BitcoinGUI *gui, const std::string& message, const std::string& caption, unsigned int style)
+static bool ThreadSafeMessageBox(BitcoinGUI* gui, const std::string& message, const std::string& caption, unsigned int style)
{
+ // Redundantly log and print message in non-gui fashion
+ noui_ThreadSafeMessageBox(message, caption, style);
+
bool modal = (style & CClientUIInterface::MODAL);
// The SECURE flag has no effect in the Qt GUI.
// bool secure = (style & CClientUIInterface::SECURE);