* Create Cache of wxBitmapBundles instead of wxBitmaps
* Use wxBitmapBundles instead of wxBitmap for most of Widgets
* Use empty bitmabundles instead of wxNullBitmap for wxBitmapComboBoxes.
* Updated wxWidgets.cmake
* OSX specific: Discard BitmapComboBox overrides
+ some code cleaning
Update searcher only before open one of next dialogs : SearchDialog, UnsavedChangesDialog or DiffPresetDialog.
But only Search dialog respects to the mode of PrusaSlicer
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
* 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"
* MSW specific: Dark Mode: First implementation
* Use menu instead of NoteBook
* Implemented MessageDialog
+ Fixed DarkMode for all dialogs and ColorPicker
* MSW DarkMode: Added missed updates for the switching between modes
* MSW DarkMode: Updated all existed context menus after switching of the mode
+ Added markers for the menu item witch is related to the selected tab
* Used wxFrame instead of wxDialog for SettingsDialog
(this change allow us to use menu bar in SettingsDialog)
+ fix for #6548 - Prusa Slicer 2.3.1 not activating non-modal settings window if settings window is minimized
* Implemented "Always use Dark mode colors" preference option
* Fixes for non_MSW build
* Next fixes for non-MSW builds
* Preferences: Fixed selection of the Settings Layout for non-MSW platforms
+ Updated DarkMode for colorpickers
* Windows DarkMode next fixes
* MSWDarkMode: Suppress to use system color to the PrusaSlicer
Select "Preferences -> Use Dark color mode (experimental)" to allow dark mode for the application
* Fixed MSW build
* MSWDarkMode: Upadteed color mode for ExtruderSequenceDialog and for dialogs related to the DoubleSlider
* Implemented Auto recreation of the PrusaSlicer when color mode is changed.
* Preferences: Added option "Set settings tabs as menu items (experimental)"
* Implementation for #6216 - Make number keys select extruder when object treeview has focus
+ deleted unused extruder_selection()
+ Fixed notification after splitting of the solid object
* Follow up 85a10268b9 - OSX implementation
+ Added shortcuts description to the "Keyboard Shortcuts" dialog
* Workaround to use "+/-" and numbers shortcuts on Linux
+ Fixed build on Linux
* OSX specific: fixed a work of keyboard accelerators from numbers on NumPad keyboard
* KBShortcutsDialog: fixed shortcuts for "Preferences" and "Show/Hide 3Dconnexion devices settings dialog, if enabled" under osx
and "Set Printable/Unprintable" and "Set extruder" under Linux
+ OSX specific: Added minimize of the application on "Cmd+M"
* Hot-fix for 6efeb9d6b4
* Removed Linux specific workaround
It contains "preset_type;opt_key" now. This key helps to avoid a collisions by using a same options key from different type presets.
Example: Option "elefant_foot_compensation" is in Print presets and SLA_printer presets
Added menu item "Window->Compare presets" to compare more than one type
of presets.
Code refactoring for PresetComboBox: Use suffix "modified" just for
PlaterPresetComboBox and TabPresetComboBox
Code refactoring. wxDataViewCtrl and related functions extracted from
DiffPresetDialog and UnsavedChangesDialog to the separate class
DiffViewCtrl
Code refactoring, Tab.cpp: Build all unregular pages on a first build of
the Printer Settings
Squashed commit of the following:
commit 91f45a8a2d97d252337c7306dd02db607fd79c00
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date: Thu Feb 4 09:34:29 2021 +0100
Fixed after merge
commit 09aa502498b08c059ecdf334f5db1567739b4520
Merge: 6df8e83e1 0baa92fab
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date: Thu Feb 4 09:31:43 2021 +0100
Merge remote-tracking branch 'remotes/origin/master' into ys_diff_dlg
commit 6df8e83e1af3ba096ac39d25985b6deb2e0a245b
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date: Thu Feb 4 09:29:53 2021 +0100
Tiny beautification.
commit e781ceaaf7c39bc073476409cc02918d9f182930
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date: Wed Feb 3 18:05:19 2021 +0100
Reworked copying of PresetBundles:
1) Simplified by using the default copy constructors and copy operators.
2) Made safer by not allowing PresetCollection and PhysicalPrinterPresetCollection
to be copied or instantiated outside of PresetBundle.
3) Fixed Preset::vendor pointers after copying PresetBundle.
commit a8f0b7aa5156465cdb3e3dbb86feb66a64bcebc0
Author: YuSanka <yusanka@gmail.com>
Date: Mon Jan 25 16:13:53 2021 +0100
DiffPresetsDialog: Show compatibility to print/printer presets selected in DiffPresetDialog
commit 597451f930a4330376966d8cf3350056d4f85a73
Merge: cce5b5710 59017a7da
Author: YuSanka <yusanka@gmail.com>
Date: Thu Jan 21 12:14:48 2021 +0100
Merge remote-tracking branch 'origin/master' into ys_diff_dlg
commit cce5b5710d1225c7eaa52d0abb4b3f66fbd3b6a1
Author: YuSanka <yusanka@gmail.com>
Date: Thu Jan 21 12:11:40 2021 +0100
DiffPresetDialog: Fixed crash on ASAN build
commit ad8d728d89d7a75c2ac136ea8cdbb730ab774cd9
Author: YuSanka <yusanka@gmail.com>
Date: Wed Jan 20 16:38:28 2021 +0100
FullCompareDialog improvements
commit 316bafbeec9bb63f731b653d296062d9e22dd02f
Author: YuSanka <yusanka@gmail.com>
Date: Wed Jan 20 09:25:46 2021 +0100
DiffPresetDialog improvements:
* Update presets lists after save changes in edited preset or change printer_technology
* Tab.cpp: Build all unregular pages on a first build of the Printer Settings
commit 01171c8ef50389d0801b0ccc5746ab0c3b731b11
Author: YuSanka <yusanka@gmail.com>
Date: Tue Jan 19 17:26:28 2021 +0100
DiffPresetDialog : improvements
* This dialog is non-modal now
* "Compare presets" menu item is moved from "View" to the "Window" menu group
* Added info tooltips for the bitmap buttons between presets
* Added "Show all presets" checkbox
* Show full difference between printer presets with different count of extruders
commit 3d38b62f3c9de8aab352ed3bcff297d5c0239b2e
Merge: e50fe6de9 9a2310ae9
Author: YuSanka <yusanka@gmail.com>
Date: Mon Jan 18 10:00:18 2021 +0100
Merge remote-tracking branch 'origin/master' into ys_diff_dlg
commit e50fe6de984decadfef3d4b952f0eec8ab9e6670
Author: YuSanka <yusanka@gmail.com>
Date: Sat Jan 16 02:27:24 2021 +0100
DiffPresetDialog improvements
Added menu item "View->Compare presets" to compare more than one type of presets
commit bf08b7c8c969ad0ca631b9eeac1bc231f474e72b
Author: YuSanka <yusanka@gmail.com>
Date: Sat Jan 16 00:28:39 2021 +0100
Code refactoring. wxDataViewCtrl and related functions extracted from DiffPresetDialog and UnsavedChangesDialog to the separate class DiffViewCtrl
commit 7aeb63032b0bc2bd06e60990c060008660a5c44f
Author: YuSanka <yusanka@gmail.com>
Date: Fri Jan 15 21:35:43 2021 +0100
DiffPresetDialog: first implementation
commit 2f23d5af9d6b5dd670dfb7d06eedbe0e6d2960c6
Author: YuSanka <yusanka@gmail.com>
Date: Thu Jan 14 16:28:43 2021 +0100
Code refactoring for PresetComboBox.
Use suffix "modified" just for PlaterPresetComboBox and TabPresetComboBox
* changed evaluation coefficients inside fuzzy_match_recursive
* don't add markers to the labels before it's used in fuzzy_match_recursive
+ follow-up 78a3d8b63e - added missed fix for one more line (use std::towlower instead of std::tolower for wchar_t) Problem was appearance on Cyrillic languages
+ Fixed translation for the "Extruder n" category on the Printer Settings Tab
+ Fixed a crash, when scrolling inside Search imGui with some localization (e.t. Russion)
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)
2. When "Search in English" is checked, then search in English names too.
3. Added score value at the end of option name -> [score_value]
4. Set focus to the Plater, when switch from some tab with focused field to the Plater and search window is shown.
5. For the mode, when settings are in non-modal dialog, neither dialog nor tabpanel doesn't receive wxEVT_KEY_UP event, when some field is selected.
So, like a workaround we check wxEVT_KEY_UP event for the Filed and switch between tabs if Ctrl+(1-4) was pressed
+ PreferencesDialog: fixed a control of the difference in layout modes
1. To the imGui Dialog added icons instead of settings type
2. Fixed a search trough the options with # symbol in opt_key
3. Deleted "Type" checkbox from the Search Windows and added "Search in English" checkbox (but without implementation for this moment)
Layouts:
1. Fixed a visibility of the "Switch to Settings" toolbar icon for the old layout mode
1) fts_fuzzy_match has been extended to support wchar_t for a char
type and uint16_t for an index type for the match indices.
2) fts_fuzzy_match has been extended to place a proper stopper character
into the match buffer.
3) Slicer integration now uses the fuzzy match indices for highlighting.
4) Slicer integration now correctly highlights the matched word.
5) Slicer search dialog now sorts based on match AND category.
Further modifications are planned:
1) Matching in local language vs. English: Just show the English variant
if matched in English. Don't mix the two together.
2) Matching the group or category: Continue matching the label.
3) For matches with equal match quality and category sort alphanumerically.