Custom URL Registration:
- Windows - writes to registers.
- Linux - desktop integration file.
- Macos - info.plist.in creates registration and is controlled only via app config.
Registration is first made in Config Wizard. Or is triggered from Preferences. Path to downloads folder can be set.
URL link starts new instance of PS which sends data to running instance via SingleInstance structures if exists.
New progress notification is introduced with pause and stop buttons.
Downloader writes downloaded data by chunks.
Support for zip files is introduced. Zip files can be opened, downloaded or drag'n'droped in PS. Archive dialog is opened. Then if more than 1 project is selected, only geometry is loaded.
Opening of 3mf project now supports openning project in new PS instance.
+ Fixed bug: If change "dark mode" checkbox and "Settings layout mode", than dark mode wouldn't processed.
+ Code refactoring for create_settings_mode_widget()
+ added crash detection for the cases, when PrusaSlicer is started from secondary display
Possible fix for part of:
#2939 - PrusaSlic3r freezing at startup (Win 10)
and
#5573 - PrusaSlicer won't launch on secondary monitor. Nahimic?
+ Show "PrusaSlicer: Don't ask me again" dialog when "Remember my choice" is checked in "PrusaSlicer: Open hyperlink" dialog
+ Ignore suppress of hyperlink for menu items
+ Code refactoring for OptionsGroup::launch_browser() => use common wxGetApp().open_browser_with_warning_dialog().
* Added some missed phrases.
* Added some missed files to the list.txt
* Fix for https://github.com/prusa3d/PrusaSlicer/issues/7114 - Reword of the "Ask for unsaved changes..."
* Fix for https://github.com/prusa3d/PrusaSlicer/issues/7542 - Added localization for default buttons Yes/No
Note: For some default buttons/labels/dialogs/... is used localization in wxWidgets.
But dictionaries have to contain this strings, otherwise texts wouldn't be localized.
"wxWidgets/local" contains dictionaries for all this default phrases.
So, a copy of this field is added as a "wx_local" field to the "resources/localization" field.
And a "gettext_concat_wx_po_with_po" script is written to concatenate strings from wx_local/lang_code.po to resources/localization/lang_code/PrusaSlicer_lang_code.po.
So, to create a MO file from updated PO we have to execute "gettext_concat_wx_po_with_po" and only then execute a "gettext_po_to_mo" script.
Some code refactoring:
* use GUI_App::open_preferences() on all places where it's needed
* Preferences Dialog is an attribute of a ManeFrame class and created just ones during the MainFrame creation now.
* Created class Highlighter. Use it in Preferences and Tab
(related to the fix of #7355 - PrusaSlicer 2.4.0-beta-2+win64 will not start on Windows 7 64-bit )
+ Updated URL_HASH SHA256 in wxWidgets.cmake in respect to the 51c824019e98fc97b0bcdd4d9f4ed4cb523a7cac in wxWidgets-v3.1.4-patched
- Unified preferences settings. version_check option is replaced with notify_release that has 3 states.
- fixed logic when show notification based on version string.
- notification shows released version
- dialog notifying new version is never showing if external updater is running.
Escape quotes inside path to external updater
* Refreshed title bar for all Dialogs and MainFrame
* Refreshed header of the DataViewCtrl and ListView
* Refresh tooltips
* Redraw SpinCtrls
* Use system menu with is colored in respect to the color mode
* Preferences: Added parameter "Use system menu for application" and moved to the "Dark mode" tab with "Enable Dark mode parameter"
* Check Unsaved changes (partially related to #5903)
+ Allow create new project when Plater is empty, but some of presets are modified (related to #5903)
+ When creating new project allow Keep or Discard modification from previous project
+ Added check of changes:
* before any load project (including DnD and "Load From Recent Projects")
* before preset updater
* when configuration is changing from the ConfigWizard
+ Dialog caption is added for each check
+ Create/Destroy ConfigWizard every time when it's called
* Check Unsaved changes: Next Improvements
+ For dialog "Save project changes" added a reason of saving and name of the current project (or "Untitled")
+ UnsavedChangesDialog: Headers are extended to better explain the reason
+ Preferences: Fixed tooltiops for "Always ask for unsaved changes when..."
+ Suppress "Remember my choice" checkbox for actions which are not frequently used
* Fixed behavior of the application when try to save changed project but "Cancel" button is selected in "Save file as..." dialog
* Check unsaved changes: Improvements for Config Wizard - Check all cases when presets should be updated
+ Fixed info line for Materials pages. Text of the info relates to the printer technology now
* Improved suggested name for a project when Application is closing
* Fixed Linux/OSX build warnings
changes in hints.ini
Hint notification: Just one button in Help menu.
Hint notification: New naming - Tip of the day
Notifications: no scrolling.
Hint notification: fadeout colors.