X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fi18n_hook.cc;h=eb6e61d5fb2bb19768d344c23008cd71a9061b1d;hb=7aab34abcab28ca38a5354dec075b56d430e82db;hp=84dcd761fdbfdc914397ef15639ea5fc5bc7b5b2;hpb=5869a4b402e16ea735fb6902fe7604ec4d0ec0d4;p=dcpomatic.git diff --git a/src/wx/i18n_hook.cc b/src/wx/i18n_hook.cc index 84dcd761f..eb6e61d5f 100644 --- a/src/wx/i18n_hook.cc +++ b/src/wx/i18n_hook.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2018 Carl Hetherington + Copyright (C) 2018-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,35 +18,44 @@ */ + #include "i18n_hook.h" #include "instant_i18n_dialog.h" #include "wx_util.h" #include "lib/cross.h" +#include +LIBDCP_DISABLE_WARNINGS #include -#include +LIBDCP_ENABLE_WARNINGS +#include + using std::map; using std::string; +#if BOOST_VERSION >= 106100 +using namespace boost::placeholders; +#endif + map I18NHook::_translations; -I18NHook::I18NHook (wxWindow* window) +I18NHook::I18NHook (wxWindow* window, wxString original) : _window (window) + , _original (original) { _window->Bind (wxEVT_MIDDLE_DOWN, bind(&I18NHook::handle, this, _1)); } + void I18NHook::handle (wxMouseEvent& ev) { - wxString const original = get_text (); - - InstantI18NDialog* d = new InstantI18NDialog (_window, get_text()); + auto d = new InstantI18NDialog (_window, get_text()); d->ShowModal(); set_text (d->get()); d->Destroy (); - wxWindow* w = _window; + auto w = _window; while (w) { if (w->GetContainingSizer()) { w->GetContainingSizer()->Layout(); @@ -56,5 +65,5 @@ I18NHook::handle (wxMouseEvent& ev) ev.Skip (); - _translations[wx_to_std(original)] = wx_to_std(get_text()); + _translations[wx_to_std(_original)] = wx_to_std(get_text()); }