Commit Graph

566 Commits

Author SHA1 Message Date
Oleksandra Yushchenko
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
YuSanka
37b45d048c Improvements for statistics information:
+ Show 2 groups of errors: "Auto-repared" and "Remaning".
 + Use different icons for volumes with/without remaining errors
 + Fixed update of the ObjectList warnings icons after switch the color mode of a PrusaSlicer
 + Some code refactoring: Use same code for tooltips for "exclamation"-icon from an ObjectList and from a Sidebar->ObjectInfo
2021-09-21 17:20:12 +02:00
Vojtech Bubnik
53a5c23d0f 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
YuSanka
a243421a87 Implemented possibility to fix several objects at once 2021-09-16 10:07:00 +02:00
Vojtech Bubnik
01451d2e63 Removed the PRUS format parser. WIP: admesh eradication:
stl_stats are newly only accessed by TriangleMesh::stats(),
most of the direct access to TriangleMesh::stl is gone with the exception
of parsing input files (3MF, AMF, obj).
2021-09-14 11:58:14 +02:00
YuSanka
4dd20ea9d2 ObjectList: Fixed a bug related to an update of selection in 3DScene.
Steps to repro:
1. Create some object with several parts.
2. Increase instances count.
3. Select some volume in ObjectList => all related volumes for each instance are selected in 3DScene (CORRECT)
4. Select last instance in ObjectList => all volumes (except one) of selected instance are selected in 3DScene (UNCORRECT).
                                         ALL volumes of selected instance have to be selected in 3DScene

