+ Added a check of the printer technology inside can_merge_to_multipart_object() => suppress merge for the SLA printing
+ clear MainFrame.cpp from unused commented code
Fixed OSX specific bugs:
- toolbar flashing for some mainframe sizes (Retina specific)
- size of mainframe when settings layout in slNew mode
Added missed icons to the "white" folder
OSX specific: 1. For slNew and slDlg settings layout modes main frame could be minimized to the ridicules size.
So, set size for the Plater (as a min(default) size for the wxPanel)
2. model->Clear() invoke wxEVT_DATAVIEW_SELECTION_CHANGED. So, set prevent_list_events before this call.
3. Added a rounding for the scale value
Fix of #4261 (for the English version was called GetValue for non-created check control)
1. Fixed crash on OSX after change of the settings layout (PreferencesDialog should be destroyed before call of recreate_GUI)
2. Fixed dialog message during GUI recreation
3. In PreferencesDialog changed radio buttons view (under OSX they were bold)
4. slDlg mode - fixed switching between main frame and settings dialog (dialog->SetFocus() doesn't work under OSX, so we just hide it and show again)
1. Old mode, as it was always.
2. New mode, when Settings Tabs are hidden on the Plater. Use "cog" icon for the switching to the settings tabs
3. Dlg mode, when Settings Tabs are extracted to the Settings dialog. Use "cog" icon for Show or Focus the Settings Dialog
The "Collapse sidebar" toolbar appearance is set in the Preferences.
check for other instances during startup
send message with command line arguments if found and terminate
listen for those messages and load objects from paths in messages from them
This implementation works with the 3DConnexion driver (sic!)
if PrusaSlicer.xml is stored into c:\Program Files\3Dconnexion\3DxWare\3DxWinCore64\Cfg\
The implementation is inspired with Blender, see code inside WITH_INPUT_NDOF blocks.
the system language: System language returned by Windows for pt_BR
is pt_PT, and this language was then used incorrectly to select
the dictionary.
Now the selected language is stored into PrusaSlicer.ini and
if a substitution is to be performed to select locales (not the dictionary)
based on the system recommended locales, this substitution is being
done in runtime just before switching the locales.
Fixes PrusaSlicer 2.3.0 - Language Portuguese (Brazilian) dont work #3901
Also hopefully fixed
LANGUAGE environment variable not respected #2970
by calling
wxTranslations::Get()->GetBestTranslation()
on Unix systems as well, which reads the "LANGUAGE" environment.
PrusaSlicer newly registers by Windows operating system for HID USB
plug / unplug notifications and for Volume attach / detach notifications,
and the background threads of the two respective services are waken up
on these Windows notifications.
The RemovableDriveManager also wakes up every 30 seconds to cope with
the drives ejected from Windows Explorer or from another application,
for example Cura, for which Windows OS does not send out notifications.
This crash was caused by the RemovableDriveManager and 3DConnexion
detection services not being stopped correctly.
The fix executes all the tasks of the MainFrame at the language switch,
that are normally performed on application shut down.
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.