refactor: use List<T> instead of AvaloniaList<T> since it is not used for bindings

Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
leo 2025-03-11 23:01:34 +08:00
parent 64a41dce39
commit f5d6e1264d
No known key found for this signature in database
2 changed files with 20 additions and 22 deletions

View file

@ -6,7 +6,6 @@ using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
using Avalonia.Collections;
using Avalonia.Controls;
using Avalonia.Media;
using Avalonia.Media.Imaging;
@ -1221,23 +1220,26 @@ namespace SourceGit.ViewModels
App.GetLauncer()?.OpenRepositoryInTab(node, null);
}
public AvaloniaList<Models.OpenAIService> GetPreferedOpenAIServices()
public List<Models.OpenAIService> GetPreferedOpenAIServices()
{
var services = Preferences.Instance.OpenAIServices;
if (services == null || services.Count == 0)
return [];
if (services.Count == 1)
return services;
return [services[0]];
var prefered = _settings.PreferedOpenAIService;
var all = new List<Models.OpenAIService>();
foreach (var service in services)
{
if (service.Name.Equals(prefered, StringComparison.Ordinal))
return [service];
all.Add(service);
}
return services;
return all;
}
public ContextMenu CreateContextMenuForGitFlow()

View file

@ -1452,28 +1452,24 @@ namespace SourceGit.ViewModels
App.OpenDialog(dialog);
return null;
}
else
var menu = new ContextMenu() { Placement = PlacementMode.TopEdgeAlignedLeft };
foreach (var service in services)
{
var menu = new ContextMenu() { Placement = PlacementMode.TopEdgeAlignedLeft };
foreach (var service in services)
var dup = service;
var item = new MenuItem();
item.Header = service.Name;
item.Click += (_, e) =>
{
var dup = service;
var dialog = new Views.AIAssistant(dup, _repo.FullPath, this, _staged);
App.OpenDialog(dialog);
e.Handled = true;
};
var item = new MenuItem();
item.Header = service.Name;
item.Click += (_, e) =>
{
var dialog = new Views.AIAssistant(dup, _repo.FullPath, this, _staged);
App.OpenDialog(dialog);
e.Handled = true;
};
menu.Items.Add(item);
}
return menu;
menu.Items.Add(item);
}
return menu;
}
private List<Models.Change> GetVisibleUnstagedChanges(List<Models.Change> unstaged)