From bf0232308b5b8584ec036ba1626b0539f93f9e3b Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Wed, 23 Jan 2019 09:29:50 +0100 Subject: [PATCH 1/3] Place on face - fix of updating on selection change --- src/slic3r/GUI/GLGizmo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLGizmo.cpp b/src/slic3r/GUI/GLGizmo.cpp index 1f37b7aec..d45dbf2ed 100644 --- a/src/slic3r/GUI/GLGizmo.cpp +++ b/src/slic3r/GUI/GLGizmo.cpp @@ -1511,7 +1511,7 @@ void GLGizmoFlatten::set_flattening_data(const ModelObject* model_object) bool object_changed = m_model_object != model_object; m_model_object = model_object; - if (object_changed && is_plane_update_necessary()) + if (object_changed || is_plane_update_necessary()) update_planes(); } From 78a9e6036ac767fa3772bf1d81b843ec88b48b19 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Wed, 23 Jan 2019 09:42:04 +0100 Subject: [PATCH 2/3] Fix of previous commit --- src/slic3r/GUI/GLGizmo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLGizmo.cpp b/src/slic3r/GUI/GLGizmo.cpp index d45dbf2ed..7efb8786c 100644 --- a/src/slic3r/GUI/GLGizmo.cpp +++ b/src/slic3r/GUI/GLGizmo.cpp @@ -1511,7 +1511,7 @@ void GLGizmoFlatten::set_flattening_data(const ModelObject* model_object) bool object_changed = m_model_object != model_object; m_model_object = model_object; - if (object_changed || is_plane_update_necessary()) + if (model_object && (object_changed || is_plane_update_necessary())) update_planes(); } From fde299bf808347aa1748b503c71039bce9ee5e5d Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Tue, 22 Jan 2019 17:52:14 +0100 Subject: [PATCH 3/3] I18N: wx 3.0 back-compat for translations with context, fix #1694 --- src/slic3r/GUI/I18N.hpp | 20 +++++++++++++++++++- src/slic3r/GUI/OptionsGroup.cpp | 2 +- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/I18N.hpp b/src/slic3r/GUI/I18N.hpp index c86ff7501..a899eaa59 100644 --- a/src/slic3r/GUI/I18N.hpp +++ b/src/slic3r/GUI/I18N.hpp @@ -2,6 +2,10 @@ #define _(s) Slic3r::GUI::I18N::translate((s)) #endif /* _ */ +#ifndef _CTX +#define _CTX(s, ctx) Slic3r::GUI::I18N::translate((s), (ctx)) +#endif /* _ */ + #ifndef L // !!! If you needed to translate some wxString, // !!! please use _(L(string)) @@ -21,6 +25,7 @@ #define slic3r_GUI_I18N_hpp_ #include +#include namespace Slic3r { namespace GUI { @@ -29,7 +34,20 @@ namespace I18N { inline wxString translate(const wchar_t *s) { return wxGetTranslation(s); } inline wxString translate(const std::string &s) { return wxGetTranslation(wxString(s.c_str(), wxConvUTF8)); } inline wxString translate(const std::wstring &s) { return wxGetTranslation(s.c_str()); } -} + +#if wxCHECK_VERSION(3, 1, 1) + #define _wxGetTranslation_ctx(S, CTX) wxGetTranslation((S), wxEmptyString, (CTX)) +#else + #define _wxGetTranslation_ctx(S, CTX) ((void)(CTX), wxGetTranslation((S))) +#endif + + inline wxString translate(const char *s, const char* ctx) { return _wxGetTranslation_ctx(wxString(s, wxConvUTF8), ctx); } + inline wxString translate(const wchar_t *s, const char* ctx) { return _wxGetTranslation_ctx(s, ctx); } + inline wxString translate(const std::string &s, const char* ctx) { return _wxGetTranslation_ctx(wxString(s.c_str(), wxConvUTF8), ctx); } + inline wxString translate(const std::wstring &s, const char* ctx) { return _wxGetTranslation_ctx(s.c_str(), ctx); } + +#undef _wxGetTranslation_ctx +} // Return translated std::string as a wxString wxString L_str(const std::string &str); diff --git a/src/slic3r/GUI/OptionsGroup.cpp b/src/slic3r/GUI/OptionsGroup.cpp index 4952398f3..78bbe4fec 100644 --- a/src/slic3r/GUI/OptionsGroup.cpp +++ b/src/slic3r/GUI/OptionsGroup.cpp @@ -234,7 +234,7 @@ void OptionsGroup::append_line(const Line& line, wxStaticText** full_Label/* = n // wxString str_label = _(option.label); //! To correct translation by context have to use wxGETTEXT_IN_CONTEXT macro from wxWidget 3.1.1 wxString str_label = (option.label == "Top" || option.label == "Bottom") ? - wxGETTEXT_IN_CONTEXT("Layers", wxString(option.label)) : + _CTX(option.label, "Layers") : _(option.label); label = new wxStaticText(parent(), wxID_ANY, str_label + ":", wxDefaultPosition, wxDefaultSize); label->SetFont(label_font);