Commit graph

6 commits

Author SHA1 Message Date
Shengkai Lin
830023513f fix(avalonia): fix enum translation in settings pages
- Add DropdownDataGeneric<T> helper for translated enum dropdowns
- Fix GeneralSettingsViewModel to use DropdownDataGeneric for enums:
  - SearchWindowScreens, SearchWindowAligns, SearchPrecisionScore, LastQueryMode
- Fix ThemeSettingsViewModel to use DropdownDataGeneric for ColorSchemes
- Fix PluginsSettingsViewModel DisplayMode to use correct translation keys:
  - DisplayModeOnOff, DisplayModePriority, DisplayModeSearchDelay, DisplayModeHomeOnOff
- Add missing translation keys to en.xaml for plugin types and display modes
- Update XAML bindings to use DisplayMemberPath/SelectedValuePath pattern
2026-02-01 12:33:52 +08:00
Hongtao Zhang
0c2f026d01 Implement comprehensive Plugins Settings page in Avalonia
- Add plugin search with filtering across name, description, and action keywords
- Implement display mode switcher (On/Off, Priority, Search Delay, Home On/Off)
- Add plugin management controls (enable/disable, priority, search delays, home visibility)
- Integrate both native Avalonia settings and WPF fallback support
- Add action keywords editing dialog
- Include plugin directory access, source code links, and uninstall functionality
- Add help dialog explaining priority, search delay, and home features
- Improve UI with FluentAvalonia controls and proper layout
- Load plugin icons asynchronously and display plugin metrics (init time, query time)

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-01-26 14:19:30 -08:00
Hongtao Zhang
dda587493b Migrate Program plugin settings to Avalonia and fix scroll issues
- Update ISettingProvider to support CreateSettingPanelAvalonia
- Create native Avalonia settings UI for Program Plugin (ProgramSetting.axaml)
- Implement ProgramSettingViewModel using CommunityToolkit.Mvvm
- Update PluginsSettingsViewModel to detect and load native Avalonia settings
- Replace ListBox with ItemsControl in PluginsSettingsPage to fix auto-scroll issues when expanding settings
- Align Avalonia package versions (11.2.3) across projects to fix type load errors
2026-01-19 00:06:36 -08:00
Hongtao Zhang
fb9721c7f2 refactor: move history storage to infrastructure and implement WPF settings window host in Avalonia 2026-01-18 23:28:56 -08:00
Hongtao Zhang
0e1af2279b Implement WPF plugin settings hosting in Avalonia
- Created WpfControlHost to host WPF controls using HwndSource

- Updated PluginItemViewModel to load settings via ISettingProvider

- Updated PluginsSettingsPage to display settings in an expander
2026-01-18 20:01:00 -08:00
Hongtao Zhang
0f9b9329dd Add hotkey recorder with manual modifier tracking
- Add HotkeyRecorderDialog with global keyboard hook for capturing hotkeys
- Implement manual modifier state tracking to handle swallowed key events
- Add HotkeyControl button that opens the recorder dialog
- Add CheckAvailability and RemoveToggleHotkey to HotKeyMapper
- Expose GetKeyFromVk helper in GlobalHotkey infrastructure
- Add Settings pages (General, Plugin, Theme, Proxy, About)
- Add PreviewPanel for result previews in main window
- Fix hook reuse issue by clearing callback on close instead of disposing
2026-01-18 02:10:53 -08:00