1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-02-05 11:35:01 +00:00

cad/PrusaSlicer: update to 2.7.2

Reported by: Teodor Sigaev <teodorsigaev@gmail.com>
Reviewed by: lwhsu (mentor)
Sponsored by: Postgres Professional
Differential Revision: https://reviews.freebsd.org/D44315
This commit is contained in:
Michael Zhilin 2024-03-11 21:32:46 +03:00
parent 9784fb237c
commit c4fa8a7ea8
67 changed files with 370 additions and 241 deletions

View File

@ -1,7 +1,6 @@
PORTNAME= PrusaSlicer
DISTVERSIONPREFIX=version_
DISTVERSION= 2.6.0
PORTREVISION= 9
DISTVERSION= 2.7.2
CATEGORIES= cad
DIST_SUBDIR= PrusaSlicer
@ -14,9 +13,13 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= cereal>=1.3.0.10:devel/cereal \
cgal>=5.0.2:math/cgal \
opencascade>=7.7.0:cad/opencascade
opencascade>=7.7.0:cad/opencascade \
libbgcode>=0.2.0:cad/libbgcode
LIB_DEPENDS= libtbb.so:devel/onetbb \
LIB_DEPENDS+= libbgcode_convert.so:cad/libbgcode \
libbgcode_binarize.so:cad/libbgcode \
libbgcode_core.so:cad/libbgcode \
libtbb.so:devel/onetbb \
libboost_log.so:devel/boost-libs \
libImath.so:math/Imath \
libnlopt.so:math/nlopt \
@ -38,7 +41,8 @@ LIB_DEPENDS= libtbb.so:devel/onetbb \
libharfbuzz.so:print/harfbuzz \
libwayland-egl.so:graphics/wayland
USES= cmake cpe desktop-file-utils eigen:3 gettext gl pkgconfig jpeg iconv gnome xorg
USES= cmake cpe desktop-file-utils eigen:3 gettext gl gnome iconv \
jpeg pkgconfig xorg
CPE_VENDOR= prusa3d
USE_GITHUB= yes
GH_ACCOUNT= prusa3d
@ -50,7 +54,8 @@ USE_XORG= x11
CMAKE_ARGS+= -DwxWidgets_CONFIG_EXECUTABLE="${WX_CONFIG}" \
-DSLIC3R_GTK=3 \
-DSLIC3R_FHS=1 \
-DSLIC3R_PCH=OFF
-DSLIC3R_PCH=OFF \
-DSLIC3R_BUILD_TESTS=OFF
PORTDATA= *

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1690319127
SHA256 (PrusaSlicer/prusa3d-PrusaSlicer-version_2.6.0_GH0.tar.gz) = a15f68e3b18a047c8c9a18a9d91629d2c777be1932087684cf6d2332d0888e77
SIZE (PrusaSlicer/prusa3d-PrusaSlicer-version_2.6.0_GH0.tar.gz) = 56430180
TIMESTAMP = 1709292528
SHA256 (PrusaSlicer/prusa3d-PrusaSlicer-version_2.7.2_GH0.tar.gz) = 0af8ab83ad33cdebc1d13d37d8ed3b2125d84532eb4bca7618c422bf7648ebee
SIZE (PrusaSlicer/prusa3d-PrusaSlicer-version_2.7.2_GH0.tar.gz) = 64915607

View File

