5128 Commits

Author SHA1 Message Date
YuSanka
3cf73f6a06 If configuration update is available, show Dialog with information about it before ConfigWizard is opened 2021-06-29 13:27:03 +02:00
YuSanka
cdbb432430 MSW specific: Fixed a crash on change of the extruder using keyboard 2021-06-28 19:31:14 +02:00
Vojtech Bubnik
2cbe5f760d Fixed missing include 2021-06-28 17:45:13 +02:00
Vojtech Bubnik
226bf929fb Fixed loading of system presets with incompatible system profile keys
before the "reconfigure" dialog is shown.

Replaced boost::filesystem::copy_file() with Slic3r::copy_file()
in config snapshot loading code.
2021-06-28 17:26:59 +02:00
YuSanka
14dc4c8afc Substitutions : Implemented InfoDialog 2021-06-28 17:21:41 +02:00
Vojtech Bubnik
84b28a25e8 Support for forward compatibility of configurations, user and system
config bundles, project files (3MFs, AMFs). When loading these files,
the caller may decide whether to substitute some of the configuration
values the current PrusaSlicer version does not understand with
some reasonable default value, and whether to report it. If substitution
is disabled, an exception is being thrown as before this commit.
If substitution is enabled, list of substitutions is returned by the
API to be presented to the user. This allows us to introduce for example
new firmware flavor key in PrusaSlicer 2.4 while letting PrusaSlicer
2.3.2 to fall back to some default and to report it to the user.

As a preparation for PrusaSlicer 2.4.0, the new firmware_flavor
"marlinfirmware" (signifying Marlin 2.0 and newer) that is not
supported by 2.3.2 yet will default to "marlin" (signifying legacy
Marlin).

When slicing from command line, substutions are performed by default
and reported into the console, however substitutions may be either
disabled or made silent with the new "config-compatibility" command
line option.

Substitute enums and bools only.  Allow booleans to be parsed as
    true: "1", "enabled", "on" case insensitive
    false: "0", "disabled", "off" case insensitive
This will allow us in the future for example to switch the draft_shield
boolean to an enum with the following values: "disabled" / "enabled" / "limited".

Added "enum_bitmask.hpp" - support for type safe sets of options.
See for example PresetBundle::load_configbundle(...
LoadConfigBundleAttributes flags) for an example of intended usage.

WIP: GUI for reporting the list of config substitutions needs to be
implemented by @YuSanka.
2021-06-27 16:14:16 +02:00
Vojtech Bubnik
dc81cae219 Bumped up version to 2.3.2-alpha0 2021-06-21 14:11:07 +02:00
David Kocik
246c559916 prusalink: bug fixes of physical printer dialog, start print after upload, accept both OctoPrint and PrusaLink as validation string 2021-06-17 10:50:34 +02:00
YuSanka
80f4571cd7 PhysicalPrinterDialog : Update of the HostType in respect to the selected printers 2021-06-17 10:50:34 +02:00
David Kocik
725e60d006 PrusaLink class 2021-06-17 10:50:34 +02:00
David Kocik
a30f9f6781 fix of infinite loop in notification lines calulating #6583
fix of infinite loop in notification lines calulating
2021-06-08 10:11:54 +02:00
David Kocik
14efdca4b4 Notifications: Calculating space left for hypertext with escaped text 2021-05-20 16:32:07 +02:00
David Kocik
8acc52c27e Additional controls in NotificationManager 2021-04-30 08:49:52 +02:00
David Kocik
14405e66ae Fix of crash when notification text + hypertext wont fit line length 2021-04-27 09:02:27 +02:00
Vojtech Bubnik
5061124225 RemovableManager on OSX: Testing for dictionary values for nullness.
Hopefully it fixes Can not start slicer on mac Bigsur #5719
2021-04-15 16:07:37 +02:00
enricoturri1966
81b35955ba #6095 - Fixed toolpaths generation 2021-04-13 11:53:37 +02:00
Vojtech Bubnik
db324b2295 Ported ChromeOS support from master aka PrusaSlicer 2.4.0-alpha:
1) Detect platform
2) Disable OpenGL multi-sampling on ChromeOS
3) Disable eject on ChromeOS, different location of external devices
   mount point.
2021-04-13 10:55:27 +02:00
YuSanka
89b942ffb7 OSX specific, related to the wxWidgets 3.1.4: Fixed wrong UI-scaling
(wxWidgets 3.1.4 can binding of wxEVT_DPI_CHANGED now, so it was called msw_rescale() for most of the controls redundantly)

+ Fixed update of the DoubleSlider after changing of the system color
2021-04-12 15:45:47 +02:00
enricoturri1966
6a0e816d94 Fixed conflicts after cherry-picking 76a92e40befc9ce57d7436170786435041e56ab1 2021-04-12 14:11:10 +02:00
Lukas Matena
51dfccf115 Fixing GCC warnings 3 2021-04-12 14:09:30 +02:00
YuSanka
6f85a7d3fd Fix of #5202 - Fuzzy Search engine is too fuzzy
* changed evaluation coefficients inside fuzzy_match_recursive
 * don't add markers to the labels before it's used in fuzzy_match_recursive
 + follow-up 78a3d8b63e - added missed fix for one more line (use std::towlower instead of std::tolower for wchar_t) Problem was appearance on Cyrillic languages
