Commit graph

482 commits

Author SHA1 Message Date
Peter Kirmeier
1b9695696a Update layout of all Settings window controls 2023-08-13 17:13:26 +02:00
Peter Kirmeier
0eef578377 Update code analyzers and fix new warnings
New (latest) versions:
Microsoft.CodeAnalysis.NetAnalyzers 8.0.0-preview1.23165.1
StyleCop.Analyzers 1.2.0-beta.507
2023-08-13 02:46:13 +02:00
Peter Kirmeier
8202a6c3cf Adjust generic size of textBox elements
Increased the size of the search bar icon (magnification glass)
2023-08-12 20:23:30 +02:00
Peter Kirmeier
1a34945a79 Adjust padding for list entries to match with v1
The 1px border is outside of the list view content that was inside on v1 before
2023-08-12 19:53:14 +02:00
Peter Kirmeier
9aa1200b63 Keep full menu size even when list shrinks due to searching 2023-08-12 18:54:17 +02:00
Peter Kirmeier
99809408b9 Fix missing filter for hidden entries when no search is active
Fix element count shown at the bottom of a menu (will update accordingly)
2023-08-12 18:37:26 +02:00
Peter Kirmeier
a7a526700f Add transparency effect on button mouse over highlighting 2023-08-12 15:33:15 +02:00
Markus Hofknecht
695be87239 [Feature] Add search bar right click 'Paste' (#466)
(cherry picked from commit 9bc8847f3c)
2023-08-12 14:08:51 +02:00
Peter Kirmeier
dfb1b46b65 Fix system tray icon not showing loading state 2023-08-12 02:44:48 +02:00
Peter Kirmeier
de483c874c Refactored resource file management..
Remove use of resx file
Resource files are marked as "Resource" instead
Resources are loaded via resource dictionaries (either from code behind or XAML directly through binding)
Reduce amount of required image conversions

Also fix overlay of 50 percent transparency (is now rendered half transparent correct instead of adding "white fog")
Remove obsolete image as rendering is done directly in code

Also fix rendering of link indicator at correct image position

Also remove setting Icons of all Windows (as default is application icon anyway)
2023-08-12 02:33:11 +02:00
Peter Kirmeier
7cbad2bbdc [Feature] Icon-only view like "Quick Launch" (#495)
(cherry picked from commit 9683e5c461)
2023-08-11 22:34:25 +02:00
Peter Kirmeier
26b9a755c3 [Feature] Show hint to find settings and enable by default 'Show function key Settings' #490
(cherry picked from commit 00b4c5ddcc)

Additional changes:
ResourceLoading improved for Window icons
Fix not working OK button of UpdateWindow
2023-08-11 22:29:08 +02:00
Peter Kirmeier
0f09c4317f Child processes won't elevate (#488)
(cherry picked from commit a296df3da4)
2023-08-11 18:41:24 +02:00
Peter Kirmeier
d6bf3ed42a Add color picker window 2023-06-04 16:41:48 +02:00
Peter Kirmeier
28fdd938ee Enable search text box selection. 2023-06-04 11:34:29 +02:00
Peter Kirmeier
87fedfc7d5 Set text color for items accordingly to configuration 2023-06-03 21:46:41 +02:00
Peter Kirmeier
2b408c83bf Fix for closing pipe upon application shutdown. 2023-06-03 21:15:13 +02:00
Peter Kirmeier
0e812d207b Allow waking up another process when started a second time.
This was not possible before and was solved by sending hotkey in version 1.
In v2 it will use named pipes for IPC communication, so it don't rely on hotkeys any more.
2023-06-03 20:18:10 +02:00
Peter Kirmeier
dda3d94e7b Only store hotkeys when successfully set using Settings window. 2023-06-03 16:56:17 +02:00
Peter Kirmeier
33e1d9decf Avoid weird list view selection change due to the created native context menu. 2023-06-03 01:17:05 +02:00
Peter Kirmeier
8311d9fd5b Enable key filters for hotkeys
Fix some hotkey combinations
Refactor code for better serialization
2023-06-01 00:32:28 +02:00
Peter Kirmeier
d162564e82 Enable hotkey modification via Settings window 2023-05-31 22:32:19 +02:00
Peter Kirmeier
215c263052 Refactor hotkey registration
Allow function registrations besides the actual hotkey registration.
2023-05-29 23:56:52 +02:00
Peter Kirmeier
637cc46e7e Initial reassign of hotkeys 2023-05-29 20:48:46 +02:00
Peter Kirmeier
ce2d9772f6 Rework hotkey registration for sharing hotkeys between objects.
Use colors for working, failing or unset hotkeys in HotkeySelector.
2023-05-27 18:23:01 +02:00
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
f8d3457b13 Remove v1 hints 2023-05-24 23:47:41 +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
d74e61b999 Replaced some Icon objects with ImageSource
Merged ColumnText and Text of RowData
2023-05-19 20:43:19 +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
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
cd5ab5aa5c Simplified code
Fix potential issue of loading from wrong thread during startup
2023-05-15 22:34:17 +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
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
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
ab0758788c Give menu ToString method for easier debugging 2023-05-02 22:05:08 +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
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
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
46bd18eb7e Removed DgvMouseRow helper class 2023-04-27 20:27:16 +02:00
Peter Kirmeier
959f0af976 Fix missing mouse capture when window is moved but mouse points outside of window 2023-04-27 19:48:17 +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
874f583a3a Refactor size and position logic
Fix issue that mouse location was inaccurate
2023-04-23 22:36:15 +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
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
61e10bea00 Simplified menu initialization based on directory state 2023-04-16 15:45:47 +02:00
Peter Kirmeier
0158499a2c Simplified directory and file discovery
Corrected namespace naming of Helpers
2023-04-16 14:17:33 +02:00
Peter Kirmeier
3c7a7a2aaf Reuse a loading sub menu for showing completed sub menu
Further simplification of sub menu creation
2023-04-16 12:42:42 +02:00
Peter Kirmeier
3698d7e891 Simplified post processing of Menu creation 2023-04-15 22:47:29 +02:00
Peter Kirmeier
562a799a46 Simplified Menu construction 2023-04-15 21:23:28 +02:00
Peter Kirmeier
ae270343b9 [Feature] Add search bar right click 'Paste' (#466)
(cherry picked from commit 1f9a2483f4)
2023-04-15 18:48:53 +02:00
Peter Kirmeier
135850c9fc Fix a bunch of nullable warnings 2022-12-05 21:46:53 +01:00
Peter Kirmeier
11bac5dd1e Fix some nullables 2022-12-05 01:27:57 +01:00
Peter Kirmeier
22679392f4 Refactor color and language settings 2022-12-04 23:56:21 +01:00
Peter Kirmeier
36cbd9f633 Keep using Window Resources for SVG images
App Resources are not loaded consistently by the Window designer
Also updating SVG image colors would not work without changing resource loading.
2022-12-04 22:03:57 +01:00
Peter Kirmeier
81e20d618b Refactored menu window fading
Improve TaskbarLogo (still flickers on load but only very shortly)
2022-12-04 01:24:30 +01:00
Peter Kirmeier
813912d08c Cleanup, refactoring and SVG package removed
Reenable dark mode colored SVG icons
2022-12-03 22:41:03 +01:00
Peter Kirmeier
ece80ebc3f Simplified menu creation 2022-12-03 21:23:19 +01:00
Peter Kirmeier
389ae28b99 Search handles multiple patterns and is case insensitive 2022-12-03 19:30:40 +01:00
Peter Kirmeier
9fffebafa2 Lots of major improvements 2022-12-03 02:14:15 +01:00
Peter Kirmeier
1b24ef14d8 Fix binding exceptions while mouse wheel scrolling
(Remove resetting filter during width calculation)
2022-12-02 20:24:41 +01:00
Peter Kirmeier
6b1c63b2dc Improve and fix location calculation of sub menus 2022-12-02 19:34:24 +01:00
Peter Kirmeier
ada694c611 Reenable scrolling (partially) 2022-12-01 00:16:30 +01:00