Fix: To avoid lost of some volumes in selection
check non-selected volumes only if 3DScene-selection mode wasn't changed
or there is no single selection in ObjectList
2021-09-09 17:51:45 +02:00
YuSanka
8eaa7d1924 ObjectList:: Allow use BACKSPACE to delete selected items 2021-09-07 15:19:59 +02:00
Lukas Matena
5cbf9c18ff Do not allow 'replace by stl' when a gizmo is active,
some of the gizmos might not cope well. ALso avoided
code duplication in all such cases (currently fix by
Netfabb, simplify, replace by stl).
2021-09-03 13:53:07 +02:00
Lukas Matena
d4d842791b Fixed a crash when 'Repair by Netfabb' was called with multiple object selection,
the bug was introduced with 1eebaa4 and possibly manifested in other scenarios as well.
2021-09-02 14:20:04 +02:00
Vojtech Bubnik
d31562f5d3 Fix for #6803 - Illegal character in filename when STL opened direct from CAD app
Follow-up to ea4e9b35a3
Win32 specific: Substitute slashes to back slashes in file paths
when loading model files (STLs, 3MFS ...)
2021-09-01 11:08:08 +02:00
David Kocik
8457e643d2 Passing call_selection_changed to update_info_items.
Helps to decide correctly if object was added or only undo / redo operation.
2021-08-31 11:26:00 +02:00
Lukas Matena
ff08edc441 Fixed undo/redo issue when clear method of FacetsAnnotation and ModelConfig
reset timestamp to 1. This led to a bug where e.g. deleting painted facets
through the respective item in object list followed by  possible other actions
and undo restored the painted facets from the time when the project was loaded.
I'm not sure if there was any other situation where this problem manifested.
2021-08-31 09:16:09 +02:00
enricoturri1966
f16eb95ea2 Revert of d701dfe436 2021-08-30 08:29:50 +02:00
enricoturri1966
a36a51a669 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-08-26 08:06:44 +02:00
enricoturri1966
19480d53b8 Fixed update of objects list in sidebar after deleting a part from a sinking object 2021-08-26 08:06:37 +02:00
Filip Sykala
07b77828f2 Merge branch 'master' into fs_QuadricEdgeCollapse
# Conflicts:
#	src/slic3r/GUI/NotificationManager.hpp
2021-08-25 13:16:01 +02:00
enricoturri1966
3e283d0acb Fixed update of backend after the changes introduced with b3010a817b (Do not allow objects to be placed fully below bed) and pop object on the bed when only one part is left 2021-08-25 12:39:46 +02:00
enricoturri1966
84c6547d0c Fixed deletion of objects/volumes by pressing Del key while the mouse cursor is hovering the objects list in sidebar 2021-08-25 09:11:20 +02:00
Filip Sykala
b25cbac1a4 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-23 11:33:14 +02:00
Lukas Matena
03d38e3468 Fix opening of gizmos after clicking on info lines in object list when object has instances 2021-08-19 10:23:38 +02:00
Filip Sykala
925705ca55 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-18 10:37:21 +02:00
Filip Sykala
4c075d42a1 Add restriction for simplification
Refuse outgoing during simlification.
Refuse start simplification when other Gizmo is active
Fix close after preview to revert changes
Allow change model for simplification
2021-08-18 10:37:08 +02:00
Lukas Matena
464b5cb2fa Use Del key to delete custom supports etc. from the object list 2021-08-17 10:05:03 +02:00
YuSanka
64e06b6a17 ObjectList: Implemented interface for delete InfoItem 2021-08-17 10:05:03 +02:00
YuSanka
2506a53b1a ObjectList: Update InfoItems after set some instance as a separate object 2021-08-12 15:23:31 +02:00
David Kocik
7ce1a2dd65 Updated Items Info notification
Showing only when new object is added (typically loading projects).
All info in 1 notification.
2021-08-11 09:24:14 +02:00
Lukas Matena
3c0d2d7647 Update info items in object list after repair by netfabb,
painted data are removed and the info line stays hanging
2021-08-10 11:22:19 +02:00
YuSanka
975876b49f DoubleSlider with MM-printer preset: When Object has "Paint-on segmentation", DoubleSlider has same behavior as with modifiers
+ MSW specific: Use BitmapComboBox instead of wxBitmapComboBox to DarkMode for extruder selectors
2021-08-09 13:38:48 +02:00
Vojtech Bubnik
62407d36f3 Merge remote-tracking branch 'remotes/origin/master' into fs_QuadricEdgeCollapse 2021-08-05 17:17:18 +02:00
YuSanka
a422a815a4 ObjectList: Fixed a crash during a print technology change when InfoItem is selected
+ Add "Gallery" menu Item for Advanced mode too
2021-08-04 12:35:44 +02:00
Filip Sykala
7b6a65eaea Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-02 09:04:15 +02:00
enricoturri1966
09cf0ffaba ENABLE_PROJECT_DIRTY_STATE set as default 2021-07-30 09:33:51 +02:00
enricoturri1966
ff8932ed1a Fixed sinking objects popping-up when deleting modifiers 2021-07-30 08:18:11 +02:00
David Kocik
a22d6e920e Update item info notification with icon 2021-07-29 16:52:08 +02:00
enricoturri1966
66ffb6663a Changed detection of sinking objects into ObjectList::update_info_items() 2021-07-29 15:15:57 +02:00
enricoturri1966
a471c21b25 Added sinking property item to objects list 2021-07-29 08:37:41 +02:00
YuSanka
56c5b85aa1 ObjectDataViewModel: Added function to add warning icon 2021-07-23 13:48:38 +02:00
Filip Sykala
3de1f26760 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-20 12:05:58 +02:00
YuSanka
95c16c7c9b Added "Modify Shapes Gallery" to the "Window" menu
+ Fixed a non-MSW build (added missed include)
2021-07-20 11:25:24 +02:00
Filip Sykala
dc6291c434 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-20 08:22:06 +02:00
YuSanka
175467263c Fixed a bug with update of the warning icon for object after a deleting of the broken volume 2021-07-19 13:30:49 +02:00
Filip Sykala
babc34af01 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-19 09:18:55 +02:00
Filip Sykala
a364ef3d6a Add simplification GUI 2021-07-19 09:17:50 +02:00
enricoturri1966
635622c039 Disable reload from disk for built-in objects 2021-07-16 12:30:47 +02:00
enricoturri1966
a4c0fff5b4 Follow-up of 1a64abac96 -> Keep modifiers original size and do not reposition them when using load command 2021-07-16 10:03:35 +02:00
enricoturri1966
3124f40644 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-07-15 11:44:48 +02:00
enricoturri1966
702812799c Changes in loading of modifiers from file and their positioning 2021-07-15 11:44:35 +02:00
YuSanka
6948a6632e Added gallery to the default shapes
+ ObjectList (MSW specific): Don't change background color for Light color mode
2021-07-15 10:52:37 +02:00
YuSanka
769caa2e92 Replace with STL: Fixed update of the item name after replacing
+ OSX specific: Code refactoring for ObjectList:Rename() function
2021-07-14 09:22:03 +02:00
Oleksandra Yushchenko
080807eda5 Modifiers Gallery (#6703)
* Added GalleryDialog

* GalleryDialog improvements:
* Added DnD functionality
* Added "Delete custom shapes" function
2021-07-12 15:20:50 +02:00