diff --git a/resources/images/add.svg b/resources/images/add.svg
index 351f830b6c5..cbaa7056fb6 100644
--- a/resources/images/add.svg
+++ b/resources/images/add.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/add_copies.svg b/resources/images/add_copies.svg
index a491ba51e55..a1af9f8389f 100644
--- a/resources/images/add_copies.svg
+++ b/resources/images/add_copies.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/check_half.svg b/resources/images/check_half.svg
index 78560b10726..0e543a7773d 100644
--- a/resources/images/check_half.svg
+++ b/resources/images/check_half.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/check_half_disabled.svg b/resources/images/check_half_disabled.svg
index a0b23696bbc..97feb9dc914 100644
--- a/resources/images/check_half_disabled.svg
+++ b/resources/images/check_half_disabled.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/check_half_focused.svg b/resources/images/check_half_focused.svg
index 1faea574618..f0fa31276c5 100644
--- a/resources/images/check_half_focused.svg
+++ b/resources/images/check_half_focused.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/check_off.svg b/resources/images/check_off.svg
index b56c4abc248..1bd142b66ac 100644
--- a/resources/images/check_off.svg
+++ b/resources/images/check_off.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/check_off_disabled.svg b/resources/images/check_off_disabled.svg
index d4c14ca6d0a..8c4818d2043 100644
--- a/resources/images/check_off_disabled.svg
+++ b/resources/images/check_off_disabled.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/check_off_focused.svg b/resources/images/check_off_focused.svg
index 39fdb07e634..ea1e1bdbdc8 100644
--- a/resources/images/check_off_focused.svg
+++ b/resources/images/check_off_focused.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/check_on.svg b/resources/images/check_on.svg
index 43ef314cd35..e4d1caa369b 100644
--- a/resources/images/check_on.svg
+++ b/resources/images/check_on.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/check_on_disabled.svg b/resources/images/check_on_disabled.svg
index 5ed3987438f..35e6d0b9264 100644
--- a/resources/images/check_on_disabled.svg
+++ b/resources/images/check_on_disabled.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/check_on_focused.svg b/resources/images/check_on_focused.svg
index 1b93469bf48..5b5f2f25912 100644
--- a/resources/images/check_on_focused.svg
+++ b/resources/images/check_on_focused.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/checked.svg b/resources/images/checked.svg
index 6fed74863a1..1d0369da744 100644
--- a/resources/images/checked.svg
+++ b/resources/images/checked.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/cross.svg b/resources/images/cross.svg
index 2e36702da21..a8598bdf7d9 100644
--- a/resources/images/cross.svg
+++ b/resources/images/cross.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/custom-gcode_support.svg b/resources/images/custom-gcode_support.svg
index f53dd207fb7..b34d3a7f855 100644
--- a/resources/images/custom-gcode_support.svg
+++ b/resources/images/custom-gcode_support.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/cut_circle.svg b/resources/images/cut_circle.svg
deleted file mode 100644
index a222aaa8345..00000000000
--- a/resources/images/cut_circle.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/cut_circle_dark.svg b/resources/images/cut_circle_dark.svg
deleted file mode 100644
index 0acbcf4c3cf..00000000000
--- a/resources/images/cut_circle_dark.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/cut_hexagon.svg b/resources/images/cut_hexagon.svg
deleted file mode 100644
index 282ce14ea31..00000000000
--- a/resources/images/cut_hexagon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/cut_hexagon_dark.svg b/resources/images/cut_hexagon_dark.svg
deleted file mode 100644
index 1ee6d0bc6e1..00000000000
--- a/resources/images/cut_hexagon_dark.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/cut_square.svg b/resources/images/cut_square.svg
deleted file mode 100644
index 7eb72c74ac3..00000000000
--- a/resources/images/cut_square.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/cut_square_dark.svg b/resources/images/cut_square_dark.svg
deleted file mode 100644
index fbf7cc9aa4a..00000000000
--- a/resources/images/cut_square_dark.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/cut_triangle.svg b/resources/images/cut_triangle.svg
deleted file mode 100644
index ac03ed05ceb..00000000000
--- a/resources/images/cut_triangle.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/cut_triangle_dark.svg b/resources/images/cut_triangle_dark.svg
deleted file mode 100644
index a29569c6a27..00000000000
--- a/resources/images/cut_triangle_dark.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/delete.svg b/resources/images/delete.svg
index 2e36702da21..a8598bdf7d9 100644
--- a/resources/images/delete.svg
+++ b/resources/images/delete.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/drop_down.svg b/resources/images/drop_down.svg
index bdb34d71d9f..6ecf48d1d9f 100644
--- a/resources/images/drop_down.svg
+++ b/resources/images/drop_down.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/edit.svg b/resources/images/edit.svg
index 6c2de1d9802..e32229d429d 100644
--- a/resources/images/edit.svg
+++ b/resources/images/edit.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/edit_button.svg b/resources/images/edit_button.svg
index 6c2de1d9802..e32229d429d 100644
--- a/resources/images/edit_button.svg
+++ b/resources/images/edit_button.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/fill_paint.svg b/resources/images/fill_paint.svg
index 4c3c2cc8743..09985f91b44 100644
--- a/resources/images/fill_paint.svg
+++ b/resources/images/fill_paint.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/fill_paint_dark.svg b/resources/images/fill_paint_dark.svg
index df9333b62c5..1181e7e637e 100644
--- a/resources/images/fill_paint_dark.svg
+++ b/resources/images/fill_paint_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/gap_fill.svg b/resources/images/gap_fill.svg
index 87436c9e2b2..edd0fc6659b 100644
--- a/resources/images/gap_fill.svg
+++ b/resources/images/gap_fill.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/gap_fill_dark.svg b/resources/images/gap_fill_dark.svg
index d17c639d416..b533510758e 100644
--- a/resources/images/gap_fill_dark.svg
+++ b/resources/images/gap_fill_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/measure_edit.svg b/resources/images/measure_edit.svg
deleted file mode 100644
index 7f622b2cc43..00000000000
--- a/resources/images/measure_edit.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/mesh_boolean_a.svg b/resources/images/mesh_boolean_a.svg
deleted file mode 100644
index d4f1977d275..00000000000
--- a/resources/images/mesh_boolean_a.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/mesh_boolean_b.svg b/resources/images/mesh_boolean_b.svg
deleted file mode 100644
index d59ea608f6a..00000000000
--- a/resources/images/mesh_boolean_b.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/mesh_boolean_difference.svg b/resources/images/mesh_boolean_difference.svg
deleted file mode 100644
index 986af31cef9..00000000000
--- a/resources/images/mesh_boolean_difference.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/mesh_boolean_difference_dark.svg b/resources/images/mesh_boolean_difference_dark.svg
deleted file mode 100644
index cee940c3b58..00000000000
--- a/resources/images/mesh_boolean_difference_dark.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/mesh_boolean_intersection.svg b/resources/images/mesh_boolean_intersection.svg
deleted file mode 100644
index 52ac3014ef1..00000000000
--- a/resources/images/mesh_boolean_intersection.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/mesh_boolean_intersection_dark.svg b/resources/images/mesh_boolean_intersection_dark.svg
deleted file mode 100644
index 9d232122fa7..00000000000
--- a/resources/images/mesh_boolean_intersection_dark.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/mesh_boolean_keep.svg b/resources/images/mesh_boolean_keep.svg
deleted file mode 100644
index 1315f878955..00000000000
--- a/resources/images/mesh_boolean_keep.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/mesh_boolean_subtract.svg b/resources/images/mesh_boolean_subtract.svg
deleted file mode 100644
index 6d068c807b1..00000000000
--- a/resources/images/mesh_boolean_subtract.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/mesh_boolean_union.svg b/resources/images/mesh_boolean_union.svg
deleted file mode 100644
index c300d0cf922..00000000000
--- a/resources/images/mesh_boolean_union.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/mesh_boolean_union_dark.svg b/resources/images/mesh_boolean_union_dark.svg
deleted file mode 100644
index b05e71adb43..00000000000
--- a/resources/images/mesh_boolean_union_dark.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/mmu_segmentation.svg b/resources/images/mmu_segmentation.svg
index f9aed323609..085ebc006c1 100644
--- a/resources/images/mmu_segmentation.svg
+++ b/resources/images/mmu_segmentation.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/mmu_segmentation_dark.svg b/resources/images/mmu_segmentation_dark.svg
index 9d36df8e680..9946079ab94 100644
--- a/resources/images/mmu_segmentation_dark.svg
+++ b/resources/images/mmu_segmentation_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/notification_collapse.svg b/resources/images/notification_collapse.svg
index 02b182476d4..303cecab382 100644
--- a/resources/images/notification_collapse.svg
+++ b/resources/images/notification_collapse.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/notification_expand.svg b/resources/images/notification_expand.svg
index 303cecab382..02b182476d4 100644
--- a/resources/images/notification_expand.svg
+++ b/resources/images/notification_expand.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/objlist_seam_painting.svg b/resources/images/objlist_seam_painting.svg
index 1e360cddaca..d8571e04e41 100644
--- a/resources/images/objlist_seam_painting.svg
+++ b/resources/images/objlist_seam_painting.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/objlist_support_painting.svg b/resources/images/objlist_support_painting.svg
index e952fc3f527..21158ffc1be 100644
--- a/resources/images/objlist_support_painting.svg
+++ b/resources/images/objlist_support_painting.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/param_crosshatch.svg b/resources/images/param_crosshatch.svg
index 03a1f04a71a..3e5e81648c4 100644
--- a/resources/images/param_crosshatch.svg
+++ b/resources/images/param_crosshatch.svg
@@ -1,570 +1 @@
-
-
+
\ No newline at end of file
diff --git a/resources/images/param_default-pattern.svg b/resources/images/param_default-pattern.svg
deleted file mode 100644
index 0bbbc3e7e18..00000000000
--- a/resources/images/param_default-pattern.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/param_seam.svg b/resources/images/param_seam.svg
index ec011d8df4a..d1dbf04c5ee 100644
--- a/resources/images/param_seam.svg
+++ b/resources/images/param_seam.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/param_search.svg b/resources/images/param_search.svg
deleted file mode 100644
index 7bdca770f64..00000000000
--- a/resources/images/param_search.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/param_skirt.svg b/resources/images/param_skirt.svg
new file mode 100644
index 00000000000..1f0a1854e0c
--- /dev/null
+++ b/resources/images/param_skirt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/resources/images/param_support.svg b/resources/images/param_support.svg
index d487ac417c0..6c20d647be0 100644
--- a/resources/images/param_support.svg
+++ b/resources/images/param_support.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_arrange.svg b/resources/images/plate_arrange.svg
index 16d2189b4cc..ea6ef51a5d3 100644
--- a/resources/images/plate_arrange.svg
+++ b/resources/images/plate_arrange.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_arrange_dark.svg b/resources/images/plate_arrange_dark.svg
index 5ac7c488ba9..6b0ade63b90 100644
--- a/resources/images/plate_arrange_dark.svg
+++ b/resources/images/plate_arrange_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_arrange_hover.svg b/resources/images/plate_arrange_hover.svg
index f3378fce551..4170ddefb3d 100644
--- a/resources/images/plate_arrange_hover.svg
+++ b/resources/images/plate_arrange_hover.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_arrange_hover_dark.svg b/resources/images/plate_arrange_hover_dark.svg
index 65f956b28eb..7b4d4511038 100644
--- a/resources/images/plate_arrange_hover_dark.svg
+++ b/resources/images/plate_arrange_hover_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_close.svg b/resources/images/plate_close.svg
index de0c4f66a6b..caa52e8d768 100644
--- a/resources/images/plate_close.svg
+++ b/resources/images/plate_close.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_close_dark.svg b/resources/images/plate_close_dark.svg
index a045ccd4b26..60e10f32fb2 100644
--- a/resources/images/plate_close_dark.svg
+++ b/resources/images/plate_close_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_close_hover.svg b/resources/images/plate_close_hover.svg
index 495322afe4e..78154b649e8 100644
--- a/resources/images/plate_close_hover.svg
+++ b/resources/images/plate_close_hover.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_close_hover_dark.svg b/resources/images/plate_close_hover_dark.svg
index 13199c94b86..057950934e7 100644
--- a/resources/images/plate_close_hover_dark.svg
+++ b/resources/images/plate_close_hover_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_locked.svg b/resources/images/plate_locked.svg
index 8738cd5222b..ad62e0be45b 100644
--- a/resources/images/plate_locked.svg
+++ b/resources/images/plate_locked.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_locked_dark.svg b/resources/images/plate_locked_dark.svg
index 94698a340f8..954e90a96e9 100644
--- a/resources/images/plate_locked_dark.svg
+++ b/resources/images/plate_locked_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_locked_hover.svg b/resources/images/plate_locked_hover.svg
index f56beb6c073..9898e71aa05 100644
--- a/resources/images/plate_locked_hover.svg
+++ b/resources/images/plate_locked_hover.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_locked_hover_dark.svg b/resources/images/plate_locked_hover_dark.svg
index 8955de70dd2..f12e171e474 100644
--- a/resources/images/plate_locked_hover_dark.svg
+++ b/resources/images/plate_locked_hover_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_name_edit.svg b/resources/images/plate_name_edit.svg
index fad12d446e1..54a607d222d 100644
--- a/resources/images/plate_name_edit.svg
+++ b/resources/images/plate_name_edit.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_name_edit_dark.svg b/resources/images/plate_name_edit_dark.svg
index 6ed07bbdf45..729cb184313 100644
--- a/resources/images/plate_name_edit_dark.svg
+++ b/resources/images/plate_name_edit_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_name_edit_hover.svg b/resources/images/plate_name_edit_hover.svg
index d6968c9bb8d..66befdaebd9 100644
--- a/resources/images/plate_name_edit_hover.svg
+++ b/resources/images/plate_name_edit_hover.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_name_edit_hover_dark.svg b/resources/images/plate_name_edit_hover_dark.svg
index 5655a554ea9..0382c829ff6 100644
--- a/resources/images/plate_name_edit_hover_dark.svg
+++ b/resources/images/plate_name_edit_hover_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_orient.svg b/resources/images/plate_orient.svg
index 63dd5f2f0bf..cc7d090f8d6 100644
--- a/resources/images/plate_orient.svg
+++ b/resources/images/plate_orient.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_orient_dark.svg b/resources/images/plate_orient_dark.svg
index b0b16c87a9f..2112074ca5c 100644
--- a/resources/images/plate_orient_dark.svg
+++ b/resources/images/plate_orient_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_orient_hover.svg b/resources/images/plate_orient_hover.svg
index e88fb5d8309..fcf1aabc382 100644
--- a/resources/images/plate_orient_hover.svg
+++ b/resources/images/plate_orient_hover.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_orient_hover_dark.svg b/resources/images/plate_orient_hover_dark.svg
index e8adebcf490..a2c60a0a79f 100644
--- a/resources/images/plate_orient_hover_dark.svg
+++ b/resources/images/plate_orient_hover_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_settings.svg b/resources/images/plate_settings.svg
index e6ee8b0b6a7..7ca6f421fd7 100644
--- a/resources/images/plate_settings.svg
+++ b/resources/images/plate_settings.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_settings_changed.svg b/resources/images/plate_settings_changed.svg
index 8a4ca4d60f8..3c1cc319c01 100644
--- a/resources/images/plate_settings_changed.svg
+++ b/resources/images/plate_settings_changed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_settings_changed_dark.svg b/resources/images/plate_settings_changed_dark.svg
index ce5672a9d71..0858582095c 100644
--- a/resources/images/plate_settings_changed_dark.svg
+++ b/resources/images/plate_settings_changed_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_settings_changed_hover.svg b/resources/images/plate_settings_changed_hover.svg
index 1bb9023a283..f2350ae3531 100644
--- a/resources/images/plate_settings_changed_hover.svg
+++ b/resources/images/plate_settings_changed_hover.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_settings_changed_hover_dark.svg b/resources/images/plate_settings_changed_hover_dark.svg
index 2fabb11b784..ee72de4a5e1 100644
--- a/resources/images/plate_settings_changed_hover_dark.svg
+++ b/resources/images/plate_settings_changed_hover_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_settings_dark.svg b/resources/images/plate_settings_dark.svg
index 69b3474669f..ea12254f879 100644
--- a/resources/images/plate_settings_dark.svg
+++ b/resources/images/plate_settings_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_settings_hover.svg b/resources/images/plate_settings_hover.svg
index a555b28f9b3..63c33ff2f97 100644
--- a/resources/images/plate_settings_hover.svg
+++ b/resources/images/plate_settings_hover.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_settings_hover_dark.svg b/resources/images/plate_settings_hover_dark.svg
index f36f6e8f034..2cd16d21a90 100644
--- a/resources/images/plate_settings_hover_dark.svg
+++ b/resources/images/plate_settings_hover_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_unlocked.svg b/resources/images/plate_unlocked.svg
index c04f826e241..6d93b9b69e5 100644
--- a/resources/images/plate_unlocked.svg
+++ b/resources/images/plate_unlocked.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_unlocked_dark.svg b/resources/images/plate_unlocked_dark.svg
index 191094d9d62..092f6a0dfba 100644
--- a/resources/images/plate_unlocked_dark.svg
+++ b/resources/images/plate_unlocked_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_unlocked_hover.svg b/resources/images/plate_unlocked_hover.svg
index f0f0d1ff03d..91ac0aacb67 100644
--- a/resources/images/plate_unlocked_hover.svg
+++ b/resources/images/plate_unlocked_hover.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/plate_unlocked_hover_dark.svg b/resources/images/plate_unlocked_hover_dark.svg
index 8d9f568ed60..a52831047fa 100644
--- a/resources/images/plate_unlocked_hover_dark.svg
+++ b/resources/images/plate_unlocked_hover_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/save.svg b/resources/images/save.svg
index 65db979dfa6..ba542737f97 100644
--- a/resources/images/save.svg
+++ b/resources/images/save.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/search.svg b/resources/images/search.svg
index 71fb9641828..931ce8143a3 100644
--- a/resources/images/search.svg
+++ b/resources/images/search.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/tab_calibration.svg b/resources/images/tab_calibration.svg
deleted file mode 100644
index 54ea4fe5b59..00000000000
--- a/resources/images/tab_calibration.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/images/tab_calibration_active.svg b/resources/images/tab_calibration_active.svg
index 71bfdfc451b..54ea4fe5b59 100644
--- a/resources/images/tab_calibration_active.svg
+++ b/resources/images/tab_calibration_active.svg
@@ -1,4 +1 @@
-
+
\ No newline at end of file
diff --git a/resources/images/toolbar_flatten.svg b/resources/images/toolbar_flatten.svg
index ffcc22e4f8f..7f375998f5f 100644
--- a/resources/images/toolbar_flatten.svg
+++ b/resources/images/toolbar_flatten.svg
@@ -1,6 +1 @@
-
+
\ No newline at end of file
diff --git a/resources/images/toolbar_flatten_dark.svg b/resources/images/toolbar_flatten_dark.svg
index e6c3b472e7f..2ef8d50fd5e 100644
--- a/resources/images/toolbar_flatten_dark.svg
+++ b/resources/images/toolbar_flatten_dark.svg
@@ -1,6 +1 @@
-
+
\ No newline at end of file
diff --git a/resources/images/toolbar_orient.svg b/resources/images/toolbar_orient.svg
index b240ffa7634..ed05131754d 100644
--- a/resources/images/toolbar_orient.svg
+++ b/resources/images/toolbar_orient.svg
@@ -1,10 +1 @@
-
+
\ No newline at end of file
diff --git a/resources/images/toolbar_orient_dark.svg b/resources/images/toolbar_orient_dark.svg
index 2e46dfa13e0..dbd1e38d906 100644
--- a/resources/images/toolbar_orient_dark.svg
+++ b/resources/images/toolbar_orient_dark.svg
@@ -1,10 +1 @@
-
+
\ No newline at end of file
diff --git a/resources/images/toolbar_seam.svg b/resources/images/toolbar_seam.svg
index 660f1fed3e0..2b9afca90fe 100644
--- a/resources/images/toolbar_seam.svg
+++ b/resources/images/toolbar_seam.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/toolbar_seam_dark.svg b/resources/images/toolbar_seam_dark.svg
index 65573c87b17..cda5ce288fb 100644
--- a/resources/images/toolbar_seam_dark.svg
+++ b/resources/images/toolbar_seam_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/toolbar_support.svg b/resources/images/toolbar_support.svg
index 9ace7d67c7d..56e44fa1ba0 100644
--- a/resources/images/toolbar_support.svg
+++ b/resources/images/toolbar_support.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/toolbar_support_dark.svg b/resources/images/toolbar_support_dark.svg
index fac4afb675b..e749ab87b5f 100644
--- a/resources/images/toolbar_support_dark.svg
+++ b/resources/images/toolbar_support_dark.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/images/toolbar_variable_layer_height.svg b/resources/images/toolbar_variable_layer_height.svg
index 9c98e40a8f3..08984f1fa09 100644
--- a/resources/images/toolbar_variable_layer_height.svg
+++ b/resources/images/toolbar_variable_layer_height.svg
@@ -1,7 +1 @@
-
+
\ No newline at end of file
diff --git a/resources/images/toolbar_variable_layer_height_dark.svg b/resources/images/toolbar_variable_layer_height_dark.svg
index 66b5401f759..83fd28bc3ef 100644
--- a/resources/images/toolbar_variable_layer_height_dark.svg
+++ b/resources/images/toolbar_variable_layer_height_dark.svg
@@ -1,7 +1 @@
-
+
\ No newline at end of file
diff --git a/resources/images/topbar_blank.svg b/resources/images/topbar_blank.svg
deleted file mode 100644
index b920a2ccdca..00000000000
--- a/resources/images/topbar_blank.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/slic3r/GUI/BitmapCache.cpp b/src/slic3r/GUI/BitmapCache.cpp
index d382f657e33..ae0678f6b1c 100644
--- a/src/slic3r/GUI/BitmapCache.cpp
+++ b/src/slic3r/GUI/BitmapCache.cpp
@@ -335,7 +335,16 @@ wxBitmap* BitmapCache::load_svg(const std::string &bitmap_name, unsigned target_
replaces["\"#909090\""] = "\"#FFFFFF\"";
replaces["\"#00FF00\""] = "\"#FF0000\"";
replaces["\"#009688\""] = "\"#00675b\"";
+ replaces["#DBDBDB"] = "#4A4A51"; // ORCA border color
+ replaces["#F0F0F1"] = "#404040"; // ORCA disabled background color
+ replaces["#262E30"] = "#EFEFF0"; // ORCA
+ } else {
+ replaces["#949494"] = "#7C8282"; // ORCA replace icon line color for light theme
}
+
+ if (strstr(bitmap_name.c_str(), "toggle_on") != NULL && dark_mode) // ORCA only replace color of toggle button
+ replaces["#009688"] = "#00675b";
+
//if (!new_color.empty())
// replaces["\"#ED6B21\""] = "\"" + new_color + "\"";
diff --git a/src/slic3r/GUI/EditGCodeDialog.cpp b/src/slic3r/GUI/EditGCodeDialog.cpp
index 54ec6db8bc6..3e8548decde 100644
--- a/src/slic3r/GUI/EditGCodeDialog.cpp
+++ b/src/slic3r/GUI/EditGCodeDialog.cpp
@@ -215,7 +215,7 @@ void EditGCodeDialog::init_params_list(const std::string& custom_gcode_name)
// Add timestamp subgroup
if (!cgp_timestamps_config_def.empty()) {
- wxDataViewItem dimensions = m_params_list->AppendGroup(_L("Timestamps"), "print-time");
+ wxDataViewItem dimensions = m_params_list->AppendGroup(_L("Timestamps"), "custom-gcode_time");
for (const auto& [opt_key, def] : cgp_timestamps_config_def.options)
m_params_list->AppendParam(dimensions, get_type(opt_key, def), opt_key);
}
@@ -271,7 +271,16 @@ wxDataViewItem EditGCodeDialog::add_presets_placeholders()
auto init_from_tab = [this, full_config](wxDataViewItem parent, Tab* tab, const set& preset_keys){
set extra_keys(preset_keys);
for (const auto& page : tab->m_pages) {
- wxDataViewItem subgroup = m_params_list->AppendSubGroup(parent, page->title(), "empty");
+ // ORCA: Pull icons from tabs for subgroups, icons are hidden on tabs
+ std::string icon_name = "empty"; // use empty icon if not defined
+ for (const auto& icons_list : tab->m_icon_index) {
+ if (icons_list.second == page->iconID()) {
+ icon_name = icons_list.first;
+ break;
+ }
+ }
+ wxDataViewItem subgroup = m_params_list->AppendSubGroup(parent, page->title(), icon_name); // Use icon instead empty icon
+
std::set opt_keys;
for (const auto& optgroup : page->m_optgroups)
for (const auto& opt : optgroup->opt_map())
@@ -290,7 +299,7 @@ wxDataViewItem EditGCodeDialog::add_presets_placeholders()
wxDataViewItem group = m_params_list->AppendGroup(_L("Presets"), "cog");
- wxDataViewItem print = m_params_list->AppendSubGroup(group, _L("Print settings"), "cog");
+ wxDataViewItem print = m_params_list->AppendSubGroup(group, _L("Print settings"), "process");
init_from_tab(print, tab_print, print_options);
wxDataViewItem material = m_params_list->AppendSubGroup(group, _(is_fff ? L("Filament settings") : L("SLA Materials settings")), is_fff ? "filament" : "resin");
diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp
index c8e81f4452c..20a8de4a926 100644
--- a/src/slic3r/GUI/GLCanvas3D.cpp
+++ b/src/slic3r/GUI/GLCanvas3D.cpp
@@ -205,10 +205,10 @@ void GLCanvas3D::LayersEditing::show_tooltip_information(const GLCanvas3D& canva
}
caption_max += GImGui->Style.WindowPadding.x + imgui.scaled(1);
- float font_size = ImGui::GetFontSize();
- ImVec2 button_size = ImVec2(font_size * 1.8, font_size * 1.3);
+ float scale = canvas.get_scale();
+ ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
- ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0.0f, GImGui->Style.FramePadding.y});
+ ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding
ImGui::ImageButton3(normal_id, hover_id, button_size);
if (ImGui::IsItemHovered()) {
diff --git a/src/slic3r/GUI/GUI_ObjectLayers.cpp b/src/slic3r/GUI/GUI_ObjectLayers.cpp
index 76dd2686336..9b36885e56c 100644
--- a/src/slic3r/GUI/GUI_ObjectLayers.cpp
+++ b/src/slic3r/GUI/GUI_ObjectLayers.cpp
@@ -31,8 +31,8 @@ ObjectLayers::ObjectLayers(wxWindow* parent) :
m_og->sizer->Clear(true);
m_og->sizer->Add(m_grid_sizer, 0, wxEXPAND | wxLEFT | wxRIGHT, wxOSX ? 0 : 5);
- m_bmp_delete = ScalableBitmap(parent, "delete_filament"/*"cross"*/);
- m_bmp_add = ScalableBitmap(parent, "add_filament");
+ m_bmp_delete = ScalableBitmap(parent, "delete");
+ m_bmp_add = ScalableBitmap(parent, "add");
}
void ObjectLayers::select_editor(LayerRangeEditor* editor, const bool is_last_edited_range)
diff --git a/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp b/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp
index c10a99f1d7f..405ba3ca3dc 100644
--- a/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp
+++ b/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp
@@ -2963,10 +2963,10 @@ void GLGizmoCut3D::show_tooltip_information(float x, float y)
caption_max += m_imgui->calc_text_size(std::string_view{": "}).x + 35.f;
- float font_size = ImGui::GetFontSize();
- ImVec2 button_size = ImVec2(font_size * 1.8, font_size * 1.3);
+ float scale = m_parent.get_scale();
+ ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
- ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, ImGui::GetStyle().FramePadding.y});
+ ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding
ImGui::ImageButton3(normal_id, hover_id, button_size);
if (ImGui::IsItemHovered()) {
diff --git a/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp b/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp
index abe2d800ba1..89914639c82 100644
--- a/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp
+++ b/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp
@@ -3163,7 +3163,7 @@ void GLGizmoEmboss::init_icons()
"make_unbold.svg",
"search.svg",
"open.svg",
- "exclamation.svg",
+ "obj_warning.svg", // ORCA: use obj_warning instead exclamation. exclamation is not compatible with low res
"lock_closed.svg", // lock,
"lock_closed_f.svg",// lock_bold,
"lock_open.svg", // unlock,
diff --git a/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp b/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp
index ccf17a77168..0329d7c5085 100644
--- a/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp
+++ b/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp
@@ -519,10 +519,10 @@ void GLGizmoFdmSupports::show_tooltip_information(float caption_max, float x, fl
caption_max += m_imgui->calc_text_size(std::string_view{": "}).x + 15.f;
- float font_size = ImGui::GetFontSize();
- ImVec2 button_size = ImVec2(font_size * 1.8, font_size * 1.3);
+ float scale = m_parent.get_scale();
+ ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
- ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, { 0, ImGui::GetStyle().FramePadding.y });
+ ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding
ImGui::ImageButton3(normal_id, hover_id, button_size);
if (ImGui::IsItemHovered()) {
diff --git a/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp b/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp
index 9293a8187d6..0661168ece1 100644
--- a/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp
+++ b/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp
@@ -2044,10 +2044,10 @@ void GLGizmoMeasure::show_tooltip_information(float caption_max, float x, float
caption_max += m_imgui->calc_text_size(std::string_view{": "}).x + 35.f;
- float font_size = ImGui::GetFontSize();
- ImVec2 button_size = ImVec2(font_size * 1.8, font_size * 1.3);
+ float scale = m_parent.get_scale();
+ ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
- ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, { 0, ImGui::GetStyle().FramePadding.y });
+ ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, { 0, 0 }); // ORCA: Dont add padding
ImGui::ImageButton3(normal_id, hover_id, button_size);
if (ImGui::IsItemHovered()) {
diff --git a/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp b/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp
index 727ceebc9b5..9d62f785475 100644
--- a/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp
+++ b/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp
@@ -343,10 +343,10 @@ void GLGizmoMmuSegmentation::show_tooltip_information(float caption_max, float x
caption_max += m_imgui->calc_text_size(std::string_view{": "}).x + 15.f;
- float font_size = ImGui::GetFontSize();
- ImVec2 button_size = ImVec2(font_size * 1.8, font_size * 1.3);
+ float scale = m_parent.get_scale();
+ ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
- ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, { 0, ImGui::GetStyle().FramePadding.y });
+ ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding
ImGui::ImageButton3(normal_id, hover_id, button_size);
if (ImGui::IsItemHovered()) {
diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp b/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp
index 95129dfcd91..42fb52d4424 100644
--- a/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp
+++ b/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp
@@ -397,7 +397,7 @@ IconManager::VIcons init_icons(IconManager &mng, const GuiCfg &cfg)
"open.svg", // changhe_file
"burn.svg", // bake
"save.svg", // save
- "exclamation.svg", // exclamation
+ "obj_warning.svg", // exclamation // ORCA: use obj_warning instead exclamation. exclamation is not compatible with low res
"lock_closed.svg", // lock
"lock_open.svg", // unlock
"reflection_x.svg", // reflection_x
diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp b/src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp
index b2692e9555d..2aba01f9374 100644
--- a/src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp
+++ b/src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp
@@ -153,10 +153,10 @@ void GLGizmoSeam::show_tooltip_information(float caption_max, float x, float y)
caption_max += m_imgui->calc_text_size(std::string_view{": "}).x + 35.f;
- float font_size = ImGui::GetFontSize();
- ImVec2 button_size = ImVec2(font_size * 1.8, font_size * 1.3);
+ float scale = m_parent.get_scale();
+ ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
- ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, { 0, ImGui::GetStyle().FramePadding.y });
+ ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding
ImGui::ImageButton3(normal_id, hover_id, button_size);
if (ImGui::IsItemHovered()) {
diff --git a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp
index 7a3a65cf4bf..51171e8d8fc 100644
--- a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp
+++ b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp
@@ -244,12 +244,12 @@ bool GLGizmosManager::init_icon_textures()
else
return false;
- if (IMTexture::load_from_svg_file(Slic3r::resources_dir() + "/images/toolbar_tooltip.svg", 30, 22, texture_id))
+ if (IMTexture::load_from_svg_file(Slic3r::resources_dir() + "/images/toolbar_tooltip.svg", 25, 25, texture_id)) // ORCA: Use same resolution with gizmos to prevent blur on icon
icon_list.insert(std::make_pair((int)IC_TOOLBAR_TOOLTIP, texture_id));
else
return false;
- if (IMTexture::load_from_svg_file(Slic3r::resources_dir() + "/images/toolbar_tooltip_hover.svg", 30, 22, texture_id))
+ if (IMTexture::load_from_svg_file(Slic3r::resources_dir() + "/images/toolbar_tooltip_hover.svg", 25, 25, texture_id)) // ORCA: Use same resolution with gizmos to prevent blur on icon
icon_list.insert(std::make_pair((int)IC_TOOLBAR_TOOLTIP_HOVER, texture_id));
else
return false;
diff --git a/src/slic3r/GUI/IconManager.cpp b/src/slic3r/GUI/IconManager.cpp
index f302f6ceba1..872d270b270 100644
--- a/src/slic3r/GUI/IconManager.cpp
+++ b/src/slic3r/GUI/IconManager.cpp
@@ -373,7 +373,7 @@ void draw(const IconManager::Icon &icon, const ImVec2 &size, const ImVec4 &tint_
ImGuiContext &g = *GImGui;
float cursor_y = window->DC.CursorPos.y;
float line_height = ImGui::GetTextLineHeight() + g.Style.FramePadding.y * 2;
- float offset_y = (line_height - s.y) / 2;
+ int offset_y = (line_height - s.y) / 2; // Make sure its int otherwise it will be pixelated
window->DC.CursorPos.y += offset_y;
ImGui::Image(id, s, icon.tl, icon.br, tint_col, border_col);
diff --git a/src/slic3r/GUI/MsgDialog.cpp b/src/slic3r/GUI/MsgDialog.cpp
index fa0a13f9a50..8eb19706275 100644
--- a/src/slic3r/GUI/MsgDialog.cpp
+++ b/src/slic3r/GUI/MsgDialog.cpp
@@ -228,7 +228,7 @@ void MsgDialog::apply_style(long style)
if (style & wxCANCEL) add_button(wxID_CANCEL, false, _L("Cancel"));
logo->SetBitmap( create_scaled_bitmap(style & wxAPPLY ? "completed" :
- style & wxICON_WARNING ? "obj_warning" :
+ style & wxICON_WARNING ? "exclamation" : // ORCA "exclamation" used for dialogs "obj_warning" used for 16x16 areas
style & wxICON_INFORMATION ? "info" :
style & wxICON_QUESTION ? "question" : "OrcaSlicer", this, 64, style & wxICON_ERROR));
}
diff --git a/src/slic3r/GUI/ObjectDataViewModel.cpp b/src/slic3r/GUI/ObjectDataViewModel.cpp
index 75e1baeeaf4..efa8e94b26b 100644
--- a/src/slic3r/GUI/ObjectDataViewModel.cpp
+++ b/src/slic3r/GUI/ObjectDataViewModel.cpp
@@ -43,8 +43,8 @@ void ObjectDataViewModelNode::init_container()
#endif //__WXGTK__
}
-static constexpr char LayerRootIcon[] = "blank";
-static constexpr char LayerIcon[] = "blank";
+static constexpr char LayerRootIcon[] = "height_range_modifier";
+static constexpr char LayerIcon[] = "height_range_layer";
static constexpr char WarningIcon[] = "obj_warning";
static constexpr char WarningManifoldIcon[] = "obj_warning";
static constexpr char LockIcon[] = "cut_";
@@ -232,7 +232,7 @@ void ObjectDataViewModelNode::set_color_icon(bool enable)
return;
m_color_enable = enable;
if ((m_type & itObject) && enable)
- m_color_icon = create_scaled_bitmap("mmu_segmentation");
+ m_color_icon = create_scaled_bitmap("objlist_color_painting");
else
m_color_icon = create_scaled_bitmap("dot");
}
@@ -243,7 +243,7 @@ void ObjectDataViewModelNode::set_support_icon(bool enable)
return;
m_support_enable = enable;
if ((m_type & itObject) && enable)
- m_support_icon = create_scaled_bitmap("toolbar_support");
+ m_support_icon = create_scaled_bitmap("objlist_support_painting");
else
m_support_icon = create_scaled_bitmap("dot");
}
diff --git a/src/slic3r/GUI/OptionsGroup.hpp b/src/slic3r/GUI/OptionsGroup.hpp
index 8c7585cd83e..a3809a0cb7c 100644
--- a/src/slic3r/GUI/OptionsGroup.hpp
+++ b/src/slic3r/GUI/OptionsGroup.hpp
@@ -324,9 +324,9 @@ protected:
// It is designed for single extruder multiple material machine.
class ExtruderOptionsGroup : public ConfigOptionsGroup {
public:
- ExtruderOptionsGroup(wxWindow* parent, const wxString& title, DynamicPrintConfig* config = nullptr,
+ ExtruderOptionsGroup(wxWindow* parent, const wxString& title, const wxString& icon, DynamicPrintConfig* config = nullptr, // ORCA: add support for icons
bool is_tab_opt = false, column_t extra_clmn = nullptr) :
- ConfigOptionsGroup(parent, title, wxEmptyString, config, is_tab_opt, extra_clmn) {}
+ ConfigOptionsGroup(parent, title, icon, config, is_tab_opt, extra_clmn) {}
void on_change_OG(const t_config_option_key& opt_id, const boost::any& value) override;
};
diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp
index cf0df73a898..619c4bc8776 100644
--- a/src/slic3r/GUI/Tab.cpp
+++ b/src/slic3r/GUI/Tab.cpp
@@ -1999,7 +1999,7 @@ void TabPrint::build()
m_presets = &m_preset_bundle->prints;
load_initial_data();
- auto page = add_options_page(L("Quality"), "empty");
+ auto page = add_options_page(L("Quality"), "custom-gcode_quality"); // ORCA: icon only visible on placeholders
auto optgroup = page->new_optgroup(L("Layer height"), L"param_layer_height");
optgroup->append_single_option_line("layer_height");
optgroup->append_single_option_line("initial_layer_print_height");
@@ -2057,7 +2057,7 @@ void TabPrint::build()
optgroup->append_single_option_line("ironing_spacing");
optgroup->append_single_option_line("ironing_angle");
- optgroup = page->new_optgroup(L("Wall generator"), L"param_wall");
+ optgroup = page->new_optgroup(L("Wall generator"), L"param_wall_generator");
optgroup->append_single_option_line("wall_generator", "wall-generator");
optgroup->append_single_option_line("wall_transition_angle");
optgroup->append_single_option_line("wall_transition_filter_deviation");
@@ -2068,7 +2068,7 @@ void TabPrint::build()
optgroup->append_single_option_line("min_feature_size");
optgroup->append_single_option_line("min_length_factor");
- optgroup = page->new_optgroup(L("Walls and surfaces"), L"param_advanced");
+ optgroup = page->new_optgroup(L("Walls and surfaces"), L"param_wall_surface");
optgroup->append_single_option_line("wall_sequence");
optgroup->append_single_option_line("is_infill_first");
optgroup->append_single_option_line("wall_direction");
@@ -2088,7 +2088,7 @@ void TabPrint::build()
option.opt.height = 15;
optgroup->append_single_option_line(option, "small-area-infill-flow-compensation");
- optgroup = page->new_optgroup(L("Bridging"), L"param_advanced");
+ optgroup = page->new_optgroup(L("Bridging"), L"param_bridge");
optgroup->append_single_option_line("bridge_flow");
optgroup->append_single_option_line("internal_bridge_flow");
optgroup->append_single_option_line("bridge_density");
@@ -2097,7 +2097,7 @@ void TabPrint::build()
optgroup->append_single_option_line("dont_filter_internal_bridges");
optgroup->append_single_option_line("counterbore_hole_bridging","counterbore-hole-bridging");
- optgroup = page->new_optgroup(L("Overhangs"), L"param_advanced");
+ optgroup = page->new_optgroup(L("Overhangs"), L"param_overhang");
optgroup->append_single_option_line("detect_overhang_wall");
optgroup->append_single_option_line("make_overhang_printable");
optgroup->append_single_option_line("make_overhang_printable_angle");
@@ -2107,7 +2107,7 @@ void TabPrint::build()
optgroup->append_single_option_line("overhang_reverse_internal_only");
optgroup->append_single_option_line("overhang_reverse_threshold");
- page = add_options_page(L("Strength"), "empty");
+ page = add_options_page(L("Strength"), "custom-gcode_strength"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Walls"), L"param_wall");
optgroup->append_single_option_line("wall_loops");
optgroup->append_single_option_line("alternate_extra_wall");
@@ -2142,7 +2142,7 @@ void TabPrint::build()
optgroup->append_single_option_line("detect_narrow_internal_solid_infill");
optgroup->append_single_option_line("ensure_vertical_shell_thickness");
- page = add_options_page(L("Speed"), "empty");
+ page = add_options_page(L("Speed"), "custom-gcode_speed"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Initial layer speed"), L"param_speed_first", 15);
optgroup->append_single_option_line("initial_layer_speed");
optgroup->append_single_option_line("initial_layer_infill_speed");
@@ -2159,7 +2159,7 @@ void TabPrint::build()
optgroup->append_single_option_line("gap_infill_speed");
optgroup->append_single_option_line("support_speed");
optgroup->append_single_option_line("support_interface_speed");
- optgroup = page->new_optgroup(L("Overhang speed"), L"param_speed", 15);
+ optgroup = page->new_optgroup(L("Overhang speed"), L"param_overhang_speed", 15);
optgroup->append_single_option_line("enable_overhang_speed", "slow-down-for-overhang");
optgroup->append_single_option_line("overhang_speed_classic", "slow-down-for-overhang");
optgroup->append_single_option_line("slowdown_for_curled_perimeters");
@@ -2192,7 +2192,7 @@ void TabPrint::build()
optgroup->append_single_option_line("accel_to_decel_enable");
optgroup->append_single_option_line("accel_to_decel_factor");
- optgroup = page->new_optgroup(L("Jerk(XY)"), L"param_speed", 15);
+ optgroup = page->new_optgroup(L("Jerk(XY)"), L"param_jerk", 15);
optgroup->append_single_option_line("default_jerk");
optgroup->append_single_option_line("outer_wall_jerk");
optgroup->append_single_option_line("inner_wall_jerk");
@@ -2205,7 +2205,7 @@ void TabPrint::build()
optgroup->append_single_option_line("max_volumetric_extrusion_rate_slope", "extrusion-rate-smoothing");
optgroup->append_single_option_line("max_volumetric_extrusion_rate_slope_segment_length", "extrusion-rate-smoothing");
- page = add_options_page(L("Support"), "support");
+ page = add_options_page(L("Support"), "custom-gcode_support"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Support"), L"param_support");
optgroup->append_single_option_line("enable_support", "support");
optgroup->append_single_option_line("support_type", "support#support-types");
@@ -2249,7 +2249,7 @@ void TabPrint::build()
optgroup->append_single_option_line("max_bridge_length", "support#base-pattern");
optgroup->append_single_option_line("independent_support_layer_height", "support");
- optgroup = page->new_optgroup(L("Tree supports"), L"param_advanced");
+ optgroup = page->new_optgroup(L("Tree supports"), L"param_support_tree");
optgroup->append_single_option_line("tree_support_tip_diameter");
optgroup->append_single_option_line("tree_support_branch_distance", "support#tree-support-only-options");
optgroup->append_single_option_line("tree_support_branch_distance_organic", "support#tree-support-only-options");
@@ -2266,8 +2266,8 @@ void TabPrint::build()
optgroup->append_single_option_line("tree_support_auto_brim");
optgroup->append_single_option_line("tree_support_brim_width");
- page = add_options_page(L("Others"), "advanced");
- optgroup = page->new_optgroup(L("Skirt"), L"param_adhension");
+ page = add_options_page(L("Others"), "custom-gcode_other"); // ORCA: icon only visible on placeholders
+ optgroup = page->new_optgroup(L("Skirt"), L"param_skirt");
optgroup->append_single_option_line("skirt_loops");
optgroup->append_single_option_line("min_skirt_length");
optgroup->append_single_option_line("skirt_distance");
@@ -2338,7 +2338,7 @@ void TabPrint::build()
option.opt.is_code = true;
option.opt.height = 15;
optgroup->append_single_option_line(option);
- page = add_options_page(L("Notes"), "note");
+ page = add_options_page(L("Notes"), "custom-gcode_note"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Notes"), "note", 0);
option = optgroup->get_option("notes");
option.opt.full_width = true;
@@ -3074,7 +3074,7 @@ void TabFilament::set_custom_gcode(const t_config_option_key& opt_key, const std
void TabFilament::add_filament_overrides_page()
{
//BBS
- PageShp page = add_options_page(L("Setting Overrides"), "empty");
+ PageShp page = add_options_page(L("Setting Overrides"), "custom-gcode_setting_override"); // ORCA: icon only visible on placeholders
ConfigOptionsGroupShp optgroup = page->new_optgroup(L("Retraction"), L"param_retraction");
auto append_single_option_line = [optgroup, this](const std::string& opt_key, int opt_index)
@@ -3207,7 +3207,7 @@ void TabFilament::build()
m_presets = &m_preset_bundle->filaments;
load_initial_data();
- auto page = add_options_page(L("Filament"), "spool");
+ auto page = add_options_page(L("Filament"), "custom-gcode_filament"); // ORCA: icon only visible on placeholders
//BBS
auto optgroup = page->new_optgroup(L("Basic information"), L"param_information");
// Set size as all another fields for a better alignment
@@ -3255,13 +3255,13 @@ void TabFilament::build()
optgroup->append_separator();
- optgroup = page->new_optgroup(L("Print temperature"), L"param_temperature");
+ optgroup = page->new_optgroup(L("Print temperature"), L"param_extruder_temp");
line = { L("Nozzle"), L("Nozzle temperature when printing") };
line.append_option(optgroup->get_option("nozzle_temperature_initial_layer"));
line.append_option(optgroup->get_option("nozzle_temperature"));
optgroup->append_line(line);
- optgroup = page->new_optgroup(L("Bed temperature"), L"param_temperature");
+ optgroup = page->new_optgroup(L("Bed temperature"), L"param_bed_temp");
line = { L("Cool plate"), L("Bed temperature when cool plate is installed. Value 0 means the filament does not support to print on the Cool Plate") };
line.append_option(optgroup->get_option("cool_plate_temp_initial_layer"));
line.append_option(optgroup->get_option("cool_plate_temp"));
@@ -3323,7 +3323,7 @@ void TabFilament::build()
//};
//optgroup->append_line(line);
- page = add_options_page(L("Cooling"), "empty");
+ page = add_options_page(L("Cooling"), "custom-gcode_cooling_fan"); // ORCA: icon only visible on placeholders
//line = { "", "" };
//line.full_width = 1;
@@ -3331,11 +3331,11 @@ void TabFilament::build()
// return description_line_widget(parent, &m_cooling_description_line);
//};
//optgroup->append_line(line);
- optgroup = page->new_optgroup(L("Cooling for specific layer"), L"param_cooling");
+ optgroup = page->new_optgroup(L("Cooling for specific layer"), L"param_cooling_specific_layer");
optgroup->append_single_option_line("close_fan_the_first_x_layers", "auto-cooling");
optgroup->append_single_option_line("full_fan_speed_layer");
- optgroup = page->new_optgroup(L("Part cooling fan"), L"param_cooling_fan");
+ optgroup = page->new_optgroup(L("Part cooling fan"), L"param_cooling_part_fan");
line = { L("Min fan speed threshold"), L("Part cooling fan speed will start to run at min speed when the estimated layer time is no longer than the layer time in setting. When layer time is shorter than threshold, fan speed is interpolated between the minimum and maximum fan speed according to layer printing time") };
line.label_path = "auto-cooling";
line.append_option(optgroup->get_option("fan_min_speed"));
@@ -3355,10 +3355,10 @@ void TabFilament::build()
optgroup->append_single_option_line("overhang_fan_speed", "auto-cooling");
optgroup->append_single_option_line("support_material_interface_fan_speed");
- optgroup = page->new_optgroup(L("Auxiliary part cooling fan"), L"param_cooling_fan");
+ optgroup = page->new_optgroup(L("Auxiliary part cooling fan"), L"param_cooling_aux_fan");
optgroup->append_single_option_line("additional_cooling_fan_speed", "auxiliary-fan");
- optgroup = page->new_optgroup(L("Exhaust fan"),L"param_cooling_fan");
+ optgroup = page->new_optgroup(L("Exhaust fan"),L"param_cooling_exhaust");
optgroup->append_single_option_line("activate_air_filtration", "air-filtration");
@@ -3377,7 +3377,7 @@ void TabFilament::build()
auto edit_custom_gcode_fn = [this](const t_config_option_key& opt_key) { edit_custom_gcode(opt_key); };
- page = add_options_page(L("Advanced"), "advanced");
+ page = add_options_page(L("Advanced"), "custom-gcode_advanced"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Filament start G-code"), L"param_gcode", 0);
optgroup->m_on_change = [this, &optgroup_title = optgroup->title](const t_config_option_key& opt_key, const boost::any& value) {
validate_custom_gcode_cb(this, optgroup_title, opt_key, value);
@@ -3400,11 +3400,11 @@ void TabFilament::build()
option.opt.height = gcode_field_height;// 150;
optgroup->append_single_option_line(option);
- page = add_options_page(L("Multimaterial"), "advanced");
- optgroup = page->new_optgroup(L("Wipe tower parameters"));
+ page = add_options_page(L("Multimaterial"), "custom-gcode_multi_material"); // ORCA: icon only visible on placeholders
+ optgroup = page->new_optgroup(L("Wipe tower parameters"), "param_tower");
optgroup->append_single_option_line("filament_minimal_purge_on_wipe_tower");
- optgroup = page->new_optgroup(L("Toolchange parameters with single extruder MM printers"));
+ optgroup = page->new_optgroup(L("Toolchange parameters with single extruder MM printers"), "param_toolchange");
optgroup->append_single_option_line("filament_loading_speed_start", "semm");
optgroup->append_single_option_line("filament_loading_speed", "semm");
optgroup->append_single_option_line("filament_unloading_speed_start", "semm");
@@ -3442,7 +3442,7 @@ void TabFilament::build()
optgroup->append_single_option_line("filament_multitool_ramming_flow");
#endif
- page = add_options_page(L("Notes"), "note");
+ page = add_options_page(L("Notes"), "custom-gcode_note"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Notes"),"note", 0);
optgroup->label_width = 0;
option = optgroup->get_option("filament_notes");
@@ -3632,8 +3632,8 @@ void TabPrinter::build_fff()
m_sys_extruders_count = parent_preset == nullptr ? 0 :
static_cast(parent_preset->config.option("nozzle_diameter"))->values.size();
- auto page = add_options_page(L("Basic information"), "printer");
- auto optgroup = page->new_optgroup(L("Printable space")/*, L"param_printable_space"*/);
+ auto page = add_options_page(L("Basic information"), "custom-gcode_object-info"); // ORCA: icon only visible on placeholders
+ auto optgroup = page->new_optgroup(L("Printable space"), "param_printable_space");
create_line_with_widget(optgroup.get(), "printable_area", "custom-svg-and-png-bed-textures_124612", [this](wxWindow* parent) {
return create_bed_shape_widget(parent);
@@ -3677,25 +3677,25 @@ void TabPrinter::build_fff()
optgroup->append_single_option_line("machine_unload_filament_time");
optgroup->append_single_option_line("time_cost");
- optgroup = page->new_optgroup(L("Cooling Fan"));
+ optgroup = page->new_optgroup(L("Cooling Fan"), "param_cooling_fan");
Line line = Line{ L("Fan speed-up time"), optgroup->get_option("fan_speedup_time").opt.tooltip };
line.append_option(optgroup->get_option("fan_speedup_time"));
line.append_option(optgroup->get_option("fan_speedup_overhangs"));
optgroup->append_line(line);
optgroup->append_single_option_line("fan_kickstart");
- optgroup = page->new_optgroup(L("Extruder Clearance"));
+ optgroup = page->new_optgroup(L("Extruder Clearance"), "param_extruder_clearence");
optgroup->append_single_option_line("extruder_clearance_radius");
optgroup->append_single_option_line("extruder_clearance_height_to_rod");
optgroup->append_single_option_line("extruder_clearance_height_to_lid");
- optgroup = page->new_optgroup(L("Adaptive bed mesh"));
+ optgroup = page->new_optgroup(L("Adaptive bed mesh"), "param_adaptive_mesh");
optgroup->append_single_option_line("bed_mesh_min", "adaptive-bed-mesh");
optgroup->append_single_option_line("bed_mesh_max", "adaptive-bed-mesh");
optgroup->append_single_option_line("bed_mesh_probe_distance", "adaptive-bed-mesh");
optgroup->append_single_option_line("adaptive_bed_mesh_margin", "adaptive-bed-mesh");
- optgroup = page->new_optgroup(L("Accessory") /*, L"param_accessory"*/);
+ optgroup = page->new_optgroup(L("Accessory"), "param_accessory");
optgroup->append_single_option_line("nozzle_type");
optgroup->append_single_option_line("nozzle_hrc");
optgroup->append_single_option_line("auxiliary_fan", "auxiliary-fan");
@@ -3706,7 +3706,7 @@ void TabPrinter::build_fff()
const int gcode_field_height = 15; // 150
const int notes_field_height = 25; // 250
- page = add_options_page(L("Machine gcode"), "cog");
+ page = add_options_page(L("Machine gcode"), "custom-gcode_gcode"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Machine start G-code"), L"param_gcode", 0);
optgroup->m_on_change = [this, &optgroup_title = optgroup->title](const t_config_option_key& opt_key, const boost::any& value) {
validate_custom_gcode_cb(this, optgroup_title, opt_key, value);
@@ -3816,7 +3816,7 @@ void TabPrinter::build_fff()
option.opt.height = gcode_field_height;//150;
optgroup->append_single_option_line(option);
- page = add_options_page(L("Notes"), "note");
+ page = add_options_page(L("Notes"), "custom-gcode_note"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Notes"), "note", 0);
option = optgroup->get_option("printer_notes");
option.opt.full_width = true;
@@ -3932,7 +3932,7 @@ void TabPrinter::append_option_line(ConfigOptionsGroupShp optgroup, const std::s
PageShp TabPrinter::build_kinematics_page()
{
- auto page = add_options_page(L("Motion ability"), "cog", true);
+ auto page = add_options_page(L("Motion ability"), "custom-gcode_motion", true); // ORCA: icon only visible on placeholders
if (m_use_silent_mode) {
// Legend for OptionsGroups
@@ -3980,7 +3980,7 @@ PageShp TabPrinter::build_kinematics_page()
append_option_line(optgroup, "machine_max_acceleration_retracting");
append_option_line(optgroup, "machine_max_acceleration_travel");
- optgroup = page->new_optgroup(L("Jerk limitation"));
+ optgroup = page->new_optgroup(L("Jerk limitation"), "param_jerk");
for (const std::string &axis : axes) {
append_option_line(optgroup, "machine_max_jerk_" + axis);
}
@@ -4035,8 +4035,8 @@ if (is_marlin_flavor)
if (from_initial_build) {
// create a page, but pretend it's an extruder page, so we can add it to m_pages ourselves
- auto page = add_options_page(L("Multimaterial"), "printer", true);
- auto optgroup = page->new_optgroup(L("Single extruder multimaterial setup"));
+ auto page = add_options_page(L("Multimaterial"), "custom-gcode_multi_material", true); // ORCA: icon only visible on placeholders
+ auto optgroup = page->new_optgroup(L("Single extruder multimaterial setup"), "param_multi_material");
optgroup->append_single_option_line("single_extruder_multi_material", "semm");
// Orca: we only support Single Extruder Multi Material, so it's always enabled
// optgroup->m_on_change = [this](const t_config_option_key &opt_key, const boost::any &value) {
@@ -4048,12 +4048,12 @@ if (is_marlin_flavor)
// };
optgroup->append_single_option_line("manual_filament_change", "semm#manual-filament-change");
- optgroup = page->new_optgroup(L("Wipe tower"));
+ optgroup = page->new_optgroup(L("Wipe tower"), "param_tower");
optgroup->append_single_option_line("purge_in_prime_tower", "semm");
optgroup->append_single_option_line("enable_filament_ramming", "semm");
- optgroup = page->new_optgroup(L("Single extruder multimaterial parameters"));
+ optgroup = page->new_optgroup(L("Single extruder multimaterial parameters"), "param_settings");
optgroup->append_single_option_line("cooling_tube_retraction", "semm");
optgroup->append_single_option_line("cooling_tube_length", "semm");
optgroup->append_single_option_line("parking_pos_retraction", "semm");
@@ -4079,10 +4079,10 @@ if (is_marlin_flavor)
{
//# build page
//const wxString& page_name = wxString::Format("Extruder %d", int(extruder_idx + 1));
- auto page = add_options_page(page_name, "empty", true);
+ auto page = add_options_page(page_name, "custom-gcode_extruder", true); // ORCA: icon only visible on placeholders
m_pages.insert(m_pages.begin() + n_before_extruders + extruder_idx, page);
- auto optgroup = page->new_optgroup(L("Size"), L"param_diameter", -1, true);
+ auto optgroup = page->new_optgroup(L("Size"), L"param_extruder_size", -1, true);
optgroup->append_single_option_line("nozzle_diameter", "", extruder_idx);
optgroup->m_on_change = [this, extruder_idx](const t_config_option_key& opt_key, boost::any value)
@@ -4125,7 +4125,7 @@ if (is_marlin_flavor)
optgroup->append_single_option_line("min_layer_height", "", extruder_idx);
optgroup->append_single_option_line("max_layer_height", "", extruder_idx);
- optgroup = page->new_optgroup(L("Position"), L"param_retraction", -1, true);
+ optgroup = page->new_optgroup(L("Position"), L"param_position", -1, true);
optgroup->append_single_option_line("extruder_offset", "", extruder_idx);
//BBS: don't show retract related config menu in machine page
@@ -4142,12 +4142,12 @@ if (is_marlin_flavor)
optgroup->append_single_option_line("wipe_distance", "", extruder_idx);
optgroup->append_single_option_line("retract_before_wipe", "", extruder_idx);
- optgroup = page->new_optgroup(L("Lift Z Enforcement"), L"param_retraction", -1, true);
+ optgroup = page->new_optgroup(L("Lift Z Enforcement"), L"param_extruder_lift_enforcement", -1, true);
optgroup->append_single_option_line("retract_lift_above", "", extruder_idx);
optgroup->append_single_option_line("retract_lift_below", "", extruder_idx);
optgroup->append_single_option_line("retract_lift_enforce", "", extruder_idx);
- optgroup = page->new_optgroup(L("Retraction when switching material"), L"param_retraction", -1, true);
+ optgroup = page->new_optgroup(L("Retraction when switching material"), L"param_retraction_material_change", -1, true);
optgroup->append_single_option_line("retract_length_toolchange", "", extruder_idx);
optgroup->append_single_option_line("retract_restart_extra_toolchange", "", extruder_idx);
// do not display this params now
@@ -5982,7 +5982,7 @@ bool Page::set_value(const t_config_option_key &opt_key, const boost::any &value
ConfigOptionsGroupShp Page::new_optgroup(const wxString &title, const wxString &icon, int noncommon_label_width /*= -1*/, bool is_extruder_og /* false */)
{
//! config_ have to be "right"
- ConfigOptionsGroupShp optgroup = is_extruder_og ? std::make_shared(m_parent, title, m_config, true)
+ ConfigOptionsGroupShp optgroup = is_extruder_og ? std::make_shared(m_parent, title, icon, m_config, true) // ORCA: add support for icons
: std::make_shared(m_parent, title, icon, m_config, true);
optgroup->split_multi_line = this->m_split_multi_line;
optgroup->option_label_at_right = this->m_option_label_at_right;
diff --git a/src/slic3r/GUI/UnsavedChangesDialog.cpp b/src/slic3r/GUI/UnsavedChangesDialog.cpp
index a0ca6770659..cf22df0cfa6 100644
--- a/src/slic3r/GUI/UnsavedChangesDialog.cpp
+++ b/src/slic3r/GUI/UnsavedChangesDialog.cpp
@@ -2250,7 +2250,7 @@ void DiffPresetDialog::update_tree()
Search::Option option = searcher.get_option(opt_key, get_full_label(opt_key, left_config), type);
if (option.opt_key() != opt_key) {
// temporary solution, just for testing
- m_tree->Append(opt_key, type, "Undef category", "Undef group", opt_key, left_val, right_val, "question");
+ m_tree->Append(opt_key, type, "Undef category", "Undef group", opt_key, left_val, right_val, "undefined"); // ORCA: use low resolution compatible icon
// When founded option isn't the correct one.
// It can be for dirty_options: "default_print_profile", "printer_model", "printer_settings_id",
// because of they don't exist in searcher