diff options
| author | Carl Hetherington <cth@carlh.net> | 2019-03-21 23:07:44 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2019-03-21 23:07:44 +0000 |
| commit | 674f59e307919856118d21aa03b53eb6fa82aeb0 (patch) | |
| tree | 2baaef6d55fb3b8c55fa2715ab5263f65e1e5043 /src | |
| parent | da9fd55339dab2605d14579a0f79588db27c232a (diff) | |
Fix instant-translation when things are changed more than once.
Diffstat (limited to 'src')
| -rw-r--r-- | src/wx/check_box.cc | 4 | ||||
| -rw-r--r-- | src/wx/dcpomatic_button.cc | 4 | ||||
| -rw-r--r-- | src/wx/i18n_hook.cc | 9 | ||||
| -rw-r--r-- | src/wx/i18n_hook.h | 5 | ||||
| -rw-r--r-- | src/wx/static_text.cc | 4 |
5 files changed, 13 insertions, 13 deletions
diff --git a/src/wx/check_box.cc b/src/wx/check_box.cc index 8f24f43ec..d41b8a3f1 100644 --- a/src/wx/check_box.cc +++ b/src/wx/check_box.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2018 Carl Hetherington <cth@carlh.net> + Copyright (C) 2018-2019 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -24,7 +24,7 @@ using std::cout; CheckBox::CheckBox (wxWindow* parent, wxString label) : wxCheckBox (parent, wxID_ANY, label) - , I18NHook (this) + , I18NHook (this, get_text()) { } diff --git a/src/wx/dcpomatic_button.cc b/src/wx/dcpomatic_button.cc index de26629a9..beab64227 100644 --- a/src/wx/dcpomatic_button.cc +++ b/src/wx/dcpomatic_button.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2018 Carl Hetherington <cth@carlh.net> + Copyright (C) 2018-2019 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -22,7 +22,7 @@ Button::Button (wxWindow* parent, wxString label, wxPoint pos, wxSize size, long style) : wxButton (parent, wxID_ANY, label, pos, size, style) - , I18NHook (this) + , I18NHook (this, get_text()) { } diff --git a/src/wx/i18n_hook.cc b/src/wx/i18n_hook.cc index 84dcd761f..b2cd6df8e 100644 --- a/src/wx/i18n_hook.cc +++ b/src/wx/i18n_hook.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2018 Carl Hetherington <cth@carlh.net> + Copyright (C) 2018-2019 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -30,8 +30,9 @@ using std::string; map<string, string> 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)); } @@ -39,8 +40,6 @@ I18NHook::I18NHook (wxWindow* window) void I18NHook::handle (wxMouseEvent& ev) { - wxString const original = get_text (); - InstantI18NDialog* d = new InstantI18NDialog (_window, get_text()); d->ShowModal(); set_text (d->get()); @@ -56,5 +55,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()); } diff --git a/src/wx/i18n_hook.h b/src/wx/i18n_hook.h index 106d9d8c4..40fd89a2c 100644 --- a/src/wx/i18n_hook.h +++ b/src/wx/i18n_hook.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2018 Carl Hetherington <cth@carlh.net> + Copyright (C) 2018-2019 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -27,7 +27,7 @@ class I18NHook { public: - I18NHook (wxWindow* window); + I18NHook (wxWindow* window, wxString original); virtual void set_text (wxString text) = 0; virtual wxString get_text () const = 0; @@ -40,6 +40,7 @@ private: void handle (wxMouseEvent &); wxWindow* _window; + wxString _original; static std::map<std::string, std::string> _translations; }; diff --git a/src/wx/static_text.cc b/src/wx/static_text.cc index 6a11f647a..40710590f 100644 --- a/src/wx/static_text.cc +++ b/src/wx/static_text.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2018 Carl Hetherington <cth@carlh.net> + Copyright (C) 2018-2019 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -22,7 +22,7 @@ StaticText::StaticText (wxWindow* parent, wxString label, wxPoint pos, wxSize size, long style) : wxStaticText (parent, wxID_ANY, label, pos, size, style) - , I18NHook (this) + , I18NHook (this, get_text()) { } |
