Commit graph

891 commits

Author SHA1 Message Date
Peter Kirmeier f55af05bc3 Fix issue that key modifiers are parsed wrong
(registering the hotkey might have failed)
Simplified hot key pressed events
Remove obsolete class KeyPressedEventArgs
2023-05-22 23:57:54 +02:00
Peter Kirmeier f8c9913933 Make HotkeyControl buildable again.
Also try registering the hotkey on startup.
Extended error message why registering of a hotkey failed.
2023-05-21 21:13:18 +02:00
Peter Kirmeier d263eb4588 Replaced Icon dictionary (cache) with BitmapSource 2023-05-19 21:26:47 +02:00
Peter Kirmeier d74e61b999 Replaced some Icon objects with ImageSource
Merged ColumnText and Text of RowData
2023-05-19 20:43:19 +02:00
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 9fd7da2e98 Remove obsolete class EventDelay
(not used since 1.3.0.4)
2023-05-19 15:36:15 +02:00
Peter Kirmeier 13e7cedaa6 Improve async icon loading
Response time for an loaded icon should be faster as update no longer depends on timer
Loading icon will now share image source prevents creation of lost of loading icon copies
2023-05-19 15:27:35 +02:00
Peter Kirmeier f7fff25ba7 ReadIcon will automatically update ColumnIcon
Freeze of ImageSource required to become accessible for UI thread as it may be created in background worker
2023-05-19 00:17:07 +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 4a11f48f10 Reduce complexity of RowData 2023-05-18 22:28:05 +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 1e5c8c8f94 Improve window relocation by mouse dragging 2023-05-16 19:57:02 +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 ea02181408 Refactor native DLL imports
Adjust namespace
Enforce calling conventions
Mark as Windows specific API
Remove empty wrapper calls
Remove obsolete calls
Combine/group logically in files instead of "by function"
2023-05-09 23:33:56 +02:00
Peter Kirmeier c5225b5708 Simplified shell context menu creation 2023-05-09 22:06:15 +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 9dede1c762 Keep windows width while filtering items
Fix issue when ListViewItem hides while mouse is hovering over it
Remove obsolete mouse events (non active code)
2023-05-05 21:07:23 +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 944958b6fd Corrected mixed up HatSwitch values for up/down and left/right on non-Sony gamepads 2023-05-04 00:40:51 +02:00
Peter Kirmeier 9fdb708322 Refactored iRowKey to use a row's instance instead 2023-05-04 00:34:23 +02:00
Peter Kirmeier 88971e685c Give ListViewItemData ToString method for easier debugging 2023-05-04 00:33:28 +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 14430d9d05 Use different HatSwitch values for different gamepad vendors
Fix detection of pressed and instantly released buttons
2023-05-03 23:02:31 +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 ab0758788c Give menu ToString method for easier debugging 2023-05-02 22:05:08 +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 cb80948bb2 Replace HIDDevices v3.0.1 with HidSharp v2.1.0
This removes a bunch of NuGet dependencies.
Fix UWP/UAP dependency issue by removing unsupported dependency.
2023-05-01 23:37:07 +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 026ab9a982 Replace Hardcodet.NotifyIcon.Wpf v1.1.0 with H.NotifyIcon v2.0.108
The former is no longer maintained and the new project is base on the former one.
The new one should also be usable for other platforms.
2023-04-30 21:10:55 +02:00
Peter Kirmeier 6ffddc7e02 Fix menu activation when opened from notify icon 2023-04-30 00:06:00 +02:00