diff options
author | Enrico Turri <enricoturri@seznam.cz> | 2018-09-05 16:32:12 +0300 |
---|---|---|
committer | Enrico Turri <enricoturri@seznam.cz> | 2018-09-05 16:32:12 +0300 |
commit | 622e86d9e41574bdd281bdb7b0beafeb8c39123e (patch) | |
tree | 223748e4c4ecf48b3031d7247d85941026078439 /xs | |
parent | aef871f1a078b378e59c68e94ec449e25c6880ab (diff) | |
parent | 82838cc640950a2505e77b0b5205f74cd86dfdf1 (diff) |
Merge branch 'master' of https://github.com/prusa3d/Slic3r into dev
Diffstat (limited to 'xs')
-rw-r--r-- | xs/src/slic3r/GUI/Field.cpp | 23 | ||||
-rw-r--r-- | xs/src/slic3r/GUI/Field.hpp | 2 |
2 files changed, 9 insertions, 16 deletions
diff --git a/xs/src/slic3r/GUI/Field.cpp b/xs/src/slic3r/GUI/Field.cpp index 452e4c90d..f143e8bc6 100644 --- a/xs/src/slic3r/GUI/Field.cpp +++ b/xs/src/slic3r/GUI/Field.cpp @@ -231,20 +231,17 @@ namespace Slic3r { namespace GUI { temp->Bind(wxEVT_TEXT, ([this](wxCommandEvent& evt) { #ifdef __WXGTK__ - if (bChangedValueEvent) - change_field_value(evt); - else - bChangedValueEvent = true; -#else - on_change_field(); + if (bChangedValueEvent) #endif //__WXGTK__ + on_change_field(); }), temp->GetId()); #ifdef __WXGTK__ - // to correct value update on GTK we should call on_change_field() on - // wxEVT_KEY_UP or wxEVT_TEXT_PASTE instead of wxEVT_TEXT + // to correct value updating on GTK we should: + // call on_change_field() on wxEVT_KEY_UP instead of wxEVT_TEXT + // and prevent value updating on wxEVT_KEY_DOWN + temp->Bind(wxEVT_KEY_DOWN, &TextCtrl::change_field_value, this); temp->Bind(wxEVT_KEY_UP, &TextCtrl::change_field_value, this); - temp->Bind(wxEVT_TEXT_PASTE, &TextCtrl::change_field_value, this); #endif //__WXGTK__ // select all text using Ctrl+A @@ -273,12 +270,8 @@ namespace Slic3r { namespace GUI { #ifdef __WXGTK__ void TextCtrl::change_field_value(wxEvent& event) { - if (event.GetEventType() == wxEVT_TEXT_PASTE) - bChangedValueEvent = true; - else if (bChangedValueEvent) { - on_change_field(); - bChangedValueEvent = false; - } + if (bChangedValueEvent = event.GetEventType()==wxEVT_KEY_UP) + on_change_field(); event.Skip(); }; #endif //__WXGTK__ diff --git a/xs/src/slic3r/GUI/Field.hpp b/xs/src/slic3r/GUI/Field.hpp index 4b80040a4..c38658e2b 100644 --- a/xs/src/slic3r/GUI/Field.hpp +++ b/xs/src/slic3r/GUI/Field.hpp @@ -235,7 +235,7 @@ inline bool is_sizer_field(const t_field& obj) { return !is_bad_field(obj) && ob class TextCtrl : public Field { using Field::Field; #ifdef __WXGTK__ - bool bChangedValueEvent = false; + bool bChangedValueEvent = true; void change_field_value(wxEvent& event); #endif //__WXGTK__ public: |