Commit Graph

9249 Commits

Author SHA1 Message Date
849fbc3a5e Fix for endless loop dialog - see https://github.com/prusa3d/PrusaSlicer/issues/7419#issuecomment-986325432
When part's configuration is updated =>
Don't call config_manipulation.update_print_fff_config() separately for applied object's config and then applied own config.
Configuration have to be applied from object config and its config. And than call config_manipulation.update_print_fff_config().

+ Redundant call of the update_config_values() is deleted from DeleteButton event. All checks are made during update_settings_list().
2021-12-07 14:40:52 +01:00
30b3514b5f Fix of infill_only_where_needed for complex objects:
When propagating overhangs to be supported, the regions are newly
properly merged and regularized.

Fix of Stuck at "preparing infill" with "only infill where needed" enabled 1.41.2 #1696
"Only infill where needed" makes slicer crash for some models #6385
[BUG] Slicing stuck for 14h now, 0.8 NZL Ender 5+ Gyroid infill only where need
2021-12-07 13:15:33 +01:00
f587beb00e Follow-up d8ecc191da - Remove from code a condition which has opposite effect effect now.
+ OptionsGroup::activate_line():Add same as at OG_CustomCtrl::CtrlLine::render() condition for the drawing of a option label.
It means that we draw option labels only, if line has more than one option.
2021-12-07 10:55:27 +01:00
1a2f51630b Added a check that first layer height is not expressed as a percentage (related to https://github.com/prusa3d/PrusaSlicer/issues/7418)
first_layer_height cannot be changed to ConfigOptionFloat, that would break loading of old 3MFs.
The relative values from 3MFs should already be converted to absolute in `Preset::normalize`, what is missing is the UI check.

+ Code refactoring for OptionsGroup::create_single_option_line():
Don't clear label value in an Option. This value is used in Field::get_value_by_opt_type() to show error "%s doesn't support percentage".
=> At functions OG_CustomCtrl::CtrlLine::render() and OG_CustomCtrl::CtrlLine::get_pos() added check if current line has more than one option.
=> Draw option's label only when line has several options.
2021-12-07 09:20:36 +01:00
c2d22bd130 Followup on 6490456ec4
Rename variable
2021-12-06 17:24:54 +01:00
468f63e63e Do not perform config check if conf folder is redefined 2021-12-06 17:15:22 +01:00
5f1c8c37a3 Follow-up of 2ed57d1ba5 - Removed unneeded sort 2021-12-06 14:25:17 +01:00
484cad81ad Further optimization of G-code viewer: Replaced std::set<RenderPaths>
with std::vector.
2021-12-06 13:21:34 +01:00
f007565e3f Optimization of G-code rendering, may improve speed issues mentioned in #7415 2021-12-06 11:52:27 +01:00
379d07adef Caching of shader program attribute and uniform IDs from strings. 2021-12-06 11:52:27 +01:00
9165c2482d Allow a "Dark mode" in Preferences for G-code viewer 2021-12-06 11:44:29 +01:00
0fbc5dd73b Fix for #7419 - Non-modal settings window loses focus after accepting dialog (MSW specific issue)
MessageDialog is used instead of wxMessageDialog on MSW for supporting of the Light/Dark color mode.
But a constructor of the MsgDialog replaces a parent which is equal to nullptr with the MainFrame .
That is why non-modal dialog with Preset Settings loses a focus after close of the MessageDialog.

"m_msg_dlg_parent" is added to ConfigManipulation class. ConfigManipulation's instance owed by Tab will use the Tab as a parent for MessageDialogs.
=> The MessageDialog with information about configuration incompatibility will always appear over related SettingsTab
and a non-modal dialog with Preset Settings will not lose the focus.
2021-12-06 11:44:29 +01:00
58c8bcbfad #7415 - GCodeViewer::refresh_render_paths() - Remove empty render paths to avoid calling glMultiDrawElements() with empty data while rendering toolpaths. 2021-12-06 11:39:10 +01:00
5180a237e1 Fix of GCodeViewer crashes when opening app preferences #7430 2021-12-06 08:23:19 +01:00
1c7fb34e56 Follow-up to 3622f06bed
Work around 3D scene focus after de-activation of the main
window without having to resort to CallAfter(), which breaks
on Linux with some window managers that follow mouser cursor.
Fixes #5620 #6870 #6992

3622f06bed was not a correct solution,
it broke focus for non-modal windows.
Fixes #7419

The actual issue seems to be caused by wxProgressDialog not playing
well with modal dialogs closed just before wxProgressDialog opens.
If wxProgressDialog parent was not a main frame, keyboard focus
was not restored correctly after the wxProgressDialog closed.
2021-12-05 09:09:34 +01:00
864583f84c Fix of Upload and simulate wrong label (Issue #7424) 2021-12-05 08:45:31 +01:00
e523e6f6a2 Fix for #7408 - Crash after closing error for deleting box shape with cylinder negative volume 2021-12-04 10:05:14 +01:00
f701f84b83 Fixing broken scrolling with a touch pad on some Windows laptops.
This issue #2750 is old, it was fixed and broken again.
Now it is being fixed differently.
2021-12-04 09:37:09 +01:00
7912e91c42 Suppress to use info line "Post processing scripts shall..." on Linux.
Otherwise click on this line causes a strange frizz of the settings page.
And line hovering by the mouse has no visual effect on Linux.
(Neither wxEVT_ENTER_WINDOW nor wxEVT_LEAVE_WINDOW isn't catch by wxStaticText for some reason)

+ Call of the SetToolTip() moved from constructor to wxEVT_ENTER_WINDOW. In this case Tooltip text will always respect to the "suppress_hyperlinks" value.
2021-12-03 16:47:31 +01:00
3790884312 Trying to work around 3D scene focus after de-activation of the main
window without having to resort to CallAfter(), which breaks
on Linux with some window managers that follow mouser cursor.
May fix #5620 #6870 #6992
2021-12-03 16:20:01 +01:00
36b74e0845 Localization.
* --boost option is added to gettext_make_pot script to recognize Boost format strings.
* New script gettext_merge_po_with_pot is added to merging new lines from POT to current PO
* --check-format option is added to gettext_po_to_mo script to check language dependent format strings during generation MO from PO.
* POT is updated and all PO files are merged with it. So, community can just load needed PO file and continue in translation.
* ExtruderSequenceDialog: Added messed localization markers
2021-12-03 16:19:09 +01:00
bdab3b8a5a Fixed a bug in the precomputation of the data for bucket fill that was triggering assert in TriangleSelector::neighbor_child(). 2021-12-03 14:06:53 +01:00
4a1507a1f6 Deleted unused function in Octoprint 2021-12-03 09:47:56 +01:00
ea5916bd4c Fix CGAL build with major version > 4 on Linux
fixes #7341

CGAL upstream CMake config will lock in the major version if installed as a distro package and will not provide any version info if compiled and installed from upstream. As of this commit, PrusaSlicer can be built with CGAL 4.13.2, and 5.0 but there is no universal way to specify the minimum version that would work with static dependencies and linux packages.

sorry #4912
2021-12-03 09:46:07 +01:00
f5aefbf21e Follow-up to c6de3e84eb
Fixed typos in option labels.
2021-12-03 09:40:00 +01:00
50737966ac Follow-up to 7272b2b083
Comment is extended
2021-12-03 09:39:37 +01:00
8ad6c92565 Windows specific: Only start the 3rd party updater application
if enabled in PrusaSlicer preferences.
2021-12-03 09:26:44 +01:00
7cc5d0df78 Follow-up to 7828964f8c
Fixed no way of leaving the "export G-code" dialog loop.
Improved the error message by explaining that some characters
are not allowed by a FAT file system.
2021-12-03 09:05:14 +01:00
4ee296d9c5 Follow-up to f4dfbb69e2
Now that libcurl is used for URL host substitution,
we want to make sure that the new code compiles on Windows only
because that is where we need to do the URL host substitution
due to Windows 10/11 mDNS resolve issues and
because we have a control on the libcurl version statically linked
on Windows, so we are sure the URL API is available.
2021-12-03 08:12:47 +01:00
a8f8563b29 Replaced the code to substitute host address part in URL
with libcurl library calls. This solution should be more robust
than a homebrew URL parser solution.
2021-12-03 08:02:16 +01:00
a30b41195e Added a missing include (GCC11.1 without PCH). 2021-12-02 21:04:55 +01:00
a0fbec142e Fixed ironing over areas with modifier meshes:
1) Areas inside modifier meshes were ironed multiple times.
2) Ironing areas were not properly merged.

Layer::lslices were not always properly merged with modifier meshes
applied, which lead to the ironed surface being split and not fully
ironed, as there were artificial gaps created between regions as if
they were covered by perimeters (we don't iron over perimeters).
2021-12-02 18:19:35 +01:00
139121e649 Fix for #7207 - Display of object labels does not match with the "View"-menu, if "Complete individual objects" is used 2021-12-02 17:08:03 +01:00
a9886b3381 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2021-12-02 16:40:26 +01:00
78612b6f04 Fix of fan control for raft layers.
Fixes Fan starts at first layer, even though disabled for first layer. #7232
This is a regression due to cooling refactoring, which cooled
support layers independently from object layers. The bug here was that
all the raft layers were cooled together with the first object layer.
2021-12-02 16:40:18 +01:00
000daaa612 Substitution of host during ip resolve: correct handling of ipv6 2021-12-02 16:31:19 +01:00
a889a6c8b0 ObjectList: Fixed update of the icons for InfoItems, when color mode was changed
Sidebar:ObjectInfo: Fixed update of the icon, when color mode was changed
+ Added new icons for "Sinking" and "ShapeGallery"
2021-12-02 16:11:52 +01:00
bae65de75c Added description line for the "Post-processing scripts".
ogStaticText id extended for SetPathEnd() function. It allows to use description line like a hyperlink
2021-12-02 15:18:05 +01:00
93fad4a975 Load basic notifications later so the translations are correct. 2021-12-02 13:57:49 +01:00
679dc38c9d few asserts in notifications manager 2021-12-02 13:57:02 +01:00
88bed127e3 Fixed build when tech ENABLE_SMOOTH_NORMALS is enabled 2021-12-02 13:42:26 +01:00
0110b4c9e2 Replaced the repeated application of Cursors (Sphere or Circle) in painting using 2D and 3D Capsules.
Previously, the Cursor (Sphere or Circle) was repeatedly applied between two mouse positions, creating brushstrokes with ripples on the edges between those mouse positions.
Now, a single capsule (3D or 2D) is applied between those mouse positions, which creates brushstrokes without these ripples.
2021-12-02 12:36:48 +01:00
2d306da4a0 Refactoring of Cursors in TriangleSelector as preparation for upcoming improvements of painting. 2021-12-02 12:36:48 +01:00
05bbd0b50a Code refactoring for d88ef826cd
reload_scene() call were followed by update(). It synchronizes back-end with front-end and then it calls reload_scene() again.
However in SLA mode reload_scene() expects the back-end to be synchronized with front-end, thus we get asserts that we all have ignored for a long time.

So, we call ObjectList::update_info_items() after the call of update() where reload_scene() is already called and GLCanvas3D::is_object_sinking() will return correct value
2021-12-02 11:26:20 +01:00
39171d0bf9 Fixed rotation of volumes while ALT key is pressed 2021-12-02 11:11:00 +01:00
c5ab9857e9 Change of 71082adbc9ac2101c39f46218d666e46ab4ecb7c
Instead of just adding port, take original address and replace just host with resolved host.
fix of #7389
2021-12-02 10:25:31 +01:00
a1e645a5a9 allow_ip_resolve in app config 2021-12-02 10:25:04 +01:00
4ca9d0a7d1 Added port number to resolved ip address if specified.
fix of #7361
2021-12-02 10:25:04 +01:00
b40d173243 Fixed an issue that travels could lead through a hole when the avoid crossing perimeters was enabled at the same with "External perimeter first" or "Detect thin walls". 2021-12-02 09:35:20 +01:00
4d3b600b45 Added missing includes (GCC11.1 without PCH). 2021-12-02 09:30:03 +01:00