pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
prusaslicer: Update to version 2.6.0-beta4
Module Name: pkgsrc-wip
Committed By: Paul Ripke <stix%stix.id.au@localhost>
Pushed By: stix
Date: Sun Jun 4 16:57:42 2023 +1000
Changeset: 1b575c9995b442fb005bc0aabbb26fb7c8a64964
Modified Files:
prusaslicer/Makefile
prusaslicer/PLIST
prusaslicer/distinfo
prusaslicer/patches/patch-src_CMakeLists_txt
prusaslicer/patches/patch-src_libslic3r_Thread.cpp
prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard.cpp
prusaslicer/patches/patch-src_slic3r_GUI_DesktopIntegrationDialog.cpp
prusaslicer/patches/patch-src_slic3r_GUI_DesktopIntegrationDialog.hpp
prusaslicer/patches/patch-src_slic3r_GUI_GLCanvas3D.cpp
prusaslicer/patches/patch-src_slic3r_GUI_GUI__App.cpp
prusaslicer/patches/patch-src_slic3r_GUI_Plater.cpp
prusaslicer/patches/patch-src_slic3r_GUI_PrintHostDialogs.cpp
prusaslicer/patches/patch-src_slic3r_GUI_Tab.cpp
prusaslicer/patches/patch-src_slic3r_GUI_UnsavedChangesDialog.cpp
prusaslicer/patches/patch-src_slic3r_GUI_UnsavedChangesDialog.hpp
prusaslicer/patches/patch-src_slic3r_GUI_wxExtensions.cpp
Added Files:
prusaslicer/patches/patch-src_slic3r_GUI_BitmapCache.cpp
prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard.hpp
prusaslicer/patches/patch-src_slic3r_GUI_Field.cpp
prusaslicer/patches/patch-src_slic3r_GUI_GUI.cpp
prusaslicer/patches/patch-src_slic3r_GUI_GUI.hpp
prusaslicer/patches/patch-src_slic3r_GUI_GUI__Factories.cpp
prusaslicer/patches/patch-src_slic3r_GUI_GUI__ObjectLayers.cpp
prusaslicer/patches/patch-src_slic3r_GUI_GUI__ObjectManipulation.cpp
prusaslicer/patches/patch-src_slic3r_GUI_KBShortcutsDialog.cpp
prusaslicer/patches/patch-src_slic3r_GUI_OptionsGroup.cpp
prusaslicer/patches/patch-src_slic3r_GUI_Preferences.cpp
prusaslicer/patches/patch-src_slic3r_GUI_UpdateDialogs.cpp
prusaslicer/patches/patch-src_slic3r_GUI_wxExtensions.hpp
prusaslicer/patches/patch-src_slic3r_Utils_FontConfigHelp.hpp
prusaslicer/patches/patch-src_slic3r_Utils_WxFontUtils.cpp
Removed Files:
prusaslicer/patches/patch-src_hints_HintsToPot.cpp
prusaslicer/patches/patch-src_libslic3r_CMakeLists.txt
prusaslicer/patches/patch-src_slic3r_CMakeLists.txt
prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard__private.hpp
prusaslicer/patches/patch-src_slic3r_GUI_GUI__App.hpp
prusaslicer/patches/patch-src_slic3r_GUI_NotificationManager.cpp
Log Message:
prusaslicer: Update to version 2.6.0-beta4
Major new features with 2.6.0:
- Organic supports
- Measurement tool
- Text embossing tool
- Cut tool update
- Automatic FDM support painter and print checker
- Dynamic overhang speed
- Extra perimeters on overhangs (EXPERIMENTAL)
- Avoid crossing curled overhangs (EXPERIMENTAL)
- Downloads from Printables.com
- Template filaments
- 'Monotonic lines' top/bottom fill pattern
- New experimental tree-like support strategy for SLA
- Multipart objects in SLA
- Multi-material printing
Full release notes:
https://github.com/prusa3d/PrusaSlicer/releases/tag/version_2.6.0-alpha2
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=1b575c9995b442fb005bc0aabbb26fb7c8a64964
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
prusaslicer/Makefile | 8 +-
prusaslicer/PLIST | 265 +++++++++++++++++++--
prusaslicer/distinfo | 53 +++--
prusaslicer/patches/patch-src_CMakeLists_txt | 15 +-
prusaslicer/patches/patch-src_hints_HintsToPot.cpp | 16 --
.../patches/patch-src_libslic3r_CMakeLists.txt | 16 --
prusaslicer/patches/patch-src_libslic3r_Thread.cpp | 10 +-
.../patches/patch-src_slic3r_CMakeLists.txt | 16 --
.../patches/patch-src_slic3r_GUI_BitmapCache.cpp | 24 ++
.../patches/patch-src_slic3r_GUI_ConfigWizard.cpp | 25 +-
.../patches/patch-src_slic3r_GUI_ConfigWizard.hpp | 24 ++
.../patch-src_slic3r_GUI_ConfigWizard__private.hpp | 15 --
...tch-src_slic3r_GUI_DesktopIntegrationDialog.cpp | 9 +-
...tch-src_slic3r_GUI_DesktopIntegrationDialog.hpp | 4 +-
prusaslicer/patches/patch-src_slic3r_GUI_Field.cpp | 15 ++
.../patches/patch-src_slic3r_GUI_GLCanvas3D.cpp | 22 +-
prusaslicer/patches/patch-src_slic3r_GUI_GUI.cpp | 15 ++
prusaslicer/patches/patch-src_slic3r_GUI_GUI.hpp | 15 ++
.../patches/patch-src_slic3r_GUI_GUI__App.cpp | 64 ++---
.../patches/patch-src_slic3r_GUI_GUI__App.hpp | 15 --
.../patch-src_slic3r_GUI_GUI__Factories.cpp | 15 ++
.../patch-src_slic3r_GUI_GUI__ObjectLayers.cpp | 24 ++
...atch-src_slic3r_GUI_GUI__ObjectManipulation.cpp | 15 ++
.../patch-src_slic3r_GUI_KBShortcutsDialog.cpp | 15 ++
.../patch-src_slic3r_GUI_NotificationManager.cpp | 18 --
.../patches/patch-src_slic3r_GUI_OptionsGroup.cpp | 24 ++
.../patches/patch-src_slic3r_GUI_Plater.cpp | 34 ++-
.../patches/patch-src_slic3r_GUI_Preferences.cpp | 24 ++
.../patch-src_slic3r_GUI_PrintHostDialogs.cpp | 21 +-
prusaslicer/patches/patch-src_slic3r_GUI_Tab.cpp | 19 +-
.../patch-src_slic3r_GUI_UnsavedChangesDialog.cpp | 37 +--
.../patch-src_slic3r_GUI_UnsavedChangesDialog.hpp | 10 +-
.../patches/patch-src_slic3r_GUI_UpdateDialogs.cpp | 24 ++
.../patches/patch-src_slic3r_GUI_wxExtensions.cpp | 30 ++-
.../patches/patch-src_slic3r_GUI_wxExtensions.hpp | 15 ++
.../patch-src_slic3r_Utils_FontConfigHelp.hpp | 15 ++
.../patches/patch-src_slic3r_Utils_WxFontUtils.cpp | 49 ++++
37 files changed, 764 insertions(+), 271 deletions(-)
diffs:
diff --git a/prusaslicer/Makefile b/prusaslicer/Makefile
index 80f1730c72..90b35b0efd 100644
--- a/prusaslicer/Makefile
+++ b/prusaslicer/Makefile
@@ -1,6 +1,6 @@
# $NetBSD$
-PKGVERSION= 2.5.2
+PKGVERSION= 2.6.0-beta4
PKGNAME= prusaslicer-${PKGVERSION}
DISTNAME= PrusaSlicer-${PKGVERSION:S/rc/-rc/}
CATEGORIES= cad
@@ -51,21 +51,23 @@ CMAKE_ARGS+= -DSLIC3R_FHS:BOOL=TRUE
.include "../../graphics/libjpeg-turbo/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../graphics/tiff/buildlink3.mk"
-.include "../../math/cgal/buildlink3.mk"
.include "../../math/eigen3/buildlink3.mk"
.include "../../math/imath/buildlink3.mk"
.include "../../math/qhull/buildlink3.mk"
.include "../../parallel/threadingbuildingblocks/buildlink3.mk"
+.include "../../security/heimdal/buildlink3.mk"
.include "../../sysutils/dbus/buildlink3.mk"
.include "../../textproc/expat/buildlink3.mk"
.include "../../wip/cereal/buildlink3.mk"
+.include "../../wip/cgal/buildlink3.mk"
+.include "../../wip/nanosvg/buildlink3.mk"
.include "../../wip/nlopt/buildlink3.mk"
.include "../../wip/opencascade-git/buildlink3.mk"
.include "../../wip/openvdb/buildlink3.mk"
.include "../../www/curl/buildlink3.mk"
.include "../../x11/xcursor/buildlink3.mk"
.include "../../x11/gtk3/buildlink3.mk"
-.include "../../x11/wxGTK30/buildlink3.mk"
+.include "../../x11/wxGTK31/buildlink3.mk"
.include "../../x11/xcb-proto/buildlink3.mk"
.include "../../x11/xcursor/buildlink3.mk"
diff --git a/prusaslicer/PLIST b/prusaslicer/PLIST
index 774372468f..fddd1d4aeb 100644
--- a/prusaslicer/PLIST
+++ b/prusaslicer/PLIST
@@ -3,6 +3,7 @@ bin/OCCTWrapper.so
bin/prusa-gcodeviewer
bin/prusa-slicer
lib/udev/rules.d/90-3dconnexion.rules
+share/PrusaSlicer/data/embossed_text.obj
share/PrusaSlicer/data/hints.ini
share/PrusaSlicer/fonts/NotoSans-Regular.ttf
share/PrusaSlicer/fonts/NotoSansCJK-Regular.ttc
@@ -30,6 +31,9 @@ share/PrusaSlicer/icons/add_gcode.svg
share/PrusaSlicer/icons/add_modifier.svg
share/PrusaSlicer/icons/add_negative.svg
share/PrusaSlicer/icons/add_part.svg
+share/PrusaSlicer/icons/add_text_modifier.svg
+share/PrusaSlicer/icons/add_text_negative.svg
+share/PrusaSlicer/icons/add_text_part.svg
share/PrusaSlicer/icons/advanced_plus.svg
share/PrusaSlicer/icons/arrange.svg
share/PrusaSlicer/icons/attention.svg
@@ -43,6 +47,7 @@ share/PrusaSlicer/icons/cog.svg
share/PrusaSlicer/icons/cog_.svg
share/PrusaSlicer/icons/cog_go.png
share/PrusaSlicer/icons/collapse.svg
+share/PrusaSlicer/icons/collapse_btn.svg
share/PrusaSlicer/icons/colorchange_add.svg
share/PrusaSlicer/icons/colorchange_add_f.svg
share/PrusaSlicer/icons/colorchange_add_m.svg
@@ -56,14 +61,19 @@ share/PrusaSlicer/icons/cross.svg
share/PrusaSlicer/icons/cross_focus.svg
share/PrusaSlicer/icons/cross_focus_large.svg
share/PrusaSlicer/icons/cut.svg
+share/PrusaSlicer/icons/cut_.svg
+share/PrusaSlicer/icons/cut_connectors.svg
share/PrusaSlicer/icons/delete.svg
share/PrusaSlicer/icons/delete_all.svg
share/PrusaSlicer/icons/delete_all_menu.svg
share/PrusaSlicer/icons/dot.svg
share/PrusaSlicer/icons/dot_small.svg
share/PrusaSlicer/icons/dot_white.svg
+share/PrusaSlicer/icons/dowel.svg
share/PrusaSlicer/icons/drop_to_bed.svg
+share/PrusaSlicer/icons/edit.svg
share/PrusaSlicer/icons/edit_button.svg
+share/PrusaSlicer/icons/edit_button_pressed.svg
share/PrusaSlicer/icons/edit_gcode.svg
share/PrusaSlicer/icons/edit_gcode_f.svg
share/PrusaSlicer/icons/edit_layers_all.svg
@@ -79,6 +89,7 @@ share/PrusaSlicer/icons/error_tick_f.svg
share/PrusaSlicer/icons/exclamation.svg
share/PrusaSlicer/icons/exclamation_manifold.svg
share/PrusaSlicer/icons/exit.svg
+share/PrusaSlicer/icons/expand_btn.svg
share/PrusaSlicer/icons/export_config.svg
share/PrusaSlicer/icons/export_config_bundle.svg
share/PrusaSlicer/icons/export_gcode.svg
@@ -105,6 +116,18 @@ share/PrusaSlicer/icons/instance_remove.svg
share/PrusaSlicer/icons/ironing.svg
share/PrusaSlicer/icons/layers.svg
share/PrusaSlicer/icons/layers_white.svg
+share/PrusaSlicer/icons/legend_cog.svg
+share/PrusaSlicer/icons/legend_colorchanges.svg
+share/PrusaSlicer/icons/legend_customgcodes.svg
+share/PrusaSlicer/icons/legend_deretract.svg
+share/PrusaSlicer/icons/legend_pauseprints.svg
+share/PrusaSlicer/icons/legend_retract.svg
+share/PrusaSlicer/icons/legend_seams.svg
+share/PrusaSlicer/icons/legend_shells.svg
+share/PrusaSlicer/icons/legend_toolchanges.svg
+share/PrusaSlicer/icons/legend_toolmarker.svg
+share/PrusaSlicer/icons/legend_travel.svg
+share/PrusaSlicer/icons/legend_wipe.svg
share/PrusaSlicer/icons/lock.svg
share/PrusaSlicer/icons/lock_closed.svg
share/PrusaSlicer/icons/lock_closed_f.svg
@@ -112,14 +135,20 @@ share/PrusaSlicer/icons/lock_closed_white.svg
share/PrusaSlicer/icons/lock_open.svg
share/PrusaSlicer/icons/lock_open_f.svg
share/PrusaSlicer/icons/lock_open_sys.svg
+share/PrusaSlicer/icons/make_bold.svg
+share/PrusaSlicer/icons/make_italic.svg
+share/PrusaSlicer/icons/make_unbold.svg
+share/PrusaSlicer/icons/make_unitalic.svg
share/PrusaSlicer/icons/mark_X.svg
share/PrusaSlicer/icons/mark_Y.svg
share/PrusaSlicer/icons/mark_Z.svg
+share/PrusaSlicer/icons/measure.svg
share/PrusaSlicer/icons/mirroring_off.svg
share/PrusaSlicer/icons/mirroring_on.svg
share/PrusaSlicer/icons/mirroring_transparent.svg
share/PrusaSlicer/icons/mmu_segmentation.svg
share/PrusaSlicer/icons/mmu_segmentation_.svg
+share/PrusaSlicer/icons/mode.svg
share/PrusaSlicer/icons/mode_advanced.svg
share/PrusaSlicer/icons/mode_expert.svg
share/PrusaSlicer/icons/mode_simple.svg
@@ -139,6 +168,12 @@ share/PrusaSlicer/icons/notification_error.svg
share/PrusaSlicer/icons/notification_info.svg
share/PrusaSlicer/icons/notification_minimalize.svg
share/PrusaSlicer/icons/notification_minimalize_hover.svg
+share/PrusaSlicer/icons/notification_open.svg
+share/PrusaSlicer/icons/notification_open_hover.svg
+share/PrusaSlicer/icons/notification_pause.svg
+share/PrusaSlicer/icons/notification_pause_hover.svg
+share/PrusaSlicer/icons/notification_play.svg
+share/PrusaSlicer/icons/notification_play_hover.svg
share/PrusaSlicer/icons/notification_preferences.svg
share/PrusaSlicer/icons/notification_preferences_hover.svg
share/PrusaSlicer/icons/notification_right.svg
@@ -147,6 +182,7 @@ share/PrusaSlicer/icons/notification_warning.svg
share/PrusaSlicer/icons/number_of_copies.svg
share/PrusaSlicer/icons/objlist_info.svg
share/PrusaSlicer/icons/open.svg
+share/PrusaSlicer/icons/open_browser.svg
share/PrusaSlicer/icons/output+page_white.svg
share/PrusaSlicer/icons/pad.svg
share/PrusaSlicer/icons/paste.svg
@@ -155,6 +191,7 @@ share/PrusaSlicer/icons/pause_print.svg
share/PrusaSlicer/icons/pause_print_f.svg
share/PrusaSlicer/icons/place.svg
share/PrusaSlicer/icons/plater.svg
+share/PrusaSlicer/icons/plug.svg
share/PrusaSlicer/icons/preview.svg
share/PrusaSlicer/icons/preview_menu.svg
share/PrusaSlicer/icons/printer.svg
@@ -186,6 +223,8 @@ share/PrusaSlicer/icons/sinking.svg
share/PrusaSlicer/icons/skirt+brim.svg
share/PrusaSlicer/icons/sla_printer.svg
share/PrusaSlicer/icons/sla_supports.svg
+share/PrusaSlicer/icons/sla_view_original.svg
+share/PrusaSlicer/icons/sla_view_processed.svg
share/PrusaSlicer/icons/splashscreen-gcodepreview.jpg
share/PrusaSlicer/icons/splashscreen.jpg
share/PrusaSlicer/icons/split_object_SMALL.svg
@@ -208,6 +247,7 @@ share/PrusaSlicer/icons/time.svg
share/PrusaSlicer/icons/timer_dot.svg
share/PrusaSlicer/icons/timer_dot_empty.svg
share/PrusaSlicer/icons/toolbar_arrow.svg
+share/PrusaSlicer/icons/toolbar_arrow_2.svg
share/PrusaSlicer/icons/toolbar_background.png
share/PrusaSlicer/icons/undo.svg
share/PrusaSlicer/icons/undo_menu.svg
@@ -216,6 +256,8 @@ share/PrusaSlicer/icons/upload_queue.svg
share/PrusaSlicer/icons/wrench.svg
share/PrusaSlicer/icons/wrench_white.svg
share/PrusaSlicer/localization/PrusaSlicer.pot
+share/PrusaSlicer/localization/be/PrusaSlicer.mo
+share/PrusaSlicer/localization/be/PrusaSlicer_be.po
share/PrusaSlicer/localization/ca/PrusaSlicer.mo
share/PrusaSlicer/localization/ca/PrusaSlicer_ca.po
share/PrusaSlicer/localization/cs/PrusaSlicer.mo
@@ -226,6 +268,8 @@ share/PrusaSlicer/localization/en/PrusaSlicer.mo
share/PrusaSlicer/localization/en/PrusaSlicer_en.po
share/PrusaSlicer/localization/es/PrusaSlicer.mo
share/PrusaSlicer/localization/es/PrusaSlicer_es.po
+share/PrusaSlicer/localization/fi/PrusaSlicer.mo
+share/PrusaSlicer/localization/fi/PrusaSlicer_fi.po
share/PrusaSlicer/localization/fr/PrusaSlicer.mo
share/PrusaSlicer/localization/fr/PrusaSlicer_fr.po
share/PrusaSlicer/localization/hu/PrusaSlicer.mo
@@ -256,6 +300,7 @@ share/PrusaSlicer/localization/uk/PrusaSlicer_uk.po
share/PrusaSlicer/localization/wx_locale/af.po
share/PrusaSlicer/localization/wx_locale/an.po
share/PrusaSlicer/localization/wx_locale/ar.po
+share/PrusaSlicer/localization/wx_locale/be.po
share/PrusaSlicer/localization/wx_locale/ca.po
share/PrusaSlicer/localization/wx_locale/ca%valencia.po@localhost
share/PrusaSlicer/localization/wx_locale/cs.po
@@ -303,6 +348,13 @@ share/PrusaSlicer/localization/zh_CN/PrusaSlicer.mo
share/PrusaSlicer/localization/zh_CN/PrusaSlicer_zh_CN.po
share/PrusaSlicer/localization/zh_TW/PrusaSlicer.mo
share/PrusaSlicer/localization/zh_TW/PrusaSlicer_zh_TW.po
+share/PrusaSlicer/profiles/Anker.idx
+share/PrusaSlicer/profiles/Anker.ini
+share/PrusaSlicer/profiles/Anker/M5-bed.stl
+share/PrusaSlicer/profiles/Anker/M5-texture.svg
+share/PrusaSlicer/profiles/Anker/M5-texture_v2.svg
+share/PrusaSlicer/profiles/Anker/M5_thumbnail.png
+share/PrusaSlicer/profiles/Anker/M5_thumbnail_v2.png
share/PrusaSlicer/profiles/Anycubic.idx
share/PrusaSlicer/profiles/Anycubic.ini
share/PrusaSlicer/profiles/Anycubic/4MAXPRO20_bed.stl
@@ -317,6 +369,9 @@ share/PrusaSlicer/profiles/Anycubic/AK_thumbnail.png
share/PrusaSlicer/profiles/Anycubic/I3MEGAS_thumbnail.png
share/PrusaSlicer/profiles/Anycubic/I3MEGA_thumbnail.png
share/PrusaSlicer/profiles/Anycubic/MEGA0_thumbnail.png
+share/PrusaSlicer/profiles/Anycubic/PHOTON MONO SE_thumbnail.png
+share/PrusaSlicer/profiles/Anycubic/PHOTON MONO X_thumbnail.png
+share/PrusaSlicer/profiles/Anycubic/PHOTON MONO_thumbnail.png
share/PrusaSlicer/profiles/Anycubic/PREDATOR_thumbnail.png
share/PrusaSlicer/profiles/Anycubic/i3megas.svg
share/PrusaSlicer/profiles/Anycubic/i3megas_bed.stl
@@ -338,6 +393,11 @@ share/PrusaSlicer/profiles/BIBO.ini
share/PrusaSlicer/profiles/BIBO/BIBO2.svg
share/PrusaSlicer/profiles/BIBO/BIBO2_bed.stl
share/PrusaSlicer/profiles/BIBO/BIBO2_thumbnail.png
+share/PrusaSlicer/profiles/BIQU.idx
+share/PrusaSlicer/profiles/BIQU.ini
+share/PrusaSlicer/profiles/BIQU/BIQUBX_thumbnail.png
+share/PrusaSlicer/profiles/BIQU/BX_Bed.stl
+share/PrusaSlicer/profiles/BIQU/BX_Texture.png
share/PrusaSlicer/profiles/Creality.idx
share/PrusaSlicer/profiles/Creality.ini
share/PrusaSlicer/profiles/Creality/CR10MAX_thumbnail.png
@@ -377,10 +437,14 @@ share/PrusaSlicer/profiles/Creality/ENDER3V2_thumbnail.png
share/PrusaSlicer/profiles/Creality/ENDER3_thumbnail.png
share/PrusaSlicer/profiles/Creality/ENDER4_thumbnail.png
share/PrusaSlicer/profiles/Creality/ENDER5PLUS_thumbnail.png
+share/PrusaSlicer/profiles/Creality/ENDER5PRO_thumbnail.png
+share/PrusaSlicer/profiles/Creality/ENDER5S1_thumbnail.png
share/PrusaSlicer/profiles/Creality/ENDER5_thumbnail.png
share/PrusaSlicer/profiles/Creality/ENDER6_thumbnail.png
share/PrusaSlicer/profiles/Creality/ENDER7_thumbnail.png
share/PrusaSlicer/profiles/Creality/SERMOOND1_thumbnail.png
+share/PrusaSlicer/profiles/Creality/SERMOONV1PRO_thumbnail.png
+share/PrusaSlicer/profiles/Creality/SERMOONV1_thumbnail.png
share/PrusaSlicer/profiles/Creality/cr10.svg
share/PrusaSlicer/profiles/Creality/cr10_bed.stl
share/PrusaSlicer/profiles/Creality/cr10max.svg
@@ -418,12 +482,17 @@ share/PrusaSlicer/profiles/Creality/ender7.svg
share/PrusaSlicer/profiles/Creality/ender7_bed.stl
share/PrusaSlicer/profiles/Creality/sermoond1.svg
share/PrusaSlicer/profiles/Creality/sermoond1_bed.stl
+share/PrusaSlicer/profiles/Creality/sermoonv1.svg
+share/PrusaSlicer/profiles/Creality/sermoonv1_bed.stl
share/PrusaSlicer/profiles/Elegoo.idx
share/PrusaSlicer/profiles/Elegoo.ini
share/PrusaSlicer/profiles/Elegoo/NEPTUNE1_thumbnail.png
share/PrusaSlicer/profiles/Elegoo/NEPTUNE2D_thumbnail.png
share/PrusaSlicer/profiles/Elegoo/NEPTUNE2S_thumbnail.png
share/PrusaSlicer/profiles/Elegoo/NEPTUNE2_thumbnail.png
+share/PrusaSlicer/profiles/Elegoo/NEPTUNE3MAX_thumbnail.png
+share/PrusaSlicer/profiles/Elegoo/NEPTUNE3PLUS_thumbnail.png
+share/PrusaSlicer/profiles/Elegoo/NEPTUNE3PRO_thumbnail.png
share/PrusaSlicer/profiles/Elegoo/NEPTUNE3_thumbnail.png
share/PrusaSlicer/profiles/Elegoo/NEPTUNEX_thumbnail.png
share/PrusaSlicer/profiles/FLSun.idx
@@ -434,6 +503,52 @@ share/PrusaSlicer/profiles/FLSun/Q5_thumbnail.png
share/PrusaSlicer/profiles/FLSun/QQSP.svg
share/PrusaSlicer/profiles/FLSun/QQSP_bed.stl
share/PrusaSlicer/profiles/FLSun/QQSP_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech.idx
+share/PrusaSlicer/profiles/Geeetech.ini
+share/PrusaSlicer/profiles/Geeetech/125X130.stl
+share/PrusaSlicer/profiles/Geeetech/125x130.svg
+share/PrusaSlicer/profiles/Geeetech/150x150.stl
+share/PrusaSlicer/profiles/Geeetech/150x150.svg
+share/PrusaSlicer/profiles/Geeetech/160x160.stl
+share/PrusaSlicer/profiles/Geeetech/160x160.svg
+share/PrusaSlicer/profiles/Geeetech/180X150.stl
+share/PrusaSlicer/profiles/Geeetech/180x150.svg
+share/PrusaSlicer/profiles/Geeetech/200x200.stl
+share/PrusaSlicer/profiles/Geeetech/200x200.svg
+share/PrusaSlicer/profiles/Geeetech/220x220.stl
+share/PrusaSlicer/profiles/Geeetech/220x220.svg
+share/PrusaSlicer/profiles/Geeetech/250x250.stl
+share/PrusaSlicer/profiles/Geeetech/250x250.svg
+share/PrusaSlicer/profiles/Geeetech/255x255.stl
+share/PrusaSlicer/profiles/Geeetech/255x255.svg
+share/PrusaSlicer/profiles/Geeetech/300x180.stl
+share/PrusaSlicer/profiles/Geeetech/300x180.svg
+share/PrusaSlicer/profiles/Geeetech/320x320.stl
+share/PrusaSlicer/profiles/Geeetech/320x320.svg
+share/PrusaSlicer/profiles/Geeetech/A10M_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/A10Pro_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/A10T_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/A20M_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/A20T_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/A20_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/A30M_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/A30Pro_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/A30T_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/E180_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/GiantArmD200_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/I3ProB_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/I3ProC_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/I3ProW_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/MeCreator2_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/MeCreator_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/MeDucer_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/MizarM_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/MizarMax_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/MizarPro_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/MizarS_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/Mizar_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/ThunderPro_thumbnail.png
+share/PrusaSlicer/profiles/Geeetech/Thunder_thumbnail.png
share/PrusaSlicer/profiles/INAT.idx
share/PrusaSlicer/profiles/INAT.ini
share/PrusaSlicer/profiles/INAT/PROTON_XE750_thumbnail.png
@@ -456,6 +571,23 @@ share/PrusaSlicer/profiles/LulzBot.idx
share/PrusaSlicer/profiles/LulzBot.ini
share/PrusaSlicer/profiles/LulzBot/MINI_AERO_thumbnail.png
share/PrusaSlicer/profiles/LulzBot/TAZ6_AERO_thumbnail.png
+share/PrusaSlicer/profiles/LulzBot/TAZ_WORKHORSE_thumbnail.png
+share/PrusaSlicer/profiles/MakerGear.idx
+share/PrusaSlicer/profiles/MakerGear.ini
+share/PrusaSlicer/profiles/MakerGear/M2_M3.stl
+share/PrusaSlicer/profiles/MakerGear/M2_M3.svg
+share/PrusaSlicer/profiles/MakerGear/MAKERGEAR_M2_DUAL_thumbnail.png
+share/PrusaSlicer/profiles/MakerGear/MAKERGEAR_M2_thumbnail.png
+share/PrusaSlicer/profiles/MakerGear/MAKERGEAR_M3_DUPLICATION_thumbnail.png
+share/PrusaSlicer/profiles/MakerGear/MAKERGEAR_M3_SE_thumbnail.png
+share/PrusaSlicer/profiles/MakerGear/MAKERGEAR_M3_thumbnail.png
+share/PrusaSlicer/profiles/MakerGear/MAKERGEAR_MICRO_thumbnail.png
+share/PrusaSlicer/profiles/MakerGear/MAKERGEAR_U1_thumbnail.png
+share/PrusaSlicer/profiles/Print4Taste.idx
+share/PrusaSlicer/profiles/Print4Taste.ini
+share/PrusaSlicer/profiles/Print4Taste/MC2.0_bed.stl
+share/PrusaSlicer/profiles/Print4Taste/MC2.0_texture.svg
+share/PrusaSlicer/profiles/Print4Taste/MC2.0_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch.idx
share/PrusaSlicer/profiles/PrusaResearch.ini
share/PrusaSlicer/profiles/PrusaResearch/MINI_thumbnail.png
@@ -469,6 +601,7 @@ share/PrusaSlicer/profiles/PrusaResearch/MK3MMU2_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/MK3SMMU2S_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/MK3S_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/MK3_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/MK4IS_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/MK4_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/SL1S_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/SL1_thumbnail.png
@@ -481,6 +614,7 @@ share/PrusaSlicer/profiles/PrusaResearch/mk3.svg
share/PrusaSlicer/profiles/PrusaResearch/mk3_bed.stl
share/PrusaSlicer/profiles/PrusaResearch/mk4.svg
share/PrusaSlicer/profiles/PrusaResearch/mk4_bed.stl
+share/PrusaSlicer/profiles/PrusaResearch/mk4is.svg
share/PrusaSlicer/profiles/PrusaResearch/sl1.svg
share/PrusaSlicer/profiles/PrusaResearch/sl1_bed.stl
share/PrusaSlicer/profiles/PrusaResearch/sl1s.svg
@@ -501,6 +635,19 @@ share/PrusaSlicer/profiles/RatRig/rr-vc-500.stl
share/PrusaSlicer/profiles/RatRig/rr-vc-500.svg
share/PrusaSlicer/profiles/RatRig/rr-vminion.stl
share/PrusaSlicer/profiles/RatRig/rr-vminion.svg
+share/PrusaSlicer/profiles/Rigid3D.idx
+share/PrusaSlicer/profiles/Rigid3D.ini
+share/PrusaSlicer/profiles/Rigid3D/Mucit2_thumbnail.png
+share/PrusaSlicer/profiles/Rigid3D/Mucit_thumbnail.png
+share/PrusaSlicer/profiles/Rigid3D/Zero2_thumbnail.png
+share/PrusaSlicer/profiles/Rigid3D/Zero3_thumbnail.png
+share/PrusaSlicer/profiles/Rigid3D/mucit2_bed.png
+share/PrusaSlicer/profiles/Rigid3D/mucit2_bed.stl
+share/PrusaSlicer/profiles/Rigid3D/mucit_bed.png
+share/PrusaSlicer/profiles/Rigid3D/mucit_bed.stl
+share/PrusaSlicer/profiles/Rigid3D/zero2_bed.png
+share/PrusaSlicer/profiles/Rigid3D/zero3_bed.png
+share/PrusaSlicer/profiles/Rigid3D/zero_bed.stl
share/PrusaSlicer/profiles/Snapmaker.idx
share/PrusaSlicer/profiles/Snapmaker.ini
share/PrusaSlicer/profiles/Snapmaker/A250_bed.stl
@@ -509,6 +656,8 @@ share/PrusaSlicer/profiles/Snapmaker/A250_thumbnail.png
share/PrusaSlicer/profiles/Snapmaker/A350_bed.stl
share/PrusaSlicer/profiles/Snapmaker/A350_texture.svg
share/PrusaSlicer/profiles/Snapmaker/A350_thumbnail.png
+share/PrusaSlicer/profiles/Templates.idx
+share/PrusaSlicer/profiles/Templates.ini
share/PrusaSlicer/profiles/TriLAB.idx
share/PrusaSlicer/profiles/TriLAB.ini
share/PrusaSlicer/profiles/TriLAB/AQD_thumbnail.png
@@ -532,6 +681,7 @@ share/PrusaSlicer/profiles/Ultimaker/ultimaker2.svg
share/PrusaSlicer/profiles/Ultimaker/ultimaker2_bed.stl
share/PrusaSlicer/profiles/Voron.idx
share/PrusaSlicer/profiles/Voron.ini
+share/PrusaSlicer/profiles/Voron/Voron_SW_thumbnail.png
share/PrusaSlicer/profiles/Voron/Voron_v0_120_thumbnail.png
share/PrusaSlicer/profiles/Voron/Voron_v1_250_afterburner_thumbnail.png
share/PrusaSlicer/profiles/Voron/Voron_v1_300_afterburner_thumbnail.png
@@ -542,12 +692,14 @@ share/PrusaSlicer/profiles/Voron/Voron_v2_300_afterburner_thumbnail.png
share/PrusaSlicer/profiles/Voron/Voron_v2_300_thumbnail.png
share/PrusaSlicer/profiles/Voron/Voron_v2_350_afterburner_thumbnail.png
share/PrusaSlicer/profiles/Voron/Voron_v2_350_thumbnail.png
+share/PrusaSlicer/profiles/Voron/bedtexture-SW-250x210.png
share/PrusaSlicer/profiles/Voron/bedtexture-v0-120.png
share/PrusaSlicer/profiles/Voron/bedtexture-v1-250.png
share/PrusaSlicer/profiles/Voron/bedtexture-v1-300.png
share/PrusaSlicer/profiles/Voron/bedtexture-v2-250.png
share/PrusaSlicer/profiles/Voron/bedtexture-v2-300.png
share/PrusaSlicer/profiles/Voron/bedtexture-v2-350.png
+share/PrusaSlicer/profiles/Voron/printbed-SW-MK52.stl
share/PrusaSlicer/profiles/Voron/printbed-v0-120.stl
share/PrusaSlicer/profiles/Voron/printbed-v1-250.stl
share/PrusaSlicer/profiles/Voron/printbed-v1-300.stl
@@ -580,26 +732,97 @@ share/PrusaSlicer/profiles/gCreate/gmax15p_bed.stl
share/PrusaSlicer/profiles/gCreate/gmax2.svg
share/PrusaSlicer/profiles/gCreate/gmax2_bed.stl
share/PrusaSlicer/resources
-share/PrusaSlicer/shaders/gouraud.fs
-share/PrusaSlicer/shaders/gouraud.vs
-share/PrusaSlicer/shaders/gouraud_light.fs
-share/PrusaSlicer/shaders/gouraud_light.vs
-share/PrusaSlicer/shaders/gouraud_light_instanced.fs
-share/PrusaSlicer/shaders/gouraud_light_instanced.vs
-share/PrusaSlicer/shaders/mm_contour.fs
-share/PrusaSlicer/shaders/mm_contour.vs
-share/PrusaSlicer/shaders/mm_gouraud.fs
-share/PrusaSlicer/shaders/mm_gouraud.vs
-share/PrusaSlicer/shaders/options_110.fs
-share/PrusaSlicer/shaders/options_110.vs
-share/PrusaSlicer/shaders/options_120.fs
-share/PrusaSlicer/shaders/options_120.vs
-share/PrusaSlicer/shaders/printbed.fs
-share/PrusaSlicer/shaders/printbed.vs
-share/PrusaSlicer/shaders/toolpaths_lines.fs
-share/PrusaSlicer/shaders/toolpaths_lines.vs
-share/PrusaSlicer/shaders/variable_layer_height.fs
-share/PrusaSlicer/shaders/variable_layer_height.vs
+share/PrusaSlicer/shaders/110/background.fs
+share/PrusaSlicer/shaders/110/background.vs
+share/PrusaSlicer/shaders/110/flat.fs
+share/PrusaSlicer/shaders/110/flat.vs
+share/PrusaSlicer/shaders/110/flat_clip.fs
+share/PrusaSlicer/shaders/110/flat_clip.vs
+share/PrusaSlicer/shaders/110/flat_texture.fs
+share/PrusaSlicer/shaders/110/flat_texture.vs
+share/PrusaSlicer/shaders/110/gouraud.fs
+share/PrusaSlicer/shaders/110/gouraud.vs
+share/PrusaSlicer/shaders/110/gouraud_light.fs
+share/PrusaSlicer/shaders/110/gouraud_light.vs
+share/PrusaSlicer/shaders/110/gouraud_light_clip.fs
+share/PrusaSlicer/shaders/110/gouraud_light_clip.vs
+share/PrusaSlicer/shaders/110/gouraud_light_instanced.fs
+share/PrusaSlicer/shaders/110/gouraud_light_instanced.vs
+share/PrusaSlicer/shaders/110/imgui.fs
+share/PrusaSlicer/shaders/110/imgui.vs
+share/PrusaSlicer/shaders/110/mm_contour.fs
+share/PrusaSlicer/shaders/110/mm_contour.vs
+share/PrusaSlicer/shaders/110/mm_gouraud.fs
+share/PrusaSlicer/shaders/110/mm_gouraud.vs
+share/PrusaSlicer/shaders/110/printbed.fs
+share/PrusaSlicer/shaders/110/printbed.vs
+share/PrusaSlicer/shaders/110/toolpaths_cog.fs
+share/PrusaSlicer/shaders/110/toolpaths_cog.vs
+share/PrusaSlicer/shaders/110/variable_layer_height.fs
+share/PrusaSlicer/shaders/110/variable_layer_height.vs
+share/PrusaSlicer/shaders/140/background.fs
+share/PrusaSlicer/shaders/140/background.vs
+share/PrusaSlicer/shaders/140/dashed_thick_lines.fs
+share/PrusaSlicer/shaders/140/dashed_thick_lines.gs
+share/PrusaSlicer/shaders/140/dashed_thick_lines.vs
+share/PrusaSlicer/shaders/140/flat.fs
+share/PrusaSlicer/shaders/140/flat.vs
+share/PrusaSlicer/shaders/140/flat_clip.fs
+share/PrusaSlicer/shaders/140/flat_clip.vs
+share/PrusaSlicer/shaders/140/flat_texture.fs
+share/PrusaSlicer/shaders/140/flat_texture.vs
+share/PrusaSlicer/shaders/140/gouraud.fs
+share/PrusaSlicer/shaders/140/gouraud.vs
+share/PrusaSlicer/shaders/140/gouraud_light.fs
+share/PrusaSlicer/shaders/140/gouraud_light.vs
+share/PrusaSlicer/shaders/140/gouraud_light_clip.fs
+share/PrusaSlicer/shaders/140/gouraud_light_clip.vs
+share/PrusaSlicer/shaders/140/gouraud_light_instanced.fs
+share/PrusaSlicer/shaders/140/gouraud_light_instanced.vs
+share/PrusaSlicer/shaders/140/imgui.fs
+share/PrusaSlicer/shaders/140/imgui.vs
+share/PrusaSlicer/shaders/140/mm_contour.fs
+share/PrusaSlicer/shaders/140/mm_contour.vs
+share/PrusaSlicer/shaders/140/mm_gouraud.fs
+share/PrusaSlicer/shaders/140/mm_gouraud.vs
+share/PrusaSlicer/shaders/140/printbed.fs
+share/PrusaSlicer/shaders/140/printbed.vs
+share/PrusaSlicer/shaders/140/toolpaths_cog.fs
+share/PrusaSlicer/shaders/140/toolpaths_cog.vs
+share/PrusaSlicer/shaders/140/variable_layer_height.fs
+share/PrusaSlicer/shaders/140/variable_layer_height.vs
+share/PrusaSlicer/shaders/ES/background.fs
+share/PrusaSlicer/shaders/ES/background.vs
+share/PrusaSlicer/shaders/ES/dashed_lines.fs
+share/PrusaSlicer/shaders/ES/dashed_lines.vs
+share/PrusaSlicer/shaders/ES/flat.fs
+share/PrusaSlicer/shaders/ES/flat.vs
+share/PrusaSlicer/shaders/ES/flat_clip.fs
+share/PrusaSlicer/shaders/ES/flat_clip.vs
+share/PrusaSlicer/shaders/ES/flat_texture.fs
+share/PrusaSlicer/shaders/ES/flat_texture.vs
+share/PrusaSlicer/shaders/ES/gouraud.fs
+share/PrusaSlicer/shaders/ES/gouraud.vs
+share/PrusaSlicer/shaders/ES/gouraud_light.fs
+share/PrusaSlicer/shaders/ES/gouraud_light.vs
+share/PrusaSlicer/shaders/ES/gouraud_light_clip.fs
+share/PrusaSlicer/shaders/ES/gouraud_light_clip.vs
+share/PrusaSlicer/shaders/ES/gouraud_light_instanced.fs
+share/PrusaSlicer/shaders/ES/gouraud_light_instanced.vs
+share/PrusaSlicer/shaders/ES/imgui.fs
+share/PrusaSlicer/shaders/ES/imgui.vs
+share/PrusaSlicer/shaders/ES/mm_contour.fs
+share/PrusaSlicer/shaders/ES/mm_contour.vs
+share/PrusaSlicer/shaders/ES/mm_gouraud.fs
+share/PrusaSlicer/shaders/ES/mm_gouraud.vs
+share/PrusaSlicer/shaders/ES/printbed.fs
+share/PrusaSlicer/shaders/ES/printbed.vs
+share/PrusaSlicer/shaders/ES/toolpaths_cog.fs
+share/PrusaSlicer/shaders/ES/toolpaths_cog.vs
+share/PrusaSlicer/shaders/ES/variable_layer_height.fs
+share/PrusaSlicer/shaders/ES/variable_layer_height.vs
+share/PrusaSlicer/shaders/ES/wireframe.fs
+share/PrusaSlicer/shaders/ES/wireframe.vs
share/PrusaSlicer/shapes/M3_hex_nut.png
share/PrusaSlicer/shapes/M3_hex_nut.stl
share/PrusaSlicer/shapes/M3x10_screw.png
@@ -626,6 +849,8 @@ share/PrusaSlicer/shapes/sphere.png
share/PrusaSlicer/shapes/sphere.stl
share/PrusaSlicer/shapes/torus.png
share/PrusaSlicer/shapes/torus.stl
+share/PrusaSlicer/shapes/universal wall mount hole.png
+share/PrusaSlicer/shapes/universal wall mount hole.stl
share/applications/PrusaGcodeviewer.desktop
share/applications/PrusaSlicer.desktop
share/icons/hicolor/128x128/apps/PrusaSlicer-gcodeviewer.png
diff --git a/prusaslicer/distinfo b/prusaslicer/distinfo
index 528700a1fb..e585b2a370 100644
--- a/prusaslicer/distinfo
+++ b/prusaslicer/distinfo
@@ -1,47 +1,56 @@
$NetBSD$
-BLAKE2s (PrusaSlicer-2.5.2.tar.gz) = ca1fa708cd816ac0597591090286c849341ddcb4696d7ea89abb6f4a10bfc0fe
-SHA512 (PrusaSlicer-2.5.2.tar.gz) = 7d17ce358f742ef44725b0b4160be3ddc522d2160d0b467589a1def82b2f478108e4934efb80feff043435b69fe7e81f18146277f67ec1819d9a0150fa9942a2
-Size (PrusaSlicer-2.5.2.tar.gz) = 49039089 bytes
+BLAKE2s (PrusaSlicer-2.6.0-beta4.tar.gz) = f53c530acc32863b6f12ae1aebc015d76a03f04a6c3015687ab34868fc920058
+SHA512 (PrusaSlicer-2.6.0-beta4.tar.gz) = bf19ba2a16a798634f29f8f9f43ebcb97ddbcafd4d20dbdbe62119bbc1c515bf1b2e1a8c06243566bf8eb673ebb996151bc6ac47a0e251df375bb93292f747ad
+Size (PrusaSlicer-2.6.0-beta4.tar.gz) = 52347813 bytes
SHA1 (patch-CMakeLists.txt) = 33eb39d85ba7b33226f2cc022250872c3ffa28d8
SHA1 (patch-cmake_modules_FindOpenVDB.cmake) = 4f2afc423a70fe60617b33ff7f26859b39775faa
-SHA1 (patch-src_CMakeLists_txt) = 81526fa13d1a084e96bf1c4d546f677968ad4b74
+SHA1 (patch-src_CMakeLists_txt) = fe61037cd75fe49f7de593986c864222dac0ca44
SHA1 (patch-src_avrdude_arduino.c) = ff02a4cab1c2d8c82ec7b22c7447ed5ec360ac57
SHA1 (patch-src_avrdude_libavrdude.h) = 62d48054b147985249664f257dbd8bbd670df233
-SHA1 (patch-src_hints_HintsToPot.cpp) = d27de20ac1a2a424661ad772900be7b9506e794c
-SHA1 (patch-src_libslic3r_CMakeLists.txt) = bc82a71633adcb23dca4850d1076f99340030f2b
SHA1 (patch-src_libslic3r_GCodeSender.cpp) = bd69c52e92ff85dba7f357eab62788a8e67a440e
SHA1 (patch-src_libslic3r_LocalesUtils.cpp) = 33a473cadbc05eba7f0c218110e53babea36568c
SHA1 (patch-src_libslic3r_LocalesUtils.hpp) = 88edc6156dd317e08ff6bfdf6f6f2d796c41ae05
SHA1 (patch-src_libslic3r_Platform.cpp) = 3066585efc98ba4963e41bda5952df38a7b095a0
SHA1 (patch-src_libslic3r_Platform.hpp) = 5626058616d04396bff6c8550951d04fe03249e4
-SHA1 (patch-src_libslic3r_Thread.cpp) = 4d8bc324f959792065e03aa3043658e963c1cf62
+SHA1 (patch-src_libslic3r_Thread.cpp) = 8aa488b933baa97132058f88a82eef8db73ab2f5
SHA1 (patch-src_occt__wrapper_CMakeLists.txt) = 2e11271757bcc76f3832c8fd27943f3ef97136f1
-SHA1 (patch-src_slic3r_CMakeLists.txt) = 32058caf991b20993c1afecf12154a923db28416
-SHA1 (patch-src_slic3r_GUI_ConfigWizard.cpp) = 523d2eeb26c9f580ccdeb034743c301dcc56c727
-SHA1 (patch-src_slic3r_GUI_ConfigWizard__private.hpp) = 7ac3e3a9a67ebe7c99fbfc17ed9c0b2750d96974
-SHA1 (patch-src_slic3r_GUI_DesktopIntegrationDialog.cpp) = d61919d6f053cd598741255bffc29e80c79863df
-SHA1 (patch-src_slic3r_GUI_DesktopIntegrationDialog.hpp) = dd35d8a5c0ccaae50b969352f0f23f974a2ee89f
+SHA1 (patch-src_slic3r_GUI_BitmapCache.cpp) = 9a464bcb09589e12de70ce57cda17f526df33b9b
+SHA1 (patch-src_slic3r_GUI_ConfigWizard.cpp) = 01e405fe0f743d3f8e2d76b987b51ff862ae6f97
+SHA1 (patch-src_slic3r_GUI_ConfigWizard.hpp) = 6eed54e08497ec1dc6fea33263ab65d2d7e0dc0d
+SHA1 (patch-src_slic3r_GUI_DesktopIntegrationDialog.cpp) = ca51a9afbe5300dfdc6f7277c9c10081eb72e82f
+SHA1 (patch-src_slic3r_GUI_DesktopIntegrationDialog.hpp) = a124f3be0d0f0ca3ef58d92d96e6670580e9115c
SHA1 (patch-src_slic3r_GUI_ExtraRenderers.cpp) = ac803510123ff016b8fa6f22d491c898166e0929
-SHA1 (patch-src_slic3r_GUI_GLCanvas3D.cpp) = 7abaef0d1ffd79fd1fc2de5e8dc445a073386353
-SHA1 (patch-src_slic3r_GUI_GUI__App.cpp) = 8542df80bc371945db4ef67da58be103221ef4ce
-SHA1 (patch-src_slic3r_GUI_GUI__App.hpp) = 9a4e30158b67fb6b73fc1b5ce45c458fb60c60a4
+SHA1 (patch-src_slic3r_GUI_Field.cpp) = a0901064c68aa5e6c2396ccec36018e45f92fbcb
+SHA1 (patch-src_slic3r_GUI_GLCanvas3D.cpp) = c6ba7c5418cbe0cd09310ed0c0f724de027ee2b6
+SHA1 (patch-src_slic3r_GUI_GUI.cpp) = ab8bb26e14f17eed20587693ac1ef568b8cd8cd5
+SHA1 (patch-src_slic3r_GUI_GUI.hpp) = 52442f3881564cfe7c31ff51d63c96129f162aed
+SHA1 (patch-src_slic3r_GUI_GUI__App.cpp) = d01d66603eb0913a0594d054f567d35de0e6ab46
+SHA1 (patch-src_slic3r_GUI_GUI__Factories.cpp) = a3db8dc6e41c4df3cba7282fdd0cdadd1bc7d956
+SHA1 (patch-src_slic3r_GUI_GUI__ObjectLayers.cpp) = da99be89d62efffceaccc81ade8e55e1fadb7919
+SHA1 (patch-src_slic3r_GUI_GUI__ObjectManipulation.cpp) = 8c4e9e451642d5d5139d2ef64b3ca666655d05a5
SHA1 (patch-src_slic3r_GUI_GUI__Preview.cpp) = 8555c73aa6aa3d65b4d34fc93ccb1fbb2957a76f
SHA1 (patch-src_slic3r_GUI_GUI__Preview.hpp) = 904556d0f85f28a8174845089647bb3691783f37
SHA1 (patch-src_slic3r_GUI_GUI__Utils.cpp) = bcbc83109ba7806e6371d0ef10f3c05cc480d730
SHA1 (patch-src_slic3r_GUI_InstanceCheck.cpp) = c9ae1ec2db2b493578cc128383fa4cf0b3e2ae6a
SHA1 (patch-src_slic3r_GUI_InstanceCheck.hpp) = 2af0741f480c41d5cc5bd9d3e55480c8e6ab029c
+SHA1 (patch-src_slic3r_GUI_KBShortcutsDialog.cpp) = 82a395a10e9d0a1b049863d8d30bce2ed99cb5f2
SHA1 (patch-src_slic3r_GUI_Mouse3DController.cpp) = bf8bf60e17e304a2022b9a80852d7ab38fc2451d
SHA1 (patch-src_slic3r_GUI_Mouse3DController.hpp) = 6a008114e932b08951428b6fa882b41acaa85c0b
-SHA1 (patch-src_slic3r_GUI_NotificationManager.cpp) = 4e774bfdd777cba3e46ac4358b92c63896914b71
-SHA1 (patch-src_slic3r_GUI_Plater.cpp) = 5235502df6c7227befd58e29de0b4a0ab7f1975f
+SHA1 (patch-src_slic3r_GUI_OptionsGroup.cpp) = c413f24a9a50069b93bdd611b95fa85ccab45567
+SHA1 (patch-src_slic3r_GUI_Plater.cpp) = a9c45bac6bf524b411882f3eedc859401e8a1a35
+SHA1 (patch-src_slic3r_GUI_Preferences.cpp) = 522ee0f2b024836b2b1d5521f0d368c3dd2c24c5
SHA1 (patch-src_slic3r_GUI_PresetComboBoxes.cpp) = 89654aa2e0384b35b61a19a22399683e7f4417ae
SHA1 (patch-src_slic3r_GUI_PresetComboBoxes.hpp) = 0c84c1b706a1f4e00f60c1677c7edf53845d4467
-SHA1 (patch-src_slic3r_GUI_PrintHostDialogs.cpp) = 0f5bc25dd1e96393274a2d882d80fcb3c4d26bdb
+SHA1 (patch-src_slic3r_GUI_PrintHostDialogs.cpp) = bbdd89d236b4596f009616e553d601d3e032114c
SHA1 (patch-src_slic3r_GUI_RemovableDriveManager.cpp) = 413499908128be48106d5fd6aea5d413bb959b35
-SHA1 (patch-src_slic3r_GUI_Tab.cpp) = 6b615054719ad3bd3bfcc7e5c7c2a57ae5e66041
-SHA1 (patch-src_slic3r_GUI_UnsavedChangesDialog.cpp) = c2e4e2bfccd8492506c4f794b7085fa2c1cbe846
-SHA1 (patch-src_slic3r_GUI_UnsavedChangesDialog.hpp) = cb399a0d751be5c9b25fcf88554612a17bc44d3c
-SHA1 (patch-src_slic3r_GUI_wxExtensions.cpp) = 14a6b3c6a6c0b082b126dcaf1fc869404fa3e9c9
+SHA1 (patch-src_slic3r_GUI_Tab.cpp) = ed793cdab5c04319f254b9dae5a63cf52056122a
+SHA1 (patch-src_slic3r_GUI_UnsavedChangesDialog.cpp) = 1594eb7521f23c42700b0fbed7c039b62e9d4029
+SHA1 (patch-src_slic3r_GUI_UnsavedChangesDialog.hpp) = 0bd01147f0b654d190534959708fbf346cbb364e
+SHA1 (patch-src_slic3r_GUI_UpdateDialogs.cpp) = 7fdcc609e66c619c110db2da18b24ddfd0ffe2a2
+SHA1 (patch-src_slic3r_GUI_wxExtensions.cpp) = f36725675ad69d0f3a68183a8719ca4babeb3aed
+SHA1 (patch-src_slic3r_GUI_wxExtensions.hpp) = aa5bd2f325452cb2d9c2cef1dd50f37a149d7b6a
+SHA1 (patch-src_slic3r_Utils_FontConfigHelp.hpp) = 8027a1bc90a7f0ad1b53787a25f1e8a28c343ba2
SHA1 (patch-src_slic3r_Utils_Serial.cpp) = 77dbb4e3526e932c04b8020b6f808278d1319bdb
+SHA1 (patch-src_slic3r_Utils_WxFontUtils.cpp) = cc033a04f3219b0f4229344e14d44be63192db60
SHA1 (patch-tests_fff__print_test__data.cpp) = 588e2a7ea980d82b7bb43eb7522b639101d0a337
diff --git a/prusaslicer/patches/patch-src_CMakeLists_txt b/prusaslicer/patches/patch-src_CMakeLists_txt
index 6b1e7a9c82..949824ec96 100644
--- a/prusaslicer/patches/patch-src_CMakeLists_txt
+++ b/prusaslicer/patches/patch-src_CMakeLists_txt
@@ -5,9 +5,9 @@ Allow use of stable track wxWidgets on NetBSD.
Use namespaces to link against libcereal >= 1.3.1 from:
https://github.com/prusa3d/PrusaSlicer/commit/0ffcfd8393457fd035576436752267c9a1e6bbcc
---- src/CMakeLists.txt.orig 2022-08-19 14:41:23.000000000 +0000
+--- src/CMakeLists.txt.orig 2023-06-02 13:41:15.000000000 +0000
+++ src/CMakeLists.txt
-@@ -24,8 +24,6 @@ endif ()
+@@ -33,8 +33,6 @@ endif ()
if (SLIC3R_GUI)
add_subdirectory(imgui)
@@ -16,7 +16,7 @@ https://github.com/prusa3d/PrusaSlicer/commit/0ffcfd8393457fd035576436752267c9a1
if(WIN32)
message(STATUS "WXWIN environment set to: $ENV{WXWIN}")
-@@ -38,10 +36,10 @@ if (SLIC3R_GUI)
+@@ -47,10 +45,10 @@ if (SLIC3R_GUI)
endif()
endif()
@@ -30,12 +30,3 @@ https://github.com/prusa3d/PrusaSlicer/commit/0ffcfd8393457fd035576436752267c9a1
else ()
find_package(wxWidgets 3.1 QUIET COMPONENTS base core adv html gl)
-@@ -127,7 +125,7 @@ if (NOT WIN32 AND NOT APPLE)
- set_target_properties(PrusaSlicer PROPERTIES OUTPUT_NAME "prusa-slicer")
- endif ()
-
--target_link_libraries(PrusaSlicer libslic3r cereal)
-+target_link_libraries(PrusaSlicer libslic3r cereal::cereal)
-
- if (APPLE)
- # add_compile_options(-stdlib=libc++)
diff --git a/prusaslicer/patches/patch-src_hints_HintsToPot.cpp b/prusaslicer/patches/patch-src_hints_HintsToPot.cpp
deleted file mode 100644
index b4dca1350d..0000000000
--- a/prusaslicer/patches/patch-src_hints_HintsToPot.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
-Upstream patch for boost deprecations:
-https://github.com/prusa3d/PrusaSlicer/commit/408e56f0390f20aaf793e0aa0c70c4d9544401d4
-
---- src/hints/HintsToPot.cpp.orig 2023-03-13 13:20:26.000000000 +0000
-+++ src/hints/HintsToPot.cpp
-@@ -9,7 +9,7 @@
-
- bool write_to_pot(boost::filesystem::path path, const std::vector<std::pair<std::string, std::string>>& data)
- {
-- boost::filesystem::ofstream file(std::move(path), std::ios_base::app);
-+ boost::nowide::ofstream file(path.string(), std::ios_base::app);
- for (const auto& element : data)
- {
- //Example of .pot element
diff --git a/prusaslicer/patches/patch-src_libslic3r_CMakeLists.txt b/prusaslicer/patches/patch-src_libslic3r_CMakeLists.txt
deleted file mode 100644
index 4cc315dc72..0000000000
--- a/prusaslicer/patches/patch-src_libslic3r_CMakeLists.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
-Use namespaces to link against libcereal >= 1.3.1 from:
-https://github.com/prusa3d/PrusaSlicer/commit/0ffcfd8393457fd035576436752267c9a1e6bbcc
-
---- src/libslic3r/CMakeLists.txt.orig 2022-04-22 11:01:19.000000000 +0000
-+++ src/libslic3r/CMakeLists.txt
-@@ -337,7 +337,7 @@ target_include_directories(libslic3r PUB
- target_link_libraries(libslic3r
- libnest2d
- admesh
-- cereal
-+ cereal::cereal
- libigl
- miniz
- boost_libs
diff --git a/prusaslicer/patches/patch-src_libslic3r_Thread.cpp b/prusaslicer/patches/patch-src_libslic3r_Thread.cpp
index c01bba8764..4900ea4ed6 100644
--- a/prusaslicer/patches/patch-src_libslic3r_Thread.cpp
+++ b/prusaslicer/patches/patch-src_libslic3r_Thread.cpp
@@ -2,12 +2,13 @@ $NetBSD$
pthread_setname_np takes 3 arguments on NetBSD.
---- src/libslic3r/Thread.cpp.orig 2022-08-19 14:41:23.000000000 +0000
+--- src/libslic3r/Thread.cpp.orig 2023-06-02 13:41:15.000000000 +0000
+++ src/libslic3r/Thread.cpp
-@@ -157,6 +157,36 @@ std::optional<std::string> get_current_t
+@@ -160,7 +160,37 @@ std::optional<std::string> get_current_t
return std::nullopt;
}
+-#else
+#else // __APPLE__
+
+#ifdef __NetBSD__
@@ -38,10 +39,11 @@ pthread_setname_np takes 3 arguments on NetBSD.
+ return std::string(pthread_getname_np(pthread_self(), buf, 16) == 0 ? buf : "");
+}
+
- #else
++#else // __NetBSD__
// posix
-@@ -184,7 +214,9 @@ std::optional<std::string> get_current_t
+ bool set_thread_name(std::thread &thread, const char *thread_name)
+@@ -187,7 +217,9 @@ std::optional<std::string> get_current_t
return std::string(pthread_getname_np(pthread_self(), buf, 16) == 0 ? buf : "");
}
diff --git a/prusaslicer/patches/patch-src_slic3r_CMakeLists.txt b/prusaslicer/patches/patch-src_slic3r_CMakeLists.txt
deleted file mode 100644
index 7194bb83d2..0000000000
--- a/prusaslicer/patches/patch-src_slic3r_CMakeLists.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
-Use namespaces to link against libcereal >= 1.3.1 from:
-https://github.com/prusa3d/PrusaSlicer/commit/0ffcfd8393457fd035576436752267c9a1e6bbcc
-
---- src/slic3r/CMakeLists.txt.orig 2022-04-22 11:01:19.000000000 +0000
-+++ src/slic3r/CMakeLists.txt
-@@ -260,7 +260,7 @@ add_library(libslic3r_gui STATIC ${SLIC3
-
- encoding_check(libslic3r_gui)
-
--target_link_libraries(libslic3r_gui libslic3r avrdude cereal imgui GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES})
-+target_link_libraries(libslic3r_gui libslic3r avrdude cereal::cereal imgui GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES})
-
- if (MSVC)
- target_link_libraries(libslic3r_gui Setupapi.lib)
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_BitmapCache.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_BitmapCache.cpp
new file mode 100644
index 0000000000..6ad2ba006d
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_BitmapCache.cpp
@@ -0,0 +1,24 @@
+$NetBSD$
+
+Treat NetBSD like Linux.
+
+--- src/slic3r/GUI/BitmapCache.cpp.orig 2023-06-02 13:41:15.000000000 +0000
++++ src/slic3r/GUI/BitmapCache.cpp
+@@ -68,7 +68,7 @@ wxBitmapBundle* BitmapCache::insert_bndl
+ wxVector<wxBitmap> bitmaps;
+
+ std::set<double> scales = {1.0};
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(__NetBSD__)
+
+ #ifdef __APPLE__
+ scales.emplace(m_scale);
+@@ -547,7 +547,7 @@ wxBitmapBundle BitmapCache::mksolid(size
+ wxVector<wxBitmap> bitmaps;
+
+ std::set<double> scales = { 1.0 };
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(__NetBSD__)
+
+ #ifdef __APPLE__
+ scales.emplace(m_scale);
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard.cpp
index eb224d25a9..93bee475a1 100644
--- a/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard.cpp
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard.cpp
@@ -2,18 +2,18 @@ $NetBSD$
Treat NetBSD like Linux.
---- src/slic3r/GUI/ConfigWizard.cpp.orig 2021-12-17 14:00:02.000000000 +0000
+--- src/slic3r/GUI/ConfigWizard.cpp.orig 2023-06-02 13:41:15.000000000 +0000
+++ src/slic3r/GUI/ConfigWizard.cpp
-@@ -48,7 +48,7 @@
- #include "MsgDialog.hpp"
- #include "UnsavedChangesDialog.hpp"
+@@ -60,7 +60,7 @@
+ #include "slic3r/GUI/I18N.hpp"
+ #include "slic3r/Config/Version.hpp"
-#if defined(__linux__) && defined(__WXGTK3__)
+#if (defined(__linux__) || defined(__NetBSD__)) && defined(__WXGTK3__)
#define wxLinux_gtk3 true
#else
#define wxLinux_gtk3 false
-@@ -508,7 +508,7 @@ void PageWelcome::set_run_reason(ConfigW
+@@ -583,7 +583,7 @@ void PageWelcome::set_run_reason(ConfigW
const bool data_empty = run_reason == ConfigWizard::RR_DATA_EMPTY;
welcome_text->Show(data_empty);
cbox_reset->Show(!data_empty);
@@ -22,12 +22,21 @@ Treat NetBSD like Linux.
if (!DesktopIntegrationDialog::is_integrated())
cbox_integrate->Show(true);
else
-@@ -2595,7 +2595,7 @@ bool ConfigWizard::priv::apply_config(Ap
+@@ -1474,7 +1474,7 @@ PageDownloader::PageDownloader(ConfigWiz
+ " The model will be downloaded into folder you choose bellow."
+ ), SLIC3R_APP_NAME));
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ append_text(wxString::Format(_L(
+ "On Linux systems the process of registration also creates desktop integration files for this version of application."
+ )));
+@@ -3106,7 +3106,7 @@ bool ConfigWizard::priv::apply_config(Ap
if ((check_unsaved_preset_changes = install_bundles.size() > 0))
header = _L_PLURAL("A new vendor was installed and one of its printers will be activated", "New vendors were installed and one of theirs printers will be activated", install_bundles.size());
-#ifdef __linux__
+#if defined(__linux__) || defined(__NetBSD__)
// Desktop integration on Linux
- if (page_welcome->integrate_desktop())
- DesktopIntegrationDialog::perform_desktop_integration();
+ BOOST_LOG_TRIVIAL(debug) << "ConfigWizard::priv::apply_config integrate_desktop" << page_welcome->integrate_desktop() << " perform_registration_linux " << page_downloader->m_downloader->get_perform_registration_linux();
+ if (page_welcome->integrate_desktop())
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard.hpp b/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard.hpp
new file mode 100644
index 0000000000..073f580e77
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard.hpp
@@ -0,0 +1,24 @@
+$NetBSD$
+
+Treat NetBSD like Linux.
+
+--- src/slic3r/GUI/ConfigWizard.hpp.orig 2023-06-02 13:41:15.000000000 +0000
++++ src/slic3r/GUI/ConfigWizard.hpp
+@@ -22,7 +22,7 @@ namespace DownloaderUtils {
+ wxWindow* m_parent{ nullptr };
+ wxTextCtrl* m_input_path{ nullptr };
+ bool downloader_checked{ false };
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ bool perform_registration_linux{ false };
+ #endif // __linux__
+
+@@ -41,7 +41,7 @@ namespace DownloaderUtils {
+
+ bool on_finish();
+ bool perform_register(const std::string& path_override = {});
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ bool get_perform_registration_linux() { return perform_registration_linux; }
+ #endif // __linux__
+ };
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard__private.hpp b/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard__private.hpp
deleted file mode 100644
index 221c444774..0000000000
--- a/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard__private.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Treat NetBSD like Linux.
-
---- src/slic3r/GUI/ConfigWizard_private.hpp.orig 2021-12-17 14:00:02.000000000 +0000
-+++ src/slic3r/GUI/ConfigWizard_private.hpp
-@@ -619,7 +619,7 @@ struct ConfigWizard::priv
- bool apply_config(AppConfig *app_config, PresetBundle *preset_bundle, const PresetUpdater *updater, bool& apply_keeped_changes);
- // #ys_FIXME_alise
- void update_presets_in_config(const std::string& section, const std::string& alias_key, bool add);
--#ifdef __linux__
-+#if defined(__linux__) || defined(__NetBSD__)
- void perform_desktop_integration() const;
- #endif
- bool check_fff_selected(); // Used to decide whether to display Filaments page
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_DesktopIntegrationDialog.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_DesktopIntegrationDialog.cpp
index 5d886a71d3..a90533678f 100644
--- a/prusaslicer/patches/patch-src_slic3r_GUI_DesktopIntegrationDialog.cpp
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_DesktopIntegrationDialog.cpp
@@ -2,7 +2,7 @@ $NetBSD$
Treat NetBSD like Linux.
---- src/slic3r/GUI/DesktopIntegrationDialog.cpp.orig 2021-12-17 14:00:02.000000000 +0000
+--- src/slic3r/GUI/DesktopIntegrationDialog.cpp.orig 2023-06-02 13:41:15.000000000 +0000
+++ src/slic3r/GUI/DesktopIntegrationDialog.cpp
@@ -1,4 +1,4 @@
-#ifdef __linux__
@@ -10,10 +10,3 @@ Treat NetBSD like Linux.
#include "DesktopIntegrationDialog.hpp"
#include "GUI_App.hpp"
#include "GUI.hpp"
-@@ -503,4 +503,4 @@ DesktopIntegrationDialog::~DesktopIntegr
-
- } // namespace GUI
- } // namespace Slic3r
--#endif // __linux__
-\ No newline at end of file
-+#endif // __linux__
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_DesktopIntegrationDialog.hpp b/prusaslicer/patches/patch-src_slic3r_GUI_DesktopIntegrationDialog.hpp
index 0fffc55a55..b48b84110e 100644
--- a/prusaslicer/patches/patch-src_slic3r_GUI_DesktopIntegrationDialog.hpp
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_DesktopIntegrationDialog.hpp
@@ -2,7 +2,7 @@ $NetBSD$
Treat NetBSD like Linux.
---- src/slic3r/GUI/DesktopIntegrationDialog.hpp.orig 2021-12-17 14:00:02.000000000 +0000
+--- src/slic3r/GUI/DesktopIntegrationDialog.hpp.orig 2023-06-02 13:41:15.000000000 +0000
+++ src/slic3r/GUI/DesktopIntegrationDialog.hpp
@@ -1,4 +1,4 @@
-#ifdef __linux__
@@ -10,7 +10,7 @@ Treat NetBSD like Linux.
#ifndef slic3r_DesktopIntegrationDialog_hpp_
#define slic3r_DesktopIntegrationDialog_hpp_
-@@ -36,4 +36,4 @@ private:
+@@ -42,4 +42,4 @@ private:
} // namespace Slic3r
#endif // slic3r_DesktopIntegrationDialog_hpp_
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_Field.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_Field.cpp
new file mode 100644
index 0000000000..4056006094
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_Field.cpp
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Treat NetBSD like Linux.
+
+--- src/slic3r/GUI/Field.cpp.orig 2023-06-02 13:41:15.000000000 +0000
++++ src/slic3r/GUI/Field.cpp
+@@ -199,7 +199,7 @@ bool Field::is_matched(const std::string
+
+ static wxString na_value(bool for_spin_ctrl = false)
+ {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ if (for_spin_ctrl)
+ return "";
+ #endif
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_GLCanvas3D.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_GLCanvas3D.cpp
index 6de5d4bbb2..8d3ee71c05 100644
--- a/prusaslicer/patches/patch-src_slic3r_GUI_GLCanvas3D.cpp
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_GLCanvas3D.cpp
@@ -1,15 +1,15 @@
$NetBSD$
-Undef any Convex macro, regardless of OS.
+Treat NetBSD like Linux.
---- src/slic3r/GUI/GLCanvas3D.cpp.orig 2021-12-17 14:00:02.000000000 +0000
+--- src/slic3r/GUI/GLCanvas3D.cpp.orig 2023-06-02 13:41:15.000000000 +0000
+++ src/slic3r/GUI/GLCanvas3D.cpp
-@@ -96,7 +96,7 @@ float RetinaHelper::get_scale_factor() {
- #endif // __WXGTK3__
-
- // Fixed the collision between BuildVolume::Type::Convex and macro Convex defined inside /usr/include/X11/X.h that is included by WxWidgets 3.0.
--#if defined(__linux__) && defined(Convex)
-+#ifdef Convex
- #undef Convex
- #endif
-
+@@ -97,7 +97,7 @@ float RetinaHelper::get_scale_factor() {
+ #endif // __WXGTK3__
+
+ // Fixed the collision between BuildVolume::Type::Convex and macro Convex defined inside /usr/include/X11/X.h that is included by WxWidgets 3.0.
+-#if defined(__linux__) && defined(Convex)
++#if (defined(__linux__) || defined(__NetBSD__)) && defined(Convex)
+ #undef Convex
+ #endif
+
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_GUI.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_GUI.cpp
new file mode 100644
index 0000000000..1f210b1aeb
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_GUI.cpp
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Treat NetBSD like Linux.
+
+--- src/slic3r/GUI/GUI.cpp.orig 2023-06-02 13:41:15.000000000 +0000
++++ src/slic3r/GUI/GUI.cpp
+@@ -490,7 +490,7 @@ void desktop_open_folder(const boost::fi
+ #endif
+ }
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ namespace {
+ wxExecuteEnv get_appimage_exec_env()
+ {
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_GUI.hpp b/prusaslicer/patches/patch-src_slic3r_GUI_GUI.hpp
new file mode 100644
index 0000000000..99f4337d35
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_GUI.hpp
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Treat NetBSD like Linux.
+
+--- src/slic3r/GUI/GUI.hpp.orig 2023-06-02 13:41:15.000000000 +0000
++++ src/slic3r/GUI/GUI.hpp
+@@ -84,7 +84,7 @@ extern void desktop_open_datadir_folder(
+ // Ask the destop to open the directory specified by path using the default file explorer.
+ void desktop_open_folder(const boost::filesystem::path& path);
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ // Calling wxExecute on Linux with proper handling of AppImage's env vars.
+ // argv example: { "xdg-open", path.c_str(), nullptr }
+ void desktop_execute(const char* argv[]);
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_GUI__App.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_GUI__App.cpp
index c6da70dc46..a514b1e040 100644
--- a/prusaslicer/patches/patch-src_slic3r_GUI_GUI__App.cpp
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_GUI__App.cpp
@@ -2,9 +2,9 @@ $NetBSD$
Treat NetBSD like Linux.
---- src/slic3r/GUI/GUI_App.cpp.orig 2022-04-22 11:01:19.000000000 +0000
+--- src/slic3r/GUI/GUI_App.cpp.orig 2023-06-02 13:41:15.000000000 +0000
+++ src/slic3r/GUI/GUI_App.cpp
-@@ -374,7 +374,7 @@ private:
+@@ -394,7 +394,7 @@ private:
};
@@ -13,16 +13,7 @@ Treat NetBSD like Linux.
bool static check_old_linux_datadir(const wxString& app_name) {
// If we are on Linux and the datadir does not exist yet, look into the old
// location where the datadir was before version 2.3. If we find it there,
-@@ -839,7 +839,7 @@ wxGLContext* GUI_App::init_glcontext(wxG
-
- bool GUI_App::init_opengl()
- {
--#ifdef __linux__
-+#if defined(__linux__) || defined(__NetBSD__)
- bool status = m_opengl_mgr.init_gl();
- m_opengl_initialized = true;
- return status;
-@@ -880,7 +880,7 @@ void GUI_App::init_app_config()
+@@ -937,7 +937,7 @@ void GUI_App::init_app_config()
// Mac : "~/Library/Application Support/Slic3r"
if (data_dir().empty()) {
@@ -31,7 +22,7 @@ Treat NetBSD like Linux.
set_data_dir(wxStandardPaths::Get().GetUserDataDir().ToUTF8().data());
#else
// Since version 2.3, config dir on Linux is in ${XDG_CONFIG_HOME}.
-@@ -1070,7 +1070,7 @@ bool GUI_App::on_init_inner()
+@@ -1122,7 +1122,7 @@ bool GUI_App::on_init_inner()
wxCHECK_MSG(wxDirExists(resources_dir), false,
wxString::Format("Resources path does not exist or is not a directory: %s", resources_dir));
@@ -40,7 +31,7 @@ Treat NetBSD like Linux.
if (! check_old_linux_datadir(GetAppName())) {
std::cerr << "Quitting, user chose to move their data to new location." << std::endl;
return false;
-@@ -1171,7 +1171,7 @@ bool GUI_App::on_init_inner()
+@@ -1227,7 +1227,7 @@ bool GUI_App::on_init_inner()
if (!default_splashscreen_pos)
// revert "restore_win_position" value if application wasn't crashed
get_app_config()->set("restore_win_position", "1");
@@ -49,16 +40,16 @@ Treat NetBSD like Linux.
wxYield();
#endif
scrn->SetText(_L("Loading configuration")+ dots);
-@@ -1311,7 +1311,7 @@ bool GUI_App::on_init_inner()
-
- // An ugly solution to GH #5537 in which GUI_App::init_opengl (normally called from events wxEVT_PAINT
+@@ -1375,7 +1375,7 @@ bool GUI_App::on_init_inner()
// and wxEVT_SET_FOCUS before GUI_App::post_init is called) wasn't called before GUI_App::post_init and OpenGL wasn't initialized.
--#ifdef __linux__
-+#if defined(__linux__) || defined(__NetBSD__)
- if (! m_post_initialized && m_opengl_initialized) {
+ // Since issue #9774 Where same problem occured on MacOS Ventura, we decided to have this check on MacOS as well.
+
+-#if defined(__linux__) || defined(__APPLE__)
++#if defined(__linux__) || defined(__NetBSD__) || defined(__APPLE__)
+ if (!m_post_initialized && m_opengl_initialized) {
#else
- if (! m_post_initialized) {
-@@ -1897,7 +1897,7 @@ bool GUI_App::switch_language()
+ if (!m_post_initialized) {
+@@ -2018,7 +2018,7 @@ bool GUI_App::switch_language()
}
}
@@ -67,7 +58,7 @@ Treat NetBSD like Linux.
static const wxLanguageInfo* linux_get_existing_locale_language(const wxLanguageInfo* language,
const wxLanguageInfo* system_language)
{
-@@ -2086,7 +2086,7 @@ bool GUI_App::load_language(wxString lan
+@@ -2217,7 +2217,7 @@ bool GUI_App::load_language(wxString lan
m_language_info_best = wxLocale::FindLanguageInfo(best_language);
BOOST_LOG_TRIVIAL(trace) << boost::format("Best translation language detected (may be different from user locales): %1%") % m_language_info_best->CanonicalName.ToUTF8().data();
}
@@ -76,7 +67,7 @@ Treat NetBSD like Linux.
wxString lc_all;
if (wxGetEnv("LC_ALL", &lc_all) && ! lc_all.IsEmpty()) {
// Best language returned by wxWidgets on Linux apparently does not respect LC_ALL.
-@@ -2139,7 +2139,7 @@ bool GUI_App::load_language(wxString lan
+@@ -2270,7 +2270,7 @@ bool GUI_App::load_language(wxString lan
} else if (m_language_info_system != nullptr && language_info->CanonicalName.BeforeFirst('_') == m_language_info_system->CanonicalName.BeforeFirst('_'))
language_info = m_language_info_system;
@@ -85,25 +76,25 @@ Treat NetBSD like Linux.
// If we can't find this locale , try to use different one for the language
// instead of just reporting that it is impossible to switch.
if (! wxLocale::IsAvailable(language_info->Language)) {
-@@ -2239,7 +2239,7 @@ void GUI_App::add_config_menu(wxMenuBar
- local_menu->Append(config_id_base + ConfigMenuSnapshots, _L("&Configuration Snapshots") + dots, _L("Inspect / activate configuration snapshots"));
+@@ -2397,7 +2397,7 @@ void GUI_App::add_config_menu(wxMenuBar
local_menu->Append(config_id_base + ConfigMenuTakeSnapshot, _L("Take Configuration &Snapshot"), _L("Capture a configuration snapshot"));
- local_menu->Append(config_id_base + ConfigMenuUpdate, _L("Check for Configuration Updates"), _L("Check for configuration updates"));
+ local_menu->Append(config_id_base + ConfigMenuUpdateConf, _L("Check for Configuration Updates"), _L("Check for configuration updates"));
+ local_menu->Append(config_id_base + ConfigMenuUpdateApp, _L("Check for Application Updates"), _L("Check for new version of application"));
-#if defined(__linux__) && defined(SLIC3R_DESKTOP_INTEGRATION)
+#if (defined(__linux__) || defined(__NetBSD__)) && defined(SLIC3R_DESKTOP_INTEGRATION)
//if (DesktopIntegrationDialog::integration_possible())
local_menu->Append(config_id_base + ConfigMenuDesktopIntegration, _L("Desktop Integration"), _L("Desktop Integration"));
#endif //(__linux__) && defined(SLIC3R_DESKTOP_INTEGRATION)
-@@ -2283,7 +2283,7 @@ void GUI_App::add_config_menu(wxMenuBar
- case ConfigMenuUpdate:
- check_updates(true);
- break;
+@@ -2444,7 +2444,7 @@ void GUI_App::add_config_menu(wxMenuBar
+ case ConfigMenuUpdateApp:
+ app_version_check(true);
+ break;
-#ifdef __linux__
+#if defined(__linux__) || defined(__NetBSD__)
case ConfigMenuDesktopIntegration:
show_desktop_integration_dialog();
break;
-@@ -2905,7 +2905,7 @@ bool GUI_App::run_wizard(ConfigWizard::R
+@@ -3061,7 +3061,7 @@ bool GUI_App::run_wizard(ConfigWizard::R
void GUI_App::show_desktop_integration_dialog()
{
@@ -112,3 +103,12 @@ Treat NetBSD like Linux.
//wxCHECK_MSG(mainframe != nullptr, false, "Internal error: Main frame not created / null");
DesktopIntegrationDialog dialog(mainframe);
dialog.ShowModal();
+@@ -3081,7 +3081,7 @@ void GUI_App::show_downloader_registrati
+ if (msg.ShowModal() == wxID_YES) {
+ auto downloader_worker = new DownloaderUtils::Worker(nullptr);
+ downloader_worker->perform_register(app_config->get("url_downloader_dest"));
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ if (downloader_worker->get_perform_registration_linux())
+ DesktopIntegrationDialog::perform_downloader_desktop_integration();
+ #endif // __linux__
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_GUI__App.hpp b/prusaslicer/patches/patch-src_slic3r_GUI_GUI__App.hpp
deleted file mode 100644
index 6e35813672..0000000000
--- a/prusaslicer/patches/patch-src_slic3r_GUI_GUI__App.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Treat NetBSD like Linux.
-
---- src/slic3r/GUI/GUI_App.hpp.orig 2021-12-17 14:00:02.000000000 +0000
-+++ src/slic3r/GUI/GUI_App.hpp
-@@ -112,7 +112,7 @@ private:
- bool m_app_conf_exists{ false };
- EAppMode m_app_mode{ EAppMode::Editor };
- bool m_is_recreating_gui{ false };
--#ifdef __linux__
-+#if defined(__linux__) || defined(__NetBSD__)
- bool m_opengl_initialized{ false };
- #endif
-
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_GUI__Factories.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_GUI__Factories.cpp
new file mode 100644
index 0000000000..f1642be737
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_GUI__Factories.cpp
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Treat NetBSD like Linux.
+
+--- src/slic3r/GUI/GUI_Factories.cpp.orig 2023-06-02 13:41:15.000000000 +0000
++++ src/slic3r/GUI/GUI_Factories.cpp
+@@ -1345,7 +1345,7 @@ void MenuFactory::sys_color_changed(wxMe
+ for (size_t id = 0; id < menubar->GetMenuCount(); id++) {
+ wxMenu* menu = menubar->GetMenu(id);
+ sys_color_changed_menu(menu);
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(__NetBSD__)
+ menu->SetupBitmaps();
+ #ifdef _WIN32
+ // but under MSW we have to update item's bachground color
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_GUI__ObjectLayers.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_GUI__ObjectLayers.cpp
new file mode 100644
index 0000000000..5b0a131a96
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_GUI__ObjectLayers.cpp
@@ -0,0 +1,24 @@
+$NetBSD$
+
+Treat NetBSD like Linux.
+
+--- src/slic3r/GUI/GUI_ObjectLayers.cpp.orig 2023-06-02 13:41:15.000000000 +0000
++++ src/slic3r/GUI/GUI_ObjectLayers.cpp
+@@ -344,7 +344,7 @@ LayerRangeEditor::LayerRangeEditor( Obje
+ m_enter_pressed = true;
+ // Workaround! Under Linux we have to use CallAfter() to avoid crash after pressing ENTER key
+ // see #7531, #8055, #8408
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ wxTheApp->CallAfter([this, edit_fn]() {
+ #endif
+ // If LayersList wasn't updated/recreated, we can call wxEVT_KILL_FOCUS.Skip()
+@@ -359,7 +359,7 @@ LayerRangeEditor::LayerRangeEditor( Obje
+ SetValue(m_valid_value);
+ m_call_kill_focus = true;
+ }
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ });
+ #endif
+ }, this->GetId());
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_GUI__ObjectManipulation.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_GUI__ObjectManipulation.cpp
new file mode 100644
index 0000000000..29c81e103e
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_GUI__ObjectManipulation.cpp
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Treat NetBSD like Linux.
+
+--- src/slic3r/GUI/GUI_ObjectManipulation.cpp.orig 2023-06-02 13:41:15.000000000 +0000
++++ src/slic3r/GUI/GUI_ObjectManipulation.cpp
+@@ -490,7 +490,7 @@ void ObjectManipulation::Show(const bool
+ const Selection& selection = wxGetApp().plater()->canvas3D()->get_selection();
+ bool show_world_local_combo = wxGetApp().get_mode() != comSimple && (selection.is_single_full_instance() || selection.is_single_volume_or_modifier());
+ if (selection.is_single_volume_or_modifier() && m_word_local_combo->GetCount() < 3) {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ m_word_local_combo->Insert(coordinate_type_str(ECoordinatesType::Local), 2);
+ #else
+ m_word_local_combo->Insert(coordinate_type_str(ECoordinatesType::Local), wxNullBitmap, 2);
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_KBShortcutsDialog.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_KBShortcutsDialog.cpp
new file mode 100644
index 0000000000..94759211c2
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_KBShortcutsDialog.cpp
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Treat NetBSD like Linux.
+
+--- src/slic3r/GUI/KBShortcutsDialog.cpp.orig 2023-06-02 13:41:15.000000000 +0000
++++ src/slic3r/GUI/KBShortcutsDialog.cpp
+@@ -54,7 +54,7 @@ KBShortcutsDialog::KBShortcutsDialog()
+ main_sizer->SetSizeHints(this);
+ this->CenterOnParent();
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ // workaround to correct pages layout
+ book->Bind(wxEVT_NOTEBOOK_PAGE_CHANGED, [book](wxBookCtrlEvent& e) {
+ book->GetPage(e.GetSelection())->Fit();
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_NotificationManager.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_NotificationManager.cpp
deleted file mode 100644
index 505985c0a0..0000000000
--- a/prusaslicer/patches/patch-src_slic3r_GUI_NotificationManager.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD$
-
-Treat NetBSD like Linux.
-
---- src/slic3r/GUI/NotificationManager.cpp.orig 2021-12-17 14:00:02.000000000 +0000
-+++ src/slic3r/GUI/NotificationManager.cpp
-@@ -337,8 +337,11 @@ void NotificationManager::PopNotificatio
- if (is_finished())
- return;
-
-+ // stix
-+ // wxGetApp().imgui()->new_frame();
- count_spaces();
- count_lines();
-+ // ImGui::EndFrame();
-
- if (m_lines_count == 3)
- m_multiline = true;
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_OptionsGroup.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_OptionsGroup.cpp
new file mode 100644
index 0000000000..ec81c31216
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_OptionsGroup.cpp
@@ -0,0 +1,24 @@
+$NetBSD$
+
+Treat NetBSD like Linux.
+
+--- src/slic3r/GUI/OptionsGroup.cpp.orig 2023-06-02 13:41:15.000000000 +0000
++++ src/slic3r/GUI/OptionsGroup.cpp
+@@ -1051,7 +1051,7 @@ void ogStaticText::SetText(const wxStrin
+
+ void ogStaticText::SetPathEnd(const std::string& link)
+ {
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(__NetBSD__)
+
+ Bind(wxEVT_ENTER_WINDOW, [this, link](wxMouseEvent& event) {
+ SetToolTip(OptionsGroup::get_url(get_app_config()->get("suppress_hyperlinks") != "1" ? link : std::string()));
+@@ -1104,7 +1104,7 @@ void ogStaticText::FocusText(bool focus)
+
+ SetFont(focus ? Slic3r::GUI::wxGetApp().link_font() :
+ Slic3r::GUI::wxGetApp().normal_font());
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ this->GetContainingSizer()->Layout();
+ #endif
+ Refresh();
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_Plater.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_Plater.cpp
index 3aa387617e..9562e5567d 100644
--- a/prusaslicer/patches/patch-src_slic3r_GUI_Plater.cpp
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_Plater.cpp
@@ -2,14 +2,32 @@ $NetBSD$
Treat NetBSD like Linux.
---- src/slic3r/GUI/Plater.cpp.orig 2021-12-17 14:00:02.000000000 +0000
+--- src/slic3r/GUI/Plater.cpp.orig 2023-06-02 13:41:15.000000000 +0000
+++ src/slic3r/GUI/Plater.cpp
-@@ -4214,7 +4214,7 @@ void Plater::priv::on_right_click(RBtnEv
- }
-
- if (q != nullptr && menu) {
+@@ -2452,7 +2452,7 @@ std::vector<size_t> Plater::priv::load_f
+ // when loading a project file. However, creating the dialog on heap causes issues on macOS, where it does not
+ // appear at all. Therefore, we create the dialog on stack on Win and macOS, and on heap on Linux, which
+ // is the only system that needed the workarounds in the first place.
-#ifdef __linux__
+#if defined(__linux__) || defined(__NetBSD__)
- // For some reason on Linux the menu isn't displayed if position is specified
- // (even though the position is sane).
- q->PopupMenu(menu);
+ auto progress_dlg = new wxProgressDialog(loading, "", 100, find_toplevel_parent(q), wxPD_APP_MODAL | wxPD_AUTO_HIDE);
+ Slic3r::ScopeGuard([&progress_dlg](){ if (progress_dlg) progress_dlg->Destroy(); progress_dlg = nullptr; });
+ #else
+@@ -2498,7 +2498,7 @@ std::vector<size_t> Plater::priv::load_f
+ bool is_project_file = type_prusa;
+ try {
+ if (type_3mf || type_zip_amf) {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ // On Linux Constructor of the ProgressDialog calls DisableOtherWindows() function which causes a disabling of all children of the find_toplevel_parent(q)
+ // And a destructor of the ProgressDialog calls ReenableOtherWindows() function which revert previously disabled children.
+ // But if printer technology will be changes during project loading,
+@@ -4397,7 +4397,7 @@ void Plater::priv::on_right_click(RBtnEv
+ Vec2d mouse_position = evt.data.first;
+ wxPoint position(static_cast<int>(mouse_position.x()),
+ static_cast<int>(mouse_position.y()));
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ // For some reason on Linux the menu isn't displayed if position is
+ // specified (even though the position is sane).
+ position = wxDefaultPosition;
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_Preferences.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_Preferences.cpp
new file mode 100644
index 0000000000..2db0048f0f
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_Preferences.cpp
@@ -0,0 +1,24 @@
+$NetBSD$
+
+Treat NetBSD like Linux.
+
+--- src/slic3r/GUI/Preferences.cpp.orig 2023-06-02 13:41:15.000000000 +0000
++++ src/slic3r/GUI/Preferences.cpp
+@@ -18,7 +18,7 @@
+ #ifdef WIN32
+ #include <wx/msw/registry.h>
+ #endif // WIN32
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ #include "DesktopIntegrationDialog.hpp"
+ #endif //__linux__
+
+@@ -688,7 +688,7 @@ void PreferencesDialog::accept(wxEvent&)
+ downloader->allow(it->second == "1");
+ if (!downloader->on_finish())
+ return;
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ if( downloader->get_perform_registration_linux())
+ DesktopIntegrationDialog::perform_downloader_desktop_integration();
+ #endif // __linux__
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_PrintHostDialogs.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_PrintHostDialogs.cpp
index 4d4e60b683..d2fb60868d 100644
--- a/prusaslicer/patches/patch-src_slic3r_GUI_PrintHostDialogs.cpp
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_PrintHostDialogs.cpp
@@ -5,9 +5,9 @@ Treat NetBSD like Linux.
Upstream fix for boost deprecations:
https://github.com/prusa3d/PrusaSlicer/issues/9294
---- src/slic3r/GUI/PrintHostDialogs.cpp.orig 2023-03-13 13:20:26.000000000 +0000
+--- src/slic3r/GUI/PrintHostDialogs.cpp.orig 2023-06-02 13:41:15.000000000 +0000
+++ src/slic3r/GUI/PrintHostDialogs.cpp
-@@ -79,8 +79,8 @@ PrintHostSendDialog::PrintHostSendDialog
+@@ -100,8 +100,8 @@ PrintHostSendDialog::PrintHostSendDialog
if (size_t extension_start = recent_path.find_last_of('.'); extension_start != std::string::npos)
m_valid_suffix = recent_path.substr(extension_start);
// .gcode suffix control
@@ -18,7 +18,7 @@ https://github.com/prusa3d/PrusaSlicer/issues/9294
MessageDialog msg_wingow(this, wxString::Format(_L("Upload filename doesn't end with \"%s\". Do you wish to continue?"), m_valid_suffix), wxString(SLIC3R_APP_NAME), wxYES | wxNO);
if (msg_wingow.ShowModal() == wxID_NO)
return false;
-@@ -90,7 +90,7 @@ PrintHostSendDialog::PrintHostSendDialog
+@@ -111,7 +111,7 @@ PrintHostSendDialog::PrintHostSendDialog
auto* btn_ok = add_button(wxID_OK, true, _L("Upload"));
btn_ok->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
@@ -27,7 +27,16 @@ https://github.com/prusa3d/PrusaSlicer/issues/9294
post_upload_action = PrintHostPostUploadAction::None;
EndDialog(wxID_OK);
}
-@@ -100,7 +100,7 @@ PrintHostSendDialog::PrintHostSendDialog
+@@ -121,7 +121,7 @@ PrintHostSendDialog::PrintHostSendDialog
+ if (post_actions.has(PrintHostPostUploadAction::QueuePrint)) {
+ auto* btn_print = add_button(wxID_ADD, false, _L("Upload to Queue"));
+ btn_print->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
+- if (validate_path(txt_filename->GetValue())) {
++ if (validate_path(txt_filename->GetValue().ToStdWstring())) {
+ post_upload_action = PrintHostPostUploadAction::QueuePrint;
+ EndDialog(wxID_OK);
+ }
+@@ -131,7 +131,7 @@ PrintHostSendDialog::PrintHostSendDialog
if (post_actions.has(PrintHostPostUploadAction::StartPrint)) {
auto* btn_print = add_button(wxID_YES, false, _L("Upload and Print"));
btn_print->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
@@ -36,7 +45,7 @@ https://github.com/prusa3d/PrusaSlicer/issues/9294
post_upload_action = PrintHostPostUploadAction::StartPrint;
EndDialog(wxID_OK);
}
-@@ -111,7 +111,7 @@ PrintHostSendDialog::PrintHostSendDialog
+@@ -142,7 +142,7 @@ PrintHostSendDialog::PrintHostSendDialog
// Using wxID_MORE as a button identifier to be different from the other buttons, wxID_MORE has no other meaning here.
auto* btn_simulate = add_button(wxID_MORE, false, _L("Upload and Simulate"));
btn_simulate->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
@@ -45,7 +54,7 @@ https://github.com/prusa3d/PrusaSlicer/issues/9294
post_upload_action = PrintHostPostUploadAction::StartSimulation;
EndDialog(wxID_OK);
}
-@@ -121,7 +121,7 @@ PrintHostSendDialog::PrintHostSendDialog
+@@ -152,7 +152,7 @@ PrintHostSendDialog::PrintHostSendDialog
add_button(wxID_CANCEL);
finalize();
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_Tab.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_Tab.cpp
index b0c177e88d..e29c36ed93 100644
--- a/prusaslicer/patches/patch-src_slic3r_GUI_Tab.cpp
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_Tab.cpp
@@ -2,9 +2,9 @@ $NetBSD$
Treat NetBSD like Linux.
---- src/slic3r/GUI/Tab.cpp.orig 2022-03-10 10:35:03.000000000 +0000
+--- src/slic3r/GUI/Tab.cpp.orig 2023-06-02 13:41:15.000000000 +0000
+++ src/slic3r/GUI/Tab.cpp
-@@ -320,7 +320,7 @@ void Tab::create_preset_tab()
+@@ -279,7 +279,7 @@ void Tab::create_preset_tab()
// This helps to process all the cursor key events on Windows in the tree control,
// so that the cursor jumps to the last item.
m_treectrl->Bind(wxEVT_TREE_SEL_CHANGED, [this](wxTreeEvent&) {
@@ -13,16 +13,7 @@ Treat NetBSD like Linux.
// Events queue is opposite On Linux. wxEVT_SET_FOCUS invokes after wxEVT_TREE_SEL_CHANGED,
// and a result wxEVT_KILL_FOCUS doesn't invoke for the TextCtrls.
// see https://github.com/prusa3d/PrusaSlicer/issues/5720
-@@ -1762,7 +1762,7 @@ void TabPrint::update_description_lines(
- if (m_post_process_explanation) {
- m_post_process_explanation->SetText(
- _L("Post processing scripts shall modify G-code file in place."));
--#ifndef __linux__
-+#if !defined(__linux__) && !defined(__NetBSD__)
- m_post_process_explanation->SetPathEnd("post-processing-scripts_283913");
- #endif // __linux__
- }
-@@ -3151,7 +3151,7 @@ void Tab::load_current_preset()
+@@ -3411,7 +3411,7 @@ void Tab::load_current_preset()
else
#endif
wxGetApp().tab_panel()->InsertPage(wxGetApp().tab_panel()->FindPage(this), tab, tab->title());
@@ -31,7 +22,7 @@ Treat NetBSD like Linux.
int page_id = wxGetApp().tab_panel()->FindPage(tab);
wxGetApp().tab_panel()->GetPage(page_id)->Show(true);
#endif // __linux__
-@@ -3525,7 +3525,7 @@ bool Tab::tree_sel_change_delayed()
+@@ -3821,7 +3821,7 @@ bool Tab::tree_sel_change_delayed()
// There is a bug related to Ubuntu overlay scrollbars, see https://github.com/prusa3d/PrusaSlicer/issues/898 and https://github.com/prusa3d/PrusaSlicer/issues/952.
// The issue apparently manifests when Show()ing a window with overlay scrollbars while the UI is frozen. For this reason,
// we will Thaw the UI prematurely on Linux. This means destroing the no_updates object prematurely.
@@ -40,7 +31,7 @@ Treat NetBSD like Linux.
std::unique_ptr<wxWindowUpdateLocker> no_updates(new wxWindowUpdateLocker(this));
#else
/* On Windows we use DoubleBuffering during rendering,
-@@ -3571,7 +3571,7 @@ bool Tab::tree_sel_change_delayed()
+@@ -3867,7 +3867,7 @@ bool Tab::tree_sel_change_delayed()
if (wxGetApp().mainframe!=nullptr && wxGetApp().mainframe->is_active_and_shown_tab(this))
activate_selected_page(throw_if_canceled);
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_UnsavedChangesDialog.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_UnsavedChangesDialog.cpp
index 141e0c1815..5607979988 100644
--- a/prusaslicer/patches/patch-src_slic3r_GUI_UnsavedChangesDialog.cpp
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_UnsavedChangesDialog.cpp
@@ -2,8 +2,17 @@ $NetBSD$
Treat NetBSD like Linux.
---- src/slic3r/GUI/UnsavedChangesDialog.cpp.orig 2021-12-17 14:00:02.000000000 +0000
+--- src/slic3r/GUI/UnsavedChangesDialog.cpp.orig 2023-06-02 13:41:15.000000000 +0000
+++ src/slic3r/GUI/UnsavedChangesDialog.cpp
+@@ -25,7 +25,7 @@
+
+ using boost::optional;
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ #define wxLinux true
+ #else
+ #define wxLinux false
@@ -109,7 +109,7 @@ ModelNode::ModelNode(ModelNode* parent,
UpdateIcons();
}
@@ -13,25 +22,25 @@ Treat NetBSD like Linux.
wxIcon ModelNode::get_bitmap(const wxString& color)
#else
wxBitmap ModelNode::get_bitmap(const wxString& color)
-@@ -127,7 +127,7 @@ wxBitmap ModelNode::get_bitmap(const wxS
- unsigned char rgb[3];
- BitmapCache::parse_color(into_u8(color), rgb);
- // there is no need to scale created solid bitmap
+@@ -118,7 +118,7 @@ wxBitmap ModelNode::get_bitmap(const wxS
+ wxBitmap bmp = get_solid_bmp_bundle(64, 16, into_u8(color))->GetBitmapFor(m_parent_win);
+ if (!m_toggle)
+ bmp = bmp.ConvertToDisabled();
-#ifndef __linux__
+#if !defined(__linux__) && !defined(__NetBSD__)
- return bmp_cache.mksolid(icon_width, icon_height, rgb, true);
+ return bmp;
#else
wxIcon icon;
-@@ -210,7 +210,7 @@ void ModelNode::UpdateIcons()
- if (m_icon_name.empty())
- return;
+@@ -222,7 +222,7 @@ void ModelNode::UpdateIcons()
+ if (!m_toggle)
+ bmp = bmp.ConvertToDisabled();
-#ifdef __linux__
+#if defined(__linux__) || defined(__NetBSD__)
- m_icon.CopyFromBitmap(create_scaled_bitmap(m_icon_name, m_parent_win, 16, !m_toggle));
+ m_icon.CopyFromBitmap(bmp);
#else
- m_icon = create_scaled_bitmap(m_icon_name, m_parent_win, 16, !m_toggle);
-@@ -361,7 +361,7 @@ void DiffModel::GetValue(wxVariant& vari
+ m_icon = bmp;
+@@ -374,7 +374,7 @@ void DiffModel::GetValue(wxVariant& vari
case colToggle:
variant = node->m_toggle;
break;
@@ -40,7 +49,7 @@ Treat NetBSD like Linux.
case colIconText:
variant << wxDataViewIconText(node->m_text, node->m_icon);
break;
-@@ -398,7 +398,7 @@ bool DiffModel::SetValue(const wxVariant
+@@ -417,7 +417,7 @@ bool DiffModel::SetValue(const wxVariant
case colToggle:
node->m_toggle = variant.GetBool();
return true;
@@ -49,7 +58,7 @@ Treat NetBSD like Linux.
case colIconText: {
wxDataViewIconText data;
data << variant;
-@@ -603,7 +603,7 @@ DiffViewCtrl::DiffViewCtrl(wxWindow* par
+@@ -622,7 +622,7 @@ DiffViewCtrl::DiffViewCtrl(wxWindow* par
void DiffViewCtrl::AppendBmpTextColumn(const wxString& label, unsigned model_column, int width, bool set_expander/* = false*/)
{
m_columns_width.emplace(this->GetColumnCount(), width);
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_UnsavedChangesDialog.hpp b/prusaslicer/patches/patch-src_slic3r_GUI_UnsavedChangesDialog.hpp
index 62d4623922..fd5ac3e79e 100644
--- a/prusaslicer/patches/patch-src_slic3r_GUI_UnsavedChangesDialog.hpp
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_UnsavedChangesDialog.hpp
@@ -2,10 +2,10 @@ $NetBSD$
Treat NetBSD like Linux.
---- src/slic3r/GUI/UnsavedChangesDialog.hpp.orig 2021-12-17 14:00:02.000000000 +0000
+--- src/slic3r/GUI/UnsavedChangesDialog.hpp.orig 2023-06-02 13:41:15.000000000 +0000
+++ src/slic3r/GUI/UnsavedChangesDialog.hpp
-@@ -44,7 +44,7 @@ class ModelNode
- wxString m_old_color;
+@@ -48,7 +48,7 @@ class ModelNode
+ wxString m_mod_color;
wxString m_new_color;
-#ifdef __linux__
@@ -13,7 +13,7 @@ Treat NetBSD like Linux.
wxIcon get_bitmap(const wxString& color);
#else
wxBitmap get_bitmap(const wxString& color);
-@@ -53,7 +53,7 @@ class ModelNode
+@@ -57,7 +57,7 @@ class ModelNode
public:
bool m_toggle {true};
@@ -21,4 +21,4 @@ Treat NetBSD like Linux.
+#if defined(__linux__) || defined(__NetBSD__)
wxIcon m_icon;
wxIcon m_old_color_bmp;
- wxIcon m_new_color_bmp;
+ wxIcon m_mod_color_bmp;
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_UpdateDialogs.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_UpdateDialogs.cpp
new file mode 100644
index 0000000000..19f849ab6c
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_UpdateDialogs.cpp
@@ -0,0 +1,24 @@
+$NetBSD$
+
+Treat NetBSD like Linux.
+
+--- src/slic3r/GUI/UpdateDialogs.cpp.orig 2023-06-02 13:41:15.000000000 +0000
++++ src/slic3r/GUI/UpdateDialogs.cpp
+@@ -142,7 +142,7 @@ AppUpdateDownloadDialog::AppUpdateDownlo
+ versions->Add(new wxStaticText(this, wxID_ANY, ver_online.to_string()));
+ content_sizer->Add(versions);
+ content_sizer->AddSpacer(VERT_SPACING);
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(__NetBSD__)
+ cbox_run = new wxCheckBox(this, wxID_ANY, _(L("Run installer after download. (Otherwise file explorer will be opened)")));
+ content_sizer->Add(cbox_run);
+ #endif
+@@ -248,7 +248,7 @@ AppUpdateDownloadDialog::~AppUpdateDownl
+
+ bool AppUpdateDownloadDialog::run_after_download() const
+ {
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(__NetBSD__)
+ return cbox_run->GetValue();
+ #endif
+ return false;
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_wxExtensions.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_wxExtensions.cpp
index 08de460d9e..421e002061 100644
--- a/prusaslicer/patches/patch-src_slic3r_GUI_wxExtensions.cpp
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_wxExtensions.cpp
@@ -2,18 +2,36 @@ $NetBSD$
Treat NetBSD like Linux.
---- src/slic3r/GUI/wxExtensions.cpp.orig 2021-12-17 14:00:02.000000000 +0000
+--- src/slic3r/GUI/wxExtensions.cpp.orig 2023-06-02 13:41:15.000000000 +0000
+++ src/slic3r/GUI/wxExtensions.cpp
-@@ -17,7 +17,7 @@
- #include "../Utils/MacDarkMode.hpp"
- #include "BitmapComboBox.hpp"
+@@ -22,7 +22,7 @@
+
+ #include "libslic3r/Color.hpp"
-#ifndef __linux__
+#if !defined(__linux__) && !defined(__NetBSD__)
// msw_menuitem_bitmaps is used for MSW and OSX
static std::map<int, std::string> msw_menuitem_bitmaps;
- #ifdef __WXMSW__
-@@ -677,9 +677,9 @@ void ModeButton::focus_button(const bool
+ void sys_color_changed_menu(wxMenu* menu)
+@@ -92,7 +92,7 @@ wxMenuItem* append_menu_item(wxMenu* men
+
+ wxBitmapBundle* bmp = icon.empty() ? nullptr : get_bmp_bundle(icon);
+
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(__NetBSD__)
+ if (bmp && bmp->IsOk())
+ msw_menuitem_bitmaps[id] = icon;
+ #endif /* no __linux__ */
+@@ -110,7 +110,7 @@ wxMenuItem* append_submenu(wxMenu* menu,
+ if (!icon.empty()) {
+ item->SetBitmap(*get_bmp_bundle(icon));
+
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(__NetBSD__)
+ msw_menuitem_bitmaps[id] = icon;
+ #endif // no __linux__
+ }
+@@ -671,9 +671,9 @@ void ModeButton::focus_button(const bool
GetParent()->Refresh(); // force redraw a background of the selected mode button
#else
SetForegroundColour(wxSystemSettings::GetColour(focus ? wxSYS_COLOUR_BTNTEXT :
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_wxExtensions.hpp b/prusaslicer/patches/patch-src_slic3r_GUI_wxExtensions.hpp
new file mode 100644
index 0000000000..3d52f8d0ef
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_wxExtensions.hpp
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Treat NetBSD like Linux.
+
+--- src/slic3r/GUI/wxExtensions.hpp.orig 2023-06-02 13:41:15.000000000 +0000
++++ src/slic3r/GUI/wxExtensions.hpp
+@@ -16,7 +16,7 @@
+ #include <functional>
+
+
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(__NetBSD__)
+ void sys_color_changed_menu(wxMenu* menu);
+ #else
+ inline void sys_color_changed_menu(wxMenu* /* menu */) {}
diff --git a/prusaslicer/patches/patch-src_slic3r_Utils_FontConfigHelp.hpp b/prusaslicer/patches/patch-src_slic3r_Utils_FontConfigHelp.hpp
new file mode 100644
index 0000000000..e50fd65855
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_Utils_FontConfigHelp.hpp
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Treat NetBSD like Linux.
+
+--- src/slic3r/Utils/FontConfigHelp.hpp.orig 2023-06-02 13:41:15.000000000 +0000
++++ src/slic3r/Utils/FontConfigHelp.hpp
+@@ -1,7 +1,7 @@
+ #ifndef slic3r_FontConfigHelp_hpp_
+ #define slic3r_FontConfigHelp_hpp_
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__NetBSD__)
+ #define EXIST_FONT_CONFIG_INCLUDE
+ #endif
+
diff --git a/prusaslicer/patches/patch-src_slic3r_Utils_WxFontUtils.cpp b/prusaslicer/patches/patch-src_slic3r_Utils_WxFontUtils.cpp
new file mode 100644
index 0000000000..6b02fd100a
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_Utils_WxFontUtils.cpp
@@ -0,0 +1,49 @@
+$NetBSD$
+
+Treat NetBSD like Linux.
+
+--- src/slic3r/Utils/WxFontUtils.cpp.orig 2023-06-02 13:41:15.000000000 +0000
++++ src/slic3r/Utils/WxFontUtils.cpp
+@@ -8,7 +8,7 @@
+ #include <wx/uri.h>
+ #include <wx/fontutil.h> // wxNativeFontInfo
+ #include <wx/osx/core/cfdictionary.h>
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__NetBSD__)
+ #include "slic3r/Utils/FontConfigHelp.hpp"
+ #endif
+
+@@ -72,7 +72,7 @@ bool WxFontUtils::can_load(const wxFont
+ #elif defined(__APPLE__)
+ return true;
+ //return is_valid_ttf(get_file_path(font));
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__NetBSD__)
+ return true;
+ // font config check file path take about 4000ms for chech them all
+ //std::string font_path = Slic3r::GUI::get_font_path(font);
+@@ -93,7 +93,7 @@ std::unique_ptr<Emboss::FontFile> WxFont
+ return nullptr;
+ }
+ return Emboss::create_font_file(file_path.c_str());
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__NetBSD__)
+ std::string font_path = Slic3r::GUI::get_font_path(font);
+ if (font_path.empty()){
+ BOOST_LOG_TRIVIAL(error) << "Can not read font('" << get_human_readable_name(font) << "'), "
+@@ -114,7 +114,7 @@ EmbossStyle::Type WxFontUtils::get_actua
+ return EmbossStyle::Type::wx_win_font_descr;
+ #elif defined(__APPLE__)
+ return EmbossStyle::Type::wx_mac_font_descr;
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__NetBSD__)
+ return EmbossStyle::Type::wx_lin_font_descr;
+ #else
+ return EmbossStyle::Type::undefined;
+@@ -348,4 +348,4 @@ std::unique_ptr<Emboss::FontFile> WxFont
+ // There is NO bold font by wx
+ font.SetWeight(orig_weight);
+ return nullptr;
+-}
+\ No newline at end of file
++}
Home |
Main Index |
Thread Index |
Old Index