From bd67bd82700877b7f3ae456db28b5b1911dc91ea Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Mon, 12 May 2025 21:18:19 +0800 Subject: [PATCH 1/5] Fix brim ear render when camera projection changed (#9605) * Fix brim ear render when camera projection changed (SoftFever/OrcaSlicer#9602) * Remove unnecessary shader uniform --- src/slic3r/GUI/3DBed.cpp | 6 +++--- src/slic3r/GUI/Gizmos/GLGizmoBrimEars.cpp | 12 ++++++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/slic3r/GUI/3DBed.cpp b/src/slic3r/GUI/3DBed.cpp index e462dc6534..ec7758483f 100644 --- a/src/slic3r/GUI/3DBed.cpp +++ b/src/slic3r/GUI/3DBed.cpp @@ -212,8 +212,8 @@ void Bed3D::Axes::render() const Transform3d& view_matrix = camera.get_view_matrix(); shader->set_uniform("view_model_matrix", view_matrix * transform); shader->set_uniform("projection_matrix", camera.get_projection_matrix()); - const Matrix3d view_normal_matrix = view_matrix.matrix().block(0, 0, 3, 3) * transform.matrix().block(0, 0, 3, 3).inverse().transpose(); - shader->set_uniform("view_normal_matrix", view_normal_matrix); + //const Matrix3d view_normal_matrix = view_matrix.matrix().block(0, 0, 3, 3) * transform.matrix().block(0, 0, 3, 3).inverse().transpose(); + //shader->set_uniform("view_normal_matrix", view_normal_matrix); m_arrow.render(); }; @@ -228,7 +228,7 @@ void Bed3D::Axes::render() glsafe(::glEnable(GL_DEPTH_TEST)); shader->start_using(); - shader->set_uniform("emission_factor", 0.0f); + //shader->set_uniform("emission_factor", 0.0f); // x axis m_arrow.set_color(AXIS_X_COLOR); diff --git a/src/slic3r/GUI/Gizmos/GLGizmoBrimEars.cpp b/src/slic3r/GUI/Gizmos/GLGizmoBrimEars.cpp index df7a668745..6fcff2620a 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoBrimEars.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoBrimEars.cpp @@ -110,10 +110,12 @@ void GLGizmoBrimEars::render_points(const Selection &selection) if (!has_points) return; - GLShaderProgram *shader = wxGetApp().get_shader("gouraud_light"); - if (shader != nullptr) shader->start_using(); + const auto shader = wxGetApp().get_shader("gouraud_light"); + if (shader == nullptr) + return; + shader->start_using(); ScopeGuard guard([shader]() { - if (shader != nullptr) shader->stop_using(); + shader->stop_using(); }); const Camera& camera = wxGetApp().plater()->get_camera(); @@ -122,6 +124,8 @@ void GLGizmoBrimEars::render_points(const Selection &selection) const Transform3d &instance_scaling_matrix_inverse = vol->get_instance_transformation().get_scaling_factor_matrix().inverse(); const Transform3d &instance_matrix = vol->get_instance_transformation().get_matrix(); + shader->set_uniform("projection_matrix", camera.get_projection_matrix()); + ColorRGBA render_color; for (size_t i = 0; i < cache_size; ++i) { const BrimPoint &brim_point = editing_cache[i].brim_point; @@ -151,7 +155,7 @@ void GLGizmoBrimEars::render_points(const Selection &selection) } m_cylinder.model.set_color(render_color); - if (shader) shader->set_uniform("emission_factor", 0.5f); + shader->set_uniform("emission_factor", 0.5f); if (vol->is_left_handed()) glFrontFace(GL_CW); From 1a5b238ba4357e90d649131658b0596458e2346e Mon Sep 17 00:00:00 2001 From: Kiss Lorand <50251547+kisslorand@users.noreply.github.com> Date: Mon, 12 May 2025 17:11:39 +0300 Subject: [PATCH 2/5] Gizmo shortcuts (#9604) * Gizmo shortcuts * Delete invalid comment --- localization/i18n/OrcaSlicer.pot | 16 ++++- localization/i18n/ca/OrcaSlicer_ca.po | 20 ++++-- localization/i18n/cs/OrcaSlicer_cs.po | 24 +++++-- localization/i18n/de/OrcaSlicer_de.po | 22 +++++-- localization/i18n/en/OrcaSlicer_en.po | 16 ++++- localization/i18n/es/OrcaSlicer_es.po | 22 +++++-- localization/i18n/fr/OrcaSlicer_fr.po | 20 ++++-- localization/i18n/hu/OrcaSlicer_hu.po | 71 +++++++++++---------- localization/i18n/it/OrcaSlicer_it.po | 20 ++++-- localization/i18n/ja/OrcaSlicer_ja.po | 22 +++++-- localization/i18n/ko/OrcaSlicer_ko.po | 16 ++++- localization/i18n/lt/OrcaSlicer_lt.po | 20 ++++-- localization/i18n/nl/OrcaSlicer_nl.po | 26 ++++++-- localization/i18n/pl/OrcaSlicer_pl.po | 18 +++++- localization/i18n/pt_BR/OrcaSlicer_pt_BR.po | 18 +++++- localization/i18n/ru/OrcaSlicer_ru.po | 18 +++++- localization/i18n/sv/OrcaSlicer_sv.po | 32 +++++++--- localization/i18n/tr/OrcaSlicer_tr.po | 22 +++++-- localization/i18n/uk/OrcaSlicer_uk.po | 20 ++++-- localization/i18n/zh_CN/OrcaSlicer_zh_CN.po | 22 +++++-- localization/i18n/zh_TW/OrcaSlicer_zh_TW.po | 16 ++++- src/slic3r/GUI/ConfigManipulation.cpp | 2 - src/slic3r/GUI/Gizmos/GLGizmoAssembly.cpp | 6 ++ src/slic3r/GUI/Gizmos/GLGizmoAssembly.hpp | 2 +- src/slic3r/GUI/Gizmos/GLGizmoBrimEars.cpp | 16 ++--- src/slic3r/GUI/KBShortcutsDialog.cpp | 16 +++-- 26 files changed, 388 insertions(+), 135 deletions(-) diff --git a/localization/i18n/OrcaSlicer.pot b/localization/i18n/OrcaSlicer.pot index 059c19eda9..002bc6b786 100644 --- a/localization/i18n/OrcaSlicer.pot +++ b/localization/i18n/OrcaSlicer.pot @@ -8242,7 +8242,10 @@ msgstr "" msgid "Gizmo cut" msgstr "" -msgid "Gizmo Place face on bed" +msgid "Gizmo place face on bed" +msgstr "" + +msgid "Gizmo mesh boolean" msgstr "" msgid "Gizmo SLA support points" @@ -8251,7 +8254,16 @@ msgstr "" msgid "Gizmo FDM paint-on seam" msgstr "" -msgid "Gizmo Text emboss / engrave" +msgid "Gizmo text emboss/engrave" +msgstr "" + +msgid "Gizmo measure" +msgstr "" + +msgid "Gizmo assemble" +msgstr "" + +msgid "Gizmo brim ears" msgstr "" msgid "Zoom in" diff --git a/localization/i18n/ca/OrcaSlicer_ca.po b/localization/i18n/ca/OrcaSlicer_ca.po index 991b0efa38..e5765670cb 100644 --- a/localization/i18n/ca/OrcaSlicer_ca.po +++ b/localization/i18n/ca/OrcaSlicer_ca.po @@ -9015,8 +9015,11 @@ msgstr "Gizmo de Rotació" msgid "Gizmo cut" msgstr "Gizmo de Tall" -msgid "Gizmo Place face on bed" -msgstr "Gizmo de Recolzament sobre la Cara a la placa" +msgid "Gizmo place face on bed" +msgstr "Gizmo de recolzament sobre la Cara a la placa" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo booleà de malla" msgid "Gizmo SLA support points" msgstr "Gizmo de Punts de suport SLA" @@ -9024,8 +9027,17 @@ msgstr "Gizmo de Punts de suport SLA" msgid "Gizmo FDM paint-on seam" msgstr "Eina de Pintat de costures FDM" -msgid "Gizmo Text emboss / engrave" -msgstr "Gizmo de Text en relleu / gravat" +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo de text en relleu/gravat" + +msgid "Gizmo measure" +msgstr "Gizmo mesurar" + +msgid "Gizmo assemble" +msgstr "Gizmo ensamblar" + +msgid "Gizmo brim ears" +msgstr "Gizmo orelles de la Vora d'Adherència" msgid "Zoom in" msgstr "Augmentar zoom" diff --git a/localization/i18n/cs/OrcaSlicer_cs.po b/localization/i18n/cs/OrcaSlicer_cs.po index 99550fb037..91353715b8 100644 --- a/localization/i18n/cs/OrcaSlicer_cs.po +++ b/localization/i18n/cs/OrcaSlicer_cs.po @@ -8733,8 +8733,11 @@ msgstr "Gizmo rotace" msgid "Gizmo cut" msgstr "Gizmo řez" -msgid "Gizmo Place face on bed" -msgstr "Gizmo Umístit plochou na podložku" +msgid "Gizmo place face on bed" +msgstr "Gizmo umístit plochou na podložku" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo booleovská síť" msgid "Gizmo SLA support points" msgstr "Gizmo SLA podpěrné body" @@ -8742,8 +8745,17 @@ msgstr "Gizmo SLA podpěrné body" msgid "Gizmo FDM paint-on seam" msgstr "Gizmo FDM malování pozice švu" -msgid "Gizmo Text emboss / engrave" -msgstr "Gizmo Text emboss / gravírování" +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo text emboss/gravírování" + +msgid "Gizmo measure" +msgstr "Gizmo měření" + +msgid "Gizmo assemble" +msgstr "Gizmo sestavit" + +msgid "Gizmo brim ears" +msgstr "Gizmo uši límce" msgid "Zoom in" msgstr "Přiblížit" @@ -16780,10 +16792,10 @@ msgid "Set the brim type to \"painted\"" msgstr "" msgid " invalid brim ears" -msgstr "" +msgstr " neplatný uši Límce" msgid "Brim Ears" -msgstr "" +msgstr "Uši Límce" msgid "Please select single object." msgstr "" diff --git a/localization/i18n/de/OrcaSlicer_de.po b/localization/i18n/de/OrcaSlicer_de.po index 83d2d16930..67c5f048b8 100644 --- a/localization/i18n/de/OrcaSlicer_de.po +++ b/localization/i18n/de/OrcaSlicer_de.po @@ -104,7 +104,7 @@ msgid "Support Generated" msgstr "Support generiert" msgid "Gizmo-Place on Face" -msgstr "Gizmo auf Fläche platzieren" +msgstr "Gizmo-auf Fläche platzieren" msgid "Lay on face" msgstr "Auf Fläche legen" @@ -9087,8 +9087,11 @@ msgstr "Rotieren" msgid "Gizmo cut" msgstr "Trennen" -msgid "Gizmo Place face on bed" -msgstr "Fläche auf Druckbett platzieren" +msgid "Gizmo place face on bed" +msgstr "Fläche auf druckbett platzieren" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo mesh-boolesche" msgid "Gizmo SLA support points" msgstr "SLA Stützpunkte" @@ -9096,8 +9099,17 @@ msgstr "SLA Stützpunkte" msgid "Gizmo FDM paint-on seam" msgstr "FDM Naht aufmalen" -msgid "Gizmo Text emboss / engrave" -msgstr "Text prägen / gravieren" +msgid "Gizmo text emboss/engrave" +msgstr "Text prägen/gravieren" + +msgid "Gizmo measure" +msgstr "Gizmo messen" + +msgid "Gizmo assemble" +msgstr "Gizmo Zusammenbauen" + +msgid "Gizmo brim ears" +msgstr "Gizmo mausohren" msgid "Zoom in" msgstr "Vergrößern" diff --git a/localization/i18n/en/OrcaSlicer_en.po b/localization/i18n/en/OrcaSlicer_en.po index 6e428ee4e2..9eef343416 100644 --- a/localization/i18n/en/OrcaSlicer_en.po +++ b/localization/i18n/en/OrcaSlicer_en.po @@ -8477,7 +8477,10 @@ msgstr "" msgid "Gizmo cut" msgstr "" -msgid "Gizmo Place face on bed" +msgid "Gizmo place face on bed" +msgstr "" + +msgid "Gizmo mesh boolean" msgstr "" msgid "Gizmo SLA support points" @@ -8486,7 +8489,16 @@ msgstr "" msgid "Gizmo FDM paint-on seam" msgstr "" -msgid "Gizmo Text emboss / engrave" +msgid "Gizmo text emboss/engrave" +msgstr "" + +msgid "Gizmo measure" +msgstr "" + +msgid "Gizmo assemble" +msgstr "" + +msgid "Gizmo brim ears" msgstr "" msgid "Zoom in" diff --git a/localization/i18n/es/OrcaSlicer_es.po b/localization/i18n/es/OrcaSlicer_es.po index d56d767508..35dacdfa29 100644 --- a/localization/i18n/es/OrcaSlicer_es.po +++ b/localization/i18n/es/OrcaSlicer_es.po @@ -9034,17 +9034,29 @@ msgstr "Herramienta de rotación" msgid "Gizmo cut" msgstr "Herramienta de corte" -msgid "Gizmo Place face on bed" +msgid "Gizmo place face on bed" msgstr "Herramienta de situar cara en cama" +msgid "Gizmo mesh boolean" +msgstr "Gizmo buleana de malla" + msgid "Gizmo SLA support points" msgstr "Herramienta de puntos de soporte SLA" msgid "Gizmo FDM paint-on seam" msgstr "Herramienta de pintado de costuras FDM" -msgid "Gizmo Text emboss / engrave" -msgstr "Herramienta de Texto en relieve / grabado" +msgid "Gizmo text emboss/engrave" +msgstr "Herramienta de texto en relieve/grabado" + +msgid "Gizmo measure" +msgstr "Gizmo medir" + +msgid "Gizmo assemble" +msgstr "Gizmo ensamblar" + +msgid "Gizmo brim ears" +msgstr "Gizmo orejas de borde" msgid "Zoom in" msgstr "Acercar" @@ -18103,10 +18115,10 @@ msgid "Set the brim type to \"painted\"" msgstr "" msgid " invalid brim ears" -msgstr "" +msgstr " orejas de borde invalidos" msgid "Brim Ears" -msgstr "" +msgstr "Orejas de borde" msgid "Please select single object." msgstr "" diff --git a/localization/i18n/fr/OrcaSlicer_fr.po b/localization/i18n/fr/OrcaSlicer_fr.po index e7c6f04725..ac94eb1929 100644 --- a/localization/i18n/fr/OrcaSlicer_fr.po +++ b/localization/i18n/fr/OrcaSlicer_fr.po @@ -9127,8 +9127,11 @@ msgstr "Gizmo pivoter" msgid "Gizmo cut" msgstr "Gizmo couper" -msgid "Gizmo Place face on bed" -msgstr "Gizmo Placer la face sur le plateau" +msgid "Gizmo place face on bed" +msgstr "Gizmo placer la face sur le plateau" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo booléennes" msgid "Gizmo SLA support points" msgstr "Gizmo Point de support SLA" @@ -9136,8 +9139,17 @@ msgstr "Gizmo Point de support SLA" msgid "Gizmo FDM paint-on seam" msgstr "Gizmo Peinture de la couture FDM" -msgid "Gizmo Text emboss / engrave" -msgstr "Gizmo Embosser / graver du texte" +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo embosser/graver du texte" + +msgid "Gizmo measure" +msgstr "Gizmo mesurer" + +msgid "Gizmo assemble" +msgstr "Gizmo assembler" + +msgid "Gizmo brim ears" +msgstr "Gizmo bordure à oreilles" msgid "Zoom in" msgstr "Zoom avant" diff --git a/localization/i18n/hu/OrcaSlicer_hu.po b/localization/i18n/hu/OrcaSlicer_hu.po index bc4ac79736..076b1492f4 100644 --- a/localization/i18n/hu/OrcaSlicer_hu.po +++ b/localization/i18n/hu/OrcaSlicer_hu.po @@ -100,7 +100,7 @@ msgid "Support Generated" msgstr "Támasz legenerálva" msgid "Gizmo-Place on Face" -msgstr "Gizmo- Felület Tárgyasztalra Illesztése" +msgstr "Gizmo-Felület Tárgyasztalra Illesztése" msgid "Lay on face" msgstr "Felületre fektetés" @@ -181,13 +181,13 @@ msgid "Move" msgstr "Mozgatás" msgid "Gizmo-Move" -msgstr "Gizmo-Mozgatása" +msgstr "Gizmo-Mozgatás" msgid "Rotate" msgstr "Forgatás" msgid "Gizmo-Rotate" -msgstr "Gizmo-Forgatása" +msgstr "Gizmo-Forgatás" msgid "Optimize orientation" msgstr "Orientáció optimalizálása" @@ -199,7 +199,7 @@ msgid "Scale" msgstr "Átméretezés" msgid "Gizmo-Scale" -msgstr "Gizmo-Skála" +msgstr "Gizmo-Átméretezés" msgid "Error: Please close all toolbar menus first" msgstr "Hiba: Kérjük, először zárd be az összes eszköztár menüt" @@ -1193,7 +1193,7 @@ msgid "Lock/unlock the aspect ratio of the SVG." msgstr "" msgid "Reset scale" -msgstr "Skála visszaállítása" +msgstr "Méretezés visszaállítása" msgid "Distance of the center of the SVG to the model surface." msgstr "" @@ -1286,7 +1286,7 @@ msgid "Cancel a feature until exit" msgstr "" msgid "Measure" -msgstr "" +msgstr "Mérés" msgid "" "Please confirm explosion ratio = 1,and please select at least one object" @@ -1871,16 +1871,13 @@ msgid "Assemble the selected objects to an object with multiple parts" msgstr "Összeállítja a kijelölt objektumot egy több részből álló objektummá" msgid "Assemble the selected objects to an object with single part" -msgstr "" -"Összeállítja a kijelölt objektumokat egy egyetlen részből álló objektummá" +msgstr "Összeállítja a kijelölt objektumokat egy egyetlen részből álló objektummá" msgid "Mesh boolean" -msgstr "Mesh boolean" +msgstr "Modellháló logikai műveletek" msgid "Mesh boolean operations including union and subtraction" -msgstr "" -"Olyan modellhálóval kapcsolatos logikai műveletek, mint például az egyesítés " -"és kivonás" +msgstr "Modellhálóval kapcsolatos logikai műveletek, mint például az egyesítés és kivonás" msgid "Along X axis" msgstr "X-tengely mentén" @@ -2061,9 +2058,7 @@ msgid "Click the icon to reset all settings of the object" msgstr "Kattints az ikonra az objektum összes beállításának visszaállításához" msgid "Right button click the icon to drop the object printable property" -msgstr "" -"Kattints jobb gombbal az ikonra az objektum nyomtatható tulajdonságának " -"elvetéséhez" +msgstr "Kattints jobb gombbal az ikonra az objektum nyomtatható tulajdonságának elvetéséhez" msgid "Click the icon to toggle printable property of the object" msgstr "" @@ -2094,9 +2089,7 @@ msgid "Add Modifier" msgstr "Módosító hozzáadása" msgid "Switch to per-object setting mode to edit modifier settings." -msgstr "" -"Válts át objektumonkénti beállítási módba a módosító beállításainak " -"szerkesztéséhez." +msgstr "Válts át objektumonkénti beállítási módba a módosító beállításainak szerkesztéséhez." msgid "" "Switch to per-object setting mode to edit process settings of selected " @@ -8649,28 +8642,40 @@ msgid "Select all objects" msgstr "Összes objektum kijelölése" msgid "Gizmo move" -msgstr "" +msgstr "Gizmo mozgatás" msgid "Gizmo scale" -msgstr "" +msgstr "Gizmo átméretezés" msgid "Gizmo rotate" -msgstr "" +msgstr "Gizmo forgatás" msgid "Gizmo cut" -msgstr "" +msgstr "Gizmo vágás" -msgid "Gizmo Place face on bed" -msgstr "" +msgid "Gizmo place face on bed" +msgstr "Gizmo felület tárgyasztalra illesztése" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo modellháló logikai műveletek" msgid "Gizmo SLA support points" -msgstr "" +msgstr "Gizmo SLA támaszpontok" msgid "Gizmo FDM paint-on seam" -msgstr "" +msgstr "Gizmo FDM varrat festés" -msgid "Gizmo Text emboss / engrave" -msgstr "" +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo szöveg dombornyomás/gravírozás" + +msgid "Gizmo measure" +msgstr "Gizmo mérés" + +msgid "Gizmo assemble" +msgstr "Gizmo összeállítás" + +msgid "Gizmo brim ears" +msgstr "Gizmo karimás fülek" msgid "Zoom in" msgstr "Zoom közelítés" @@ -8679,7 +8684,7 @@ msgid "Zoom out" msgstr "Zoom távolítás" msgid "Switch between Prepare/Preview" -msgstr "" +msgstr "Váltás előkészítés/előnézet között" msgid "Plater" msgstr "" @@ -10177,7 +10182,7 @@ msgstr "" "eltávolítását" msgid "Brim ears" -msgstr "" +msgstr "Karimás fülek" msgid "Only draw brim over the sharp edges of the model." msgstr "" @@ -15471,7 +15476,7 @@ msgid "Unable to perform boolean operation on selected parts" msgstr "Nem lehet logikai műveletet végrehajtani a kiválasztott tárgyakon" msgid "Mesh Boolean" -msgstr "Mesh Boolean" +msgstr "Modellháló logikai műveletek" msgid "Union" msgstr "Egyesítés" @@ -16502,10 +16507,10 @@ msgid "Set the brim type to \"painted\"" msgstr "" msgid " invalid brim ears" -msgstr "" +msgstr " érvénytelen karimás fülek" msgid "Brim Ears" -msgstr "" +msgstr "Karimás Fülek" msgid "Please select single object." msgstr "" diff --git a/localization/i18n/it/OrcaSlicer_it.po b/localization/i18n/it/OrcaSlicer_it.po index ea19bb73c4..52cd83a960 100644 --- a/localization/i18n/it/OrcaSlicer_it.po +++ b/localization/i18n/it/OrcaSlicer_it.po @@ -9061,8 +9061,11 @@ msgstr "Strumento Ruota" msgid "Gizmo cut" msgstr "Strumento Taglia" -msgid "Gizmo Place face on bed" -msgstr "Strumento Posiziona faccia sul piatto" +msgid "Gizmo place face on bed" +msgstr "Strumento posiziona faccia sul piatto" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo maglia booleana" msgid "Gizmo SLA support points" msgstr "Strumento Punti di supporto SLA" @@ -9070,8 +9073,17 @@ msgstr "Strumento Punti di supporto SLA" msgid "Gizmo FDM paint-on seam" msgstr "Strumento Dipingi cucitura FDM" -msgid "Gizmo Text emboss / engrave" -msgstr "Strumento Testo in rilievo / incisione" +msgid "Gizmo text emboss/engrave" +msgstr "Strumento testo in rilievo/incisione" + +msgid "Gizmo measure" +msgstr "Gizmo misura" + +msgid "Gizmo assemble" +msgstr "Gizmo assemblaggio" + +msgid "Gizmo brim ears" +msgstr "Gizmo tese ad orecchio" msgid "Zoom in" msgstr "Ingrandisci" diff --git a/localization/i18n/ja/OrcaSlicer_ja.po b/localization/i18n/ja/OrcaSlicer_ja.po index e2c8e34ead..63a0e6b7f2 100644 --- a/localization/i18n/ja/OrcaSlicer_ja.po +++ b/localization/i18n/ja/OrcaSlicer_ja.po @@ -1889,10 +1889,10 @@ msgid "Assemble the selected objects to an object with single part" msgstr "選択したオブジェクトを一つオブジェクトに組み立てます(単パーツ)" msgid "Mesh boolean" -msgstr "" +msgstr "メッシュブール" msgid "Mesh boolean operations including union and subtraction" -msgstr "" +msgstr "結合や減算などのメッシュのブール演算" msgid "Along X axis" msgstr "X軸方向" @@ -8439,18 +8439,30 @@ msgstr "回転" msgid "Gizmo cut" msgstr "カット" -msgid "Gizmo Place face on bed" +msgid "Gizmo place face on bed" msgstr "底面選択" +msgid "Gizmo mesh boolean" +msgstr "メッシュブール" + msgid "Gizmo SLA support points" msgstr "SLAサポートポイント" msgid "Gizmo FDM paint-on seam" msgstr "継ぎ目ペイント" -msgid "Gizmo Text emboss / engrave" +msgid "Gizmo text emboss/engrave" msgstr "ギズモ・テキストのエンボス/エングレーブ" +msgid "Gizmo measure" +msgstr "測る" + +msgid "Gizmo assemble" +msgstr "組立てる" + +msgid "Gizmo brim ears" +msgstr "ブリム" + msgid "Zoom in" msgstr "ズームイン" @@ -15089,7 +15101,7 @@ msgid "Unable to perform boolean operation on selected parts" msgstr "" msgid "Mesh Boolean" -msgstr "" +msgstr "メッシュブール" msgid "Union" msgstr "" diff --git a/localization/i18n/ko/OrcaSlicer_ko.po b/localization/i18n/ko/OrcaSlicer_ko.po index 3207e3393a..81e5b23c3d 100644 --- a/localization/i18n/ko/OrcaSlicer_ko.po +++ b/localization/i18n/ko/OrcaSlicer_ko.po @@ -8731,18 +8731,30 @@ msgstr "변형도구 회전" msgid "Gizmo cut" msgstr "변형도구 잘라내기" -msgid "Gizmo Place face on bed" +msgid "Gizmo place face on bed" msgstr "변형도구 바닥면 선택" +msgid "Gizmo mesh boolean" +msgstr "변형도구 합집합/차집합/교집합" + msgid "Gizmo SLA support points" msgstr "변형도구 서포트 칠하기" msgid "Gizmo FDM paint-on seam" msgstr "변형도구 재봉선 칠하기" -msgid "Gizmo Text emboss / engrave" +msgid "Gizmo text emboss/engrave" msgstr "변형도구 - 텍스트 엠보싱/인그레이빙" +msgid "Gizmo measure" +msgstr "변형도구 측정" + +msgid "Gizmo assemble" +msgstr "변형도구 병합" + +msgid "Gizmo brim ears" +msgstr "변형도구 브림 귀" + msgid "Zoom in" msgstr "확대" diff --git a/localization/i18n/lt/OrcaSlicer_lt.po b/localization/i18n/lt/OrcaSlicer_lt.po index 948d8f1741..d3df45e133 100644 --- a/localization/i18n/lt/OrcaSlicer_lt.po +++ b/localization/i18n/lt/OrcaSlicer_lt.po @@ -8985,8 +8985,11 @@ msgstr "Gizmo pasukimas" msgid "Gizmo cut" msgstr "Gizmo pjaustymui" -msgid "Gizmo Place face on bed" -msgstr "Gizmo Padėti paviršių ant pagrindo" +msgid "Gizmo place face on bed" +msgstr "Gizmo padėti paviršių ant pagrindo" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo objektų jungimo/atėmimo/susikirtimo įrankiai" msgid "Gizmo SLA support points" msgstr "Gizmo SLA atramų taškai" @@ -8994,8 +8997,17 @@ msgstr "Gizmo SLA atramų taškai" msgid "Gizmo FDM paint-on seam" msgstr "Gizmo FDM siūlių piešimui" -msgid "Gizmo Text emboss / engrave" -msgstr "\"Gizmo\" teksto įspaudimas / graviravimas" +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo teksto įspaudimas/graviravimas" + +msgid "Gizmo measure" +msgstr "Gizmo matuoti" + +msgid "Gizmo assemble" +msgstr "Gizmo surinkimo" + +msgid "Gizmo brim ears" +msgstr "Gizmo krašto \"ausys\"" msgid "Zoom in" msgstr "Padidinti" diff --git a/localization/i18n/nl/OrcaSlicer_nl.po b/localization/i18n/nl/OrcaSlicer_nl.po index 752e46e086..1f8f75a471 100644 --- a/localization/i18n/nl/OrcaSlicer_nl.po +++ b/localization/i18n/nl/OrcaSlicer_nl.po @@ -8798,8 +8798,11 @@ msgstr "Gizmo roteren" msgid "Gizmo cut" msgstr "Gizmo snijden" -msgid "Gizmo Place face on bed" -msgstr "Gizmo Plaats gebied op het bed" +msgid "Gizmo place face on bed" +msgstr "Gizmo plaats gebied op het bed" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo mesh booleaan" msgid "Gizmo SLA support points" msgstr "Gizmo SLA-ondersteuningspunten" @@ -8807,8 +8810,17 @@ msgstr "Gizmo SLA-ondersteuningspunten" msgid "Gizmo FDM paint-on seam" msgstr "Gizmo FDM seam schilderen" -msgid "Gizmo Text emboss / engrave" -msgstr "" +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo tekst reliëf/graveren" + +msgid "Gizmo measure" +msgstr "Gizmo maatregel" + +msgid "Gizmo assemble" +msgstr "Gizmo monteren" + +msgid "Gizmo brim ears" +msgstr "Gizmo rand oren" msgid "Zoom in" msgstr "Zoom in" @@ -10330,7 +10342,7 @@ msgstr "" "ervoor dat het object eenvoudiger van het printbed kan worden verwijderd." msgid "Brim ears" -msgstr "" +msgstr "Rand oren" msgid "Only draw brim over the sharp edges of the model." msgstr "" @@ -16761,10 +16773,10 @@ msgid "Set the brim type to \"painted\"" msgstr "" msgid " invalid brim ears" -msgstr "" +msgstr " ongeldige rand oren" msgid "Brim Ears" -msgstr "" +msgstr "Rand Oren" msgid "Please select single object." msgstr "Selecteer een enkel object." diff --git a/localization/i18n/pl/OrcaSlicer_pl.po b/localization/i18n/pl/OrcaSlicer_pl.po index 63da73689f..7c0f244d42 100644 --- a/localization/i18n/pl/OrcaSlicer_pl.po +++ b/localization/i18n/pl/OrcaSlicer_pl.po @@ -8975,17 +8975,29 @@ msgstr "Obracanie za pomocą „uchwytów”" msgid "Gizmo cut" msgstr "Cięcie za pomocą „uchwytów”" -msgid "Gizmo Place face on bed" +msgid "Gizmo place face on bed" msgstr "Położenie na płaszczyźnie za pomocą „uchwytów”" +msgid "Gizmo mesh boolean" +msgstr "Gizmo operacje boolowskie na siatce" + msgid "Gizmo SLA support points" msgstr "Punkty podpór SLA za pomocą „uchwytów”" msgid "Gizmo FDM paint-on seam" msgstr "Uchwyt malowania szwu FDM" -msgid "Gizmo Text emboss / engrave" -msgstr "Uchwyt wytłaczania / grawerowania tekstu" +msgid "Gizmo text emboss/engrave" +msgstr "Uchwyt wytłaczania/grawerowania tekstu" + +msgid "Gizmo measure" +msgstr "Gizmo mierzyć" + +msgid "Gizmo assemble" +msgstr "Gizmo montować" + +msgid "Gizmo brim ears" +msgstr "Gizmo uszy brim" msgid "Zoom in" msgstr "Przybliżenie" diff --git a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po index 37a3f15a0b..e4ecbefa06 100644 --- a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po +++ b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po @@ -9004,17 +9004,29 @@ msgstr "Rotacionar gizmo" msgid "Gizmo cut" msgstr "Cortar gizmo" -msgid "Gizmo Place face on bed" +msgid "Gizmo place face on bed" msgstr "Posicionar face do gizmo na mesa" +msgid "Gizmo mesh boolean" +msgstr "Gizmo malha booleana" + msgid "Gizmo SLA support points" msgstr "Pontos de suporte SLA do gizmo" msgid "Gizmo FDM paint-on seam" msgstr "Costura de pintura FDM do gizmo" -msgid "Gizmo Text emboss / engrave" -msgstr "Texturizar / gravar texto no gizmo" +msgid "Gizmo text emboss/engrave" +msgstr "Texturizar/gravar texto no gizmo" + +msgid "Gizmo measure" +msgstr "Gizmo medir" + +msgid "Gizmo assemble" +msgstr "Gizmo montar" + +msgid "Gizmo brim ears" +msgstr "Gizmo orelhas da borda" msgid "Zoom in" msgstr "Dar zoom" diff --git a/localization/i18n/ru/OrcaSlicer_ru.po b/localization/i18n/ru/OrcaSlicer_ru.po index 2ac8d284bf..0205cedc12 100644 --- a/localization/i18n/ru/OrcaSlicer_ru.po +++ b/localization/i18n/ru/OrcaSlicer_ru.po @@ -9117,18 +9117,30 @@ msgstr "Гизмо вращения" msgid "Gizmo cut" msgstr "Гизмо разреза" -msgid "Gizmo Place face on bed" +msgid "Gizmo place face on bed" msgstr "Гизмо поверхностью на стол" +msgid "Gizmo mesh boolean" +msgstr "Гизмо Булевы операции" + msgid "Gizmo SLA support points" msgstr "Гизмо точки SLA поддержки" msgid "Gizmo FDM paint-on seam" msgstr "Гизмо рисования шва (FDM)" -msgid "Gizmo Text emboss / engrave" +msgid "Gizmo text emboss/engrave" msgstr "Гизмо рельефного/выгравированного текста" +msgid "Gizmo measure" +msgstr "Гизмо измерения" + +msgid "Gizmo assemble" +msgstr "Гизмо собрать" + +msgid "Gizmo brim ears" +msgstr "Гизмо уши границы" + msgid "Zoom in" msgstr "Приблизить" @@ -15807,7 +15819,7 @@ msgstr "Минимальное сохранение" msgid "export 3mf with minimum size." msgstr "экспорт 3mf файла с минимальным размером." -# мктс, Макс. кол. треугольников на столе +# мктс, Макс. кол. треугольников на столе msgid "mtcpp" msgstr "mtcpp" diff --git a/localization/i18n/sv/OrcaSlicer_sv.po b/localization/i18n/sv/OrcaSlicer_sv.po index cbcc7e5881..210ceea507 100644 --- a/localization/i18n/sv/OrcaSlicer_sv.po +++ b/localization/i18n/sv/OrcaSlicer_sv.po @@ -8649,8 +8649,11 @@ msgstr "Gizmo rotera" msgid "Gizmo cut" msgstr "Gizmo skär" -msgid "Gizmo Place face on bed" -msgstr "Gizmo Placera ansiktet på byggytan" +msgid "Gizmo place face on bed" +msgstr "Gizmo placera ansiktet på byggytan" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo mesh boolean" msgid "Gizmo SLA support points" msgstr "Gizmo SLA support punkter" @@ -8658,17 +8661,26 @@ msgstr "Gizmo SLA support punkter" msgid "Gizmo FDM paint-on seam" msgstr "Gizmo FDM målad söm" -msgid "Gizmo Text emboss / engrave" -msgstr "" +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo textprägling/gravering" + +msgid "Gizmo measure" +msgstr "Gizmo mäta" + +msgid "Gizmo assemble" +msgstr "Gizmo montera" + +msgid "Gizmo brim ears" +msgstr "Gizmo brätte öron" msgid "Zoom in" -msgstr "" +msgstr "Zooma in" msgid "Zoom out" -msgstr "" +msgstr "Zooma ut" msgid "Switch between Prepare/Preview" -msgstr "" +msgstr "Växla mellan Förbered/Förhandsgranska" msgid "Plater" msgstr "Plätering/Förgyllning" @@ -10133,7 +10145,7 @@ msgstr "" "borttagande av brim" msgid "Brim ears" -msgstr "" +msgstr "Brätte öron" msgid "Only draw brim over the sharp edges of the model." msgstr "" @@ -16400,10 +16412,10 @@ msgid "Set the brim type to \"painted\"" msgstr "" msgid " invalid brim ears" -msgstr "" +msgstr " ogiltiga öron" msgid "Brim Ears" -msgstr "" +msgstr "Brätte Öron" msgid "Please select single object." msgstr "" diff --git a/localization/i18n/tr/OrcaSlicer_tr.po b/localization/i18n/tr/OrcaSlicer_tr.po index f98ca77daf..c70864cc26 100644 --- a/localization/i18n/tr/OrcaSlicer_tr.po +++ b/localization/i18n/tr/OrcaSlicer_tr.po @@ -8915,8 +8915,11 @@ msgstr "Gizmo döndürme" msgid "Gizmo cut" msgstr "Gizmo kesim" -msgid "Gizmo Place face on bed" -msgstr "Gizmo Yüzünüzü yatağa yerleştirin" +msgid "Gizmo place face on bed" +msgstr "Gizmo yüzünüzü yatağa yerleştirin" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo mesh bölme" msgid "Gizmo SLA support points" msgstr "Gizmo SLA destek noktaları" @@ -8924,8 +8927,17 @@ msgstr "Gizmo SLA destek noktaları" msgid "Gizmo FDM paint-on seam" msgstr "Gizmo FDM boyalı dikiş" -msgid "Gizmo Text emboss / engrave" -msgstr "Gizmo Metin kabartma / kazıma" +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo metin kabartma/kazıma" + +msgid "Gizmo measure" +msgstr "Gizmo ölçüm" + +msgid "Gizmo assemble" +msgstr "Gizmo birleştir" + +msgid "Gizmo brim ears" +msgstr "Gizmo " msgid "Zoom in" msgstr "Yakınlaştır" @@ -16803,7 +16815,7 @@ msgid "Unable to perform boolean operation on selected parts" msgstr "Seçilen parçalarda bölme işlemi gerçekleştirilemiyor" msgid "Mesh Boolean" -msgstr "Mesh Boolean" +msgstr "Mesh Bölme" msgid "Union" msgstr "Union" diff --git a/localization/i18n/uk/OrcaSlicer_uk.po b/localization/i18n/uk/OrcaSlicer_uk.po index 0ac99fbdc2..e959b20b52 100644 --- a/localization/i18n/uk/OrcaSlicer_uk.po +++ b/localization/i18n/uk/OrcaSlicer_uk.po @@ -8999,8 +8999,11 @@ msgstr "Поворот Gizmo" msgid "Gizmo cut" msgstr "Виріз Gizmo" -msgid "Gizmo Place face on bed" -msgstr "Gizmo Покласти грань на стіл" +msgid "Gizmo place face on bed" +msgstr "Покласти грань на стіл Gizmo" + +msgid "Gizmo mesh boolean" +msgstr "Булеві операції Gizmo" msgid "Gizmo SLA support points" msgstr "Точки підтримки Gizmo SL" @@ -9008,8 +9011,17 @@ msgstr "Точки підтримки Gizmo SL" msgid "Gizmo FDM paint-on seam" msgstr "Швид, що фарбується Gizmo FDM" -msgid "Gizmo Text emboss / engrave" -msgstr "Gizmo Текстове тиснення / гравіювання" +msgid "Gizmo text emboss/engrave" +msgstr "Текстове тиснення/гравіювання Gizmo" + +msgid "Gizmo measure" +msgstr "виміряти Gizmo" + +msgid "Gizmo assemble" +msgstr "Зібрати Gizmo" + +msgid "Gizmo brim ears" +msgstr "Краєчки Gizmo" msgid "Zoom in" msgstr "Приблизити" diff --git a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po index 530a02a264..5c2294f08f 100644 --- a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po +++ b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po @@ -8504,17 +8504,29 @@ msgstr "旋转物件" msgid "Gizmo cut" msgstr "剪切物件" -msgid "Gizmo Place face on bed" +msgid "Gizmo place face on bed" msgstr "选择底面" +msgid "Gizmo mesh boolean" +msgstr "线框网格布尔操作" + msgid "Gizmo SLA support points" msgstr "SLA支撑点" msgid "Gizmo FDM paint-on seam" msgstr "FDM涂装接缝" -msgid "Gizmo Text emboss / engrave" -msgstr "Gizmo文本浮雕/雕刻" +msgid "Gizmo text emboss/engrave" +msgstr "线框文本浮雕/雕刻" + +msgid "Gizmo measure" +msgstr "线框测量" + +msgid "Gizmo assemble" +msgstr "线框组合" + +msgid "Gizmo brim ears" +msgstr "线框耳状帽檐" msgid "Zoom in" msgstr "放大" @@ -16389,10 +16401,10 @@ msgid "Set the brim type to \"painted\"" msgstr "将Brim类型设置为绘制模式" msgid " invalid brim ears" -msgstr "个无效耳状Brim" +msgstr "个无效耳状帽檐" msgid "Brim Ears" -msgstr "耳状Brim" +msgstr "耳状帽檐" msgid "Please select single object." msgstr "请选中单个对象。" diff --git a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po index 8695b7c85a..4c247cf7de 100644 --- a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po +++ b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po @@ -8547,18 +8547,30 @@ msgstr "旋轉物件" msgid "Gizmo cut" msgstr "切割物件" -msgid "Gizmo Place face on bed" +msgid "Gizmo place face on bed" msgstr "選擇底面" +msgid "Gizmo mesh boolean" +msgstr "線框網格布林運算" + msgid "Gizmo SLA support points" msgstr "SLA 支撐點" msgid "Gizmo FDM paint-on seam" msgstr "FDM 塗裝接縫" -msgid "Gizmo Text emboss / engrave" +msgid "Gizmo text emboss/engrave" msgstr "浮雕/雕刻文字工具" +msgid "Gizmo measure" +msgstr "Gizmo " + +msgid "Gizmo assemble" +msgstr "Gizmo " + +msgid "Gizmo brim ears" +msgstr "Gizmo " + msgid "Zoom in" msgstr "放大" diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index 75d4ca1ae9..ef134d0828 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -628,8 +628,6 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co // non-organic tree support use max_bridge_length instead of bridge_no_support toggle_line("max_bridge_length", support_is_normal_tree); toggle_line("bridge_no_support", !support_is_normal_tree); - - // This is only supported for auto normal tree toggle_line("support_critical_regions_only", is_auto(support_type) && support_is_tree); for (auto el : { "support_interface_spacing", "support_interface_filament", diff --git a/src/slic3r/GUI/Gizmos/GLGizmoAssembly.cpp b/src/slic3r/GUI/Gizmos/GLGizmoAssembly.cpp index c20ec975c7..aa39ed8a6b 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoAssembly.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoAssembly.cpp @@ -41,6 +41,12 @@ std::string GLGizmoAssembly::on_get_name() const } } +bool GLGizmoAssembly::on_init() +{ + m_shortcut_key = WXK_CONTROL_Y; + return true; +} + bool GLGizmoAssembly::on_is_activable() const { const Selection& selection = m_parent.get_selection(); diff --git a/src/slic3r/GUI/Gizmos/GLGizmoAssembly.hpp b/src/slic3r/GUI/Gizmos/GLGizmoAssembly.hpp index 7046337b60..4804af9c4a 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoAssembly.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoAssembly.hpp @@ -24,7 +24,7 @@ public: std::string get_gizmo_entering_text() const override { return _u8L("Entering Assembly gizmo"); } std::string get_gizmo_leaving_text() const override { return _u8L("Leaving Assembly gizmo"); } protected: - //bool on_init() override; + bool on_init() override; std::string on_get_name() const override; bool on_is_activable() const override; //void on_render() override; diff --git a/src/slic3r/GUI/Gizmos/GLGizmoBrimEars.cpp b/src/slic3r/GUI/Gizmos/GLGizmoBrimEars.cpp index 6fcff2620a..9a3ad6fbfb 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoBrimEars.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoBrimEars.cpp @@ -42,8 +42,8 @@ bool GLGizmoBrimEars::on_init() { m_new_point_head_diameter = get_brim_default_radius(); - - m_shortcut_key = WXK_CONTROL_L; + + m_shortcut_key = WXK_CONTROL_E; m_desc["head_diameter"] = _L("Head diameter"); m_desc["max_angle"] = _L("Max angle"); @@ -168,10 +168,10 @@ void GLGizmoBrimEars::render_points(const Selection &selection) double radius = (double) brim_point.head_front_radius * RenderPointScale; const Transform3d center_matrix = - instance_matrix - * Geometry::translation_transform(brim_point.pos.cast()) + instance_matrix + * Geometry::translation_transform(brim_point.pos.cast()) // Inverse matrix of the instance scaling is applied so that the mark does not scale with the object. - * instance_scaling_matrix_inverse + * instance_scaling_matrix_inverse * q * Geometry::scale_transform(Vec3d{radius, radius, .2}); if (i < m_grabbers.size()) { @@ -278,7 +278,7 @@ bool GLGizmoBrimEars::on_mouse(const wxMouseEvent& mouse_event) if (mouse_event.Moving()) { gizmo_event(SLAGizmoEventType::Moving, mouse_pos, mouse_event.ShiftDown(), mouse_event.AltDown(), false); } - + // when control is down we allow scene pan and rotation even when clicking // over some object bool control_down = mouse_event.CmdDown(); @@ -287,14 +287,14 @@ bool GLGizmoBrimEars::on_mouse(const wxMouseEvent& mouse_event) const Selection &selection = m_parent.get_selection(); int selected_object_idx = selection.get_object_idx(); if (mouse_event.LeftDown()) { - if ((!control_down || grabber_contains_mouse) && + if ((!control_down || grabber_contains_mouse) && gizmo_event(SLAGizmoEventType::LeftDown, mouse_pos, mouse_event.ShiftDown(), mouse_event.AltDown(), false)) // the gizmo got the event and took some action, there is no need // to do anything more return true; } else if (mouse_event.RightDown()){ if (!control_down && selected_object_idx != -1 && - gizmo_event(SLAGizmoEventType::RightDown, mouse_pos, false, false, false)) + gizmo_event(SLAGizmoEventType::RightDown, mouse_pos, false, false, false)) // event was taken care of return true; } else if (mouse_event.Dragging()) { diff --git a/src/slic3r/GUI/KBShortcutsDialog.cpp b/src/slic3r/GUI/KBShortcutsDialog.cpp index 4c69870cc8..2b88f65c34 100644 --- a/src/slic3r/GUI/KBShortcutsDialog.cpp +++ b/src/slic3r/GUI/KBShortcutsDialog.cpp @@ -201,7 +201,7 @@ void KBShortcutsDialog::fill_shortcuts() #else { ctrl + "M", L("Show/Hide 3Dconnexion devices settings dialog") }, #endif // __APPLE - + // Switch table page { ctrl + "Tab", L("Switch table page")}, //DEL @@ -257,15 +257,19 @@ void KBShortcutsDialog::fill_shortcuts() {ctrl + "Z", L("Undo")}, {ctrl + "Y", L("Redo")}, { "M", L("Gizmo move") }, - { "S", L("Gizmo scale") }, { "R", L("Gizmo rotate") }, + { "S", L("Gizmo scale") }, + { "F", L("Gizmo place face on bed") }, { "C", L("Gizmo cut") }, - { "F", L("Gizmo Place face on bed") }, + { "B", L("Gizmo mesh boolean") }, { "L", L("Gizmo SLA support points") }, { "P", L("Gizmo FDM paint-on seam") }, - { "T", L("Gizmo Text emboss / engrave")}, - { "I", L("Zoom in")}, - { "O", L("Zoom out")}, + { "T", L("Gizmo text emboss/engrave") }, + { "U", L("Gizmo measure") }, + { "Y", L("Gizmo assemble") }, + { "E", L("Gizmo brim ears") }, + { "I", L("Zoom in") }, + { "O", L("Zoom out") }, { "Tab", L("Switch between Prepare/Preview") }, }; From 3b658cba3b13013854b80966fe8d2d0c20b89344 Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Wed, 14 May 2025 11:36:50 +0800 Subject: [PATCH 3/5] Fix new project crash on Windows if multi-extruder printer profile is edited (#9600) Fix new project crash on Windows if profile is edited --- src/slic3r/GUI/Tab.cpp | 10 +++++++--- src/slic3r/GUI/Tab.hpp | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 7ab9fc6375..017bca1dcc 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -590,7 +590,7 @@ Slic3r::GUI::PageShp Tab::add_options_page(const wxString& title, const std::str } // Initialize the page. //BBS: GUI refactor - PageShp page(new Page(m_page_view, title, icon_idx, this)); + PageShp page = std::make_shared(m_page_view, title, icon_idx, this); // page->SetBackgroundStyle(wxBG_STYLE_SYSTEM); #ifdef __WINDOWS__ // page->SetDoubleBuffered(true); @@ -6263,8 +6263,12 @@ void Page::update_visibility(ConfigOptionMode mode, bool update_contolls_visibil #ifdef __WXMSW__ if (!m_show) return; // BBS: fix field control position - wxTheApp->CallAfter([this]() { - for (auto group : m_optgroups) { + wxTheApp->CallAfter([wp=std::weak_ptr(shared_from_this())]() { + auto page = wp.lock(); + if (!page) + return; + + for (auto group : page->m_optgroups) { if (group->custom_ctrl) group->custom_ctrl->fixup_items_positions(); } }); diff --git a/src/slic3r/GUI/Tab.hpp b/src/slic3r/GUI/Tab.hpp index 2eac244b18..aa33cc9304 100644 --- a/src/slic3r/GUI/Tab.hpp +++ b/src/slic3r/GUI/Tab.hpp @@ -57,7 +57,7 @@ class OG_CustomCtrl; // Single Tab page containing a{ vsizer } of{ optgroups } // package Slic3r::GUI::Tab::Page; using ConfigOptionsGroupShp = std::shared_ptr; -class Page// : public wxScrolledWindow +class Page: public std::enable_shared_from_this// : public wxScrolledWindow { //BBS: GUI refactor wxPanel* m_tab_owner; From 24784bae9ad3f98ddf7670cf9eac504430074544 Mon Sep 17 00:00:00 2001 From: Kiss Lorand <50251547+kisslorand@users.noreply.github.com> Date: Wed, 14 May 2025 06:45:08 +0300 Subject: [PATCH 4/5] Auto orient shortcuts (#9615) --- localization/i18n/OrcaSlicer.pot | 14 +++-- localization/i18n/ca/OrcaSlicer_ca.po | 18 ++++-- localization/i18n/cs/OrcaSlicer_cs.po | 18 ++++-- localization/i18n/de/OrcaSlicer_de.po | 18 ++++-- localization/i18n/en/OrcaSlicer_en.po | 28 +++++---- localization/i18n/es/OrcaSlicer_es.po | 18 ++++-- localization/i18n/fr/OrcaSlicer_fr.po | 18 ++++-- localization/i18n/hu/OrcaSlicer_hu.po | 18 ++++-- localization/i18n/it/OrcaSlicer_it.po | 18 ++++-- localization/i18n/ja/OrcaSlicer_ja.po | 20 +++++-- localization/i18n/ko/OrcaSlicer_ko.po | 22 ++++--- localization/i18n/lt/OrcaSlicer_lt.po | 16 +++-- localization/i18n/nl/OrcaSlicer_nl.po | 18 ++++-- localization/i18n/pl/OrcaSlicer_pl.po | 18 ++++-- localization/i18n/pt_BR/OrcaSlicer_pt_BR.po | 18 ++++-- localization/i18n/ru/OrcaSlicer_ru.po | 18 ++++-- localization/i18n/sv/OrcaSlicer_sv.po | 19 ++++-- localization/i18n/tr/OrcaSlicer_tr.po | 20 ++++--- localization/i18n/uk/OrcaSlicer_uk.po | 18 ++++-- localization/i18n/zh_CN/OrcaSlicer_zh_CN.po | 19 ++++-- localization/i18n/zh_TW/OrcaSlicer_zh_TW.po | 21 ++++--- src/slic3r/GUI/GLCanvas3D.cpp | 66 ++++++++++----------- src/slic3r/GUI/KBShortcutsDialog.cpp | 4 +- 23 files changed, 297 insertions(+), 168 deletions(-) diff --git a/localization/i18n/OrcaSlicer.pot b/localization/i18n/OrcaSlicer.pot index 002bc6b786..ce4dabcb2c 100644 --- a/localization/i18n/OrcaSlicer.pot +++ b/localization/i18n/OrcaSlicer.pot @@ -4128,7 +4128,10 @@ msgstr "" msgid "Add plate" msgstr "" -msgid "Auto orient" +msgid "Auto orient all/selected objects" +msgstr "" + +msgid "Auto orient all objects on current plate" msgstr "" msgid "Arrange all objects" @@ -8129,9 +8132,12 @@ msgid "Shift+R" msgstr "" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." +msgstr "" + +msgid "Auto orients all objects on the active plate." msgstr "" msgid "Shift+Tab" diff --git a/localization/i18n/ca/OrcaSlicer_ca.po b/localization/i18n/ca/OrcaSlicer_ca.po index e5765670cb..847807d4a7 100644 --- a/localization/i18n/ca/OrcaSlicer_ca.po +++ b/localization/i18n/ca/OrcaSlicer_ca.po @@ -4448,8 +4448,11 @@ msgstr "Alinear a l'eix Y" msgid "Add plate" msgstr "Afegir placa" -msgid "Auto orient" -msgstr "Auto-orientació" +msgid "Auto orient all/selected objects" +msgstr "Auto-orientació tots/seleccionats objectes" + +msgid "Auto orient all objects on current plate" +msgstr "Auto-orientació tots els objectes de la placa actual" msgid "Arrange all objects" msgstr "Ordenar tots els objectes" @@ -8899,13 +8902,16 @@ msgid "Shift+R" msgstr "Maj+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" "Orienta/alinea automàticament els objectes seleccionats o tots els objectes. " "Si hi ha objectes seleccionats, només orientarà/alinearà els seleccionats. " -"En cas contrari, orientarà/alinearà tots els objectes de la placa actual." +"En cas contrari, orientarà/alinearà tots els objectes del projecte actual." + +msgid "Auto orients all objects on the active plate." +msgstr "Orienta/alinea automàticament tots els objectes de la placa actual." msgid "Shift+Tab" msgstr "Maj+Tab" diff --git a/localization/i18n/cs/OrcaSlicer_cs.po b/localization/i18n/cs/OrcaSlicer_cs.po index 91353715b8..3df1e571f6 100644 --- a/localization/i18n/cs/OrcaSlicer_cs.po +++ b/localization/i18n/cs/OrcaSlicer_cs.po @@ -4354,8 +4354,11 @@ msgstr "Zarovnat podle osy Y" msgid "Add plate" msgstr "Přidat Podložku" -msgid "Auto orient" -msgstr "Automatická orientace" +msgid "Auto orient all/selected objects" +msgstr "Automatická orientace všechny/vybrané objekty" + +msgid "Auto orient all objects on current plate" +msgstr "Automatická orientace všechny objekty na aktuální desce" msgid "Arrange all objects" msgstr "Uspořádat všechny objekt" @@ -8617,13 +8620,16 @@ msgid "Shift+R" msgstr "Shift+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" "Toto automaticky orientuje vybrané objekty nebo všechny objekty. Pokud jsou " "vybrány objekty, pouze zorientuje vybrané. Jinak zorientuje všechny objekty " -"v aktuální desce." +"v aktuálním projektu." + +msgid "Auto orients all objects on the active plate." +msgstr "" msgid "Shift+Tab" msgstr "Shift+Tab" diff --git a/localization/i18n/de/OrcaSlicer_de.po b/localization/i18n/de/OrcaSlicer_de.po index 67c5f048b8..10f39a7d5f 100644 --- a/localization/i18n/de/OrcaSlicer_de.po +++ b/localization/i18n/de/OrcaSlicer_de.po @@ -4493,8 +4493,11 @@ msgstr "An Y-Achse ausrichten" msgid "Add plate" msgstr "Druckplatte hinzufügen" -msgid "Auto orient" -msgstr "Automatische Ausrichtung" +msgid "Auto orient all/selected objects" +msgstr "Alle/ausgewählte Objekte automatische Ausrichtung" + +msgid "Auto orient all objects on current plate" +msgstr "Alle Objekte auf der aktuellen Druckplatte automatische Ausrichtung" msgid "Arrange all objects" msgstr "Alle Objekte anordnen" @@ -8970,15 +8973,18 @@ msgid "Shift+R" msgstr "Umschalt+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" "Diese Funktion richtet ausgewählte Objekte oder alle Objekte automatisch " "aus. Wenn es ausgewählte Objekte gibt, werden nur die ausgewählten Objekte " -"ausgerichtet. Andernfalls werden alle Objekte auf der aktuellen Druckplatte " +"ausgerichtet. Andernfalls werden alle Objekte auf das aktuelle Projekt " "ausgerichtet." +msgid "Auto orients all objects on the active plate." +msgstr "Diese Funktion richtet alle Objekte auf der aktuellen Druckplatte ausgerichtet." + msgid "Shift+Tab" msgstr "Umschalt+Tab" diff --git a/localization/i18n/en/OrcaSlicer_en.po b/localization/i18n/en/OrcaSlicer_en.po index 9eef343416..addbc86d82 100644 --- a/localization/i18n/en/OrcaSlicer_en.po +++ b/localization/i18n/en/OrcaSlicer_en.po @@ -4142,7 +4142,7 @@ msgid "Left mouse button:" msgstr "" msgid "Add detail" -msgstr "Add Detail" +msgstr "" msgid "Right mouse button:" msgstr "" @@ -4217,10 +4217,13 @@ msgid "Align to Y axis" msgstr "" msgid "Add plate" -msgstr "Add Plate" +msgstr "" -msgid "Auto orient" -msgstr "Auto Orient" +msgid "Auto orient all/selected objects" +msgstr "" + +msgid "Auto orient all objects on current plate" +msgstr "" msgid "Arrange all objects" msgstr "" @@ -4229,10 +4232,10 @@ msgid "Arrange objects on selected plates" msgstr "" msgid "Split to objects" -msgstr "Split to Objects" +msgstr "" msgid "Split to parts" -msgstr "Split to Parts" +msgstr "" msgid "Assembly View" msgstr "" @@ -8361,13 +8364,14 @@ msgid "Shift+R" msgstr "" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." +msgstr "" +"" + +msgid "Auto orients all objects on the active plate." msgstr "" -"This auto orients selected objects or all objects. If there are selected " -"objects, it just orients the selected ones. Otherwise, it will orient all " -"objects in the current plate." msgid "Shift+Tab" msgstr "" diff --git a/localization/i18n/es/OrcaSlicer_es.po b/localization/i18n/es/OrcaSlicer_es.po index 35dacdfa29..af3bff800c 100644 --- a/localization/i18n/es/OrcaSlicer_es.po +++ b/localization/i18n/es/OrcaSlicer_es.po @@ -4484,8 +4484,11 @@ msgstr "Alinear con el eje Y" msgid "Add plate" msgstr "Añadir bandeja" -msgid "Auto orient" -msgstr "Orientar automáticamente" +msgid "Auto orient all/selected objects" +msgstr "Orientar automáticamente todos/seleccionados objetos" + +msgid "Auto orient all objects on current plate" +msgstr "Orientar automáticamente todos los objetos de la bandeja actual" msgid "Arrange all objects" msgstr "Ordenar todos los objetos" @@ -8918,13 +8921,16 @@ msgid "Shift+R" msgstr "Shift+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" "Orienta automáticamente los objetos seleccionados o todos los objetos. Si " "hay objetos seleccionados, sólo orienta los seleccionados. En caso " -"contrario, orientará todos los objetos de la placa actual." +"contrario, orientará todos los objetos del proyecto actual." + +msgid "Auto orients all objects on the active plate." +msgstr "Orienta automáticamente todos los objetos de la placa actual." msgid "Shift+Tab" msgstr "Shift+Tab" diff --git a/localization/i18n/fr/OrcaSlicer_fr.po b/localization/i18n/fr/OrcaSlicer_fr.po index ac94eb1929..3440867de1 100644 --- a/localization/i18n/fr/OrcaSlicer_fr.po +++ b/localization/i18n/fr/OrcaSlicer_fr.po @@ -4481,8 +4481,11 @@ msgstr "Aligner sur l’axe Y" msgid "Add plate" msgstr "Ajouter un plateau" -msgid "Auto orient" -msgstr "Orientation automatique" +msgid "Auto orient all/selected objects" +msgstr "Orientation automatique tous/sélectionnés objets" + +msgid "Auto orient all objects on current plate" +msgstr "Orientation automatique tous les objets sur la plaque actuelle" msgid "Arrange all objects" msgstr "Organiser tous les objets" @@ -9011,13 +9014,16 @@ msgid "Shift+R" msgstr "Maj+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" "Oriente automatiquement les objets sélectionnés ou tous les objets. S'il y a " "des objets sélectionnés, il oriente uniquement ceux qui sont sélectionnés. " -"Sinon, il oriente tous les objets du disque actuel." +"Sinon, il oriente tous les objets du projet en cours." + +msgid "Auto orients all objects on the active plate." +msgstr "Oriente automatiquement tous les objets du plaque actuelle." msgid "Shift+Tab" msgstr "Maj+Tab" diff --git a/localization/i18n/hu/OrcaSlicer_hu.po b/localization/i18n/hu/OrcaSlicer_hu.po index 076b1492f4..d57af64008 100644 --- a/localization/i18n/hu/OrcaSlicer_hu.po +++ b/localization/i18n/hu/OrcaSlicer_hu.po @@ -4296,8 +4296,11 @@ msgstr "Igazítás az Y-tengelyhez" msgid "Add plate" msgstr "Tálca hozzáadása" -msgid "Auto orient" -msgstr "Automatikus orientáció" +msgid "Auto orient all/selected objects" +msgstr "Összes/kiválasztott objektum automatikus orientációja" + +msgid "Auto orient all objects on current plate" +msgstr "Aktuális tálca összes objektumának automatikus orientációja" msgid "Arrange all objects" msgstr "Összes objektum elrendezése" @@ -8537,13 +8540,16 @@ msgid "Shift+R" msgstr "Shift+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" "Automatikusan beállítja a kijelölt objektumok vagy az összes objektum " "tájolását. Ha vannak kijelölt objektumok, akkor csak a kijelölteket, " -"ellenkező esetben az aktuális tálcán lévő összes objektumot orientálja." +"ellenkező esetben pedig a projektben levő összes objektumot orientálja." + +msgid "Auto orients all objects on the active plate." +msgstr "Automatikusan orientálja az aktuális tálcán levő összes objektumot." msgid "Shift+Tab" msgstr "Shift+Tab" diff --git a/localization/i18n/it/OrcaSlicer_it.po b/localization/i18n/it/OrcaSlicer_it.po index 52cd83a960..702b86f3ac 100644 --- a/localization/i18n/it/OrcaSlicer_it.po +++ b/localization/i18n/it/OrcaSlicer_it.po @@ -4480,8 +4480,11 @@ msgstr "Allinea all'asse Y" msgid "Add plate" msgstr "Aggiungi piatto" -msgid "Auto orient" -msgstr "Orientamento automatico" +msgid "Auto orient all/selected objects" +msgstr "Orientamento automatico tutti/selezionati oggetti" + +msgid "Auto orient all objects on current plate" +msgstr "Orientamento automatico tutti gli oggetti sul piatto corrente" msgid "Arrange all objects" msgstr "Disponi tutti gli oggetti" @@ -8945,13 +8948,16 @@ msgid "Shift+R" msgstr "Maiusc+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" "Questo orienta automaticamente gli oggetti selezionati o tutti gli oggetti. " "Se ci sono oggetti selezionati, orienta solo quelli selezionati. Altrimenti, " -"orienterà tutti gli oggetti nel piatto corrente." +"orienterà tutti gli elementi nel progetto corrente." + +msgid "Auto orients all objects on the active plate." +msgstr "Questo orienta tutti gli oggetti nel piatto corrente." msgid "Shift+Tab" msgstr "Maiusc+Tab" diff --git a/localization/i18n/ja/OrcaSlicer_ja.po b/localization/i18n/ja/OrcaSlicer_ja.po index 63a0e6b7f2..c67374e2ea 100644 --- a/localization/i18n/ja/OrcaSlicer_ja.po +++ b/localization/i18n/ja/OrcaSlicer_ja.po @@ -4231,8 +4231,11 @@ msgstr "" msgid "Add plate" msgstr "プレートを追加" -msgid "Auto orient" -msgstr "自動向き調整" +msgid "Auto orient all/selected objects" +msgstr "すべてのオブジェクト/選択したオブジェクトの方向を自動設定する" + +msgid "Auto orient all objects on current plate" +msgstr "現在のプレート上のすべてのオブジェクトを自動で方向付ける" msgid "Arrange all objects" msgstr "全てをレイアウト" @@ -8326,10 +8329,15 @@ msgid "Shift+R" msgstr "Shift+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." -msgstr "選択した或いは全てのオブジェクトの向きを自動調整します。" +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." +msgstr "選択したオブジェクトまたはプロジェクト" +"内のすべてのオブジェクトの方向を自動的" +"に設定します。" + +msgid "Auto orients all objects on the active plate." +msgstr "現在のプレート上のすべてのオブジェクトの方向を自動的に設定します。" msgid "Shift+Tab" msgstr "Shift+Tab" diff --git a/localization/i18n/ko/OrcaSlicer_ko.po b/localization/i18n/ko/OrcaSlicer_ko.po index 81e5b23c3d..6c653fd449 100644 --- a/localization/i18n/ko/OrcaSlicer_ko.po +++ b/localization/i18n/ko/OrcaSlicer_ko.po @@ -4325,8 +4325,11 @@ msgstr "Y축에 정렬" msgid "Add plate" msgstr "플레이트 추가" -msgid "Auto orient" -msgstr "자동 방향 지정" +msgid "Auto orient all/selected objects" +msgstr "모든/선택한 객체 자동 방향 지정" + +msgid "Auto orient all objects on current plate" +msgstr "현재 플레이트의 모든 객체를 자동으로 방향 지정" msgid "Arrange all objects" msgstr "모든 객체 정렬" @@ -8615,13 +8618,16 @@ msgid "Shift+R" msgstr "Shift+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" -"선택한 객체 또는 모든 객체의 방향을 자동으로 지정합니다.선택한 객체가 있는 경" -"우 선택한 객체의 방향만 지정합니다.그렇지 않으면 현재 디스크에 있는 모든 객체" -"의 방향이 지정됩니다." +"선택한 객체 또는 모든 객체의 방향을 자동으로 조정합니다. 선택한 " +"객체가 있는 경우 선택한 객체만 조정되고, 그렇지 않은 경우 " +"프로젝트의 모든 객체가 조정됩니다." + +msgid "Auto orients all objects on the active plate." +msgstr "현재 플레이트에 있는 모든 객체의 방향을 자동으로 지정합니다." msgid "Shift+Tab" msgstr "Shift+Tab" diff --git a/localization/i18n/lt/OrcaSlicer_lt.po b/localization/i18n/lt/OrcaSlicer_lt.po index d3df45e133..c90d1613ec 100644 --- a/localization/i18n/lt/OrcaSlicer_lt.po +++ b/localization/i18n/lt/OrcaSlicer_lt.po @@ -4432,8 +4432,11 @@ msgstr "Išlygiuoti pagal Y ašį" msgid "Add plate" msgstr "Įtraukti plokštę" -msgid "Auto orient" -msgstr "Automatiškai orientuoti" +msgid "Auto orient all/selected objects" +msgstr "Automatiškai orientuoti visi/pasirinkti objektai" + +msgid "Auto orient all objects on current plate" +msgstr "Automatiškai orientuoti visus objektus pasirinktoje plokštėje" msgid "Arrange all objects" msgstr "Išdėstyti visus objektus" @@ -8872,9 +8875,12 @@ msgid "Shift+R" msgstr "Shift+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." +msgstr "" + +msgid "Auto orients all objects on the active plate." msgstr "" msgid "Shift+Tab" diff --git a/localization/i18n/nl/OrcaSlicer_nl.po b/localization/i18n/nl/OrcaSlicer_nl.po index 1f8f75a471..62858b4c67 100644 --- a/localization/i18n/nl/OrcaSlicer_nl.po +++ b/localization/i18n/nl/OrcaSlicer_nl.po @@ -4349,8 +4349,11 @@ msgstr "Uitlijnen op Y-as" msgid "Add plate" msgstr "Printbed toevoegen" -msgid "Auto orient" -msgstr "Automatisch oriënteren" +msgid "Auto orient all/selected objects" +msgstr "Automatisch oriënteren alle/geselecteerde objecten" + +msgid "Auto orient all objects on current plate" +msgstr "Automatisch oriënteren alle objecten op het huidige printbed" msgid "Arrange all objects" msgstr "Alle objecten rangschikken" @@ -8682,13 +8685,16 @@ msgid "Shift+R" msgstr "Shift+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" "Oriënteert automatisch geselecteerde objecten of alle objecten. Als er " "geselecteerde objecten zijn, oriënteert het alleen de geselecteerde " -"objecten. Anders oriënteert het alle objecten op de disk." +"objecten. Anders worden alle objecten van het project georiënteerd." + +msgid "Auto orients all objects on the active plate." +msgstr "" msgid "Shift+Tab" msgstr "Shift+Tab" diff --git a/localization/i18n/pl/OrcaSlicer_pl.po b/localization/i18n/pl/OrcaSlicer_pl.po index 7c0f244d42..f98f354dc9 100644 --- a/localization/i18n/pl/OrcaSlicer_pl.po +++ b/localization/i18n/pl/OrcaSlicer_pl.po @@ -4436,8 +4436,11 @@ msgstr "Wyrównaj do osi Y" msgid "Add plate" msgstr "Dodaj płytę" -msgid "Auto orient" -msgstr "Automatyczna orientacja" +msgid "Auto orient all/selected objects" +msgstr "Automatyczna orientacja wszystkie/wybrane obiekty" + +msgid "Auto orient all objects on current plate" +msgstr "Automatyczna orientacja wszystkie obiekty na bieżącej płycie" msgid "Arrange all objects" msgstr "Rozmieść wszystkie obiekty" @@ -8859,13 +8862,16 @@ msgid "Shift+R" msgstr "Shift+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" "Ta funkcja automatycznie ustawia orientację zaznaczonych lub wszystkich " "obiektów. Jeśli są wybrane obiekty, ustawi tylko te wybrane. W przeciwnym " -"razie ustawia wszystkie obiekty na aktualnej płycie roboczej." +"razie ustawi wszystkie obiekty bieżącego projektu." + +msgid "Auto orients all objects on the active plate." +msgstr "Ta funkcja automatycznie ustawia orientację wszystkie obiekty na aktualnej płycie roboczej." msgid "Shift+Tab" msgstr "Shift+Tab" diff --git a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po index e4ecbefa06..87fcb799b0 100644 --- a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po +++ b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po @@ -4440,8 +4440,11 @@ msgstr "Alinhar com o eixo Y" msgid "Add plate" msgstr "Adicionar placa" -msgid "Auto orient" -msgstr "Orientação automática" +msgid "Auto orient all/selected objects" +msgstr "Orientação automática todos/selecionados objetos" + +msgid "Auto orient all objects on current plate" +msgstr "Orientação automática todos os objetos na placa atual" msgid "Arrange all objects" msgstr "Organizar todos os objetos" @@ -8888,13 +8891,16 @@ msgid "Shift+R" msgstr "Shift+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" "Orienta automaticamente os objetos selecionados ou todos os objetos. Se " "houver objetos selecionados, ele apenas orientará os selecionados. Caso " -"contrário, orientará todos os objetos no disco atual." +"contrário, ele orientará todos os objetos do projeto atual." + +msgid "Auto orients all objects on the active plate." +msgstr "Orienta automaticamente todos os objetos na placao atual." msgid "Shift+Tab" msgstr "Shift+Tab" diff --git a/localization/i18n/ru/OrcaSlicer_ru.po b/localization/i18n/ru/OrcaSlicer_ru.po index 0205cedc12..2cc8076c21 100644 --- a/localization/i18n/ru/OrcaSlicer_ru.po +++ b/localization/i18n/ru/OrcaSlicer_ru.po @@ -4494,8 +4494,11 @@ msgstr "Выравнивать по оси Y" msgid "Add plate" msgstr "Добавить стол" -msgid "Auto orient" -msgstr "Автоориентация" +msgid "Auto orient all/selected objects" +msgstr "Автоориентация все/выбранные модели" + +msgid "Auto orient all objects on current plate" +msgstr "Автоориентация всех моделей на текущем столе" msgid "Arrange all objects" msgstr "Расставить все модели" @@ -9001,13 +9004,16 @@ msgid "Shift+R" msgstr "Shift+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" "Автоориентация выбранных или всех моделей. Если выбраны отдельные модели, " "ориентация будет применена только к ним; в противном случае ко всем моделям " -"на текущем столе." +"в текущем проекте." + +msgid "Auto orients all objects on the active plate." +msgstr "Автоориентация ко всем моделям на текущем столе." msgid "Shift+Tab" msgstr "Shift+Tab" diff --git a/localization/i18n/sv/OrcaSlicer_sv.po b/localization/i18n/sv/OrcaSlicer_sv.po index 210ceea507..a8a5986512 100644 --- a/localization/i18n/sv/OrcaSlicer_sv.po +++ b/localization/i18n/sv/OrcaSlicer_sv.po @@ -4294,8 +4294,11 @@ msgstr "Justera mot Y-axeln" msgid "Add plate" msgstr "Lägg till byggplata" -msgid "Auto orient" -msgstr "Auto placera" +msgid "Auto orient all/selected objects" +msgstr "Autoorientering alla/valda objekt" + +msgid "Auto orient all objects on current plate" +msgstr "Autoorientering alla objekt på plattan" msgid "Arrange all objects" msgstr "Ordna alla objekt" @@ -8534,12 +8537,16 @@ msgid "Shift+R" msgstr "Shift+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" "Auto placera valda objekt eller alla objekt. Om det finns valda objekt så " -"placeras endast dem. Alternativt så placeras alla objekt på nuvarande disk." +"placeras endast dem. Annars kommer den att orientera alla objekt i det " +"aktuella projektet." + +msgid "Auto orients all objects on the active plate." +msgstr "Placera alla föremål automatiskt på aktuell tallrik." msgid "Shift+Tab" msgstr "Shift+Tab" diff --git a/localization/i18n/tr/OrcaSlicer_tr.po b/localization/i18n/tr/OrcaSlicer_tr.po index c70864cc26..51c7a01527 100644 --- a/localization/i18n/tr/OrcaSlicer_tr.po +++ b/localization/i18n/tr/OrcaSlicer_tr.po @@ -4400,8 +4400,11 @@ msgstr "Y eksenine hizala" msgid "Add plate" msgstr "Plaka ekle" -msgid "Auto orient" -msgstr "Otomatik yönlendir" +msgid "Auto orient all/selected objects" +msgstr "Otomatik yönlendir tüm/seçili nesneler" + +msgid "Auto orient all objects on current plate" +msgstr "Geçerli plakadaki tüm nesneleri otomatik yönlendir" msgid "Arrange all objects" msgstr "Tüm nesneleri hizala" @@ -8799,13 +8802,16 @@ msgid "Shift+R" msgstr "Shift+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" "Seçilen nesneleri veya tüm nesneleri otomatik olarak yönlendirir. Seçilen " -"nesneler varsa, yalnızca seçilenleri yönlendirir. Aksi takdirde, geçerli " -"diskteki tüm nesneleri yönlendirir." +"nesneler varsa, yalnızca seçilenleri yönlendirir. Aksi takdirde mevcut " +"projedeki tüm nesneler yönlendirilecektir." + +msgid "Auto orients all objects on the active plate." +msgstr "Aktif plakadaki tüm nesneleri otomatik olarak yönlendirir." msgid "Shift+Tab" msgstr "Shift+Tab" diff --git a/localization/i18n/uk/OrcaSlicer_uk.po b/localization/i18n/uk/OrcaSlicer_uk.po index e959b20b52..dd8627558d 100644 --- a/localization/i18n/uk/OrcaSlicer_uk.po +++ b/localization/i18n/uk/OrcaSlicer_uk.po @@ -4438,8 +4438,11 @@ msgstr "Розташувати вздовж осі Y" msgid "Add plate" msgstr "Додати пластину" -msgid "Auto orient" -msgstr "Автоорієнтація" +msgid "Auto orient all/selected objects" +msgstr "Автоорієнтація всі/вибрані об'єкти" + +msgid "Auto orient all objects on current plate" +msgstr "Автоорієнтація всі об'єкти на поточній пластині" msgid "Arrange all objects" msgstr "Впорядкувати всі об'єкти" @@ -8883,13 +8886,16 @@ msgid "Shift+R" msgstr "" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" "Автоматично орієнтує вибрані об'єкти або всі об'єкти. Якщо вибрано об'єкти, " "він просто орієнтує обрані. В іншому випадку він будеОрієнтувати всі об'єкти " -"на поточному диску." +"на поточному проєкт." + +msgid "Auto orients all objects on the active plate." +msgstr "Автоматично орієнтує всі об'єкти на поточному диску." msgid "Shift+Tab" msgstr "" diff --git a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po index 5c2294f08f..0d47ea7d70 100644 --- a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po +++ b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po @@ -4248,8 +4248,11 @@ msgstr "对齐到Y轴" msgid "Add plate" msgstr "添加新盘" -msgid "Auto orient" -msgstr "自动朝向" +msgid "Auto orient all/selected objects" +msgstr "自动定位所有/选定的对象" + +msgid "Auto orient all objects on current plate" +msgstr "自动调整当前板上的所有对象" msgid "Arrange all objects" msgstr "全局整理" @@ -8389,12 +8392,16 @@ msgid "Shift+R" msgstr "" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" "自动调整选定零件/所有零件的方向,\n" -"有选定零件时调整选定零件的朝向,没有选择零件时调整当前盘所有零件的朝向" +"有选定零件时调整选定零件的朝向,\n" +"没有选择零件时调整当项目所有零件的朝向" + +msgid "Auto orients all objects on the active plate." +msgstr "自动调整活动板上的所有物体的方向。" msgid "Shift+Tab" msgstr "" diff --git a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po index 4c247cf7de..d8de2d7898 100644 --- a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po +++ b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po @@ -4256,8 +4256,11 @@ msgstr "與 Y 軸對齊" msgid "Add plate" msgstr "新增列印板" -msgid "Auto orient" -msgstr "自動定向" +msgid "Auto orient all/selected objects" +msgstr "自动定位所有/选定的对象" + +msgid "Auto orient all objects on current plate" +msgstr "自动调整当前板上的所有对象" msgid "Arrange all objects" msgstr "全域整理" @@ -8432,12 +8435,16 @@ msgid "Shift+R" msgstr "Shift+R" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orients selected objects or all objects. If there are selected " +"objects, it just orients the selected ones. Otherwise, it will orient " +"all objects in the current project." msgstr "" -"自動調整選取零件/所有零件的方向,\n" -"有選取零件時調整選取零件的方向,沒有選取零件時調整目前列印板所有零件的方向。" +"自动调整选定零件/所有零件的方向,\n" +"有选定零件时调整选定零件的朝向,\n" +"没有选择零件时调整当项目所有零件的朝向" + +msgid "Auto orients all objects on the active plate." +msgstr "自动调整活动板上的所有物体的方向。" msgid "Shift+Tab" msgstr "Shift+Tab" diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 7de6926d3c..16a8e96eca 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -667,7 +667,7 @@ void GLCanvas3D::LayersEditing::update_slicing_parameters() m_slicing_parameters = new SlicingParameters(); *m_slicing_parameters = PrintObject::slicing_parameters(*m_config, *m_model_object, m_object_max_z, m_shrinkage_compensation); } - + } float GLCanvas3D::LayersEditing::thickness_bar_width(const GLCanvas3D & canvas) @@ -1050,14 +1050,14 @@ void GLCanvas3D::load_arrange_settings() std::string en_rot_sla_str = wxGetApp().app_config->get("arrange", "enable_rotation_sla"); - + std::string en_allow_multiple_materials_str = wxGetApp().app_config->get("arrange", "allow_multi_materials_on_same_plate"); - + std::string en_avoid_region_str = wxGetApp().app_config->get("arrange", "avoid_extrusion_cali_region"); - - + + if (!dist_fff_str.empty()) m_arrange_settings_fff.distance = std::stof(dist_fff_str); @@ -1070,14 +1070,14 @@ void GLCanvas3D::load_arrange_settings() if (!en_rot_fff_str.empty()) m_arrange_settings_fff.enable_rotation = (en_rot_fff_str == "1" || en_rot_fff_str == "true"); - + if (!en_allow_multiple_materials_str.empty()) m_arrange_settings_fff.allow_multi_materials_on_same_plate = (en_allow_multiple_materials_str == "1" || en_allow_multiple_materials_str == "true"); - + if (!en_rot_fff_seqp_str.empty()) m_arrange_settings_fff_seq_print.enable_rotation = (en_rot_fff_seqp_str == "1" || en_rot_fff_seqp_str == "true"); - + if(!en_avoid_region_str.empty()) m_arrange_settings_fff.avoid_extrusion_cali_region = (en_avoid_region_str == "1" || en_avoid_region_str == "true"); @@ -1500,7 +1500,7 @@ void GLCanvas3D::set_config(const DynamicPrintConfig* config) { m_config = config; m_layers_editing.set_config(config); - + // Orca: Filament shrinkage compensation const Print *print = fff_print(); if (print != nullptr) @@ -1837,7 +1837,7 @@ void GLCanvas3D::render(bool only_init) if (!is_initialized() && !init()) return; - if (m_canvas_type == ECanvasType::CanvasView3D && m_gizmos.get_current_type() == GLGizmosManager::Undefined) { + if (m_canvas_type == ECanvasType::CanvasView3D && m_gizmos.get_current_type() == GLGizmosManager::Undefined) { enable_return_toolbar(false); } if (!m_main_toolbar.is_enabled()) @@ -2302,7 +2302,7 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re if (!m_initialized) return; - + _set_current(); m_hover_volume_idxs.clear(); @@ -3259,7 +3259,7 @@ void GLCanvas3D::on_char(wxKeyEvent& evt) case WXK_F5: { if (wxGetApp().mainframe->is_printer_view()) wxGetApp().mainframe->load_printer_url(); - + //if ((wxGetApp().is_editor() && !wxGetApp().plater()->model().objects.empty()) || // (wxGetApp().is_gcode_viewer() && !wxGetApp().plater()->get_last_loaded_gcode().empty())) // post_event(SimpleEvent(EVT_GLCANVAS_RELOAD_FROM_DISK)); @@ -3278,7 +3278,7 @@ void GLCanvas3D::on_char(wxKeyEvent& evt) case '3': case '4': case '5': - case '6': + case '6': case '7': case '8': case '9': { @@ -3315,15 +3315,6 @@ void GLCanvas3D::on_char(wxKeyEvent& evt) post_event(SimpleEvent(EVT_GLCANVAS_ARRANGE)); break; } - case 'r': - case 'R': - { - if ((evt.GetModifiers() & shiftMask) != 0) - post_event(SimpleEvent(EVT_GLCANVAS_ORIENT_PARTPLATE)); - else - post_event(SimpleEvent(EVT_GLCANVAS_ORIENT)); - break; - } //case 'B': //case 'b': { zoom_to_bed(); break; } case 'C': @@ -3351,6 +3342,15 @@ void GLCanvas3D::on_char(wxKeyEvent& evt) //} case 'O': case 'o': { _update_camera_zoom(-1.0); break; } + case 'q': + case 'Q': + { + if ((evt.GetModifiers() & shiftMask) != 0) + post_event(SimpleEvent(EVT_GLCANVAS_ORIENT_PARTPLATE)); + else + post_event(SimpleEvent(EVT_GLCANVAS_ORIENT)); + break; + } //case 'Z': //case 'z': { // if (!m_selection.is_empty()) @@ -4316,7 +4316,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) } // do not process the dragging if the left mouse was set down in another canvas else if (is_camera_rotate(evt)) { - // Orca: Sphere rotation for painting view + // Orca: Sphere rotation for painting view // if dragging over blank area with left button, rotate if ((any_gizmo_active || m_hover_volume_idxs.empty()) && m_mouse.is_start_position_3D_defined()) { Camera& camera = wxGetApp().plater()->get_camera(); @@ -4536,14 +4536,14 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) // Detection of doubleclick on text to open emboss edit window auto type = m_gizmos.get_current_type(); - if (evt.LeftDClick() && !m_hover_volume_idxs.empty() && + if (evt.LeftDClick() && !m_hover_volume_idxs.empty() && (type == GLGizmosManager::EType::Undefined || type == GLGizmosManager::EType::Move || type == GLGizmosManager::EType::Rotate || type == GLGizmosManager::EType::Scale || type == GLGizmosManager::EType::Emboss || type == GLGizmosManager::EType::Svg) ) { - for (int hover_volume_id : m_hover_volume_idxs) { + for (int hover_volume_id : m_hover_volume_idxs) { const GLVolume &hover_gl_volume = *m_volumes.volumes[hover_volume_id]; int object_idx = hover_gl_volume.object_idx(); if (object_idx < 0 || static_cast(object_idx) >= m_model->objects.size()) continue; @@ -4555,7 +4555,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) if (hover_volume->text_configuration.has_value()) { m_selection.add_volumes(Selection::EMode::Volume, {(unsigned) hover_volume_id}); if (type != GLGizmosManager::EType::Emboss) - m_gizmos.open_gizmo(GLGizmosManager::EType::Emboss); + m_gizmos.open_gizmo(GLGizmosManager::EType::Emboss); wxGetApp().obj_list()->update_selections(); return; } else if (hover_volume->emboss_shape.has_value()) { @@ -5484,7 +5484,7 @@ bool GLCanvas3D::is_object_sinking(int object_idx) const return false; } -void GLCanvas3D::apply_retina_scale(Vec2d &screen_coordinate) const +void GLCanvas3D::apply_retina_scale(Vec2d &screen_coordinate) const { #if ENABLE_RETINA_GL double scale = static_cast(m_retina_helper->get_scale_factor()); @@ -5776,7 +5776,7 @@ void GLCanvas3D::_render_3d_navigator() strcpy(style.FaceLabels[ImGuizmo::FACES::FACE_BOTTOM], _utf8("Bottom").c_str()); strcpy(style.FaceLabels[ImGuizmo::FACES::FACE_LEFT], _utf8("Left").c_str()); strcpy(style.FaceLabels[ImGuizmo::FACES::FACE_RIGHT], _utf8("Right").c_str()); - + float sc = get_scale(); #ifdef WIN32 const int dpi = get_dpi_for_window(wxGetApp().GetTopWindow()); @@ -6062,7 +6062,7 @@ void GLCanvas3D::render_thumbnail_internal(ThumbnailData& thumbnail_data, const shader->set_uniform("view_model_matrix", view_matrix * model_matrix); shader->set_uniform("projection_matrix", projection_matrix); const Matrix3d view_normal_matrix = view_matrix.matrix().block(0, 0, 3, 3) * model_matrix.matrix().block(0, 0, 3, 3).inverse().transpose(); - shader->set_uniform("view_normal_matrix", view_normal_matrix); + shader->set_uniform("view_normal_matrix", view_normal_matrix); vol->simple_render(shader, model_objects, extruder_colors, ban_light); vol->is_active = is_active; } @@ -6458,7 +6458,7 @@ bool GLCanvas3D::_init_main_toolbar() item.name = "orient"; item.icon_filename = m_is_dark ? "toolbar_orient_dark.svg" : "toolbar_orient.svg"; - item.tooltip = _utf8(L("Auto orient")); + item.tooltip = _utf8(L("Auto orient all/selected objects")) + " [Q]\n" + _utf8(L("Auto orient all objects on current plate")) + " [Shift+Q]"; item.sprite_id++; item.left.render_callback = nullptr; item.enabling_callback = []()->bool { return wxGetApp().plater()->can_arrange(); }; @@ -7914,7 +7914,7 @@ void GLCanvas3D::_render_imgui_select_plate_toolbar() #if ENABLE_RETINA_GL float f_scale = m_retina_helper->get_scale_factor(); #else - float f_scale = wxGetApp().em_unit() / 10; // ORCA add scaling support + float f_scale = wxGetApp().em_unit() / 10; // ORCA add scaling support #endif Size cnv_size = get_canvas_size(); auto canvas_w = float(cnv_size.get_width()); @@ -7953,7 +7953,7 @@ void GLCanvas3D::_render_imgui_select_plate_toolbar() float window_width = button_width + (margin_size + button_margin + ImGui::GetStyle().WindowPadding.x) * 2 + (show_scroll ? scrollbar_size : 0); ImVec4 window_bg = m_is_dark ? ImVec4(.13f, .13f, .15f, .5f) : ImVec4(1.f, 1.f, 1.f, .7f); - ImVec4 button_active = ImGuiWrapper::COL_ORCA; // ORCA: Use orca color for selected sliced plate border + ImVec4 button_active = ImGuiWrapper::COL_ORCA; // ORCA: Use orca color for selected sliced plate border ImVec4 button_hover = ImVec4(0.67f, 0.67f, 0.67, m_is_dark ? .6f : 1.0f); ImVec4 scroll_col = ImVec4(0.77f, 0.77f, 0.77f, m_is_dark ? .6f : 1.0f); ImU32 plate_bg = m_is_dark ? IM_COL32(255, 255, 255, 10) : IM_COL32(0, 0, 0, 10); @@ -7963,7 +7963,7 @@ void GLCanvas3D::_render_imgui_select_plate_toolbar() //use white text as the background switch to black ImGui::PushStyleColor(ImGuiCol_Text, m_is_dark ? ImVec4(.9f, .9f, .9f, 1) : ImVec4(.3f, .3f, .3f, 1)); // ORCA Plate number text > Add support for dark mode ImGui::PushStyleColor(ImGuiCol_WindowBg, window_bg); - ImGui::PushStyleColor(ImGuiCol_ScrollbarBg, ImVec4(0.f, 0.f, 0.f, 0.f)); // ORCA using background color with opacity creates a second color. This prevents secondary color + ImGui::PushStyleColor(ImGuiCol_ScrollbarBg, ImVec4(0.f, 0.f, 0.f, 0.f)); // ORCA using background color with opacity creates a second color. This prevents secondary color ImGui::PushStyleColor(ImGuiCol_ScrollbarGrabActive, scroll_col); ImGui::PushStyleColor(ImGuiCol_ScrollbarGrabHovered, scroll_col); ImGui::PushStyleColor(ImGuiCol_ScrollbarGrab, scroll_col); diff --git a/src/slic3r/GUI/KBShortcutsDialog.cpp b/src/slic3r/GUI/KBShortcutsDialog.cpp index 2b88f65c34..7b383202ce 100644 --- a/src/slic3r/GUI/KBShortcutsDialog.cpp +++ b/src/slic3r/GUI/KBShortcutsDialog.cpp @@ -222,8 +222,8 @@ void KBShortcutsDialog::fill_shortcuts() { "A", L("Arrange all objects") }, { L("Shift+A"), L("Arrange objects on selected plates") }, - //{ "R", L("Auto orientates selected objects or all objects.If there are selected objects, it just orientates the selected ones.Otherwise, it will orientates all objects in the project.") }, - {L("Shift+R"), L("Auto orientates selected objects or all objects.If there are selected objects, it just orientates the selected ones.Otherwise, it will orientates all objects in the current disk.")}, + { "Q", L("Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project.") }, + {L("Shift+Q"), L("Auto orients all objects on the active plate.")}, {L("Shift+Tab"), L("Collapse/Expand the sidebar")}, #ifdef __APPLE__ From aebc01abfc80c66e83312dc0fd677ad4903609e4 Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Wed, 14 May 2025 15:04:49 +0800 Subject: [PATCH 5/5] Removed dependency on libtiff (#9514) (cherry picked from commit prusa3d/PrusaSlicer@f12e0b4d2146c431bd1db9f94a78830006db7642) Co-authored-by: Lukas Matena --- deps/CMakeLists.txt | 7 ----- deps/TIFF/TIFF.cmake | 30 ---------------------- deps/wxWidgets/wxWidgets.cmake | 4 +-- flatpak/io.github.softfever.OrcaSlicer.yml | 2 +- src/CMakeLists.txt | 7 ----- 5 files changed, 3 insertions(+), 47 deletions(-) delete mode 100644 deps/TIFF/TIFF.cmake diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index b24ee20e26..dbb380e2d6 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -248,7 +248,6 @@ if(FLATPAK) find_package(EXPAT) find_package(CURL) find_package(JPEG) - find_package(TIFF) find_package(Freetype) find_package(OpenSSL 1.1...<3.2) find_package(CURL) @@ -321,12 +320,6 @@ if (NOT JPEG_FOUND) set(JPEG_PKG dep_JPEG) endif() -set(TIFF_PKG "") -if (NOT TIFF_FOUND) - include(TIFF/TIFF.cmake) - set(TIFF_PKG "dep_TIFF") -endif() - # flatpak builds wxwidgets separately set(WXWIDGETS_PKG "") if (NOT FLATPAK) diff --git a/deps/TIFF/TIFF.cmake b/deps/TIFF/TIFF.cmake deleted file mode 100644 index 9d66d89b8b..0000000000 --- a/deps/TIFF/TIFF.cmake +++ /dev/null @@ -1,30 +0,0 @@ -find_package(OpenGL QUIET REQUIRED) - -if (APPLE) - message(STATUS "Compiling TIFF for macos ${CMAKE_SYSTEM_VERSION}.") - orcaslicer_add_cmake_project(TIFF - URL https://gitlab.com/libtiff/libtiff/-/archive/v4.3.0/libtiff-v4.3.0.zip - URL_HASH SHA256=4fca1b582c88319f3ad6ecd5b46320eadaf5eb4ef6f6c32d44caaae4a03d0726 - DEPENDS ${ZLIB_PKG} ${PNG_PKG} dep_JPEG - CMAKE_ARGS - -Dlzma:BOOL=OFF - -Dwebp:BOOL=OFF - -Djbig:BOOL=OFF - -Dzstd:BOOL=OFF - -Dlibdeflate:BOOL=OFF - -Dpixarlog:BOOL=OFF - ) -else() - orcaslicer_add_cmake_project(TIFF - URL https://gitlab.com/libtiff/libtiff/-/archive/v4.1.0/libtiff-v4.1.0.zip - URL_HASH SHA256=17a3e875acece9be40b093361cfef47385d4ef22c995ffbf36b2871f5785f9b8 - DEPENDS ${ZLIB_PKG} ${PNG_PKG} dep_JPEG - CMAKE_ARGS - -Dlzma:BOOL=OFF - -Dwebp:BOOL=OFF - -Djbig:BOOL=OFF - -Dzstd:BOOL=OFF - -Dpixarlog:BOOL=OFF - ) - -endif() \ No newline at end of file diff --git a/deps/wxWidgets/wxWidgets.cmake b/deps/wxWidgets/wxWidgets.cmake index 1097e6cfc0..b7fc087a09 100644 --- a/deps/wxWidgets/wxWidgets.cmake +++ b/deps/wxWidgets/wxWidgets.cmake @@ -26,7 +26,7 @@ orcaslicer_add_cmake_project( wxWidgets GIT_REPOSITORY "https://github.com/SoftFever/Orca-deps-wxWidgets" GIT_SHALLOW ON - DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} ${TIFF_PKG} ${JPEG_PKG} + DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} ${JPEG_PKG} CMAKE_ARGS -DwxBUILD_PRECOMP=ON ${_wx_toolkit} @@ -52,7 +52,7 @@ orcaslicer_add_cmake_project( -DwxUSE_LIBPNG=sys -DwxUSE_ZLIB=sys -DwxUSE_LIBJPEG=sys - -DwxUSE_LIBTIFF=sys + -DwxUSE_LIBTIFF=OFF -DwxUSE_NANOSVG=OFF -DwxUSE_EXPAT=sys ) diff --git a/flatpak/io.github.softfever.OrcaSlicer.yml b/flatpak/io.github.softfever.OrcaSlicer.yml index ae29d671de..68979a549c 100755 --- a/flatpak/io.github.softfever.OrcaSlicer.yml +++ b/flatpak/io.github.softfever.OrcaSlicer.yml @@ -141,7 +141,7 @@ modules: -DwxUSE_LIBPNG=sys \ -DwxUSE_ZLIB=sys \ -DwxUSE_LIBJPEG=sys \ - -DwxUSE_LIBTIFF=sys \ + -DwxUSE_LIBTIFF=OFF \ -DwxUSE_EXPAT=sys \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DCMAKE_INSTALL_PREFIX:STRING=/app \ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a3983ac9f1..a541e7c548 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -57,7 +57,6 @@ if (SLIC3R_GUI) include(${wxWidgets_USE_FILE}) find_package(JPEG QUIET) - find_package(TIFF QUIET) string(REGEX MATCH "wxpng" WX_PNG_BUILTIN ${wxWidgets_LIBRARIES}) if (PNG_FOUND AND NOT WX_PNG_BUILTIN) @@ -65,12 +64,6 @@ if (SLIC3R_GUI) list(APPEND wxWidgets_LIBRARIES ${PNG_LIBRARIES}) endif () - string(REGEX MATCH "wxtiff" WX_TIFF_BUILTIN ${wxWidgets_LIBRARIES}) - if (TIFF_FOUND AND NOT WX_TIFF_BUILTIN) - list(FILTER wxWidgets_LIBRARIES EXCLUDE REGEX tiff) - list(APPEND wxWidgets_LIBRARIES ${TIFF_LIBRARIES}) - endif () - string(REGEX MATCH "wxjpeg" WX_JPEG_BUILTIN ${wxWidgets_LIBRARIES}) if (JPEG_FOUND AND NOT WX_JPEG_BUILTIN) list(FILTER wxWidgets_LIBRARIES EXCLUDE REGEX jpeg)