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 System.Windows.Input;
|
||||||
using Aaru.Gui.Models;
|
using Aaru.Gui.Models;
|
||||||
using Aaru.Gui.Views.Dialogs;
|
using Aaru.Gui.Views.Dialogs;
|
||||||
|
using Avalonia.Threading;
|
||||||
using CommunityToolkit.Mvvm.Input;
|
using CommunityToolkit.Mvvm.Input;
|
||||||
|
|
||||||
namespace Aaru.Gui.ViewModels.Dialogs;
|
namespace Aaru.Gui.ViewModels.Dialogs;
|
||||||
@@ -54,7 +55,7 @@ public sealed class EncodingsViewModel : ViewModelBase
|
|||||||
_ = Task.Run(() =>
|
_ = Task.Run(() =>
|
||||||
{
|
{
|
||||||
var encodings = Encoding.GetEncodings()
|
var encodings = Encoding.GetEncodings()
|
||||||
.Select(info => new EncodingModel
|
.Select(static info => new EncodingModel
|
||||||
{
|
{
|
||||||
Name = info.Name,
|
Name = info.Name,
|
||||||
DisplayName = info.GetEncoding().EncodingName
|
DisplayName = info.GetEncoding().EncodingName
|
||||||
@@ -62,13 +63,16 @@ public sealed class EncodingsViewModel : ViewModelBase
|
|||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
encodings.AddRange(Claunia.Encoding.Encoding.GetEncodings()
|
encodings.AddRange(Claunia.Encoding.Encoding.GetEncodings()
|
||||||
.Select(info => new EncodingModel
|
.Select(static info => new EncodingModel
|
||||||
{
|
{
|
||||||
Name = info.Name,
|
Name = info.Name,
|
||||||
DisplayName = info.DisplayName
|
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