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().
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
+ 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.
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.
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.
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#69923622f06bed 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.
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.
* --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
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
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.
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.
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).
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.