mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
[GUI] Optimize encoding loading by using static lambdas and updating UI on the main thread
This commit is contained in:
@@ -37,6 +37,7 @@ using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
using Aaru.Gui.Models;
|
||||
using Aaru.Gui.Views.Dialogs;
|
||||
using Avalonia.Threading;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
|
||||
namespace Aaru.Gui.ViewModels.Dialogs;
|
||||
@@ -54,7 +55,7 @@ public sealed class EncodingsViewModel : ViewModelBase
|
||||
_ = Task.Run(() =>
|
||||
{
|
||||
var encodings = Encoding.GetEncodings()
|
||||
.Select(info => new EncodingModel
|
||||
.Select(static info => new EncodingModel
|
||||
{
|
||||
Name = info.Name,
|
||||
DisplayName = info.GetEncoding().EncodingName
|
||||
@@ -62,13 +63,16 @@ public sealed class EncodingsViewModel : ViewModelBase
|
||||
.ToList();
|
||||
|
||||
encodings.AddRange(Claunia.Encoding.Encoding.GetEncodings()
|
||||
.Select(info => new EncodingModel
|
||||
.Select(static info => new EncodingModel
|
||||
{
|
||||
Name = info.Name,
|
||||
DisplayName = info.DisplayName
|
||||
}));
|
||||
|
||||
foreach(EncodingModel encoding in encodings.OrderBy(t => t.DisplayName)) Encodings.Add(encoding);
|
||||
Dispatcher.UIThread.Invoke(() =>
|
||||
{
|
||||
foreach(EncodingModel encoding in encodings.OrderBy(static t => t.DisplayName)) Encodings.Add(encoding);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user