mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
fix(avalonia): update PluginManager API calls for Release build
Some checks failed
Build / build (push) Has been cancelled
Some checks failed
Build / build (push) Has been cancelled
- Replace PluginManager.AllPlugins with GetAllLoadedPlugins() - Replace PluginManager.NonGlobalPlugins with GetNonGlobalPlugins() - Fix InitializePluginsAsync to pass IResultUpdateRegister parameter - Fix QueryBuilder.Build to pass required 3 parameters - Implement IResultUpdateRegister interface on MainViewModel
This commit is contained in:
parent
c51c029263
commit
5e1ec2b3e9
3 changed files with 16 additions and 5 deletions
|
|
@ -128,9 +128,9 @@ public partial class App : Application
|
|||
{
|
||||
Log.Info(ClassName, "Loading plugins...");
|
||||
PluginManager.LoadPlugins(_settings!.PluginSettings);
|
||||
Log.Info(ClassName, $"Loaded {PluginManager.AllPlugins.Count} plugins");
|
||||
Log.Info(ClassName, $"Loaded {PluginManager.GetAllLoadedPlugins().Count} plugins");
|
||||
|
||||
await PluginManager.InitializePluginsAsync();
|
||||
await PluginManager.InitializePluginsAsync(_mainVM!);
|
||||
Log.Info(ClassName, "Plugins initialized");
|
||||
|
||||
// Update plugin translations after they are initialized
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public enum ActiveView
|
|||
/// <summary>
|
||||
/// MainViewModel for Avalonia - minimal implementation for plugin queries.
|
||||
/// </summary>
|
||||
public partial class MainViewModel : ObservableObject
|
||||
public partial class MainViewModel : ObservableObject, IResultUpdateRegister
|
||||
{
|
||||
private static readonly string ClassName = nameof(MainViewModel);
|
||||
private readonly Settings _settings;
|
||||
|
|
@ -190,6 +190,17 @@ public partial class MainViewModel : ObservableObject
|
|||
_ = QueryAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Register a plugin to receive results updated event.
|
||||
/// Required by IResultUpdateRegister for plugin initialization.
|
||||
/// </summary>
|
||||
public void RegisterResultsUpdatedEvent(PluginPair pair)
|
||||
{
|
||||
// Avalonia uses a simplified result update model - plugins that implement
|
||||
// IResultUpdated will have their events registered here when needed.
|
||||
// For now, this is a stub as the basic query flow handles result updates.
|
||||
}
|
||||
|
||||
public void RequestHide() => HideRequested?.Invoke();
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -277,7 +288,7 @@ public partial class MainViewModel : ObservableObject
|
|||
|
||||
try
|
||||
{
|
||||
var query = QueryBuilder.Build(queryText, PluginManager.NonGlobalPlugins);
|
||||
var query = QueryBuilder.Build(QueryText, queryText, PluginManager.GetNonGlobalPlugins());
|
||||
if (query == null)
|
||||
{
|
||||
Results.Clear();
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ public partial class PluginsSettingsViewModel : ObservableObject
|
|||
|
||||
private void LoadPlugins()
|
||||
{
|
||||
var allPlugins = PluginManager.AllPlugins;
|
||||
var allPlugins = PluginManager.GetAllLoadedPlugins();
|
||||
foreach (var plugin in allPlugins.OrderBy(p => p.Metadata.Disabled).ThenBy(p => p.Metadata.Name))
|
||||
{
|
||||
Plugins.Add(new PluginItemViewModel(plugin, _settings));
|
||||
|
|
|
|||
Loading…
Reference in a new issue