Commit graph

11216 commits

Author SHA1 Message Date
Hongtao Zhang
36e3530a59 Add internationalization support for Avalonia UI
- Create Internationalization service that parses WPF XAML language files
- Load translations from main Languages/ folder and all plugin Languages/ folders
- Add LocalizeExtension markup extension and Translator helper for XAML/code
- Fix IPublicAPI.GetTranslation to use the i18n service for plugin context menus
- Update MainWindow to use localized placeholder text
2026-01-15 01:10:53 -08:00
Hongtao Zhang
192eb4d1c0 Add context menu support for results in Avalonia UI
- Add ActiveView enum to track Results vs ContextMenu view state
- Add ContextMenu ResultsViewModel and view switching logic
- Implement LoadContextMenuCommand using PluginManager.GetContextMenusForPlugin
- Add keyboard navigation: Shift+Enter/Right to open, Left/Escape to close
- Update SelectNextItem/SelectPrevItem to navigate appropriate list
- Update EscCommand to return from context menu before hiding
2026-01-15 00:53:14 -08:00
Hongtao Zhang
2466b907c4 Fix UI blocking by running plugin queries on thread pool
- Wrap each plugin query in Task.Run() to ensure synchronous plugin code
  doesn't block the UI thread
- Show results progressively as each plugin completes using ConcurrentBag
- Update UI after each plugin returns instead of waiting for all plugins
2026-01-15 00:30:46 -08:00
Hongtao Zhang
f3d3f80db8 Add DynamicData sorting, result persistence, and Windows Shell icon loading
- Use DynamicData SourceList with automatic sorting by score descending
- Add ReplaceResults() with EditDiff for minimal UI updates (reduces flickering)
- Keep previous results visible while typing until new results arrive
- Add ImageLoader with Windows Shell API (IShellItemImageFactory) for exe/ico icons
- Use AlphaFormat.Unpremul to correctly render transparent icons without white borders
- Query all plugins in parallel and merge/sort results globally
2026-01-15 00:26:27 -08:00
Hongtao Zhang
065dc191ce Add global hotkey support for Avalonia UI 2026-01-14 23:50:54 -08:00
Hongtao Zhang
207953159a Fix MainWindow to use shared ViewModel from DI and add console logging 2026-01-14 23:29:10 -08:00
Hongtao Zhang
e961dc5668 Wire up Avalonia UI to actual plugin system
- Load settings from disk via FlowLauncherJsonStorage
- Initialize PluginManager and query plugins on text change
- Add minimal AvaloniaPublicAPI implementing IPublicAPI
- Execute plugin results on Enter key
- Add WPF framework reference for IPublicAPI compatibility
2026-01-14 23:20:19 -08:00
Hongtao Zhang
4120407ac3 Add initial Avalonia UI project for migration
Create Flow.Launcher.Avalonia project as foundation for migrating from WPF to Avalonia UI framework.

Key components:
- MainWindow with query box and results list (matching WPF layout)
- ViewModels: MainViewModel, ResultsViewModel, ResultViewModel
- Themes/Base.axaml with converted styles from WPF
- FluentAvaloniaUI for Windows 11 styling
- References existing Core/Infrastructure/Plugin projects

The project builds and runs alongside the existing WPF application.
This is Phase 1 of the incremental migration approach.
2026-01-14 23:01:35 -08:00
Jack Ye
a46350c76a
Merge pull request #4211 from Flow-Launcher/dependabot/nuget/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Microsoft.Data.Sqlite-10.0.2
Bump Microsoft.Data.Sqlite from 10.0.1 to 10.0.2
2026-01-14 21:53:22 +08:00
Jack Ye
d72a15937d
Merge branch 'dev' into dependabot/nuget/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Microsoft.Data.Sqlite-10.0.2 2026-01-14 21:17:51 +08:00
Jack Ye
56c1b92316
Merge pull request #4210 from Flow-Launcher/dependabot/nuget/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Svg.Skia-3.4.1
Bump Svg.Skia from 3.4.0 to 3.4.1
2026-01-14 21:17:13 +08:00
dependabot[bot]
91cd27298d
Bump Microsoft.SourceLink.GitHub from 8.0.0 to 10.0.102
---
updated-dependencies:
- dependency-name: Microsoft.SourceLink.GitHub
  dependency-version: 10.0.102
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-13 22:45:22 +00:00
dependabot[bot]
98bb98c265
Bump Microsoft.Data.Sqlite from 10.0.1 to 10.0.2
---
updated-dependencies:
- dependency-name: Microsoft.Data.Sqlite
  dependency-version: 10.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-13 22:45:07 +00:00
Jeremy
e970bb4d4e fix icon & glyph display based on selected history style results 2026-01-13 23:32:13 +11:00
dependabot[bot]
ed83da5669
Bump Svg.Skia from 3.4.0 to 3.4.1
---
updated-dependencies:
- dependency-name: Svg.Skia
  dependency-version: 3.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-13 03:05:02 +00:00
Jack Ye
7e7f85352b
Fix potential locale-dependent test failure
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-01-12 14:13:01 +08:00
Jack251970
013622a2a7 Restore to default in calculator tests 2026-01-12 11:37:47 +08:00
Jack251970
fb4da697a2 Improve calculator thousands separator test 2026-01-12 11:37:06 +08:00
Jack Ye
4e56cb4e74
Merge pull request #4203 from Flow-Launcher/shell_path
Fix ShellPath directory for shell path selection
2026-01-11 21:07:39 +08:00
copilot-swe-agent[bot]
649b142b46 Add UseThousandsSeparator setting to Calculator plugin
Co-authored-by: Jack251970 <53996452+Jack251970@users.noreply.github.com>
2026-01-10 06:30:57 +00:00
copilot-swe-agent[bot]
34257cad60 Initial plan 2026-01-10 06:27:26 +00:00
Jack251970
382a77d2c5 Fix ShellPath directory for shell path selection
Updated OpenShellPath to use Settings.ShellPath directory when prompting for a file path, ensuring the dialog opens in the relevant location instead of the editor path directory.
2026-01-07 13:40:13 +08:00
Jack251970
3745c44455 Revert Update the result when executing history item 2026-01-06 20:11:36 +08:00
Jack251970
9d9ab1ffd2 Do not allow context menu for history items 2026-01-06 18:35:53 +08:00
Jack251970
938a87ceca Fix preview panel blank issue 2026-01-06 18:31:15 +08:00
Jack251970
583bf74724 Update code comments 2026-01-06 15:46:08 +08:00
Jack251970
26e4529f27 Update the result when executing history item 2026-01-06 15:45:49 +08:00
Jack251970
e404d02965 Update the result when executing history item 2026-01-06 15:13:37 +08:00
Jack251970
c610100c13 Use QueryManager function 2026-01-06 15:07:00 +08:00
Jack Ye
8d4e03bdb8
Merge pull request #4202 from Flow-Launcher/dependabot/nuget/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Svg.Skia-3.4.0
Bump Svg.Skia from 3.2.1 to 3.4.0
2026-01-06 10:40:22 +08:00
dependabot[bot]
77b631be87
Bump Svg.Skia from 3.2.1 to 3.4.0
---
updated-dependencies:
- dependency-name: Svg.Skia
  dependency-version: 3.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-05 22:08:44 +00:00
Jack251970
e403c41530 Change copied icon logic as origin 2026-01-05 22:55:09 +08:00
Jack251970
5b2fb1fb38 Revert "Ensure history items have valid icons in QueryHistory"
This reverts commit e6a91a9959.
2026-01-05 22:26:39 +08:00
Jack251970
cf4268d1c3 Fix preview panel blank issue 2026-01-05 21:30:06 +08:00
Jack251970
e6a91a9959 Ensure history items have valid icons in QueryHistory
Added CheckIcoPathValidity to QueryHistory to set default icons for history items missing IcoPath, addressing legacy data issues. Integrated this check into MainViewModel's RefreshLastOpenedHistoryResults to guarantee icon validity before updating absolute paths.
2026-01-05 20:17:12 +08:00
Jack251970
f22b6449d4 Fix issue when querying history items in home page 2026-01-05 19:18:47 +08:00
Jeremy
58d910dc57 fix deep copy Glyph on LastOpenHistoryResult 2026-01-05 19:37:05 +11:00
Jeremy
11645fdc9a ensure history results ordered by ExecutedDateTime 2026-01-05 19:27:11 +11:00
Jack251970
177e60739c Add code comments 2026-01-05 14:34:57 +08:00
Jack251970
5f992352ee Code cleanup 2026-01-05 13:48:58 +08:00
Jack251970
216b6f536f Code cleanup 2026-01-05 13:07:02 +08:00
Jack Ye
1e176151a0
Merge pull request #4201 from Flow-Launcher/revert-4118-UI.WPF.Modern
Revert "Upgrade iNKORE.UI.WPF.Modern and refactor scroll logic"
2026-01-05 07:38:31 +08:00
Jack Ye
604fd2be44
Merge branch 'dev' into revert-4118-UI.WPF.Modern 2026-01-04 23:59:04 +08:00
Jack Ye
27c4d35a9b
Merge pull request #4198 from nilvanlopes/feature/websearch-max-suggestions
Add max suggestions limit for web search plugin
2026-01-04 23:58:43 +08:00
Jack Ye
a9e6a68369
Revert "Upgrade iNKORE.UI.WPF.Modern and refactor scroll logic" 2026-01-04 23:47:42 +08:00
Jack251970
6c1c9fe600 Use wrap panel 2026-01-04 23:45:13 +08:00
Jack251970
af9050c34b Test no PrivateAssets 2026-01-04 23:19:41 +08:00
Jack251970
4c46e16160 Fix possible convert issue 2026-01-04 23:19:12 +08:00
Jack251970
590b4c82d2 Try NumberBox 2026-01-04 23:00:24 +08:00
Jeremy
19fa107fea minor fixes and adjustments for code quality 2026-01-04 22:05:39 +11:00