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:
parent
9784fb237c
commit
c4fa8a7ea8
@ -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= *
|
||||
|
||||
|
@ -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
|
||||
|
@ -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()
|
||||
|
@ -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 ()
|
||||
|
||||
|
@ -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 @@
|
||||
+/*
|
||||
|
@ -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 @@
|
||||
+/*
|
||||
|
@ -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>
|
@ -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
|
||||
|
10
cad/PrusaSlicer/files/patch-src_libslic3r_CutSurface.cpp
Normal file
10
cad/PrusaSlicer/files/patch-src_libslic3r_CutSurface.cpp
Normal 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>
|
11
cad/PrusaSlicer/files/patch-src_libslic3r_EmbossShape.hpp
Normal file
11
cad/PrusaSlicer/files/patch-src_libslic3r_EmbossShape.hpp
Normal 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 {
|
||||
|
@ -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
|
||||
|
@ -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));
|
||||
|
||||
|
@ -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
|
11
cad/PrusaSlicer/files/patch-src_libslic3r_MeshBoolean.cpp
Normal file
11
cad/PrusaSlicer/files/patch-src_libslic3r_MeshBoolean.cpp
Normal 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
|
@ -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 {
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
12
cad/PrusaSlicer/files/patch-src_libslic3r_Triangulation.cpp
Normal file
12
cad/PrusaSlicer/files/patch-src_libslic3r_Triangulation.cpp
Normal 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>
|
@ -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})
|
||||
|
@ -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 };
|
||||
|
@ -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());
|
||||
|
||||
|
@ -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 = {});
|
||||
|
@ -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"
|
||||
|
@ -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_
|
||||
|
@ -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()));
|
||||
|
||||
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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.
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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"));
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
@ -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 (
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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>
|
@ -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{
|
13
cad/PrusaSlicer/files/patch-src_slic3r_GUI_IconManager.cpp
Normal file
13
cad/PrusaSlicer/files/patch-src_slic3r_GUI_IconManager.cpp
Normal 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
|
@ -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"
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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();
|
||||
|
@ -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());
|
||||
|
@ -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"));
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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) {
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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 (
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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};
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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 :
|
||||
|
@ -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>
|
||||
|
||||
|
||||
|
@ -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_
|
||||
|
||||
|
@ -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));
|
||||
|
||||
|
27
cad/PrusaSlicer/files/patch-src_slic3r_Utils_WifiScanner.cpp
Normal file
27
cad/PrusaSlicer/files/patch-src_slic3r_Utils_WifiScanner.cpp
Normal 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
|
@ -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;
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user