Commit graph

309 commits

Author SHA1 Message Date
Peter Kirmeier 5314af937f Improve icon loading performance
Revert always loading common file icon extensions in sync.
(It slows down load time of sub menu significantly, so keep using async)
Fix preferring persistent icons for watcher updates.
Simplified icon loading routines.
2023-09-23 19:12:54 +02:00
Peter Kirmeier 2987bed7cc Fix start/stop of icon loading workers 2023-09-23 17:10:54 +02:00
Peter Kirmeier 30501a044f Multiple changes..
Rework startup, open and close handling
Improve icon preloading (before: once application wide, now: once per main menu)
Add spam protection against massive open and close events
2023-09-22 22:34:53 +02:00
Peter Kirmeier b00092e4a5 Reintroduce hover state of list items
Items were immediately selected when mouse hovered over
2023-09-17 19:11:08 +02:00
Peter Kirmeier 1d0741d54e Fix position calculation on watcher updates 2023-09-01 22:08:51 +02:00
Peter Kirmeier cd26d6eda8 Context menu will horizontally follow mouse
Add compile switch to use Windows Explorer behavior instead
- Mouse: Directly at mouse position
- Keyboard: Left aligned with padding, vertically centered
2023-09-01 19:49:34 +02:00
Peter Kirmeier ae6b12600c Use global style for all windows
Including foreground and background color, clear type rendering and using layout rounding
2023-09-01 17:34:42 +02:00
Peter Kirmeier 5707c2f051 Improve updates on file system watcher events
Menu positions and sizes will be adjusted now
Invalidated sub menus will be closed
2023-08-31 22:34:47 +02:00
Peter Kirmeier f67662cc45 Fix context menu (right click) position
Was bound to mouse position before, is bound to item position now.
2023-08-31 21:09:58 +02:00
Peter Kirmeier 4a645290f7 Fix intermediate layout and size changes when a sub menu gets filled with data 2023-08-31 19:23:22 +02:00
Markus Hofknecht 8a382eaacd [BUG] Fix fast renames causes duplicated item (#497), version 1.3.2.7 2023-08-25 11:55:55 +02:00
Peter Kirmeier 0f1f1748a4 Let the framework calculate text width of list entries
This will improve performance as less objects will be rendered for calculation.
Will also fix "flickering" of sub menu at wrong (not yet calculate) window position.
2023-08-21 20:05:31 +02:00
Peter Kirmeier 5c021bf5e4 Fix opening non-folder entries via Enter key 2023-08-20 21:53:33 +02:00
Peter Kirmeier 6c57581f42 Set specific colors for text box selections
Foreground: White
Background: #0078d7 (blue-ish)
Note: Enable non-adorner based rendering of TextSelection in TextBox and PasswordBox in order to be able to change background color.
2023-08-20 21:45:47 +02:00
Peter Kirmeier 61c2cd0dea Work around a potential race condition of FadeIn events
Issue could happen when sub menu switches from loading to full sub menu and previous FadeIn event overwrites opacity after Opacity was already set to final value.
2023-08-20 20:29:53 +02:00
Peter Kirmeier 161233ac39 Automatically select search text when using TAB to switch between menus 2023-08-20 20:14:28 +02:00
Peter Kirmeier 4ac3d1eb3a Fix wrong appearance in menu size and position when switching from loading menu to final sub menu 2023-08-20 14:03:58 +02:00
Peter Kirmeier e6d41beffc Applied some fixes..
Fix wrong loading status shown (e.g. "0 elements" instead of "loading")
Fix missing loading icon (animated blue circle)
Adjusted alignment of the scroll bar (aligns with the separator right above)
2023-08-18 18:20:21 +02:00
Markus Hofknecht 6def5eb44b adjust comment related GenerateDriveShortcuts 2023-08-17 10:59:13 +02:00
Peter Kirmeier 23ac75ea1c Search input box focus when main menu opens 2023-08-16 19:28:48 +02:00
Peter Kirmeier 106d6bd090 Initial style for ScrollBars making use of custom colors
As of now: all colors as in v1 are supported except ColorSliderArrowsAndTrackHover
2023-08-15 00:13:18 +02:00
Peter Kirmeier 6fd41894c4 Initial dark mode support for all windows 2023-08-14 02:16:47 +02:00
Peter Kirmeier 8c62122c7e Fix iteration over filtered items 2023-08-13 22:17:16 +02:00
Peter Kirmeier 1b9695696a Update layout of all Settings window controls 2023-08-13 17:13:26 +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 94fdd47cda [BUG] Child processes won't elevate (#488)
(cherry picked from commit 68258eb104)
2023-08-12 14:00:26 +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 28fdd938ee Enable search text box selection. 2023-06-04 11:34:29 +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 f8f2338b73 Fix mouse position for shell context menu when menu/app key is used.
Mouse capture outside window mus be enabled otherwise screen 0:0 is returned.
However, we keep using native function as suggested by Mouse.GetPosition remarks.
2023-06-03 00:49:10 +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 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 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 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