Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/xs
diff options
context:
space:
mode:
authorEnrico Turri <enricoturri@seznam.cz>2018-09-05 16:32:12 +0300
committerEnrico Turri <enricoturri@seznam.cz>2018-09-05 16:32:12 +0300
commit622e86d9e41574bdd281bdb7b0beafeb8c39123e (patch)
tree223748e4c4ecf48b3031d7247d85941026078439 /xs
parentaef871f1a078b378e59c68e94ec449e25c6880ab (diff)
parent82838cc640950a2505e77b0b5205f74cd86dfdf1 (diff)
Merge branch 'master' of https://github.com/prusa3d/Slic3r into dev
Diffstat (limited to 'xs')
-rw-r--r--xs/src/slic3r/GUI/Field.cpp23
-rw-r--r--xs/src/slic3r/GUI/Field.hpp2
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: