Commit Graph

49 Commits

Author SHA1 Message Date
YuSanka
562b60a3db MSW_DarkMode: Next Improvements
* 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"
2021-11-05 10:01:13 +01:00
YuSanka
4b42bda5f2 Fix for #6941 - Search Settings: Put focus into input field when navigating to the setting 2021-09-23 12:32:59 +02:00
YuSanka
831c640a03 Fix for #6958 - GUI Setting non modal window: Search broken when main window hidden (minimized) 2021-09-22 15:53:59 +02:00
Oleksandra Yushchenko
ffd33d6494 DarkMode for MSW (#6632)
* 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)"
2021-06-18 19:46:04 +02:00
Oleksandra Yushchenko
e1ac64a290 Implementation for #6216
* 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
2021-05-11 11:02:12 +02:00
YuSanka
4cbddfaf36 OptionsSearcher improvements: Fixed a key for option() and groups_and_categories.
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
2021-03-24 11:14:07 +01:00
Vojtech Bubnik
68a9114a34 DiffPresetDialog, non modal to compare two 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
2021-02-04 09:42:32 +01:00
Lukas Matena
da6dc77973 Fixing GCC warnings 3 2021-01-29 10:47:02 +01:00
YuSanka
79e5cc2def Fix of #5202 - Fuzzy Search engine is too fuzzy
* 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
2021-01-26 21:33:22 +01:00
YuSanka
460dd2e099 Added "G-code thumbnails" parameter to the Printer Settings tab 2020-12-07 16:42:20 +01:00
YuSanka
4461d65b4e Localization: Update POT
+ 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)
2020-12-01 16:44:53 +01:00
YuSanka
3bc30d868e Refactoring:
1. Use C++ style cast instead of C style
2. Deleted unused code from Search
2020-11-26 14:34:54 +01:00
YuSanka
c204e90ecc Localization:
Some phrases are corrected in the code
The POT-file is updated
2020-11-05 22:17:49 +01:00
YuSanka
605988cf1f Changed signature of the BitmapTextRenderer
+ Added experimental code for the rendering of the "markuped" text
2020-08-06 15:54:12 +02:00
YuSanka
dc8ce7c0f0 UnsavedChangesDialog improvements:
* support markup text and colored icons for cells

+ Extended BitmapTextRenderer for using of markup text
2020-08-05 19:25:04 +02:00
YuSanka
935a44113c UnsavedChangesDialog:
first implementation
2020-07-30 16:16:56 +02:00
YuSanka
03e7a20e87 Merge remote-tracking branch 'origin/master' into ys_ph_printers 2020-07-21 09:47:29 +02:00
YuSanka
0f8c0d7f3e Fix of #4441
SearchDialog: Select first item in the lit, if search_list has at least one item
2020-06-26 13:45:54 +02:00
YuSanka
a1eeb569db Preset and PresetBundle are moved to the _libslic3r_ folder 2020-06-16 17:03:06 +02:00
YuSanka
fe79c4588c Fixed export/import from/to amf and 3mf file. 2020-06-08 12:25:29 +02:00
Lukas Matena
ac710216de Fixes second part of #4282 (wxWidgets 3.0 compatibility) 2020-05-27 17:30:56 +02:00
Lukas Matena
edcaab8b0a Includes cleanup:
GUI_App.hpp      (should not include) MainFrame.hpp
MainFrame.hpp    Plater.hpp
ModelArrange.hpp Model.hpp
Slicing.hpp      PrintConfig.hpp
FillBase.hpp     PrintConfig.hpp
GUI_App.hpp      PrintConfig.hpp
OptionsGroup.hpp GUI_App.hpp
2020-05-27 14:01:47 +02:00
YuSanka
6b2c67c7b0 Changed processing of a wxEVT_SYS_COLOUR_CHANGED event.
Only UI is updated. The application doesn't recreated now
2020-05-21 17:29:00 +02:00
YuSanka
936317d99f Typo fix for the commit fce1943b94 2020-05-19 18:23:39 +02:00
YuSanka
89255d2c9c OSX specific bug fixing 2020-05-19 17:00:41 +02:00
YuSanka
00d2c14e4f Bug fixing:
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)
2020-05-18 15:59:09 +02:00
YuSanka
9170ab7d6e Search: Use wxDataViewCtrl instead of wxListBox.
Added icons as a markers of settings type
For slDlg settings layout mode added process of "Ctrl+F" shortcut
2020-05-15 15:47:15 +02:00
YuSanka
41cecd67d9 Search: 1. The position of the search window is in the middle of the scene.
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
2020-05-12 08:32:54 +02:00
YuSanka
bef0e5007c Search: 1.Select first item in the search list by default
2. Show "Search in English" checkbox only, when Slicer is localized
3. Suppress search window hiding when leave the 3D-scene
2020-05-07 21:53:17 +02:00
YuSanka
f5bb831c7b Search:
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
2020-05-06 20:51:50 +02:00
bubnikv
c11f001f61 Fuzzy matching:
1) Handle localized and English searches as equivalent.
2) Search the whole section : group : label string, still give
   precedence to just the label.
