Commit Graph

42 Commits

Author SHA1 Message Date
6e976817e6 MSW specific:Added dark mode for G-CodeViewer 2021-10-07 11:53:19 +02:00
de000ed50b New preferences key "clear_undo_redo_stack_on_new_project", set to "1"
by default: Clear Undo / Redo stack on new project or load project.
Fixes Clear undo chain #2812
2021-09-30 12:17:52 +02:00
4e17e61be4 Check unsaved changes (#6991)
* Check Unsaved changes (partially related to #5903)
 + Allow create new project when Plater is empty, but some of presets are modified (related to #5903)
 + When creating new project allow Keep or Discard modification from previous project
 + Added check of changes:
    * before any load project (including DnD and "Load From Recent Projects")
    * before preset updater
    * when configuration is changing from the ConfigWizard
 + Dialog caption is added for each check

 + Create/Destroy ConfigWizard every time when it's called

* Check Unsaved changes: Next Improvements
 + For dialog "Save project changes" added a reason of saving and name of the current project (or "Untitled")
 + UnsavedChangesDialog: Headers are extended to better explain the reason
 + Preferences: Fixed tooltiops for "Always ask for unsaved changes when..."
 + Suppress "Remember my choice" checkbox for actions which are not frequently used

* Fixed behavior of the application when try to save changed project but "Cancel" button is selected in "Save file as..." dialog

* Check unsaved changes: Improvements for Config Wizard - Check all cases when presets should be updated
 + Fixed info line for Materials pages. Text of the info relates to the printer technology now

* Improved suggested name for a project when Application is closing

* Fixed Linux/OSX build warnings
2021-09-22 12:44:13 +02:00
2498f42b72 Hints notification random weighted order with saving used hints to cache/hints.cereal 2021-08-24 16:49:09 +02:00
7a2993a4b7 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-07-29 13:28:16 +02:00
73e4d45a98 Horizontal slider in preview to show always (and only) gcode lines indices 2021-07-29 13:28:07 +02:00
bc8ecff631 Hint notification
Reads data from hints.ini. Has hyperlinks to highlight settings, toolbars and gizmos.
2021-07-29 13:20:50 +02:00
ee33687c79 Fixed update of the default menu after changing of the mode.
+ Added check for the output directory for the G-code extport.
2021-07-26 14:41:38 +02:00
cb873bd88c Tech ENABLE_GCODE_LINES_ID_IN_H_SLIDER set as default 2021-07-22 08:35:21 +02:00
5d482ebb94 Don't save shapes directory to the "last_dir" 2021-07-21 16:13:40 +02:00
d0a1416599 Because of a crash in PrusaSlicer 2.3.0/2.3.1 when showing an update
notification with some locales, we don't want PrusaSlicer 2.3.0/2.3.1
to show this notification. On the other hand, we would like PrusaSlicer
2.3.2 to show an update notification of the upcoming PrusaSlicer 2.4.0.
Thus we will let PrusaSlicer 2.3.2 and couple of follow-up versions
to download the version number from an alternate file until
the PrusaSlicer 2.3.0/2.3.1 are phased out, then we will revert to
the original name.
2021-06-25 17:54:43 +02:00
06872f02e5 Windows specific: Transactional saving of PrusaSlicer.ini to ensure
that configuration could be recovered in the case PrusaSlicer.ini
is corrupted during saving. The config is first written into a temp file
marked with a MD5 checksum. Once the file is saved, it is
copied to a backup file first, then moved to PrusaSlicer.ini.

When loading PrusaSlicer.ini fails, the backup file will be loaded
instead, however only if its MD5 checksum is valid.

The following "Fixes" comments are for github triggers. We implemented
a workaround, not a fix, we don't actually know how the data corruption
happens and why. Most likely the "Move file" Windows API is not atomic
and if PrusaSlicer crashes on another thread while moving the file,
PrusaSlicer.ini will only be partially saved, with the rest of the file
filled with nulls. We did not "fix" the issue, we just hope that our
workaround will help in majority of cases.

Fixes prusaslicer wont open 2.3 windows 10 #5812
Fixes Won't Open - Windows 10 #4915
Fixes PrusaSlicer Crashes upon opening with "'=' character not found in
line error" #2438
Fixes Fails to open on blank slic3r.ini %user%\AppData\Roaming\Slic3rPE
2021-06-25 16:44:06 +02:00
ffd33d6494 DarkMode for MSW (#6632)
* MSW specific: Dark Mode: First implementation

* Use menu instead of NoteBook

* Implemented MessageDialog
+ Fixed DarkMode for all dialogs and ColorPicker

* MSW DarkMode: Added missed updates for the switching between modes

* MSW DarkMode: Updated all existed context menus after switching of the mode
+ Added markers for the menu item witch is related to the selected tab

* Used wxFrame instead of wxDialog for SettingsDialog
(this change allow us to use menu bar in SettingsDialog)

+ fix for #6548 - Prusa Slicer 2.3.1 not activating non-modal settings window if settings window is minimized

* Implemented "Always use Dark mode colors" preference option

* Fixes for non_MSW build

* Next fixes for non-MSW builds

* Preferences: Fixed selection of the Settings Layout for non-MSW platforms
+ Updated DarkMode for colorpickers

* Windows DarkMode next fixes

* MSWDarkMode: Suppress to use system color to the PrusaSlicer
Select "Preferences -> Use Dark color mode (experimental)" to allow dark mode for the application

* Fixed MSW build

* MSWDarkMode: Upadteed color mode for ExtruderSequenceDialog and for dialogs related to the DoubleSlider

* Implemented Auto recreation of the PrusaSlicer when color mode is changed.

* Preferences: Added option "Set settings tabs as menu items (experimental)"
2021-06-18 19:46:04 +02:00
4d1bce166c Fixed DnD function for volumes inside the object in respect to the volume type 2021-05-26 15:36:48 +02:00
e2b0623f8e Fixed third batch of locale-dependent calls 2021-05-24 12:20:29 +02:00
c2866d435b Tech ENABLE_CUSTOMIZABLE_FILES_ASSOCIATION_ON_WIN set as default 2021-02-26 10:18:16 +01:00
fbd663469b Tech ENABLE_CTRL_M_ON_WINDOWS set as default 2021-02-25 15:22:12 +01:00
919851b548 #5611 - Added option to show gcode line number on horizontal slider in preview 2021-02-16 10:07:05 +01:00
845391ecef Implemented #4931 - Added colored background for the Manipulation panel, if
option "Use colors for axes values in Manipulation panel" is enabled in Preferences -> GUI
+ Fix one more compilation warning in UnsavedChangesDialog.cpp
2021-02-09 16:04:03 +01:00
f968cfd2d5 Fixing Clang warnings 3 2021-02-08 17:52:29 +01:00
22ef17af54 Fixing Clang warnings 1 2021-02-08 17:52:29 +01:00
282e453ce7 Enabled tech ENABLE_CTRL_M_ON_WINDOWS -> Added customizable support for legacy CTRL+M settings dialog on Windows in preference dialog 2020-11-26 11:00:24 +01:00
2a84f5efdd Customizable association of .3mf, .stl and .gcode files on Windows 2020-11-26 10:09:34 +01:00
4e15387af8 Added dialog to choose import action when dragging and dropping a project file 2020-11-16 08:39:25 +01:00
5f9df6333f ENABLE_GCODE_VIEWER set as default in libslic3r 2020-11-12 14:03:58 +01:00
e66d5ec31b #4395, #4701, #1336 - Added the ability to invert the scroll wheel when zooming 2020-11-02 13:08:13 +01:00
bd74b97988 Snapshots extended to capture and restore sla_print, sla_material,
physical_printers.
Updated the snapshots dialog to display sla_print and sla_material.
Updated the snapshots dialog to display physical_printer instead of
printer if the physical_printer key is nonempty.
The "physical_printer" key was moved from [extras] to [presets] section
of PrusaSlicer.ini
2020-10-27 12:48:31 +01:00
8fde0a085b Refactored loading of Get/SetThreadDescription() on Windows:
These new API functions are not available on Windows 7 and on older Windows 10,
thus they are newly loaded dynamically and the functions using it retur
a bool indicating whether the functionality is supported or not.
Also the OSX variants that are not supported newly return false instead
of throwing an exception.

Fixes #4972 #4974
2020-10-26 08:09:17 +01:00
f7c495df6d Fix couple of build issues on gcc 2020-10-23 07:51:58 +02:00
37e1c94fe3 Workarounds and documentation of OSX posix incompatibilities 2020-10-22 14:57:50 +02:00
f02bf51471 Workaround for OSX non-compliant implementation of
pthread_getname_np / pthread_setname_np
2020-10-22 14:45:15 +02:00
e3d21b1a71 Fix of the "dock" menu on OSX to start a new instance of PrusaSlicer
in case a single instance is disabled.
Make the "single_instance" enabled by default on OSX initially
to match the platform.
2020-10-17 09:23:05 +02:00
3bae4fcad2 UnsavedChangesDialog : improvements
* Added "Remember my choice" checkbox
* Center on the screen and set position in respect to the position of mainframe or settings dialog

Preferences : Added checkboxes for enable/suppress showing of the UnsavedChangeDialog

SearchImGui : close after parameter selection_is_changed_according_to_physical_printers

PhysicalPrinterDialog, SavePresetDialog : Center on the screen
2020-10-15 16:53:14 +02:00
a3f8f65158 Added option to apply the sequential slider in preview to top layer only or to whole gcode toolpaths 2020-10-15 10:25:13 +02:00
9c48a5de5d Tech ENABLE_GCODE_APP_CONFIG as default 2020-10-12 12:38:34 +02:00
8b6c599d45 Added Preference dialog to standalone gcode viewer 2020-10-06 15:11:08 +02:00
ac0b160612 AppConfig modified to generate a separate config file for the standalone gcodeviewer 2020-10-05 15:42:35 +02:00
f58ee46687 WIP Refactoring of exceptions:
1) All slicer's exceptions are now derived from Slic3r::Exception.
2) New exceptions are defined for slicing errors.
3) Exceptions are propagated to the Plater to show.
It remains to modify the slicing back-end to throw the new SlicingError
exceptions instead of std::runtime_error and to show the other exceptions
by a message dialog instead of a notification.
2020-09-14 18:03:22 +02:00
c4f2560205 SplashScreen:
* Show it on the display same as an Application
 * Code refactoring : All related functions moved to the SplashScreen class
 * Add a possibility o hide/show splash scree in Preferences
2020-09-10 18:54:29 +02:00
77787e36ad Tech ENABLE_GCODE_VIEWER_AS_STANDALONE_APPLICATION set as default 2020-09-10 08:49:50 +02:00
0b88b32141 GCode viewer using the proper layout when started as a standalone application 2020-09-08 11:40:06 +02:00
ceaeb26da8 Code refactoring: AppConfig.cpp(hpp) are removed from the GUI to libslic3r 2020-08-08 17:03:20 +02:00