1) On Windows and Linux, the device enumeration now runs at a background
thread, while it ran on the UI thread on idle, which may have been
blocking on some rare Windows setups, see GH #3515#3733#3746#3766
2) On OSX, the device enumeration now relies on OS callback, no
polling is required.
3) Refactored for cleaner interface.
1) On Windows and Linux, polling of removable drives is done at a background
thread, not at a UI thread.
2) On OSX, there is no polling, but a OS notification callback.
3) Refactored for clarity of the RemovableDriveManager interface.
* the editing of extruder color from PresetComboBox,
when incompatible filament preset is selected and red flag is shown.
*OSX specific bug : empty icons for PresetComboBox had non-scaled width
1. "Revert" buttons on the bar don't work for a "Compatible printers" and a "Compatible prints profiles".
And cause a crash if they are pressed in Print(SLA) Settings.
2. A label of a "Compatible printers" option is always black in Filament(Materials) Settings Tab
- Deleted redundant whitespaces before semicolons.
- All "\t" extracted from the phrases (The PhraseApp used to the translations "doesn't see" it, and as a result all translations missed them)
The wxString saga continues. wxWidgets 3.0 don't have the wxString::FromUTF8(const std::string&) overload, we must use the GUI::from_u8 helper
Also wxWidgets 3.0 don't allow to disable wxString->const char* conversion, so calling show_info(wxWindow*, wxString, const char*) was ambiguous
Several includes moved around
the "renamed_from" property of current profiles was not taken into account.
This lead to a situation where there were no MMU or SLA materials installed
after upgrade from PrusaSlicer 2.2.1 to 2.2. This should work now.
to avoid a column narrowing after a recreating of an application caused by a language changing)
+ Fix related to a bug, reported in #3617, about wrong placement of a "Purging volumes" button
translated to the some languages