ConfigWizard name was missing translation macro in several places
Few typos corrected
Some string conversions fixed
Two strings were not marked for translation
Fixed return type of std::string translate_utf8() with context
(incorrectly returned wxString, should return std::string).
Fixed double translation of BackgroundSlicingProcess::validate() in Plater.
When switching a Print profile, the modifications of an active Filament
profile were incorrecly dropped even if the active Filament profile
was compatible with the newly selected Print profile.
The bug was introduced in 15eedef. lower_bound_by_predicate implementation returns first item that does not satisfy the predicate, not last item that does.
Clipping plane direction is now initialized when the plane is first moved, not when the gizmo is opened. This is how previous versions worked.
This is a minimal-effort solution before the clipping plane is refactored properly.
Compensated slices have negative orientation...
Move efc to common params
Fix elefant foot compensation reversed contours
Remove redundant assertions and don't apply absolute correction if zero
but causes an issue #3642 (G-Code Export button visible in "non-default" position)
All Show/Hide() of active buttons are processed inside show_action_buttons() function
if the number of top / bottom solid layers was set to zero while
the top / bottom minimum shell thickess was set nonzero.
With this commit, if the top / bottom solid layers is set to zero,
there are no top / bottom solid layers generated independent from
the minimum top / bottom shell thickness.
Opening saved project removes Print Host settings #3655
Octoprint Settings when Opening a .3MF file #3244
When loading a configuration file (from AMF, 3MF, .ini or .gcode),
and if the host settings ("print_host", "printhost_apikey", "printhost_cafile")
in the configuration file is empty, then the config is considered to be anonymized,
and these anonymized keys are loaded from the referenced "derived from" profile,
if it exists in user's PrusaSlicer configuration directory.
We are aware that this is a patch work and a better long term solution
is to separate physical printer settings from logical printer settings,
but this is a good enough solution for PrusaSlicer 2.2.0 release.
Exceptions thrown by Flow calculation were made explicit classes derived
from std::invalid_argument.
The PresetHints::recommended_thin_wall_thickness() newly catches these
exceptions and it shows the reason of why the hint is invalid.