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
Peter Kirmeier
55fccd17d5
Initial use of colors for list items and buttons
2023-04-29 22:42:28 +02:00
Peter Kirmeier
14db7ef845
Use data bindings to update delayed icons
2023-04-29 19:51:44 +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