2021-04-12 14:09:23 +02:00
enricoturri1966
1158dae587 Tech ENABLE_UNSIGNED_SHORT_INDEX_BUFFER merged into tech ENABLE_SPLITTED_VERTEX_BUFFER 2021-04-12 14:09:22 +02:00
enricoturri1966
ab5c7a959d Tech ENABLE_TOOLPATHS_ALTERNATE_SMOOTHING merge into tech ENABLE_SPLITTED_VERTEX_BUFFER 2021-04-12 14:09:19 +02:00
enricoturri1966
9fbd2ab1c7 ENABLE_GCODE_VIEWER_STATISTICS - GCodeViewer statistic dialog modified to not require extra frames render 2021-04-12 14:09:17 +02:00
enricoturri1966
dd2cd72099 ENABLE_SPLITTED_VERTEX_BUFFER - Re-enable tech ENABLE_TOOLPATHS_ALTERNATE_SMOOTHING after fixing it 2021-04-12 14:09:17 +02:00
enricoturri1966
81bf9609ce Fixed visualization of point toolpaths, broken with daa0bbdb0cfad984565bbd4a17940a65ef28650e 2021-04-12 14:09:16 +02:00
enricoturri1966
f3be5bf950 ENABLE_SPLITTED_VERTEX_BUFFER - Use unsigned short indices buffers to render toolpaths and temporary disable tech ENABLE_TOOLPATHS_ALTERNATE_SMOOTHING which is causing artifacts 2021-04-12 14:09:16 +02:00
enricoturri1966
db862ae842 ENABLE_SPLITTED_VERTEX_BUFFER - slightly faster indices buffers generation in GCodeViewer::load_toolpaths() 2021-04-12 14:09:15 +02:00
enricoturri1966
6a4170ea38 ENABLE_SPLITTED_VERTEX_BUFFER - small refactoring in GCodeViewer::load_toolpaths() 2021-04-12 14:09:14 +02:00
enricoturri1966
7bce69f9c7 ENABLE_SPLITTED_VERTEX_BUFFER - fixed cracks in toolpaths when splitting vertex and index buffers 2021-04-12 14:09:12 +02:00
enricoturri1966
6e554626a6 ENABLE_SPLITTED_VERTEX_BUFFER - fixed bugs in export of toolpaths to obj files and in index buffer splitting 2021-04-12 14:09:11 +02:00
enricoturri1966
420cdca5b5 ENABLE_SPLITTED_VERTEX_BUFFER - fixed export of toolpaths to obj files 2021-04-12 14:09:11 +02:00
enricoturri1966
2b7bd1452a Code cleanup 2021-04-12 14:09:10 +02:00
enricoturri1966
46903fe2eb ENABLE_SPLITTED_VERTEX_BUFFER - fixed visualization of last segment for paths whose vertex buffer has been splitted 2021-04-12 14:09:08 +02:00
enricoturri1966
f9cfbd857b 1st installment of tech ENABLE_SPLITTED_VERTEX_BUFFER - split vertex buffer when greater than a fixed max size 2021-04-12 14:09:08 +02:00
enricoturri1966
9d958768c8 Another refactoring in GCodeViewer::load_toolpaths() 2021-04-12 14:09:07 +02:00
enricoturri1966
096022ebcf Small refactoring in GCodeViewer::load_toolpaths() 2021-04-12 14:09:05 +02:00
enricoturri1966
91fdb67cd7 Refactoring of GCodeViewer initialization 2021-04-12 14:09:04 +02:00
enricoturri1966
193e73177c Fixed merging error after merge with master 2021-04-12 14:09:02 +02:00
Vojtech Bubnik
7d751753bc Replaced __linux macro with __linux__ 2021-01-11 13:31:30 +01:00
YuSanka
7a1574a853 Fix of #5720 - SL1 Printer Settings->Notes is not updated when switching tab 2021-01-11 13:11:35 +01:00
Vojtech Bubnik
d46a756b98 Finally fixing the single instance for AppImage 2021-01-11 11:41:22 +01:00
Vojtech Bubnik
a900b7767b Fix of previous commit 2021-01-11 11:29:27 +01:00
Vojtech Bubnik
7780221683 Fixed "Single instance" locking issue on Linux with AppImage,
where the PrusaSlicer binary is mounted at a different mount point
at each AppImage execution.
Fixes Lock files in the local configuration directory are not deleted (#5733)
2021-01-11 11:14:59 +01:00
tamasmeszaros
d19a7fcfad Increase tolerance for objects being outside print bed. 2021-01-08 10:14:24 +01:00
enricoturri1966
012a76e126 Removed obsolete method declaration in GLCanvas3D 2021-01-08 08:47:33 +01:00
Vojtech Bubnik
2b02747ec5 On OSX, we use boost::process::spawn() to launch new instances of PrusaSlicer from another PrusaSlicer.
boost::process::spawn() sets SIGCHLD to SIGIGN for the child process, thus if a child PrusaSlicer spawns another
subprocess and the subrocess dies, the child PrusaSlicer will not receive information on end of subprocess
(posix waitpid() call will always fail).
https://jmmv.dev/2008/10/boostprocess-and-sigchld.html
The child instance of PrusaSlicer has to reset SIGCHLD to its default, so that posix waitpid() and similar continue to work.
Fixes #5507
2021-01-07 19:14:48 +01:00
Vojtech Bubnik
2ad4447035 Fix of Ejecting of device has failed on Ubuntu Linux #3975
Eject failed due to superfluous escaping of spaces in path to the SD card
mount point.
2021-01-07 14:17:09 +01:00
Vojtech Bubnik
4988b93b8d Merge remote-tracking branch 'remotes/origin/master' into vb_osx_eject 2021-01-07 14:12:40 +01:00
Vojtech Bubnik
8c597e9533 Merge remote-tracking branch 'remotes/origin/dk_refresh' into vb_osx_eject 2021-01-07 14:00:21 +01:00