2020-05-04 21:22:56 +02:00
bubnikv
3a44399df1 WIP Fuzzy search rework.
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.
2020-05-01 08:57:24 +02:00
bubnikv
d89651693b Search: Fixed returning of a pointer to temporary. 2020-04-30 12:03:49 +02:00
YuSanka
4674cec006 Search: Code cleaning
+ Reverted "Plater" tab to the Settings Notepad
2020-04-24 11:01:14 +02:00
YuSanka
2d7f3fa6ba Search: Implemented SearchDialog.
Search window on Plater: set flag SelectAll for search line
2020-04-22 15:46:23 +02:00
YuSanka
2b3b8e85d9 Search: Implemented "Option type" checkbox for imGui window on Plater
+ code refactoring
2020-04-20 21:54:46 +02:00
YuSanka
4daad332bc Search: Experiment button 2020-04-16 15:49:40 +02:00
YuSanka
8ebfb6ea86 Completed a search list cleaning (deleted unused options).
+ Implemented BlinkingBitmap
+ Options, that doesn't have related controls, are highlighted near the widgets.
2020-04-16 09:59:12 +02:00
YuSanka
5996e3a0ec Implemented cursor movement inside SearchComboPopup
+ Added checkboxes for editing of the option's name (include "Group"/"Category" or not)
+ some code refactoring
2020-04-14 17:54:15 +02:00
YuSanka
29ac9752b4 Added map for save Group and Category values for each option
+ Some code refactoring in Tab (the translation of the titles moved to the OptionGroups) and Search
+ Fixed assert in fts_fuzzy_match
2020-04-13 17:55:38 +02:00
YuSanka
8e640df815 Search: Added shortkey Ctrl+F on Plater 2020-04-08 09:47:33 +02:00
YuSanka
c6efaabc78 Search: Code cleaning 2020-04-07 20:34:09 +02:00
YuSanka
28b61faf75 Implemented OnMouseMove and OnMouseClick for PopupSearchList 2020-04-07 19:09:33 +02:00
YuSanka
a6f4c2893f Code cleaning 2020-04-07 16:22:03 +02:00
YuSanka
ce1cdc1687 Next Experiment 2020-04-05 22:11:45 +02:00
YuSanka
2ead71f7d4 Next experiments with search on Tabs 2020-04-04 19:25:57 +02:00
YuSanka
600a3c9cfa + Fixed clear_marked_string() 2020-04-03 14:29:57 +02:00
YuSanka
6fc7d37f3f Added missed destroy for search_line 2020-04-03 12:51:20 +02:00
YuSanka
31baca7bf5 Implemented SearchCtrl class instead of SearchComboBox
Search string are synchronized between Plater and Tabs.

List with options and filtered list are in Sidebar.
All options list on tabs and Plater use this data from Sidebar

Note: SearchComboBox.cpp(hpp) was renamed to Search.cpp(hpp)
2020-04-03 10:27:50 +02:00