Changeset View
Changeset View
Standalone View
Standalone View
src/noui.cpp
// Copyright (c) 2010 Satoshi Nakamoto | // Copyright (c) 2010 Satoshi Nakamoto | ||||
// Copyright (c) 2009-2016 The Bitcoin Core developers | // Copyright (c) 2009-2016 The Bitcoin Core developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#include <noui.h> | #include <noui.h> | ||||
#include <logging.h> | |||||
#include <ui_interface.h> | #include <ui_interface.h> | ||||
#include <util/system.h> | |||||
#include <util/translation.h> | #include <util/translation.h> | ||||
#include <boost/signals2/connection.hpp> | #include <boost/signals2/connection.hpp> | ||||
#include <boost/signals2/signal.hpp> | #include <boost/signals2/signal.hpp> | ||||
/** Store connections so we can disconnect them when suppressing output */ | /** Store connections so we can disconnect them when suppressing output */ | ||||
boost::signals2::connection noui_ThreadSafeMessageBoxConn; | boost::signals2::connection noui_ThreadSafeMessageBoxConn; | ||||
boost::signals2::connection noui_ThreadSafeQuestionConn; | boost::signals2::connection noui_ThreadSafeQuestionConn; | ||||
boost::signals2::connection noui_InitMessageConn; | boost::signals2::connection noui_InitMessageConn; | ||||
bool noui_ThreadSafeMessageBox(const std::string &message, | bool noui_ThreadSafeMessageBox(const bilingual_str &message, | ||||
const std::string &caption, unsigned int style) { | const std::string &caption, unsigned int style) { | ||||
bool fSecure = style & CClientUIInterface::SECURE; | bool fSecure = style & CClientUIInterface::SECURE; | ||||
style &= ~CClientUIInterface::SECURE; | style &= ~CClientUIInterface::SECURE; | ||||
bool prefix = !(style & CClientUIInterface::MSG_NOPREFIX); | bool prefix = !(style & CClientUIInterface::MSG_NOPREFIX); | ||||
style &= ~CClientUIInterface::MSG_NOPREFIX; | style &= ~CClientUIInterface::MSG_NOPREFIX; | ||||
std::string strCaption; | std::string strCaption; | ||||
if (prefix) { | if (prefix) { | ||||
Show All 9 Lines | if (prefix) { | ||||
break; | break; | ||||
default: | default: | ||||
// Use supplied caption (can be empty) | // Use supplied caption (can be empty) | ||||
strCaption = caption + ": "; | strCaption = caption + ": "; | ||||
} | } | ||||
} | } | ||||
if (!fSecure) { | if (!fSecure) { | ||||
LogPrintf("%s%s\n", strCaption, message); | LogPrintf("%s%s\n", strCaption, message.original); | ||||
} | } | ||||
tfm::format(std::cerr, "%s%s\n", strCaption.c_str(), message.c_str()); | tfm::format(std::cerr, "%s%s\n", strCaption, message.original); | ||||
return false; | return false; | ||||
} | } | ||||
bool noui_ThreadSafeQuestion( | bool noui_ThreadSafeQuestion( | ||||
const std::string & /* ignored interactive message */, | const bilingual_str & /* ignored interactive message */, | ||||
const std::string &message, const std::string &caption, | const std::string &message, const std::string &caption, | ||||
unsigned int style) { | unsigned int style) { | ||||
return noui_ThreadSafeMessageBox(message, caption, style); | return noui_ThreadSafeMessageBox(Untranslated(message), caption, style); | ||||
} | } | ||||
void noui_InitMessage(const std::string &message) { | void noui_InitMessage(const std::string &message) { | ||||
LogPrintf("init message: %s\n", message); | LogPrintf("init message: %s\n", message); | ||||
} | } | ||||
void noui_connect() { | void noui_connect() { | ||||
noui_ThreadSafeMessageBoxConn = | noui_ThreadSafeMessageBoxConn = | ||||
uiInterface.ThreadSafeMessageBox_connect(noui_ThreadSafeMessageBox); | uiInterface.ThreadSafeMessageBox_connect(noui_ThreadSafeMessageBox); | ||||
noui_ThreadSafeQuestionConn = | noui_ThreadSafeQuestionConn = | ||||
uiInterface.ThreadSafeQuestion_connect(noui_ThreadSafeQuestion); | uiInterface.ThreadSafeQuestion_connect(noui_ThreadSafeQuestion); | ||||
noui_InitMessageConn = uiInterface.InitMessage_connect(noui_InitMessage); | noui_InitMessageConn = uiInterface.InitMessage_connect(noui_InitMessage); | ||||
} | } | ||||
bool noui_ThreadSafeMessageBoxRedirect(const std::string &message, | bool noui_ThreadSafeMessageBoxRedirect(const bilingual_str &message, | ||||
const std::string &caption, | const std::string &caption, | ||||
unsigned int style) { | unsigned int style) { | ||||
LogPrintf("%s: %s\n", caption, message); | LogPrintf("%s: %s\n", caption, message.original); | ||||
return false; | return false; | ||||
} | } | ||||
bool noui_ThreadSafeQuestionRedirect( | bool noui_ThreadSafeQuestionRedirect( | ||||
const std::string & /* ignored interactive message */, | const bilingual_str & /* ignored interactive message */, | ||||
const std::string &message, const std::string &caption, | const std::string &message, const std::string &caption, | ||||
unsigned int style) { | unsigned int style) { | ||||
LogPrintf("%s: %s\n", caption, message); | LogPrintf("%s: %s\n", caption, message); | ||||
return false; | return false; | ||||
} | } | ||||
void noui_InitMessageRedirect(const std::string &message) { | void noui_InitMessageRedirect(const std::string &message) { | ||||
LogPrintf("init message: %s\n", message); | LogPrintf("init message: %s\n", message); | ||||
Show All 20 Lines |