@ -1,6 +1,6 @@
--- CMakeLists.txt.orig 2023-06-19 12:07:14 UTC
--- CMakeLists.txt.orig 2024-02-29 13:03:32 UTC
+++ CMakeLists.txt
@@ -4,6 +4,7 @@ include(CMakeDependentOption)
@@ -14,6 +14,7 @@ include(CMakeDependentOption)
include("version.inc")
include(GNUInstallDirs)
include(CMakeDependentOption)
@ -8,7 +8,7 @@
set(SLIC3R_RESOURCES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/resources")
file(TO_NATIVE_PATH "${SLIC3R_RESOURCES_DIR}" SLIC3R_RESOURCES_DIR_WIN)
@@ -207,7 +208,7 @@ endif ()
@@ -218,7 +219,7 @@ endif ()
endif ()
endif ()
@ -17,7 +17,16 @@
find_package(PkgConfig REQUIRED)
if (CMAKE_VERSION VERSION_LESS "3.1")
@@ -446,7 +447,7 @@ find_package(EXPAT REQUIRED)
@@ -248,6 +249,8 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL
# On GCC and Clang, no return from a non-void function is a warning only. Here, we make it an error.
add_compile_options(-Werror=return-type)
+ add_compile_options(-Wno-enum-constexpr-conversion -Wno-implicit-const-int-float-conversion)
+
# removes LOTS of extraneous Eigen warnings (GCC only supports it since 6.1)
# https://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
@@ -457,7 +460,7 @@ find_package(EXPAT REQUIRED)
# no matter what.
find_package(EXPAT REQUIRED)
@ -26,7 +35,7 @@
if (TARGET EXPAT::EXPAT )
target_link_libraries(libexpat INTERFACE EXPAT::EXPAT)
@@ -627,8 +628,8 @@ elseif (SLIC3R_FHS)
@@ -631,8 +634,8 @@ elseif (SLIC3R_FHS)
install(DIRECTORY ${SLIC3R_RESOURCES_DIR}/ DESTINATION ${SLIC3R_FHS_RESOURCES}
PATTERN "*/udev" EXCLUDE
)
@ -37,7 +46,7 @@
foreach(SIZE 32 128 192)
install(FILES ${SLIC3R_RESOURCES_DIR}/icons/PrusaSlicer_${SIZE}px.png
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${SIZE}x${SIZE}/apps RENAME PrusaSlicer.png
@@ -637,7 +638,8 @@ elseif (SLIC3R_FHS)
@@ -641,7 +644,8 @@ elseif (SLIC3R_FHS)
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${SIZE}x${SIZE}/apps RENAME PrusaSlicer-gcodeviewer.png
)
endforeach()

View File

@ -1,15 +1,15 @@
--- src/CMakeLists.txt.orig 2023-06-19 12:07:14 UTC
--- src/CMakeLists.txt.orig 2023-12-12 14:21:21 UTC
+++ src/CMakeLists.txt
@@ -78,7 +78,7 @@ if (SLIC3R_GUI)
@@ -62,7 +62,7 @@ if (SLIC3R_GUI)
find_package(JPEG QUIET)
find_package(TIFF QUIET)
find_package(JPEG MODULE QUIET)
find_package(TIFF MODULE QUIET) # Tiff exported config is broken for static build
- find_package(NanoSVG REQUIRED)
+ # find_package(NanoSVG REQUIRED)
+ #find_package(NanoSVG REQUIRED)
string(REGEX MATCH "wxpng" WX_PNG_BUILTIN ${wxWidgets_LIBRARIES})
if (PNG_FOUND AND NOT WX_PNG_BUILTIN)
@@ -147,7 +147,7 @@ endif ()
@@ -131,7 +131,7 @@ if (NOT WIN32 AND NOT APPLE)
set_target_properties(PrusaSlicer PROPERTIES OUTPUT_NAME "prusa-slicer")
endif ()

View File

@ -1,4 +1,4 @@
--- src/libnanosvg/nanosvg.h.orig 2024-03-17 16:57:39 UTC
--- src/libnanosvg/nanosvg.h.orig 2024-01-12 13:12:38 UTC
+++ src/libnanosvg/nanosvg.h
@@ -0,0 +1,3106 @@
+/*

View File

@ -1,4 +1,4 @@
--- src/libnanosvg/nanosvgrast.h.orig 2024-03-17 16:57:40 UTC
--- src/libnanosvg/nanosvgrast.h.orig 2024-01-12 13:12:38 UTC
+++ src/libnanosvg/nanosvgrast.h
@@ -0,0 +1,1482 @@
+/*

View File

@ -0,0 +1,11 @@
--- src/libslic3r/Arrange/Core/NFP/NFPConcave_CGAL.cpp.orig 2024-03-01 12:13:10 UTC
+++ src/libslic3r/Arrange/Core/NFP/NFPConcave_CGAL.cpp
@@ -5,6 +5,8 @@
#include "NFP.hpp"
#include "NFPConcave_CGAL.hpp"
+#include <boost/next_prior.hpp>
+
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/partition_2.h>
#include <CGAL/Partition_traits_2.h>

View File

@ -1,6 +1,6 @@
--- src/libslic3r/CMakeLists.txt.orig 2023-06-19 12:07:14 UTC
--- src/libslic3r/CMakeLists.txt.orig 2024-02-29 13:03:32 UTC
+++ src/libslic3r/CMakeLists.txt
@@ -490,7 +490,6 @@ target_link_libraries(libslic3r
@@ -575,7 +575,6 @@ target_link_libraries(libslic3r
target_link_libraries(libslic3r
libnest2d
admesh

View File

@ -0,0 +1,10 @@
--- src/libslic3r/CutSurface.cpp.orig 2024-03-01 11:43:14 UTC
+++ src/libslic3r/CutSurface.cpp
@@ -29,6 +29,7 @@ using namespace Slic3r;
using namespace Slic3r;
#include "ExPolygonsIndex.hpp"
+#include <boost/next_prior.hpp>
#include <CGAL/Polygon_mesh_processing/corefinement.h>
#include <CGAL/Exact_integer.h>
#include <CGAL/Surface_mesh.h>

View File

@ -0,0 +1,11 @@
--- src/libslic3r/EmbossShape.hpp.orig 2024-01-12 13:37:33 UTC
+++ src/libslic3r/EmbossShape.hpp
@@ -12,7 +12,7 @@
#include "Point.hpp" // Transform3d
#include "ExPolygon.hpp"
#include "ExPolygonSerialize.hpp"
-#include "nanosvg/nanosvg.h" // NSVGimage
+#include "libnanosvg/nanosvg.h" // NSVGimage
namespace Slic3r {

View File

@ -1,6 +1,6 @@
--- src/libslic3r/Format/SL1_SVG.cpp.orig 2023-07-21 14:55:56 UTC
--- src/libslic3r/Format/SL1_SVG.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/libslic3r/Format/SL1_SVG.cpp
@@ -6,7 +6,8 @@
@@ -10,7 +10,8 @@
#include "libslic3r/Format/ZipperArchiveImport.hpp"
#define NANOSVG_IMPLEMENTATION

View File

@ -1,6 +1,6 @@
--- src/libslic3r/GCodeSender.cpp.orig 2023-07-24 22:05:38 UTC
--- src/libslic3r/GCodeSender.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/libslic3r/GCodeSender.cpp
@@ -8,7 +8,7 @@
@@ -14,7 +14,7 @@
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/lexical_cast.hpp>
@ -9,7 +9,7 @@
#include <termios.h>
#endif
#ifdef __APPLE__
@@ -146,7 +146,7 @@ GCodeSender::set_baud_rate(unsigned int baud_rate)
@@ -152,7 +152,7 @@ GCodeSender::set_baud_rate(unsigned int baud_rate)
if (ioctl(handle, TCSETS2, &ios))
printf("Error in TCSETS2: %s\n", strerror(errno));

View File

@ -0,0 +1,17 @@
--- src/libslic3r/Geometry/VoronoiUtilsCgal.cpp.orig 2024-03-01 11:50:11 UTC
+++ src/libslic3r/Geometry/VoronoiUtilsCgal.cpp
@@ -2,6 +2,7 @@
///|/
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
///|/
+#include <boost/next_prior.hpp>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/Arr_segment_traits_2.h>
#include <CGAL/Surface_sweep_2_algorithms.h>
@@ -325,4 +326,4 @@ VoronoiUtilsCgal::is_voronoi_diagram_planar_angle(cons
return true;
}
-} // namespace Slic3r::Geometry
\ No newline at end of file
+} // namespace Slic3r::Geometry

View File

@ -0,0 +1,11 @@
--- src/libslic3r/MeshBoolean.cpp.orig 2024-03-01 11:44:05 UTC
+++ src/libslic3r/MeshBoolean.cpp
@@ -8,6 +8,8 @@
#include "libslic3r/TryCatchSignal.hpp"
#undef PI
+#include <boost/next_prior.hpp>
+
// Include igl first. It defines "L" macro which then clashes with our localization
#include <igl/copyleft/cgal/mesh_boolean.h>
#undef L

View File

@ -1,11 +1,11 @@
--- src/libslic3r/NSVGUtils.hpp.orig 2023-07-25 16:16:15 UTC
--- src/libslic3r/NSVGUtils.hpp.orig 2023-12-12 14:21:21 UTC
+++ src/libslic3r/NSVGUtils.hpp
@@ -3,7 +3,7 @@
@@ -11,7 +11,7 @@
#include "Polygon.hpp"
#include "ExPolygon.hpp"
#include "EmbossShape.hpp" // ExPolygonsWithIds
-#include "nanosvg/nanosvg.h" // load SVG file
+#include "libnanosvg/nanosvg.h" // load SVG file
// Helper function to work with nano svg
namespace Slic3r {

View File

@ -1,6 +1,6 @@
--- src/libslic3r/Platform.cpp.orig 2022-09-06 07:09:19 UTC
--- src/libslic3r/Platform.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/libslic3r/Platform.cpp
@@ -86,6 +86,10 @@ void detect_platform()
@@ -90,6 +90,10 @@ void detect_platform()
BOOST_LOG_TRIVIAL(info) << "Platform: OpenBSD";
s_platform = Platform::BSDUnix;
s_platform_flavor = PlatformFlavor::OpenBSD;

View File

@ -1,6 +1,6 @@
--- src/libslic3r/Platform.hpp.orig 2022-09-06 07:09:19 UTC
--- src/libslic3r/Platform.hpp.orig 2023-12-12 14:21:21 UTC
+++ src/libslic3r/Platform.hpp
@@ -25,6 +25,7 @@ enum class PlatformFlavor
@@ -29,6 +29,7 @@ enum class PlatformFlavor
WSL, // Microsoft's Windows on Linux (Linux kernel simulated on NTFS kernel)
WSL2, // Microsoft's Windows on Linux, version 2 (virtual machine)
OpenBSD, // For Platform::BSDUnix

View File

@ -1,11 +1,11 @@
--- src/libslic3r/SupportSpotsGenerator.cpp.orig 2023-07-25 08:36:31 UTC
--- src/libslic3r/SupportSpotsGenerator.cpp.orig 2024-02-29 13:03:32 UTC
+++ src/libslic3r/SupportSpotsGenerator.cpp
@@ -849,7 +849,7 @@ std::tuple<SupportPoints, PartialObjects> check_stabil
}
}
@@ -1054,7 +1054,7 @@ SliceMappings update_active_object_parts(const Layer
}
- auto estimate_conn_strength = [bottom_z](const SliceConnection &conn) {
+ auto estimate_conn_strength = [bottom_z](const SliceConnection &conn) -> float {
if (conn.area < EPSILON) { // connection is empty, does not exists. Return max strength so that it is not picked as the
// weakest connection.
return INFINITY;
}
const float bottom_z = layer->bottom_z();
- auto estimate_conn_strength = [bottom_z](const SliceConnection &conn) {
+ auto estimate_conn_strength = [bottom_z](const SliceConnection &conn) -> float {
if (conn.area < EPSILON) { // connection is empty, does not exists. Return max strength so that it is not picked as the
// weakest connection.
return INFINITY;

View File

@ -0,0 +1,12 @@
--- src/libslic3r/Triangulation.cpp.orig 2024-03-01 11:48:14 UTC
+++ src/libslic3r/Triangulation.cpp
@@ -2,6 +2,9 @@
///|/
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
///|/
+
+#include <boost/next_prior.hpp>
+
#include "Triangulation.hpp"
#include "IntersectionPoints.hpp"
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>

View File

@ -1,7 +1,7 @@
--- src/slic3r/CMakeLists.txt.orig 2023-06-19 12:07:14 UTC
--- src/slic3r/CMakeLists.txt.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/CMakeLists.txt
@@ -293,7 +293,7 @@ set(SLIC3R_GUI_SOURCES
Utils/WxFontUtils.hpp
@@ -333,7 +333,7 @@ set(SLIC3R_GUI_SOURCES
Utils/WifiScanner.cpp
)
-find_package(NanoSVG REQUIRED)
@ -9,7 +9,7 @@
if (APPLE)
list(APPEND SLIC3R_GUI_SOURCES
@@ -319,11 +319,12 @@ encoding_check(libslic3r_gui)
@@ -362,11 +362,12 @@ endforeach()
encoding_check(libslic3r_gui)
@ -23,4 +23,4 @@
+elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
target_link_libraries(libslic3r_gui ${DBUS_LIBRARIES})
elseif (APPLE)
target_link_libraries(libslic3r_gui ${DISKARBITRATION_LIBRARY})
target_link_libraries(libslic3r_gui ${DISKARBITRATION_LIBRARY} ${COREWLAN_LIBRARY})

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/BitmapCache.cpp.orig 2023-07-21 12:45:35 UTC
--- src/slic3r/GUI/BitmapCache.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/BitmapCache.cpp
@@ -15,8 +15,9 @@
@@ -20,8 +20,9 @@
#include <wx/rawbmp.h>
#endif /* __WXGTK2__ */
@ -12,7 +12,7 @@
namespace Slic3r { namespace GUI {
@@ -68,7 +69,7 @@ wxBitmapBundle* BitmapCache::insert_bndl(const std::st
@@ -73,7 +74,7 @@ wxBitmapBundle* BitmapCache::insert_bndl(const std::st
wxVector<wxBitmap> bitmaps;
std::set<double> scales = {1.0};
@ -21,7 +21,7 @@
#ifdef __APPLE__
scales.emplace(m_scale);
@@ -547,7 +548,7 @@ wxBitmapBundle BitmapCache::mksolid(size_t width_in, s
@@ -554,7 +555,7 @@ wxBitmapBundle BitmapCache::mksolid(size_t width_in, s
wxVector<wxBitmap> bitmaps;
std::set<double> scales = { 1.0 };

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/ConfigWizard.cpp.orig 2023-07-21 14:05:27 UTC
--- src/slic3r/GUI/ConfigWizard.cpp.orig 2024-02-29 13:03:32 UTC
+++ src/slic3r/GUI/ConfigWizard.cpp
@@ -60,7 +60,7 @@
@@ -69,7 +69,7 @@
#include "slic3r/GUI/I18N.hpp"
#include "slic3r/Config/Version.hpp"
@ -9,7 +9,7 @@
#define wxLinux_gtk3 true
#else
#define wxLinux_gtk3 false
@@ -583,7 +583,7 @@ void PageWelcome::set_run_reason(ConfigWizard::RunReas
@@ -596,7 +596,7 @@ void PageWelcome::set_run_reason(ConfigWizard::RunReas
const bool data_empty = run_reason == ConfigWizard::RR_DATA_EMPTY;
welcome_text->Show(data_empty);
cbox_reset->Show(!data_empty);
@ -18,16 +18,16 @@
if (!DesktopIntegrationDialog::is_integrated())
cbox_integrate->Show(true);
else
@@ -1474,7 +1474,7 @@ PageDownloader::PageDownloader(ConfigWizard* parent)
" The model will be downloaded into folder you choose bellow."
), SLIC3R_APP_NAME));
@@ -1518,7 +1518,7 @@ PageDownloader::PageDownloader(ConfigWizard* parent)
));
}
-#ifdef __linux__
+#if defined(__linux__) || defined(__FreeBSD__)
append_text(wxString::Format(_L(
"On Linux systems the process of registration also creates desktop integration files for this version of application."
)));
@@ -1535,7 +1535,7 @@ bool DownloaderUtils::Worker::perform_register(const s
@@ -1579,7 +1579,7 @@ bool DownloaderUtils::Worker::perform_register(const s
}
//key_full = "\"C:\\Program Files\\Prusa3D\\PrusaSlicer\\prusa-slicer-console.exe\" \"%1\"";
key_full = key_string;
@ -36,7 +36,7 @@
// Apple registers for custom url in info.plist thus it has to be already registered since build.
// The url will always trigger opening of prusaslicer and we have to check that user has allowed it. (GUI_App::MacOpenURL is the triggered method)
#else
@@ -1554,7 +1554,7 @@ void DownloaderUtils::Worker::deregister()
@@ -1598,7 +1598,7 @@ void DownloaderUtils::Worker::deregister()
return;
}
key_full = key_string;
@ -45,7 +45,7 @@
// TODO
#else
BOOST_LOG_TRIVIAL(debug) << "DesktopIntegrationDialog::undo_downloader_registration";
@@ -3106,7 +3106,7 @@ bool ConfigWizard::priv::apply_config(AppConfig *app_c
@@ -3063,7 +3063,7 @@ bool ConfigWizard::priv::apply_config(AppConfig *app_c
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());

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/ConfigWizard.hpp.orig 2023-07-25 09:21:21 UTC
--- src/slic3r/GUI/ConfigWizard.hpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/ConfigWizard.hpp
@@ -22,7 +22,7 @@ namespace DownloaderUtils {
@@ -31,7 +31,7 @@ namespace DownloaderUtils {
wxWindow* m_parent{ nullptr };
wxTextCtrl* m_input_path{ nullptr };
bool downloader_checked{ false };
@ -9,7 +9,7 @@
bool perform_registration_linux{ false };
#endif // __linux__
@@ -41,7 +41,7 @@ namespace DownloaderUtils {
@@ -50,7 +50,7 @@ namespace DownloaderUtils {
bool on_finish();
bool perform_register(const std::string& path_override = {});

View File

@ -1,6 +1,9 @@
--- src/slic3r/GUI/DesktopIntegrationDialog.cpp.orig 2023-07-25 09:24:17 UTC
--- src/slic3r/GUI/DesktopIntegrationDialog.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/DesktopIntegrationDialog.cpp
@@ -1,4 +1,4 @@
@@ -3,7 +3,7 @@
///|/
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
///|/
-#ifdef __linux__
+#if defined(__linux__) || defined(__FreeBSD__)
#include "DesktopIntegrationDialog.hpp"

View File

@ -1,12 +1,15 @@
--- src/slic3r/GUI/DesktopIntegrationDialog.hpp.orig 2023-07-25 09:25:50 UTC
--- src/slic3r/GUI/DesktopIntegrationDialog.hpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/DesktopIntegrationDialog.hpp
@@ -1,4 +1,4 @@
@@ -2,7 +2,7 @@
///|/
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
///|/
-#ifdef __linux__
+#if defined(__linux__) || defined(__FreeBSD__)
#ifndef slic3r_DesktopIntegrationDialog_hpp_
#define slic3r_DesktopIntegrationDialog_hpp_
@@ -42,4 +42,4 @@ class DesktopIntegrationDialog : public wxDialog (priv
@@ -46,4 +46,4 @@ class DesktopIntegrationDialog : public wxDialog (priv
} // namespace Slic3r
#endif // slic3r_DesktopIntegrationDialog_hpp_

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/ExtraRenderers.cpp.orig 2023-07-25 09:27:23 UTC
--- src/slic3r/GUI/ExtraRenderers.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/ExtraRenderers.cpp
@@ -327,7 +327,7 @@ wxWindow* BitmapChoiceRenderer::CreateEditorCtrl(wxWin
@@ -343,7 +343,7 @@ wxWindow* BitmapChoiceRenderer::CreateEditorCtrl(wxWin
c_editor->SetSelection(atoi(data.GetText().c_str()));

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/Field.cpp.orig 2023-07-25 09:29:18 UTC
--- src/slic3r/GUI/Field.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/Field.cpp
@@ -199,7 +199,7 @@ static wxString na_value(bool for_spin_ctrl = false)
@@ -221,7 +221,7 @@ bool Field::is_matched(const std::string& string, cons
static wxString na_value(bool for_spin_ctrl = false)
{

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/GLCanvas3D.cpp.orig 2023-07-25 09:31:07 UTC
--- src/slic3r/GUI/GLCanvas3D.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/GLCanvas3D.cpp
@@ -97,7 +97,7 @@ float RetinaHelper::get_scale_factor() { return float(
@@ -108,7 +108,7 @@ float RetinaHelper::get_scale_factor() { return float(
#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.

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/GLTexture.cpp.orig 2023-07-25 16:08:09 UTC
--- src/slic3r/GUI/GLTexture.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/GLTexture.cpp
@@ -21,8 +21,8 @@
@@ -25,8 +25,8 @@
#define STB_DXT_IMPLEMENTATION
#include "stb_dxt/stb_dxt.h"

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/GUI.cpp.orig 2023-07-21 15:02:36 UTC
--- src/slic3r/GUI/GUI.cpp.orig 2024-02-29 13:03:32 UTC
+++ src/slic3r/GUI/GUI.cpp
@@ -481,7 +481,7 @@ void desktop_open_folder(const boost::filesystem::path
@@ -492,7 +492,7 @@ void desktop_open_folder(const boost::filesystem::path
const wxString widepath = path.wstring();
const wchar_t* argv[] = { L"explorer", widepath.GetData(), nullptr };
::wxExecute(const_cast<wchar_t**>(argv), wxEXEC_ASYNC, nullptr);
@ -9,7 +9,7 @@
const char* argv[] = { "open", path.string().c_str(), nullptr };
::wxExecute(const_cast<char**>(argv), wxEXEC_ASYNC, nullptr);
#else
@@ -490,7 +490,7 @@ void desktop_open_folder(const boost::filesystem::path
@@ -501,7 +501,7 @@ void desktop_open_folder(const boost::filesystem::path
#endif
}

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/GUI.hpp.orig 2023-07-21 13:10:36 UTC
--- src/slic3r/GUI/GUI.hpp.orig 2024-02-29 13:03:32 UTC
+++ src/slic3r/GUI/GUI.hpp
@@ -84,7 +84,7 @@ void desktop_open_folder(const boost::filesystem::path
@@ -88,7 +88,7 @@ void desktop_open_folder(const boost::filesystem::path
// Ask the destop to open the directory specified by path using the default file explorer.
void desktop_open_folder(const boost::filesystem::path& path);

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/GUI_App.cpp.orig 2023-06-19 12:07:14 UTC
--- src/slic3r/GUI/GUI_App.cpp.orig 2024-02-29 13:03:32 UTC
+++ src/slic3r/GUI/GUI_App.cpp
@@ -395,7 +395,7 @@ class SplashScreen : public wxSplashScreen (private)
@@ -403,7 +403,7 @@ class SplashScreen : public wxSplashScreen (private)
};
@ -9,7 +9,7 @@
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,
@@ -973,7 +973,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()) {
@ -18,8 +18,8 @@
set_data_dir(wxStandardPaths::Get().GetUserDataDir().ToUTF8().data());
#else
// Since version 2.3, config dir on Linux is in ${XDG_CONFIG_HOME}.
@@ -1130,7 +1130,8 @@ bool GUI_App::on_init_inner()
{
@@ -1107,7 +1107,8 @@ bool GUI_App::on_init_inner()
// Set initialization of image handlers before any UI actions - See GH issue #7469
wxInitAllImageHandlers();
-
@ -28,7 +28,7 @@
#if defined(_WIN32) && ! defined(_WIN64)
// Win32 32bit build.
if (wxPlatformInfo::Get().GetArchName().substr(0, 2) == "64") {
@@ -1158,7 +1159,7 @@ bool GUI_App::on_init_inner()
@@ -1135,7 +1136,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));
@ -37,7 +37,7 @@
if (! check_old_linux_datadir(GetAppName())) {
std::cerr << "Quitting, user chose to move their data to new location." << std::endl;
return false;
@@ -1263,7 +1264,7 @@ bool GUI_App::on_init_inner()
@@ -1240,7 +1241,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");
@ -46,7 +46,7 @@
wxYield();
#endif
scrn->SetText(_L("Loading configuration")+ dots);
@@ -1411,7 +1412,7 @@ bool GUI_App::on_init_inner()
@@ -1393,7 +1394,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.
// Since issue #9774 Where same problem occured on MacOS Ventura, we decided to have this check on MacOS as well.
@ -55,7 +55,7 @@
if (!m_post_initialized && m_opengl_initialized) {
#else
if (!m_post_initialized) {
@@ -2054,7 +2055,7 @@ bool GUI_App::switch_language()
@@ -2096,7 +2097,7 @@ bool GUI_App::switch_language()
}
}
@ -64,7 +64,7 @@
static const wxLanguageInfo* linux_get_existing_locale_language(const wxLanguageInfo* language,
const wxLanguageInfo* system_language)
{
@@ -2253,7 +2254,7 @@ bool GUI_App::load_language(wxString language, bool in
@@ -2298,7 +2299,7 @@ bool GUI_App::load_language(wxString language, bool in
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();
}
@ -73,7 +73,7 @@
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.
@@ -2262,6 +2263,7 @@ bool GUI_App::load_language(wxString language, bool in
@@ -2307,6 +2308,7 @@ bool GUI_App::load_language(wxString language, bool in
}
#endif
}
@ -81,7 +81,7 @@
}
const wxLanguageInfo *language_info = language.empty() ? nullptr : wxLocale::FindLanguageInfo(language);
@@ -2306,7 +2308,7 @@ bool GUI_App::load_language(wxString language, bool in
@@ -2351,7 +2353,7 @@ bool GUI_App::load_language(wxString language, bool in
} else if (m_language_info_system != nullptr && language_info->CanonicalName.BeforeFirst('_') == m_language_info_system->CanonicalName.BeforeFirst('_'))
language_info = m_language_info_system;
@ -90,7 +90,7 @@
// 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)) {
@@ -2426,7 +2428,7 @@ void GUI_App::add_config_menu(wxMenuBar *menu)
@@ -2471,7 +2473,7 @@ void GUI_App::add_config_menu(wxMenuBar *menu)
local_menu->Append(config_id_base + ConfigMenuTakeSnapshot, _L("Take Configuration &Snapshot"), _L("Capture a configuration snapshot"));
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"));
@ -99,7 +99,7 @@
//if (DesktopIntegrationDialog::integration_possible())
local_menu->Append(config_id_base + ConfigMenuDesktopIntegration, _L("Desktop Integration"), _L("Desktop Integration"));
#endif //(__linux__) && defined(SLIC3R_DESKTOP_INTEGRATION)
@@ -2473,7 +2475,7 @@ void GUI_App::add_config_menu(wxMenuBar *menu)
@@ -2519,7 +2521,7 @@ void GUI_App::add_config_menu(wxMenuBar *menu)
case ConfigMenuUpdateApp:
app_version_check(true);
break;
@ -108,7 +108,7 @@
case ConfigMenuDesktopIntegration:
show_desktop_integration_dialog();
break;
@@ -3090,7 +3092,7 @@ void GUI_App::show_desktop_integration_dialog()
@@ -3155,7 +3157,7 @@ void GUI_App::show_desktop_integration_dialog()
void GUI_App::show_desktop_integration_dialog()
{
@ -117,7 +117,7 @@
//wxCHECK_MSG(mainframe != nullptr, false, "Internal error: Main frame not created / null");
DesktopIntegrationDialog dialog(mainframe);
dialog.ShowModal();
@@ -3110,7 +3112,7 @@ void GUI_App::show_downloader_registration_dialog()
@@ -3175,7 +3177,7 @@ void GUI_App::show_downloader_registration_dialog()
if (msg.ShowModal() == wxID_YES) {
auto downloader_worker = new DownloaderUtils::Worker(nullptr);
downloader_worker->perform_register(app_config->get("url_downloader_dest"));

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/GUI_Factories.cpp.orig 2023-07-21 13:55:55 UTC
--- src/slic3r/GUI/GUI_Factories.cpp.orig 2024-02-29 13:03:32 UTC
+++ src/slic3r/GUI/GUI_Factories.cpp
@@ -1345,7 +1345,7 @@ void MenuFactory::sys_color_changed(wxMenuBar* menubar
@@ -1466,7 +1466,7 @@ void MenuFactory::sys_color_changed(wxMenuBar* menubar
for (size_t id = 0; id < menubar->GetMenuCount(); id++) {
wxMenu* menu = menubar->GetMenu(id);
sys_color_changed_menu(menu);

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/GUI_ObjectLayers.cpp.orig 2023-07-25 10:52:56 UTC
--- src/slic3r/GUI/GUI_ObjectLayers.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/GUI_ObjectLayers.cpp
@@ -344,7 +344,7 @@ LayerRangeEditor::LayerRangeEditor( ObjectLayers* pare
@@ -348,7 +348,7 @@ LayerRangeEditor::LayerRangeEditor( ObjectLayers* pare
m_enter_pressed = true;
// Workaround! Under Linux we have to use CallAfter() to avoid crash after pressing ENTER key
// see #7531, #8055, #8408
@ -9,7 +9,7 @@
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( ObjectLayers* pare
@@ -363,7 +363,7 @@ LayerRangeEditor::LayerRangeEditor( ObjectLayers* pare
SetValue(m_valid_value);
m_call_kill_focus = true;
}

View File

@ -1,12 +0,0 @@
--- src/slic3r/GUI/GUI_ObjectManipulation.cpp.orig 2023-07-21 13:50:11 UTC
+++ src/slic3r/GUI/GUI_ObjectManipulation.cpp
@@ -490,7 +490,8 @@ void ObjectManipulation::Show(const bool show)
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 (__FreeBSD__)
m_word_local_combo->Insert(coordinate_type_str(ECoordinatesType::Local), 2);
#else
m_word_local_combo->Insert(coordinate_type_str(ECoordinatesType::Local), wxNullBitmap, 2);

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/GUI_Preview.cpp.orig 2023-07-25 10:57:11 UTC
--- src/slic3r/GUI/GUI_Preview.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/GUI_Preview.cpp
@@ -292,7 +292,7 @@ void Preview::reload_print(bool keep_volumes)
@@ -303,7 +303,7 @@ void Preview::load_print(bool keep_z_range)
void Preview::reload_print(bool keep_volumes)
{
@ -9,7 +9,7 @@
// We are getting mysterious crashes on Linux in gtk due to OpenGL context activation GH #1874 #1955.
// So we are applying a workaround here: a delayed release of OpenGL vertex buffers.
if (!IsShown())
@@ -302,14 +302,14 @@ void Preview::reload_print(bool keep_volumes)
@@ -313,14 +313,14 @@ void Preview::reload_print(bool keep_volumes)
}
#endif /* __linux__ */
if (

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/GUI_Preview.hpp.orig 2023-07-25 11:01:59 UTC
--- src/slic3r/GUI/GUI_Preview.hpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/GUI_Preview.hpp
@@ -85,7 +85,7 @@ class Preview : public wxPanel
@@ -89,7 +89,7 @@ class Preview : public wxPanel
BackgroundSlicingProcess* m_process;
GCodeProcessorResult* m_gcode_result;

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/GUI_Utils.cpp.orig 2023-07-25 11:03:21 UTC
--- src/slic3r/GUI/GUI_Utils.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/GUI_Utils.cpp
@@ -48,7 +48,7 @@ void on_window_geometry(wxTopLevelWindow *tlw, std::fu
@@ -53,7 +53,7 @@ void on_window_geometry(wxTopLevelWindow *tlw, std::fu
// cf. https://groups.google.com/forum/#!topic/wx-users/c7ntMt6piRI
// OTOH the geometry is available very soon, so we can call the callback right away
callback();
@ -9,7 +9,7 @@
tlw->Bind(wxEVT_SHOW, [=](wxShowEvent &evt) {
// On Linux, the geometry is only available after wxEVT_SHOW + CallAfter
// cf. https://groups.google.com/forum/?pli=1#!topic/wx-users/fERSXdpVwAI
@@ -116,7 +116,7 @@ int get_dpi_for_window(const wxWindow *window)
@@ -121,7 +121,7 @@ int get_dpi_for_window(const wxWindow *window)
if (hdc == NULL) { return DPI_DEFAULT; }
return GetDeviceCaps(hdc, LOGPIXELSX);
}

View File

@ -1,11 +0,0 @@
--- src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp.orig 2023-07-25 16:07:22 UTC
+++ src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp
@@ -29,7 +29,7 @@
#include "libslic3r/BuildVolume.hpp"
#include "imgui/imgui_stdlib.h" // using std::string for inputs
-#include "nanosvg/nanosvg.h" // load SVG file
+#include "libnanosvg/nanosvg.h" // load SVG file
#include <wx/font.h>
#include <wx/fontutil.h>

View File

@ -0,0 +1,20 @@
--- src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp.orig 2024-02-29 13:03:32 UTC
+++ src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp
@@ -23,7 +23,7 @@
#include "libslic3r/ClipperUtils.hpp" // union_ex
#include "imgui/imgui_stdlib.h" // using std::string for inputs
-#include "nanosvg/nanosvg.h" // load SVG file
+#include "libnanosvg/nanosvg.h" // load SVG file
#include <wx/display.h> // detection of change DPI
#include <boost/log/trivial.hpp>
@@ -560,7 +560,7 @@ void GLGizmoSVG::on_dragging(const UpdateData &data) {
void GLGizmoSVG::on_dragging(const UpdateData &data) { m_rotate_gizmo.dragging(data); }
#include "slic3r/GUI/BitmapCache.hpp"
-#include "nanosvg/nanosvgrast.h"
+#include "libnanosvg/nanosvgrast.h"
#include "libslic3r/AABBTreeLines.hpp" // aabb lines for draw filled expolygon
namespace{

View File

@ -0,0 +1,13 @@
--- src/slic3r/GUI/IconManager.cpp.orig 2024-01-12 13:38:59 UTC
+++ src/slic3r/GUI/IconManager.cpp
@@ -6,8 +6,8 @@
#include <boost/nowide/cstdio.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/algorithm/string.hpp>
-#include "nanosvg/nanosvg.h"
-#include "nanosvg/nanosvgrast.h"
+#include "libnanosvg/nanosvg.h"
+#include "libnanosvg/nanosvgrast.h"
#include "libslic3r/Utils.hpp" // ScopeGuard
#include "3DScene.hpp" // glsafe

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/ImGuiWrapper.cpp.orig 2023-07-25 16:14:00 UTC
--- src/slic3r/GUI/ImGuiWrapper.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/ImGuiWrapper.cpp
@@ -35,8 +35,8 @@
@@ -40,8 +40,8 @@
#include "GUI_App.hpp"
#include "../Utils/MacDarkMode.hpp"

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/InstanceCheck.cpp.orig 2023-06-19 12:07:14 UTC
--- src/slic3r/GUI/InstanceCheck.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/InstanceCheck.cpp
@@ -23,7 +23,7 @@
@@ -27,7 +27,7 @@
#include <strsafe.h>
#endif //WIN32
@ -9,7 +9,7 @@
#include <dbus/dbus.h> /* Pull in all of D-Bus headers. */
#endif //__linux__
@@ -222,7 +222,7 @@ namespace instance_check_internal
@@ -226,7 +226,7 @@ namespace instance_check_internal
return false;
}
@ -18,7 +18,7 @@
static bool send_message(const std::string &message_text, const std::string &version)
{
@@ -310,7 +310,7 @@ bool instance_check(int argc, char** argv, bool app_co
@@ -314,7 +314,7 @@ bool instance_check(int argc, char** argv, bool app_co
hashed_path = std::hash<std::string>{}(boost::filesystem::system_complete(argv[0]).string());
#else
boost::system::error_code ec;

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/InstanceCheck.hpp.orig 2023-07-25 11:12:36 UTC
--- src/slic3r/GUI/InstanceCheck.hpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/InstanceCheck.hpp
@@ -11,7 +11,7 @@
@@ -15,7 +15,7 @@
#include <boost/filesystem.hpp>
@ -9,7 +9,7 @@
#include <boost/thread.hpp>
#include <mutex>
#include <condition_variable>
@@ -38,7 +38,7 @@ class MainFrame;
@@ -42,7 +42,7 @@ namespace GUI {
class MainFrame;

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/KBShortcutsDialog.cpp.orig 2023-07-25 11:17:47 UTC
--- src/slic3r/GUI/KBShortcutsDialog.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/KBShortcutsDialog.cpp
@@ -54,7 +54,7 @@ KBShortcutsDialog::KBShortcutsDialog()
@@ -59,7 +59,7 @@ KBShortcutsDialog::KBShortcutsDialog()
main_sizer->SetSizeHints(this);
this->CenterOnParent();

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/Mouse3DController.cpp.orig 2023-07-25 12:02:33 UTC
--- src/slic3r/GUI/Mouse3DController.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/Mouse3DController.cpp
@@ -885,7 +885,7 @@ bool Mouse3DController::connect_device()
@@ -890,7 +890,7 @@ bool Mouse3DController::connect_device()
for (const DetectedDevices::value_type& device : detected_devices) {
if (device.second.size() == 1) {
@ -9,7 +9,7 @@
hid_device* test_device = hid_open(device.first.first, device.first.second, nullptr);
if (test_device == nullptr) {
BOOST_LOG_TRIVIAL(error) << "3DConnexion device cannot be opened: " << device.second.front().path <<
@@ -910,7 +910,7 @@ bool Mouse3DController::connect_device()
@@ -915,7 +915,7 @@ bool Mouse3DController::connect_device()
std::cout << "Test device: " << std::hex << device.first.first << std::dec << "/" << std::hex << device.first.second << std::dec << " \"" << data.path << "\"";
#endif // ENABLE_3DCONNEXION_DEVICES_DEBUG_OUTPUT

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/OpenGLManager.cpp.orig 2023-07-21 19:13:54 UTC
--- src/slic3r/GUI/OpenGLManager.cpp.orig 2024-02-29 13:03:32 UTC
+++ src/slic3r/GUI/OpenGLManager.cpp
@@ -336,7 +336,7 @@ bool OpenGLManager::init_gl()
@@ -344,7 +344,7 @@ bool OpenGLManager::init_gl()
glewExperimental = true;
#endif // ENABLE_GL_CORE_PROFILE || ENABLE_OPENGL_ES
GLenum err = glewInit();

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/OptionsGroup.cpp.orig 2023-07-25 12:28:59 UTC
--- src/slic3r/GUI/OptionsGroup.cpp.orig 2024-02-29 13:03:32 UTC
+++ src/slic3r/GUI/OptionsGroup.cpp
@@ -1051,7 +1051,7 @@ void ogStaticText::SetPathEnd(const std::string& link)
@@ -1081,7 +1081,7 @@ void ogStaticText::SetPathEnd(const std::string& link)
void ogStaticText::SetPathEnd(const std::string& link)
{
@ -9,7 +9,7 @@
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)
@@ -1134,7 +1134,7 @@ void ogStaticText::FocusText(bool focus)
SetFont(focus ? Slic3r::GUI::wxGetApp().link_font() :
Slic3r::GUI::wxGetApp().normal_font());

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/PhysicalPrinterDialog.cpp.orig 2023-06-19 12:07:14 UTC
--- src/slic3r/GUI/PhysicalPrinterDialog.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/PhysicalPrinterDialog.cpp
@@ -458,7 +458,7 @@ void PhysicalPrinterDialog::build_printhost_settings(C
@@ -467,7 +467,7 @@ void PhysicalPrinterDialog::build_printhost_settings(C
// Always fill in the "printhost_port" combo box from the config and select it.
{
Choice* choice = dynamic_cast<Choice*>(m_optgroup->get_field("printhost_port"));

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/Plater.cpp.orig 2023-06-19 12:07:14 UTC
--- src/slic3r/GUI/Plater.cpp.orig 2024-02-29 13:03:32 UTC
+++ src/slic3r/GUI/Plater.cpp
@@ -2452,7 +2452,7 @@ std::vector<size_t> Plater::priv::load_files(const std
@@ -2555,7 +2555,7 @@ std::vector<size_t> Plater::priv::load_files(const std
// 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.
@ -9,7 +9,7 @@
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_files(const std
@@ -2602,7 +2602,7 @@ std::vector<size_t> Plater::priv::load_files(const std
bool is_project_file = type_prusa;
try {
if (type_3mf || type_zip_amf) {
@ -18,7 +18,7 @@
// 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,
@@ -4428,7 +4428,7 @@ void Plater::priv::on_right_click(RBtnEvent& evt)
@@ -4572,7 +4572,7 @@ void Plater::priv::on_right_click(RBtnEvent& evt)
Vec2d mouse_position = evt.data.first;
wxPoint position(static_cast<int>(mouse_position.x()),
static_cast<int>(mouse_position.y()));
@ -27,7 +27,7 @@
// For some reason on Linux the menu isn't displayed if position is
// specified (even though the position is sane).
position = wxDefaultPosition;
@@ -5281,7 +5281,7 @@ void Plater::load_project(const wxString& filename)
@@ -5425,7 +5425,7 @@ void Plater::load_project(const wxString& filename)
p->reset();

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/Preferences.cpp.orig 2023-07-25 12:35:52 UTC
--- src/slic3r/GUI/Preferences.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/Preferences.cpp
@@ -18,7 +18,7 @@
@@ -28,7 +28,7 @@
#ifdef WIN32
#include <wx/msw/registry.h>
#endif // WIN32
@ -9,7 +9,7 @@
#include "DesktopIntegrationDialog.hpp"
#endif //__linux__
@@ -688,7 +688,7 @@ void PreferencesDialog::accept(wxEvent&)
@@ -758,7 +758,7 @@ void PreferencesDialog::accept(wxEvent&)
downloader->allow(it->second == "1");
if (!downloader->on_finish())
return;

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/PresetComboBoxes.cpp.orig 2023-07-25 12:38:23 UTC
--- src/slic3r/GUI/PresetComboBoxes.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/PresetComboBoxes.cpp
@@ -779,7 +779,7 @@ void PlaterPresetComboBox::show_edit_menu()
@@ -787,7 +787,7 @@ void PlaterPresetComboBox::show_edit_menu()
[this](wxCommandEvent&) { this->switch_to_tab(); }, "cog", menu, []() { return true; }, wxGetApp().plater());
if (m_type == Preset::TYPE_FILAMENT) {

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/PresetComboBoxes.hpp.orig 2023-07-25 12:39:49 UTC
--- src/slic3r/GUI/PresetComboBoxes.hpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/PresetComboBoxes.hpp
@@ -115,7 +115,7 @@ class PresetComboBox : public BitmapComboBox (protecte
@@ -119,7 +119,7 @@ class PresetComboBox : public BitmapComboBox (protecte
void validate_selection(bool predicate = false);
void update_selection();

View File

@ -1,17 +1,17 @@
--- src/slic3r/GUI/PrintHostDialogs.cpp.orig 2023-07-25 12:41:51 UTC
--- src/slic3r/GUI/PrintHostDialogs.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/PrintHostDialogs.cpp
@@ -100,8 +100,8 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
@@ -105,8 +105,8 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
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
- auto validate_path = [this](const wxString &path) -> bool {
- if (! path.Lower().EndsWith(m_valid_suffix.Lower())) {
- if (!path.Lower().EndsWith(m_valid_suffix.Lower())) {
+ auto validate_path = [this](const std::wstring &path) -> bool {
+ if (! (new wxString(path))->Lower().EndsWith(m_valid_suffix.Lower())) {
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;
@@ -111,7 +111,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
return msg_wingow.ShowModal() == wxID_YES;
}
@@ -115,7 +115,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
auto* btn_ok = add_button(wxID_OK, true, _L("Upload"));
btn_ok->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
@ -20,7 +20,7 @@
post_upload_action = PrintHostPostUploadAction::None;
EndDialog(wxID_OK);
}
@@ -121,7 +121,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
@@ -125,7 +125,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
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&) {
@ -29,7 +29,7 @@
post_upload_action = PrintHostPostUploadAction::QueuePrint;
EndDialog(wxID_OK);
}
@@ -131,7 +131,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
@@ -135,7 +135,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
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&) {
@ -38,7 +38,7 @@
post_upload_action = PrintHostPostUploadAction::StartPrint;
EndDialog(wxID_OK);
}
@@ -142,7 +142,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
@@ -146,7 +146,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
// 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&) {
@ -47,7 +47,7 @@
post_upload_action = PrintHostPostUploadAction::StartSimulation;
EndDialog(wxID_OK);
}
@@ -152,7 +152,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
@@ -156,7 +156,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
add_button(wxID_CANCEL);
finalize();

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/RemovableDriveManager.cpp.orig 2023-07-25 12:47:49 UTC
--- src/slic3r/GUI/RemovableDriveManager.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/RemovableDriveManager.cpp
@@ -738,7 +738,7 @@ namespace search_for_drives_internal
@@ -744,7 +744,7 @@ namespace search_for_drives_internal
//confirms if the file is removable drive and adds it to vector
if (

View File

@ -1,15 +1,6 @@
--- src/slic3r/GUI/Tab.cpp.orig 2023-07-23 21:37:19 UTC
--- src/slic3r/GUI/Tab.cpp.orig 2024-02-29 13:03:32 UTC
+++ src/slic3r/GUI/Tab.cpp
@@ -243,7 +243,7 @@ void Tab::create_preset_tab()
m_h_buttons_sizer->AddSpacer(int(8*scale_factor));
m_h_buttons_sizer->Add(m_btn_compare_preset, 0, wxALIGN_CENTER_VERTICAL);
- m_top_hsizer->Add(m_h_buttons_sizer, 1, wxEXPAND | wxALIGN_CENTRE_VERTICAL);
+ m_top_hsizer->Add(m_h_buttons_sizer, 1, wxEXPAND);
m_top_hsizer->AddSpacer(int(16*scale_factor));
// StretchSpacer has a strange behavior under OSX, so
// There is used just additional sizer for m_mode_sizer with right alignment
@@ -252,7 +252,7 @@ void Tab::create_preset_tab()
@@ -279,7 +279,7 @@ void Tab::create_preset_tab()
// Don't set the 2nd parameter to 1, making the sizer rubbery scalable in Y axis may lead
// to wrong vertical size assigned to wxBitmapComboBoxes, see GH issue #7176.
mode_sizer->Add(m_mode_sizer, 0, wxALIGN_RIGHT);
@ -18,7 +9,16 @@
}
// hide whole top sizer to correct layout later
m_top_hsizer->ShowItems(false);
@@ -280,7 +280,7 @@ void Tab::create_preset_tab()
@@ -296,7 +296,7 @@ void Tab::create_preset_tab()
m_treectrl = new wxTreeCtrl(panel, wxID_ANY, wxDefaultPosition, wxSize(20 * m_em_unit, -1),
wxTR_NO_BUTTONS | wxTR_HIDE_ROOT | wxTR_SINGLE | wxTR_NO_LINES | wxBORDER_SUNKEN | wxWANTS_CHARS);
m_treectrl->SetFont(wxGetApp().normal_font());
-#ifdef __linux__
+#if defined(__linux__) || defined(__FreeBSD__)
m_treectrl->SetBackgroundColour(m_parent->GetBackgroundColour());
#endif
m_left_sizer->Add(m_treectrl, 1, wxEXPAND);
@@ -310,7 +310,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&) {
@ -27,7 +27,7 @@
// 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
@@ -3427,7 +3427,7 @@ void Tab::load_current_preset()
@@ -3694,7 +3694,7 @@ void Tab::load_current_preset()
else
#endif
wxGetApp().tab_panel()->InsertPage(wxGetApp().tab_panel()->FindPage(this), tab, tab->title());
@ -36,7 +36,7 @@
int page_id = wxGetApp().tab_panel()->FindPage(tab);
wxGetApp().tab_panel()->GetPage(page_id)->Show(true);
#endif // __linux__
@@ -3837,7 +3837,7 @@ bool Tab::tree_sel_change_delayed()
@@ -4115,7 +4115,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.
@ -45,7 +45,7 @@
std::unique_ptr<wxWindowUpdateLocker> no_updates(new wxWindowUpdateLocker(this));
#else
/* On Windows we use DoubleBuffering during rendering,
@@ -3883,7 +3883,7 @@ bool Tab::tree_sel_change_delayed()
@@ -4161,7 +4161,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);

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/UnsavedChangesDialog.cpp.orig 2023-07-25 12:52:03 UTC
--- src/slic3r/GUI/UnsavedChangesDialog.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/UnsavedChangesDialog.cpp
@@ -25,7 +25,7 @@ using boost::optional;
@@ -31,7 +31,7 @@
using boost::optional;
@ -9,7 +9,7 @@
#define wxLinux true
#else
#define wxLinux false
@@ -109,7 +109,7 @@ ModelNode::ModelNode(ModelNode* parent, const wxString
@@ -115,7 +115,7 @@ ModelNode::ModelNode(ModelNode* parent, const wxString
UpdateIcons();
}
@ -18,7 +18,7 @@
wxIcon ModelNode::get_bitmap(const wxString& color)
#else
wxBitmap ModelNode::get_bitmap(const wxString& color)
@@ -118,7 +118,7 @@ wxBitmap ModelNode::get_bitmap(const wxString& color)
@@ -124,7 +124,7 @@ wxBitmap ModelNode::get_bitmap(const wxString& color)
wxBitmap bmp = get_solid_bmp_bundle(64, 16, into_u8(color))->GetBitmapFor(m_parent_win);
if (!m_toggle)
bmp = bmp.ConvertToDisabled();
@ -27,7 +27,7 @@
return bmp;
#else
wxIcon icon;
@@ -222,7 +222,7 @@ void ModelNode::UpdateIcons()
@@ -228,7 +228,7 @@ void ModelNode::UpdateIcons()
if (!m_toggle)
bmp = bmp.ConvertToDisabled();
@ -36,7 +36,7 @@
m_icon.CopyFromBitmap(bmp);
#else
m_icon = bmp;
@@ -374,7 +374,7 @@ void DiffModel::GetValue(wxVariant& variant, const wxD
@@ -380,7 +380,7 @@ void DiffModel::GetValue(wxVariant& variant, const wxD
case colToggle:
variant = node->m_toggle;
break;
@ -45,7 +45,7 @@
case colIconText:
variant << wxDataViewIconText(node->m_text, node->m_icon);
break;
@@ -417,7 +417,7 @@ bool DiffModel::SetValue(const wxVariant& variant, con
@@ -423,7 +423,7 @@ bool DiffModel::SetValue(const wxVariant& variant, con
case colToggle:
node->m_toggle = variant.GetBool();
return true;
@ -54,7 +54,7 @@
case colIconText: {
wxDataViewIconText data;
data << variant;
@@ -622,7 +622,7 @@ void DiffViewCtrl::AppendBmpTextColumn(const wxString&
@@ -628,7 +628,7 @@ DiffViewCtrl::DiffViewCtrl(wxWindow* parent, wxSize si
void DiffViewCtrl::AppendBmpTextColumn(const wxString& label, unsigned model_column, int width, bool set_expander/* = false*/)
{
m_columns_width.emplace(this->GetColumnCount(), width);

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/UnsavedChangesDialog.hpp.orig 2023-07-25 12:56:44 UTC
--- src/slic3r/GUI/UnsavedChangesDialog.hpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/UnsavedChangesDialog.hpp
@@ -48,7 +48,7 @@ class ModelNode
@@ -52,7 +52,7 @@ class ModelNode
wxString m_mod_color;
wxString m_new_color;
@ -9,7 +9,7 @@
wxIcon get_bitmap(const wxString& color);
#else
wxBitmap get_bitmap(const wxString& color);
@@ -57,7 +57,7 @@ class ModelNode
@@ -61,7 +61,7 @@ class ModelNode
public:
bool m_toggle {true};

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/UpdateDialogs.cpp.orig 2023-07-25 12:59:11 UTC
--- src/slic3r/GUI/UpdateDialogs.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/UpdateDialogs.cpp
@@ -142,7 +142,7 @@ AppUpdateDownloadDialog::AppUpdateDownloadDialog( cons
@@ -147,7 +147,7 @@ AppUpdateDownloadDialog::AppUpdateDownloadDialog( cons
versions->Add(new wxStaticText(this, wxID_ANY, ver_online.to_string()));
content_sizer->Add(versions);
content_sizer->AddSpacer(VERT_SPACING);
@ -9,7 +9,7 @@
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 @@ bool AppUpdateDownloadDialog::run_after_download() con
@@ -253,7 +253,7 @@ AppUpdateDownloadDialog::~AppUpdateDownloadDialog() {}
bool AppUpdateDownloadDialog::run_after_download() const
{

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/wxExtensions.cpp.orig 2023-07-25 13:02:00 UTC
--- src/slic3r/GUI/wxExtensions.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/wxExtensions.cpp
@@ -22,7 +22,7 @@
@@ -27,7 +27,7 @@
#include "libslic3r/Color.hpp"
@ -9,7 +9,7 @@
// msw_menuitem_bitmaps is used for MSW and OSX
static std::map<int, std::string> msw_menuitem_bitmaps;
void sys_color_changed_menu(wxMenu* menu)
@@ -92,7 +92,7 @@ wxMenuItem* append_menu_item(wxMenu* menu, int id, con
@@ -97,7 +97,7 @@ wxMenuItem* append_menu_item(wxMenu* menu, int id, con
wxBitmapBundle* bmp = icon.empty() ? nullptr : get_bmp_bundle(icon);
@ -18,7 +18,7 @@
if (bmp && bmp->IsOk())
msw_menuitem_bitmaps[id] = icon;
#endif /* no __linux__ */
@@ -110,7 +110,7 @@ wxMenuItem* append_submenu(wxMenu* menu, wxMenu* sub_m
@@ -115,7 +115,7 @@ wxMenuItem* append_submenu(wxMenu* menu, wxMenu* sub_m
if (!icon.empty()) {
item->SetBitmap(*get_bmp_bundle(icon));
@ -27,7 +27,7 @@
msw_menuitem_bitmaps[id] = icon;
#endif // no __linux__
}
@@ -671,9 +671,9 @@ void ModeButton::focus_button(const bool focus)
@@ -681,9 +681,9 @@ void ModeButton::focus_button(const bool focus)
GetParent()->Refresh(); // force redraw a background of the selected mode button
#else
SetForegroundColour(wxSystemSettings::GetColour(focus ? wxSYS_COLOUR_BTNTEXT :

View File

@ -1,6 +1,6 @@
--- src/slic3r/GUI/wxExtensions.hpp.orig 2023-07-25 13:07:41 UTC
--- src/slic3r/GUI/wxExtensions.hpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/GUI/wxExtensions.hpp
@@ -16,7 +16,7 @@
@@ -20,7 +20,7 @@
#include <functional>

View File

@ -1,6 +1,6 @@
--- src/slic3r/Utils/FontConfigHelp.hpp.orig 2023-07-25 13:08:59 UTC
--- src/slic3r/Utils/FontConfigHelp.hpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/Utils/FontConfigHelp.hpp
@@ -1,7 +1,7 @@
@@ -5,7 +5,7 @@
#ifndef slic3r_FontConfigHelp_hpp_
#define slic3r_FontConfigHelp_hpp_

View File

@ -1,6 +1,6 @@
--- src/slic3r/Utils/Serial.cpp.orig 2023-07-25 13:13:16 UTC
--- src/slic3r/Utils/Serial.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/Utils/Serial.cpp
@@ -49,7 +49,7 @@
@@ -53,7 +53,7 @@
#include <sys/select.h>
#endif
@ -9,7 +9,7 @@
#include <termios.h>
#elif defined __linux__
#include <fcntl.h>
@@ -342,7 +342,7 @@ void Serial::set_baud_rate(unsigned baud_rate)
@@ -346,7 +346,7 @@ void Serial::set_baud_rate(unsigned baud_rate)
ios.c_cc[VTIME] = 1;
handle_errno(::ioctl(handle, TCSETS2, &ios));

View File

@ -0,0 +1,27 @@
--- src/slic3r/Utils/WifiScanner.cpp.orig 2024-02-29 13:03:32 UTC
+++ src/slic3r/Utils/WifiScanner.cpp
@@ -17,7 +17,7 @@
#include "WifiScannerMac.h"
#endif
-#if __linux__
+#if defined(__linux__) || defined(__FreeBSD__)
#include <dbus/dbus.h> /* Pull in all of D-Bus headers. */
#endif //__linux__
@@ -353,7 +353,7 @@ std::string WifiScanner::get_psk(const std::string& ss
}
return {};
}
-
+} // Slic3r
#ifdef _WIN32
// Fill SSID map. Implementation from Raspberry Pi imager and Win32 Api examples.
// https://github.com/raspberrypi/rpi-imager/blob/qml/src/windows/winwlancredentials.cpp
@@ -489,4 +489,4 @@ void WifiScanner::fill_wifi_map(Slic3r::WifiSsidPskMap
wlanFreeMemoryFunc(interface_list);
}
#endif // _WIN32
-} // Slic3r
\ No newline at end of file
+//} // Slic3r

View File

@ -1,6 +1,6 @@
--- src/slic3r/Utils/WxFontUtils.cpp.orig 2023-07-25 13:16:26 UTC
--- src/slic3r/Utils/WxFontUtils.cpp.orig 2023-12-12 14:21:21 UTC
+++ src/slic3r/Utils/WxFontUtils.cpp
@@ -8,7 +8,7 @@
@@ -12,7 +12,7 @@
#include <wx/uri.h>
#include <wx/fontutil.h> // wxNativeFontInfo
#include <wx/osx/core/cfdictionary.h>
@ -9,7 +9,7 @@
#include "slic3r/Utils/FontConfigHelp.hpp"
#endif
@@ -72,7 +72,7 @@ bool WxFontUtils::can_load(const wxFont &font)
@@ -76,7 +76,7 @@ bool WxFontUtils::can_load(const wxFont &font)
#elif defined(__APPLE__)
return true;
//return is_valid_ttf(get_file_path(font));
@ -18,7 +18,7 @@
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> WxFontUtils::create_
@@ -97,7 +97,7 @@ std::unique_ptr<Emboss::FontFile> WxFontUtils::create_
return nullptr;
}
return Emboss::create_font_file(file_path.c_str());
@ -27,7 +27,7 @@
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_actual_type()
@@ -118,7 +118,7 @@ EmbossStyle::Type WxFontUtils::get_current_type()
return EmbossStyle::Type::wx_win_font_descr;
#elif defined(__APPLE__)
return EmbossStyle::Type::wx_mac_font_descr;
@ -36,7 +36,7 @@
return EmbossStyle::Type::wx_lin_font_descr;
#else
return EmbossStyle::Type::undefined;
@@ -348,4 +348,4 @@ std::unique_ptr<Emboss::FontFile> WxFontUtils::set_bol
@@ -351,4 +351,4 @@ std::unique_ptr<Emboss::FontFile> WxFontUtils::set_bol
// There is NO bold font by wx
font.SetWeight(orig_weight);
return nullptr;

View File

@ -1,11 +1,11 @@
--- tests/libslic3r/test_emboss.cpp.orig 2023-07-25 16:05:40 UTC
--- tests/libslic3r/test_emboss.cpp.orig 2023-12-12 14:21:21 UTC
+++ tests/libslic3r/test_emboss.cpp
@@ -195,7 +195,7 @@ TEST_CASE("Visualize glyph from font", "[Emboss]")
#endif // VISUALIZE
#include "test_utils.hpp"
-#include "nanosvg/nanosvg.h" // load SVG file
+#include "libnanosvg/nanosvg.h" // load SVG file
#include "libslic3r/NSVGUtils.hpp"
-#include <nanosvg/nanosvg.h> // load SVG file
+#include <libnanosvg/nanosvg.h> // load SVG file
#include <libslic3r/NSVGUtils.hpp>
#include <libslic3r/IntersectionPoints.hpp>
ExPolygons heal_and_check(const Polygons &polygons)
{

View File

@ -1,11 +1,11 @@
bin/prusa-gcodeviewer
bin/prusa-slicer
lib/OCCTWrapper.so
share/applications/PrusaGcodeviewer.desktop
share/applications/PrusaSlicer.desktop
share/icons/hicolor/128x128/apps/PrusaSlicer-gcodeviewer.png
share/icons/hicolor/128x128/apps/PrusaSlicer.png
share/icons/hicolor/192x192/apps/PrusaSlicer-gcodeviewer.png
share/icons/hicolor/192x192/apps/PrusaSlicer.png
share/icons/hicolor/32x32/apps/PrusaSlicer-gcodeviewer.png
share/applications/PrusaGcodeviewer.desktop
share/icons/hicolor/32x32/apps/PrusaSlicer.png
share/icons/hicolor/32x32/apps/PrusaSlicer-gcodeviewer.png
share/icons/hicolor/128x128/apps/PrusaSlicer.png
share/icons/hicolor/128x128/apps/PrusaSlicer-gcodeviewer.png
share/icons/hicolor/192x192/apps/PrusaSlicer.png
share/icons/hicolor/192x192/apps/PrusaSlicer-gcodeviewer.png