Peter Kirmeier
8ece540881
Centralized hotkey registration
...
Only one window handle is required for all hotkeys.
Simplifies maintaining multiple hotkeys spreaded over multiple windows.
2023-05-27 16:37:39 +02:00
Peter Kirmeier
60329d524f
Fix GetKeyName to support WPF's Key as base type.
2023-05-26 20:51:42 +02:00
Peter Kirmeier
1c22c86d3e
Restructured hotkey handling
2023-05-26 00:34:31 +02:00
Peter Kirmeier
9961e53c14
Replace placeholder for HotkeyTextbox in SettingsWindow with actual Control
...
(Just added to visual tree, not functioning correctly yet)
2023-05-25 20:52:31 +02:00
Peter Kirmeier
451570021b
Fix Windows key modifier on hot keys
...
Change default from Ctrl+LWin to working Ctrl+Win+LWin key combination
2023-05-25 00:31:31 +02:00
Peter Kirmeier
1b2c151e77
Remove use of obsolete FormsExtensions
2023-05-24 23:58:22 +02:00
Peter Kirmeier
91c70d4906
Simplify and fix hotkey registration
...
FormsExtensions class no longer required.
Use proper virtual key code for native hotkey events.
2023-05-24 23:47:49 +02:00
Peter Kirmeier
f8d3457b13
Remove v1 hints
2023-05-24 23:47:41 +02:00
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