474 Commits

Author SHA1 Message Date
Vojtech Bubnik
7b0d90f489 Reworded "Shape Gallery" menu and dialog title 2021-10-07 15:40:28 +02:00
YuSanka
577632d892 Check unsaved preset changes only if project is dirty and it wasn't saved 2021-10-04 16:20:46 +02:00
enricoturri1966
b78d7cea28 #7054 - Tech ENABLE_SAVE_COMMANDS_ALWAYS_ENABLED: enable command Save (CTRL+S) for untitled projects (automatically calls command Save As) 2021-10-04 09:20:35 +02:00
Vojtech Bubnik
1f3b272d77 Redo of the project state, implementation of Undo/Redo stack compression 2021-09-30 12:17:39 +02:00
YuSanka
e477903d3e MSW specific: Fixed settings layout after switching from New to Old layout
(Notebook: Added check of a visibility of just selected tab in notebook)
2021-09-22 15:53:59 +02:00
Oleksandra Yushchenko
8f064dd155
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
Vojtech Bubnik
8a2a9dba2f Eradicated admesh from TriangleMesh:
TriangleMesh newly only holds indexed_triangle_set and
TriangleMeshStats. TriangleMeshStats contains an excerpt of stl_stats.
TriangleMeshStats are updated when initializing with indexed_triangle_set.

Admesh triangle mesh fixing is newly only used when loading an STL.
AMF / 3MF / OBJ file formats are already indexed triangle sets, thus
they are no more converted to admesh stl_file format, nor fixed
through admesh repair machinery. When importing AMF / 3MF / OBJ files,
volume is calculated and if negative, all faces are flipped. Also
a bounding box and number of open edges is calculated.

Implemented its_number_of_patches(), its_num_open_edges()
Optimized its_split(), its_is_splittable() using a visitor pattern.

Reworked QHull integration into TriangleMesh:
    1) Face normals were not right.
    2) Indexed triangle set is newly emitted instead of duplicating
       vertices for each face.

Fixed cut_mesh(): Orient the triangulated faces correctly.
2021-09-20 17:12:22 +02:00
David Kocik
b9dab7540e Removes bottom status bar.
StatusBar class calls are commented out and replaced with notifications.
SlicicingProgress notification shows progress of slicing, ProgressIndicator notification handles other progress information, like arrange objects etc.
2021-09-10 14:35:13 +02:00
Jason Scurtu
b41e321473 rename 2021-09-06 16:19:30 +02:00
Jason Scurtu
07bdb5fbe3 add gcodeviewer 2021-09-06 16:19:30 +02:00
Jason Scurtu
ce0beabb43 add new mac icon and update MainFrame.cpp 2021-09-06 16:19:30 +02:00
David Kocik
5f7a4982f6 Open menubar item by name with translations 2021-09-02 09:48:06 +02:00
David Kocik
876e6fdddd Commented opening menubar item until its properly implemented. 2021-09-01 15:12:47 +02:00
Vojtech Bubnik
950c216239 Commented out AMF export. The format never took off, we don't want to
keep supporting it. Let's wait for user feedback.
2021-09-01 15:11:26 +02:00
Lukáš Hejl
8ad109235b Added a missing include (GCC 11.1). 2021-09-01 14:28:42 +02:00
David Kocik
229cf4b8b6 Open menubar item by item index. Possible to call as hint notification hyperlink 2021-09-01 13:34:36 +02:00
enricoturri1966
639cf17e19 Fixed conflicts after merge with master 2021-09-01 13:28:10 +02:00
enricoturri1966
9a5f61c306 Added missing vertical alignments of labels in imgui dialogs 2021-08-31 08:53:40 +02:00
enricoturri1966
c32f2fb765 New project command enabled when the plater is empty but the project state is marked as dirty 2021-08-30 12:14:45 +02:00
enricoturri1966
dbaaa35534 Tech ENABLE_SAVE_COMMANDS_ALWAYS_ENABLED -> 1st installment: Allow to save/load empty projects 2021-08-26 10:38:14 +02:00
David Kocik
e6bae06557 Notice dialog when opening any link outside PrusaSlicer 2021-08-25 15:07:38 +02:00
enricoturri1966
b3010a817b Do not allow objects to be placed fully below bed 2021-08-24 07:46:59 +02:00
enricoturri1966
1f8b134a77 Changed app title when the current project is modified and non yet named 2021-08-23 12:40:28 +02:00
Vojtech Bubnik
a25d2d1de4 Support for SL1S printer:
Where SL1 is mentioned, mention it as SL1 / SL1S.
Support loading / saving of SL1S files in addition to SL1.
2021-08-13 13:40:13 +02:00
Vojtech Bubnik
856da036eb 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-08-13 13:34:40 +02:00
YuSanka
1e60acde12 Substitutions : Implemented InfoDialog 2021-08-13 13:30:50 +02:00
David Kocik
4df2c969a5 Hint notification
changes in hints.ini
Hint notification: Just one button in Help menu.
Hint notification: New naming - Tip of the day
Notifications: no scrolling.
Hint notification: fadeout colors.
2021-08-11 17:15:23 +02:00
YuSanka
3a2a9d8500 Follow up c0a00f4e7016685f4afd34aca3605125dff38c66 - Check unsaved changes only if project wasn't saved 2021-08-11 15:40:57 +02:00
David Kocik
06d27bcb3c Hints notification
Hints notification: enabled / disabled tags 
Hints notification: suppress opening url due to preferences.
Hint notification: close after 5 minutes and button in Help menu
2021-08-10 14:48:23 +02:00
enricoturri1966
5aff44debe ENABLE_PROJECT_DIRTY_STATE set as default 2021-07-30 09:33:51 +02:00
enricoturri1966
5faac3c105 Tech ENABLE_VALIDATE_CUSTOM_GCODE set as default 2021-07-22 09:13:12 +02:00
YuSanka
c7051c9005 Removed unnecessary conditions that interfere with the search. 2021-07-21 14:48:05 +02:00
YuSanka
44f1dac8c7 GalleryDialog: Added process of the "Close" button
SavePresetDialog: To correct "darkmodding" the wxRadioBox was changed to the wxStaticBoxSizer with radio buttons
+ Some code cleaning
2021-07-20 14:46:38 +02:00
YuSanka
e6c361ec5e Added "Modify Shapes Gallery" to the "Window" menu
+ Fixed a non-MSW build (added missed include)
2021-07-20 11:25:24 +02:00
Oleksandra Yushchenko
4652733201
MSW specific: Implementation of the own notebook control
* MSW specific: First implementation of the Notebook control to support Dark/Light color modes

