aboutsummaryrefslogtreecommitdiff
path: root/src/qt/bitcoingui.cpp
diff options
context:
space:
mode:
authorHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2020-04-11 18:47:17 +0300
committerHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2020-05-05 04:45:59 +0300
commit917ca93553917251e0fd59717a347c63cdfd8a14 (patch)
tree6dd3c84f09109c1da19d1a23e798a32efdafa9a9 /src/qt/bitcoingui.cpp
parent23b9fa2e5ec0425980301d2eebad81e660a5ea39 (diff)
downloadbitcoin-917ca93553917251e0fd59717a347c63cdfd8a14.tar.xz
Make ThreadSafe{MessageBox|Question} bilingual
Diffstat (limited to 'src/qt/bitcoingui.cpp')
-rw-r--r--src/qt/bitcoingui.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index c9248fde28..3a1fdc22a6 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -36,6 +36,7 @@
#include <interfaces/node.h>
#include <ui_interface.h>
#include <util/system.h>
+#include <util/translation.h>
#include <QAction>
#include <QApplication>
@@ -1369,20 +1370,27 @@ 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 bilingual_str& message, const std::string& caption, unsigned int style)
{
bool modal = (style & CClientUIInterface::MODAL);
// The SECURE flag has no effect in the Qt GUI.
// bool secure = (style & CClientUIInterface::SECURE);
style &= ~CClientUIInterface::SECURE;
bool ret = false;
+
+ QString detailed_message; // This is original message, in English, for googling and referencing.
+ if (message.original != message.translated) {
+ detailed_message = BitcoinGUI::tr("Original message:") + "\n" + QString::fromStdString(message.original);
+ }
+
// In case of modal message, use blocking connection to wait for user to click a button
bool invoked = QMetaObject::invokeMethod(gui, "message",
modal ? GUIUtil::blockingGUIThreadConnection() : Qt::QueuedConnection,
Q_ARG(QString, QString::fromStdString(caption)),
- Q_ARG(QString, QString::fromStdString(message)),
+ Q_ARG(QString, QString::fromStdString(message.translated)),
Q_ARG(unsigned int, style),
- Q_ARG(bool*, &ret));
+ Q_ARG(bool*, &ret),
+ Q_ARG(QString, detailed_message));
assert(invoked);
return ret;
}