Commit graph

273 commits

Author SHA1 Message Date
Peter Kirmeier 045fb9dd7e Improve Icon factory performance
Workers are by default part of MTA thread model and are CoInitialized.
This means COM calls can be made without spawning additional STA threads.
Additionally pass file icon factory for dictionary search instead of providing (potentially not used) new Icon beforehand.
2023-05-19 18:50:53 +02:00
Peter Kirmeier 6346b513d8 Merged ListViewMenuItem into RowData 2023-05-18 23:28:52 +02:00
Peter Kirmeier e9675685ef Separated ListViewMenuItem from Menu (former ListViewItemData) 2023-05-18 22:48:18 +02:00
Peter Kirmeier ac311d5632 Make mainMenu not null 2023-05-18 22:16:39 +02:00
Peter Kirmeier 13b2338b11 Reorganize main objects
Notify icon moved into Menus class (multiple instances would get multiple icons)
Taskbar logo moved into Menus class (multiple instances would get multiple icons)
joystickHelper moved into App class (Only one watcher for gamepad inputs even when multiple Menus exist)
Simplified event calling of these classes
2023-05-18 21:25:03 +02:00
Peter Kirmeier a1055ce31f Rework open calls and events 2023-05-18 20:42:46 +02:00
Peter Kirmeier e16d682d87 Rework to remove IsMainUsable 2023-05-16 20:53:01 +02:00
Peter Kirmeier d75d183918 Remove state openCloseState and ClosePressed events by refactoring 2023-05-16 19:32:48 +02:00
Peter Kirmeier 0fb1a086bb Shutdown immediately when configuration path is empty 2023-05-15 23:26:03 +02:00
Peter Kirmeier 7d4c40a71e Remove deactivated flag from logic that will open/close main menu 2023-05-15 23:01:55 +02:00
Peter Kirmeier cd5ab5aa5c Simplified code
Fix potential issue of loading from wrong thread during startup
2023-05-15 22:34:17 +02:00
Peter Kirmeier ddf91131cb Minor selection improvement 2023-05-14 23:25:34 +02:00
Peter Kirmeier ec045a153b Simplified menu selection via keys
Avoid menu closing when going one level back via keys
2023-05-14 19:13:44 +02:00
Peter Kirmeier 5bd2c44930 Simplified and improved selection via keys
Reduce complexity of key handlers
Combine deselect and select events
2023-05-12 01:13:02 +02:00
Peter Kirmeier d8a146e8ed Simplified RowSelectionChanged
Fix issue of overwriting selection during key row selection process
2023-05-11 00:53:02 +02:00
Peter Kirmeier f73a674400 Change SelectionMode to Single for ListView 2023-05-11 00:14:05 +02:00
Peter Kirmeier fe2ab9b4ff Improve key selections by reduced usage of Nullables types 2023-05-10 00:55:18 +02:00
Peter Kirmeier bb198a32db Rework ListViewItemData and RowData members
Improve UI updates due to unnecessary color and selection changes of menus' lists
Fix selection when going back to previous menu via key
2023-05-09 00:19:29 +02:00
Peter Kirmeier 14d0896419 Replaced internal "menus" array with chained instances. 2023-05-08 00:14:23 +02:00
Peter Kirmeier 56476e095d Improve mouse and search item selection 2023-05-05 22:19:00 +02:00
Peter Kirmeier 97185b1989 Adjusted naming and variables for menu selection with keys
Remove obsolete mouse events (non active code)
2023-05-05 20:01:49 +02:00
Peter Kirmeier 189e45099c Fix row selection loss when using keys
Remove some old drag and drop code (feature might be added later again)
Refactored some events to work with Menu s instead of ListView s
2023-05-05 18:52:05 +02:00
Peter Kirmeier c7066e67f7 Refactored list selection via keys
Reducing code complexity and improve naming and use of nullables
2023-05-05 00:08:39 +02:00
Peter Kirmeier 9fdb708322 Refactored iRowKey to use a row's instance instead 2023-05-04 00:34:23 +02:00
Peter Kirmeier 485ef01ad0 Refactored iMenuKey to use a menu's dependencies to parent or sub menu 2023-05-03 23:18:03 +02:00
Peter Kirmeier b93e1fb345 Minor refactoring and add gamepad button 1 as additional enter button 2023-05-03 00:34:30 +02:00
Peter Kirmeier a7af9f610f Fix and improve menu activation 2023-05-02 22:04:32 +02:00
Peter Kirmeier bbdab80355 Fix index issue when selecting first "left" sub menu via key. 2023-05-01 23:46:28 +02:00
Peter Kirmeier c7f4f44250 Replace SharpDX.DirectInput v4.2.0 with HIDDevices v3.0.1
This supports newer .Net version.
Also supports more gamepads like PS5 controller.
2023-05-01 16:24:33 +02:00
Peter Kirmeier 3153032110 Refine loading of colors 2023-04-30 23:36:26 +02:00
Peter Kirmeier ea8ed05c85 Replaced System.Drawing.Color with System.Windows.Media.SolidColorBrush 2023-04-30 22:42:25 +02:00
Peter Kirmeier 6ffddc7e02 Fix menu activation when opened from notify icon 2023-04-30 00:06:00 +02:00
Peter Kirmeier 55fccd17d5 Initial use of colors for list items and buttons 2023-04-29 22:42:28 +02:00
Peter Kirmeier aa87100095 Reduce code complexity and refined member variables
Improve null pointer assumptions by relying on nullable value types
2023-04-29 18:57:39 +02:00
Peter Kirmeier 5d04cc0abd Modified message box text when exceptions occur 2023-04-29 18:52:52 +02:00
Peter Kirmeier ab9b0ea0b0 Housekeeping, refine IconReader and fix ShellContextMenu 2023-04-28 18:48:39 +02:00
Peter Kirmeier 175c93e511 Simplified use of MainMenu and updating menus' item lists 2023-04-27 23:24:25 +02:00
Peter Kirmeier b735ad4b46 Simplified MenuData and speedup sub menu closing 2023-04-27 22:19:02 +02:00
Peter Kirmeier 2e1cc20593 Remove RowData dependency from FolderOptions 2023-04-27 21:11:20 +02:00
Peter Kirmeier 46bd18eb7e Removed DgvMouseRow helper class 2023-04-27 20:27:16 +02:00
Peter Kirmeier 3f09f40188 Simplified working with ListViewItems by passing instance instead of index 2023-04-25 00:24:48 +02:00
Peter Kirmeier 6ebfed5f78 Simplified some mouse and open events 2023-04-24 22:38:36 +02:00
Peter Kirmeier 40871c7e96 Fix and improve fading and transparency 2023-04-23 23:53:20 +02:00
Peter Kirmeier 55c01e44b8 Refactor size and position logic
Fix issue that custom location was always detected being out of bounds
2023-04-22 21:04:34 +02:00
Peter Kirmeier 3464e3e4b9 Reduce event dependencies during startup (preloading)
Remove obsolete code
2023-04-20 00:50:29 +02:00
Peter Kirmeier 74d5be3890 Fix missing lazy icon loading for sub menus 2023-04-17 00:04:59 +02:00
Peter Kirmeier 6993aef3ac Fix lots of nullable warnings 2023-04-16 23:27:27 +02:00
Peter Kirmeier c9ce4d1d21 Improve window size and position calculations
Fix several warnings
2023-04-16 20:17:24 +02:00
Peter Kirmeier b12d4ad656 Fix potential multiple opening of same sub menu 2023-04-16 17:39:32 +02:00
Peter Kirmeier 61e10bea00 Simplified menu initialization based on directory state 2023-04-16 15:45:47 +02:00