* MSW specific: Set mode sizer to the Notebook control.

* MSW specific: Added icons to the Notepad control
 + There is no need to restart application after the changing of the color mode

* Fixed non-MSW build

* Updated color for SavePresetDialog
+ Added wrapper to wxMessageBox for mom-MSW platforms
2021-06-29 16:23:45 +02:00
Vojtech Bubnik
0f3cabb5d9 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.

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:57:05 +02:00
enricoturri1966
7a7108b2ad Fixed warning 2021-06-23 10:30:15 +02:00
YuSanka
5434a8980f Some code beautification for the last commit
+ Fix of the TabPresetComboBox layout for "light mode" + "tabs as a menu items" preferences
2021-06-18 21:54:20 +02:00
Oleksandra Yushchenko
fd071421cb
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
YuSanka
87a996d0d5 Code refactoring to avoid a call of update_ui_from_settings() every time when switching between "3D-View" and "Preview" 2021-06-11 10:34:13 +02:00
enricoturri1966
5bbc68df7b Do not close application when user select 'Cancel' in the save dirty project dialog 2021-06-08 11:51:41 +02:00
enricoturri1966
1d4f7a8870 Changed logic to avoid saving a project while a gizmo is in editing mode 2021-06-01 08:32:58 +02:00
YuSanka
1256aebd88 Fix of some warnings 2021-05-18 12:58:14 +02:00
YuSanka
de1d36cc9a Probably fix for #6270 - Segfault during startup in prusa-slicer-git 2.3.0.r24.gd06aa6069-1 2021-05-11 18:03:57 +02:00
enricoturri1966
ede14251b1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_project_dirty_state 2021-05-03 16:05:22 +02:00
Lukas Matena
da702ab135 Fixed a memory leak when repairing an external stl 2021-04-26 20:45:43 +02:00
Lukas Matena
8845b0245a Fixed build against wxWidgets 3.0 2021-04-14 07:05:12 +02:00
YuSanka
effad844e2 MSW specific: Fixed update of the UI after system color change.
Note: the wxEVT_SYS_COLOUR_CHANGED event works only for high contrast settings under MSW.

+ ConfigSnapshotDialog: Fixed UI colors for dark mode on all platforms
2021-04-06 22:25:35 +02:00
enricoturri1966
edbb1d0f69 Project dirty state manager -> presets dirty state 2021-04-06 16:29:05 +02:00
enricoturri1966
5d4b7c03b6 Extended interface of project dirty state manager 2021-04-06 13:17:29 +02:00