From f3e8d49ae7013adc16a292e4e067a6cdf58faa7f Mon Sep 17 00:00:00 2001 From: Max Date: Sat, 8 Mar 2025 11:05:12 -0600 Subject: [PATCH 01/17] Add an 'advanced operation history' menu item --- .../Pages/AdvancedOperationHistoryPage.xaml | 49 +++++++++++++++++++ .../AdvancedOperationHistoryPage.xaml.cs | 30 ++++++++++++ src/UniGetUI/Pages/MainView.xaml | 8 ++- src/UniGetUI/Pages/MainView.xaml.cs | 10 +++- 4 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml create mode 100644 src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs diff --git a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml new file mode 100644 index 0000000000..871b22962b --- /dev/null +++ b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + diff --git a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs new file mode 100644 index 0000000000..aca1046fd7 --- /dev/null +++ b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs @@ -0,0 +1,30 @@ +using System.Diagnostics; +using ExternalLibraries.Clipboard; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using UniGetUI.Core.Tools; +using Windows.Storage; +using Windows.Storage.Pickers; +using Windows.UI; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. + +namespace UniGetUI.Interface.Pages +{ + public partial class AdvancedOperationHistoryPage : IKeyboardShortcutListener, IEnterLeaveListener + { + + + public void ReloadTriggered() + { } + public void SelectAllTriggered() + { } + public void SearchTriggered() + { } + public void OnEnter() + { } + public void OnLeave() + { } + } +} diff --git a/src/UniGetUI/Pages/MainView.xaml b/src/UniGetUI/Pages/MainView.xaml index c4ffc27c91..b8b11ea598 100644 --- a/src/UniGetUI/Pages/MainView.xaml +++ b/src/UniGetUI/Pages/MainView.xaml @@ -23,7 +23,13 @@ - + + + + + + + diff --git a/src/UniGetUI/Pages/MainView.xaml.cs b/src/UniGetUI/Pages/MainView.xaml.cs index 9a7eec35f5..4b48090a90 100644 --- a/src/UniGetUI/Pages/MainView.xaml.cs +++ b/src/UniGetUI/Pages/MainView.xaml.cs @@ -31,6 +31,7 @@ public enum PageType OwnLog, ManagerLog, OperationHistory, + AdvancedOperationHistory, Help, Null // Used for initializers } @@ -45,6 +46,7 @@ public sealed partial class MainView : UserControl private UniGetUILogPage? UniGetUILogPage; private ManagerLogsPage? ManagerLogPage; private OperationHistoryPage? OperationHistoryPage; + private AdvancedOperationHistoryPage? AdvancedOperationHistoryPage; private HelpPage? HelpPage; private PageType OldPage_t = PageType.Null; @@ -172,6 +174,7 @@ private Page GetPageForType(PageType type) PageType.OwnLog => UniGetUILogPage ??= new UniGetUILogPage(), PageType.ManagerLog => ManagerLogPage ??= new ManagerLogsPage(), PageType.OperationHistory => OperationHistoryPage ??= new OperationHistoryPage(), + PageType.AdvancedOperationHistory => AdvancedOperationHistoryPage ??= new AdvancedOperationHistoryPage(), PageType.Help => HelpPage ??= new HelpPage(), PageType.Null => throw new InvalidCastException("Page type is Null"), _ => throw new InvalidDataException($"Unknown page type {type}") @@ -189,6 +192,7 @@ private static PageType GetNextPage(PageType type) // "Extra" pages PageType.OperationHistory => PageType.Discover, + PageType.AdvancedOperationHistory => PageType.Discover, PageType.OwnLog => PageType.Discover, PageType.ManagerLog => PageType.Discover, PageType.Help => PageType.Discover, @@ -208,6 +212,7 @@ private static PageType GetPreviousPage(PageType type) // "Extra" pages PageType.OperationHistory => PageType.Discover, + PageType.AdvancedOperationHistory => PageType.Discover, PageType.OwnLog => PageType.Discover, PageType.ManagerLog => PageType.Discover, PageType.Help => PageType.Discover, @@ -227,7 +232,7 @@ private void SelectNavButtonForPage(PageType page) SettingsNavButton.IsChecked = page is PageType.Settings; AboutNavButton.IsChecked = false; - MoreNavButton.IsChecked = page is PageType.Help or PageType.ManagerLog or PageType.OperationHistory or PageType.OwnLog; + MoreNavButton.IsChecked = page is PageType.Help or PageType.ManagerLog or PageType.OperationHistory or PageType.AdvancedOperationHistory or PageType.OwnLog; } private async void AboutNavButton_Click(object sender, EventArgs e) @@ -279,6 +284,9 @@ private void ReleaseNotesMenu_Click(object sender, RoutedEventArgs e) private void OperationHistoryMenu_Click(object sender, RoutedEventArgs e) => NavigateTo(PageType.OperationHistory); + private void AdvancedOperationHistoryMenu_Click(object sender, RoutedEventArgs e) + => NavigateTo(PageType.AdvancedOperationHistory); + private void ManagerLogsMenu_Click(object sender, RoutedEventArgs e) => OpenManagerLogs(); From 11f159fc954a9475872c8f6f0e472487ef63e764 Mon Sep 17 00:00:00 2001 From: Max Date: Sat, 8 Mar 2025 11:13:38 -0600 Subject: [PATCH 02/17] Allow the new operation history to be the startup page --- src/UniGetUI/Pages/MainView.xaml.cs | 1 + src/UniGetUI/Pages/SettingsPage.xaml.cs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/UniGetUI/Pages/MainView.xaml.cs b/src/UniGetUI/Pages/MainView.xaml.cs index 4b48090a90..b7cc4254f9 100644 --- a/src/UniGetUI/Pages/MainView.xaml.cs +++ b/src/UniGetUI/Pages/MainView.xaml.cs @@ -139,6 +139,7 @@ public void LoadDefaultPage() "installed" => PageType.Installed, "bundles" => PageType.Bundles, "settings" => PageType.Settings, + "ophist" => PageType.AdvancedOperationHistory, _ => MainApp.Tooltip.AvailableUpdates > 0 ? PageType.Updates : PageType.Discover }; NavigateTo(type); diff --git a/src/UniGetUI/Pages/SettingsPage.xaml.cs b/src/UniGetUI/Pages/SettingsPage.xaml.cs index 905a40ef9c..4980fb40aa 100644 --- a/src/UniGetUI/Pages/SettingsPage.xaml.cs +++ b/src/UniGetUI/Pages/SettingsPage.xaml.cs @@ -103,6 +103,7 @@ public SettingsPage() StartupPageSelector.AddItem(CoreTools.AutoTranslated("Installed Packages"), "installed"); StartupPageSelector.AddItem(CoreTools.AutoTranslated("Package Bundles"), "bundles"); StartupPageSelector.AddItem(CoreTools.AutoTranslated("Settings"), "settings"); + StartupPageSelector.AddItem(CoreTools.AutoTranslated("Operation History"), "ophist"); StartupPageSelector.ShowAddedItems(); for (int i = 1; i <= 10; i++) From d8e7575acf8f9114f51258910e7bf3543a33a784 Mon Sep 17 00:00:00 2001 From: Max Date: Sat, 8 Mar 2025 12:22:28 -0600 Subject: [PATCH 03/17] Add UI to the new operation history --- .../Pages/AdvancedOperationHistoryPage.xaml | 73 ++++++++++--------- .../AdvancedOperationHistoryPage.xaml.cs | 20 +++++ 2 files changed, 60 insertions(+), 33 deletions(-) diff --git a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml index 871b22962b..49a5bbeac6 100644 --- a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml +++ b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml @@ -5,7 +5,10 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:UniGetUI.Interface.Pages" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:animations="using:CommunityToolkit.WinUI.Animations" xmlns:widgets="using:UniGetUI.Interface.Widgets" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:animations="using:CommunityToolkit.WinUI.Animations" + xmlns:Toolkit="using:CommunityToolkit.WinUI.Controls" + xmlns:widgets="using:UniGetUI.Interface.Widgets" mc:Ignorable="d"> @@ -13,37 +16,41 @@ - - - + + + + + + + + + + + + + + + + + + + diff --git a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs index aca1046fd7..acc3e06b14 100644 --- a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs +++ b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs @@ -1,3 +1,4 @@ +using System.Collections.ObjectModel; using System.Diagnostics; using ExternalLibraries.Clipboard; using Microsoft.UI.Xaml; @@ -12,9 +13,28 @@ namespace UniGetUI.Interface.Pages { + public class OperationHistoryEntry + { + public string Title { get; set; } + public string Content { get; set; } + } + public partial class AdvancedOperationHistoryPage : IKeyboardShortcutListener, IEnterLeaveListener { + private ObservableCollection Items = new (); + + public AdvancedOperationHistoryPage() + { + InitializeComponent(); + + Items.Add(new OperationHistoryEntry { Title = "Test 1", Content = "Content 1" }); + Items.Add(new OperationHistoryEntry { Title = "Test 2", Content = "Content 2" }); + Items.Add(new OperationHistoryEntry { Title = "Test 3", Content = "Content 3" }); + Items.Add(new OperationHistoryEntry { Title = "Test 4", Content = "Content 4" }); + Items.Add(new OperationHistoryEntry { Title = "Test 5", Content = "Content 5" }); + AdvancedOperationHistoryList.ItemsSource = Items; + } public void ReloadTriggered() { } From 4ffd9a4674d59fbc11a94686381a835cb2b58bf4 Mon Sep 17 00:00:00 2001 From: Max Date: Sat, 8 Mar 2025 16:49:05 -0600 Subject: [PATCH 04/17] Add a LoadOperationHistory method --- .../Pages/AdvancedOperationHistoryPage.xaml.cs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs index acc3e06b14..fdbf206b4e 100644 --- a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs +++ b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs @@ -27,23 +27,28 @@ public AdvancedOperationHistoryPage() { InitializeComponent(); + AdvancedOperationHistoryList.ItemsSource = Items; + } + + private void LoadOperationHistory() + { + Items.Clear(); + Items.Add(new OperationHistoryEntry { Title = "Test 1", Content = "Content 1" }); Items.Add(new OperationHistoryEntry { Title = "Test 2", Content = "Content 2" }); Items.Add(new OperationHistoryEntry { Title = "Test 3", Content = "Content 3" }); Items.Add(new OperationHistoryEntry { Title = "Test 4", Content = "Content 4" }); Items.Add(new OperationHistoryEntry { Title = "Test 5", Content = "Content 5" }); - - AdvancedOperationHistoryList.ItemsSource = Items; } public void ReloadTriggered() - { } + => LoadOperationHistory(); public void SelectAllTriggered() { } public void SearchTriggered() { } public void OnEnter() - { } + => LoadOperationHistory(); public void OnLeave() { } } From e32680aab65d7ffb8deb8ed8c9bb779d2cba40c2 Mon Sep 17 00:00:00 2001 From: Max Date: Mon, 10 Mar 2025 11:28:32 -0500 Subject: [PATCH 05/17] Fill out settings entry dropdown fields --- .../Pages/AdvancedOperationHistoryPage.xaml | 9 +++++++-- .../Pages/AdvancedOperationHistoryPage.xaml.cs | 18 +++++++++--------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml index 49a5bbeac6..6b6eafc0b9 100644 --- a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml +++ b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml @@ -39,8 +39,13 @@ - - + + diff --git a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs index fdbf206b4e..87d0b1a550 100644 --- a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs +++ b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs @@ -13,15 +13,15 @@ namespace UniGetUI.Interface.Pages { - public class OperationHistoryEntry + public class AdvancedOperationHistoryEntry { - public string Title { get; set; } - public string Content { get; set; } + public required string Title { get; set; } + public required string Content { get; set; } } public partial class AdvancedOperationHistoryPage : IKeyboardShortcutListener, IEnterLeaveListener { - private ObservableCollection Items = new (); + private ObservableCollection Items = new (); public AdvancedOperationHistoryPage() { @@ -34,11 +34,11 @@ private void LoadOperationHistory() { Items.Clear(); - Items.Add(new OperationHistoryEntry { Title = "Test 1", Content = "Content 1" }); - Items.Add(new OperationHistoryEntry { Title = "Test 2", Content = "Content 2" }); - Items.Add(new OperationHistoryEntry { Title = "Test 3", Content = "Content 3" }); - Items.Add(new OperationHistoryEntry { Title = "Test 4", Content = "Content 4" }); - Items.Add(new OperationHistoryEntry { Title = "Test 5", Content = "Content 5" }); + Items.Add(new AdvancedOperationHistoryEntry { Title = "Test 1", Content = "Content 1" }); + Items.Add(new AdvancedOperationHistoryEntry { Title = "Test 2", Content = "Content 2" }); + Items.Add(new AdvancedOperationHistoryEntry { Title = "Test 3", Content = "Content 3" }); + Items.Add(new AdvancedOperationHistoryEntry { Title = "Test 4", Content = "Content 4" }); + Items.Add(new AdvancedOperationHistoryEntry { Title = "Test 5", Content = "Content 5" }); } public void ReloadTriggered() From c6b102a4a887fecb9e285342008e6520bd785f53 Mon Sep 17 00:00:00 2001 From: Max Date: Mon, 10 Mar 2025 12:10:09 -0500 Subject: [PATCH 06/17] Add a 'SimplePackage' structure --- .../Packages/Package.cs | 29 +++++++------ .../Pages/AdvancedOperationHistoryPage.xaml | 2 +- .../AdvancedOperationHistoryPage.xaml.cs | 43 ++++++++++++++++++- .../SoftwarePages/InstalledPackagesPage.cs | 1 + 4 files changed, 61 insertions(+), 14 deletions(-) diff --git a/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Package.cs b/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Package.cs index 353012e3ea..af11bc079f 100644 --- a/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Package.cs +++ b/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Package.cs @@ -98,21 +98,26 @@ public Package( ignoredId = IgnoredUpdatesDatabase.GetIgnoredIdForPackage(this); - _iconId = Manager.Name switch + _iconId = GetPackageIconId(id, Manager.Name, Source.Name); + } + + public static string GetPackageIconId(string PackageId, string ManagerName, string SourceName) + { + return ManagerName switch { - "Winget" => Source.Name switch + "Winget" => SourceName switch { - "Steam" => id.ToLower().Split("\\")[^1].Replace("steam app ", "steam-").Trim(), - "Local PC" => id.ToLower().Split("\\")[^1], - "Microsoft Store" => id.IndexOf('_') < id.IndexOf('.') ? // If the first underscore is before the period, this ID has no publisher - string.Join('_', id.ToLower().Split("\\")[1].Split("_")[0..^4]) : // no publisher: remove `MSIX\`, then the standard ending _version_arch__{random id} - string.Join('_', string.Join('.', id.ToLower().Split(".")[1..]).Split("_")[0..^4]), // remove the publisher (before the first .), then the standard _version_arch__{random id} - _ => string.Join('.', id.ToLower().Split(".")[1..]), + "Steam" => PackageId.ToLower().Split("\\")[^1].Replace("steam app ", "steam-").Trim(), + "Local PC" => PackageId.ToLower().Split("\\")[^1], + "Microsoft Store" => PackageId.IndexOf('_') < PackageId.IndexOf('.') ? // If the first underscore is before the period, this ID has no publisher + string.Join('_', PackageId.ToLower().Split("\\")[1].Split("_")[0..^4]) : // no publisher: remove `MSIX\`, then the standard ending _version_arch__{random id} + string.Join('_', string.Join('.', PackageId.ToLower().Split(".")[1..]).Split("_")[0..^4]), // remove the publisher (before the first .), then the standard _version_arch__{random id} + _ => string.Join('.', PackageId.ToLower().Split(".")[1..]), }, - "Scoop" => id.ToLower().Replace(".app", ""), - "Chocolatey" => id.ToLower().Replace(".install", "").Replace(".portable", ""), - "vcpkg" => id.ToLower().Split(":")[0].Split("[")[0], - _ => id.ToLower() + "Scoop" => PackageId.ToLower().Replace(".app", ""), + "Chocolatey" => PackageId.ToLower().Replace(".install", "").Replace(".portable", ""), + "vcpkg" => PackageId.ToLower().Split(":")[0].Split("[")[0], + _ => PackageId.ToLower() }; } diff --git a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml index 6b6eafc0b9..7ceaffde8e 100644 --- a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml +++ b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml @@ -42,7 +42,7 @@ diff --git a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs index 87d0b1a550..2a1106f2bc 100644 --- a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs +++ b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs @@ -1,9 +1,14 @@ using System.Collections.ObjectModel; +using System.Data.Common; using System.Diagnostics; using ExternalLibraries.Clipboard; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; +using UniGetUI.Core.SettingsEngine; using UniGetUI.Core.Tools; +using UniGetUI.Interface.Enums; +using UniGetUI.PackageEngine.Interfaces; +using UniGetUI.PackageEngine.PackageClasses; using Windows.Storage; using Windows.Storage.Pickers; using Windows.UI; @@ -19,9 +24,45 @@ public class AdvancedOperationHistoryEntry public required string Content { get; set; } } + public class SimplePackage + { + public string Description { get; } + public string[] Tags { get; } + public string Name { get; } + public string Id { get; } + public string VersionString { get; } + public string NewVersionString { get; } + public string IconId { get; } + public string ManagerName { get; } + public string ManagerDisplayName { get; } + public string SourceName { get; } + public Uri SourceUrl { get; } + public IconType SourceIconId { get; } + + public SimplePackage(IPackage Source) + { + // Load the details first + Source.Details.Load(); + + // Now assign the values + Description = Source.Details.Description ?? "No description"; + Tags = Source.Details.Tags; + Name = Source.Name; + Id = Source.Id; + VersionString = Source.VersionString; + NewVersionString = Source.NewVersionString; + IconId = Package.GetPackageIconId(Source.Id, Source.Manager.Name, Source.Source.Name); + ManagerName = Source.Manager.Name; + ManagerDisplayName = Source.Manager.DisplayName; + SourceName = Source.Source.Name; + SourceUrl = Source.Source.Url; + SourceIconId = Source.Source.IconId; + } + } + public partial class AdvancedOperationHistoryPage : IKeyboardShortcutListener, IEnterLeaveListener { - private ObservableCollection Items = new (); + private readonly ObservableCollection Items = []; public AdvancedOperationHistoryPage() { diff --git a/src/UniGetUI/Pages/SoftwarePages/InstalledPackagesPage.cs b/src/UniGetUI/Pages/SoftwarePages/InstalledPackagesPage.cs index a7848101a4..e86356c953 100644 --- a/src/UniGetUI/Pages/SoftwarePages/InstalledPackagesPage.cs +++ b/src/UniGetUI/Pages/SoftwarePages/InstalledPackagesPage.cs @@ -5,6 +5,7 @@ using UniGetUI.Core.SettingsEngine; using UniGetUI.Core.Tools; using UniGetUI.Interface.Enums; +using UniGetUI.Interface.Pages; using UniGetUI.Interface.Telemetry; using UniGetUI.Interface.Widgets; using UniGetUI.PackageEngine; From 4c0515cfd206e1a28a5e55ba18a9c901d47ec3bd Mon Sep 17 00:00:00 2001 From: Max Date: Mon, 10 Mar 2025 15:07:42 -0500 Subject: [PATCH 07/17] Relocate SimplePackage --- .../Packages/SimplePackage.cs | 41 +++++++++++++ .../Pages/AdvancedOperationHistoryPage.xaml | 7 ++- .../AdvancedOperationHistoryPage.xaml.cs | 61 +------------------ .../SoftwarePages/InstalledPackagesPage.cs | 1 - 4 files changed, 46 insertions(+), 64 deletions(-) create mode 100644 src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/SimplePackage.cs diff --git a/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/SimplePackage.cs b/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/SimplePackage.cs new file mode 100644 index 0000000000..2ba1d37278 --- /dev/null +++ b/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/SimplePackage.cs @@ -0,0 +1,41 @@ +using UniGetUI.Interface.Enums; +using UniGetUI.PackageEngine.Interfaces; + +namespace UniGetUI.PackageEngine.PackageClasses +{ + public class SimplePackage + { + public string Description { get; } + public string[] Tags { get; } + public string Name { get; } + public string Id { get; } + public string VersionString { get; } + public string NewVersionString { get; } + public string IconId { get; } + public string ManagerName { get; } + public string ManagerDisplayName { get; } + public string SourceName { get; } + public Uri SourceUrl { get; } + public IconType SourceIconId { get; } + + public SimplePackage(IPackage Source) + { + // Load the details first + Source.Details.Load(); + + // Now assign the values + Description = Source.Details.Description ?? "No description"; + Tags = Source.Details.Tags; + Name = Source.Name; + Id = Source.Id; + VersionString = Source.VersionString; + NewVersionString = Source.NewVersionString; + IconId = Package.GetPackageIconId(Source.Id, Source.Manager.Name, Source.Source.Name); + ManagerName = Source.Manager.Name; + ManagerDisplayName = Source.Manager.DisplayName; + SourceName = Source.Source.Name; + SourceUrl = Source.Source.Url; + SourceIconId = Source.Source.IconId; + } + } +} \ No newline at end of file diff --git a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml index 7ceaffde8e..6f3a415a10 100644 --- a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml +++ b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml @@ -4,6 +4,7 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:UniGetUI.Interface.Pages" + xmlns:packages="using:UniGetUI.PackageEngine.PackageClasses" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:animations="using:CommunityToolkit.WinUI.Animations" @@ -39,15 +40,15 @@ - + - + + + + + + + + + + + + Lorem ipsum dolor sit amet, consectetur adipisicing elit, + sed do eiusmod tempor incididunt ut labore et dolore magna + aliqua. Ut enim ad minim veniam, quis nostrud exercitation + ullamco laboris nisi ut aliquip ex ea commodo consequat. + Duis aute irure dolor in reprehenderit in voluptate velit + esse cillum dolore eu fugiat nulla pariatur. Excepteur sint + occaecat cupidatat non proident, sunt in culpa qui officia + deserunt mollit anim id est laborum. + + + + diff --git a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs index dc2bcf1a66..e9c0a67082 100644 --- a/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs +++ b/src/UniGetUI/Pages/AdvancedOperationHistoryPage.xaml.cs @@ -1,6 +1,7 @@ using System.Collections.ObjectModel; using Microsoft.UI.Xaml.Controls; using UniGetUI.Core.SettingsEngine; +using UniGetUI.Core.Logging; using UniGetUI.Core.Tools; using UniGetUI.Interface.Enums; using UniGetUI.PackageEngine.Enums; @@ -11,18 +12,21 @@ namespace UniGetUI.Interface.Pages public partial class AdvancedOperationHistoryPage : IKeyboardShortcutListener, IEnterLeaveListener { - private readonly ObservableCollection Items = []; + private ObservableCollection Items = []; public AdvancedOperationHistoryPage() { InitializeComponent(); - AdvancedOperationHistoryList.ItemsSource = Items; + LoadOperationHistory(); } private void LoadOperationHistory() { Items.Clear(); + + Items = [.. Settings.GetList("AdvancedOperationHistory") ?? []]; + AdvancedOperationHistoryList.ItemsSource = Items; } public void ReloadTriggered()