Browse Source

Merge pull request #6022

b74dcb3 Separate CTranslationInterface from CClientUIInterface (Jorge Timón)
try
Wladimir J. van der Laan 10 years ago
parent
commit
8a10000222
No known key found for this signature in database GPG Key ID: 74810B012346C9A6
  1. 2
      src/bitcoin-cli.cpp
  2. 2
      src/bitcoin-tx.cpp
  3. 1
      src/bitcoind.cpp
  4. 2
      src/init.cpp
  5. 2
      src/qt/bitcoin.cpp
  6. 1
      src/qt/transactiondesc.cpp
  7. 1
      src/rpcclient.cpp
  8. 2
      src/test/test_bitcoin.cpp
  9. 13
      src/ui_interface.h
  10. 1
      src/util.cpp
  11. 20
      src/util.h

2
src/bitcoin-cli.cpp

@ -12,8 +12,6 @@
#include <boost/filesystem/operations.hpp>
#define _(x) std::string(x) /* Keep the _() around in case gettext or such will be used later to translate non-UI */
using namespace std;
using namespace json_spirit;

2
src/bitcoin-tx.cpp

@ -11,7 +11,6 @@
#include "primitives/transaction.h"
#include "script/script.h"
#include "script/sign.h"
#include "ui_interface.h" // for _(...)
#include "univalue/univalue.h"
#include "util.h"
#include "utilmoneystr.h"
@ -26,7 +25,6 @@ using namespace std;
static bool fCreateBlank;
static map<string,UniValue> registers;
CClientUIInterface uiInterface;
static bool AppInitRawTx(int argc, char* argv[])
{

1
src/bitcoind.cpp

@ -8,7 +8,6 @@
#include "init.h"
#include "main.h"
#include "noui.h"
#include "ui_interface.h"
#include "util.h"
#include <boost/algorithm/string/predicate.hpp>

2
src/init.cpp

@ -68,7 +68,7 @@ enum BindFlags {
};
static const char* FEE_ESTIMATES_FILENAME="fee_estimates.dat";
CClientUIInterface uiInterface;
CClientUIInterface uiInterface; // Declared but not defined in ui_interface.h
//////////////////////////////////////////////////////////////////////////////
//

2
src/qt/bitcoin.cpp

@ -532,7 +532,7 @@ int main(int argc, char *argv[])
// Now that QSettings are accessible, initialize translations
QTranslator qtTranslatorBase, qtTranslator, translatorBase, translator;
initTranslations(qtTranslatorBase, qtTranslator, translatorBase, translator);
uiInterface.Translate.connect(Translate);
translationInterface.Translate.connect(Translate);
// Show help message immediately after parsing command-line options (for "-lang") and setting locale,
// but before showing splash screen.

1
src/qt/transactiondesc.cpp

@ -14,7 +14,6 @@
#include "main.h"
#include "script/script.h"
#include "timedata.h"
#include "ui_interface.h"
#include "util.h"
#include "wallet/db.h"
#include "wallet/wallet.h"

1
src/rpcclient.cpp

@ -7,7 +7,6 @@
#include "rpcprotocol.h"
#include "util.h"
#include "ui_interface.h"
#include <set>
#include <stdint.h>

2
src/test/test_bitcoin.cpp

@ -20,7 +20,7 @@
#include <boost/test/unit_test.hpp>
#include <boost/thread.hpp>
CClientUIInterface uiInterface;
CClientUIInterface uiInterface; // Declared but not defined in ui_interface.h
CWallet* pwalletMain;
extern bool fPrintToConsole;

13
src/ui_interface.h

@ -78,9 +78,6 @@ public:
/** Progress message during initialization. */
boost::signals2::signal<void (const std::string &message)> InitMessage;
/** Translate a message to the native language of the user. */
boost::signals2::signal<std::string (const char* psz)> Translate;
/** Number of network connections changed. */
boost::signals2::signal<void (int newNumConnections)> NotifyNumConnectionsChanged;
@ -102,14 +99,4 @@ public:
extern CClientUIInterface uiInterface;
/**
* Translation function: Call Translate signal on UI interface, which returns a boost::optional result.
* If no translation slot is registered, nothing is returned, and simply return the input.
*/
inline std::string _(const char* psz)
{
boost::optional<std::string> rv = uiInterface.Translate(psz);
return rv ? (*rv) : psz;
}
#endif // BITCOIN_UI_INTERFACE_H

1
src/util.cpp

@ -109,6 +109,7 @@ string strMiscWarning;
bool fLogTimestamps = false;
bool fLogIPs = false;
volatile bool fReopenDebugLog = false;
CTranslationInterface translationInterface;
/** Init OpenSSL library multithreading support */
static CCriticalSection** ppmutexOpenSSL;

20
src/util.h

@ -25,8 +25,17 @@
#include <vector>
#include <boost/filesystem/path.hpp>
#include <boost/signals2/signal.hpp>
#include <boost/thread/exceptions.hpp>
/** Signals for translation. */
class CTranslationInterface
{
public:
/** Translate a message to the native language of the user. */
boost::signals2::signal<std::string (const char* psz)> Translate;
};
extern std::map<std::string, std::string> mapArgs;
extern std::map<std::string, std::vector<std::string> > mapMultiArgs;
extern bool fDebug;
@ -37,6 +46,17 @@ extern std::string strMiscWarning;
extern bool fLogTimestamps;
extern bool fLogIPs;
extern volatile bool fReopenDebugLog;
extern CTranslationInterface translationInterface;
/**
* Translation function: Call Translate signal on UI interface, which returns a boost::optional result.
* If no translation slot is registered, nothing is returned, and simply return the input.
*/
inline std::string _(const char* psz)
{
boost::optional<std::string> rv = translationInterface.Translate(psz);
return rv ? (*rv) : psz;
}
void SetupEnvironment();

Loading…
Cancel
Save