From 5c9dbe67123c5b824bf00e975a5053bca16a9bf0 Mon Sep 17 00:00:00 2001 From: Adam Stachowicz Date: Tue, 4 Feb 2025 12:40:40 +0100 Subject: [PATCH 1/3] Remove unuses usings. Remove redundant (). Fix one CS4014. Add missing braces for foreach. Remove redundant else. Fix other warnings --- .../ObservableQueueTests.cs | 4 +- .../TaskRecyclerTests.cs | 58 +++++++++--------- src/UniGetUI.Core.Data/CoreData.cs | 10 ++-- .../IconCacheEngine.cs | 8 ++- .../LanguageEngine.cs | 4 +- .../SettingsEngine_Dictionaries.cs | 42 +++++++------ .../SettingsEngine_Lists.cs | 2 +- src/UniGetUI.Core.Tools/Tools.cs | 15 ++--- .../TelemetryHandler.cs | 6 +- .../Cargo.cs | 8 +-- .../Helpers/ChocolateyPkgOperationHelper.cs | 4 +- .../DotNet.cs | 6 +- .../Helpers/DotNetPkgOperationHelper.cs | 22 ++++--- .../Helpers/NpmPkgDetailsHelper.cs | 13 ++-- .../Npm.cs | 4 +- .../Helpers/PipPkgDetailsHelper.cs | 2 +- .../Pip.cs | 2 - .../Helpers/PowerShellPkgOperationHelper.cs | 4 +- .../Helpers/PowerShell7PkgOperationHelper.cs | 4 +- .../Helpers/PowerShell7SourceHelper.cs | 2 +- .../Helpers/ScoopPkgDetailsHelper.cs | 10 +++- .../Helpers/ScoopPkgOperationHelper.cs | 4 +- .../Helpers/ScoopSourceHelper.cs | 4 +- .../Vcpkg.cs | 8 +-- .../ClientHelpers/NativePackageHandler.cs | 2 +- .../Helpers/WinGetPkgDetailsHelper.cs | 5 +- .../Helpers/WinGetPkgOperationHelper.cs | 14 ++--- .../WinGet.cs | 60 +++++++++---------- .../AbstractOperation.cs | 29 +++++---- .../DownloadOperation.cs | 13 +--- .../PackageOperations.cs | 4 -- .../ProcessOperation.cs | 10 ++-- .../SourceOperations.cs | 5 -- .../PEInterface.cs | 2 - .../AbstractPackageLoader.cs | 6 +- .../InstalledPackagesLoader.cs | 2 +- .../PackageBundlesLoader.cs | 4 +- .../Manager/Classes/ManagerLogger.cs | 2 +- .../Manager/Helpers/BaseSourceHelper.cs | 2 + .../Manager/PackageManager.cs | 48 +++++++-------- .../Classes/DesktopShortcutsDatabase.cs | 30 ++++------ .../Classes/IgnoredUpdatesDatabase.cs | 32 +++++----- .../Packages/ImportedPackage.cs | 5 +- .../SerializableBundle_v1.cs | 6 +- src/UniGetUI/App.xaml.cs | 9 --- src/UniGetUI/AppOperationHelper.cs | 19 ++++-- src/UniGetUI/AutoUpdater.cs | 42 ++++++------- .../Controls/ObservablePackageCollection.cs | 2 +- .../OperationWidgets/OperationBadge.cs | 7 +-- .../OperationWidgets/OperationControl.cs | 56 ++++++++--------- src/UniGetUI/Controls/PackageWrapper.cs | 2 +- .../Controls/SettingsWidgets/ComboboxCard.cs | 2 +- src/UniGetUI/Controls/SourceManager.xaml.cs | 2 +- .../Controls/TranslatedTextBlock.xaml.cs | 2 +- src/UniGetUI/MainWindow.xaml.cs | 4 +- .../DialogPages/DesktopShortcuts.xaml.cs | 5 +- .../Pages/DialogPages/DialogHelper_Generic.cs | 45 +++++++------- .../DialogPages/DialogHelper_Operations.cs | 3 +- .../DialogPages/DialogHelper_Packages.cs | 12 ---- .../Pages/DialogPages/IgnoredUpdates.xaml.cs | 2 +- .../DialogPages/PackageDetailsPage.xaml.cs | 44 +++++--------- .../Pages/LogPages/ManagerLogsPage.cs | 4 +- src/UniGetUI/Pages/MainView.xaml.cs | 17 ++---- src/UniGetUI/Pages/SettingsPage.xaml.cs | 26 ++++---- .../AbstractPackagesPage.xaml.cs | 19 +++--- .../SoftwarePages/DiscoverSoftwarePage.cs | 6 +- .../SoftwarePages/InstalledPackagesPage.cs | 16 ++--- .../Pages/SoftwarePages/PackageBundlesPage.cs | 23 +++---- .../SoftwarePages/SoftwareUpdatesPage.cs | 22 +++++-- .../WindowsPackageManagerStandardFactory.cs | 2 +- 70 files changed, 441 insertions(+), 479 deletions(-) diff --git a/src/UniGetUI.Core.Classes.Tests/ObservableQueueTests.cs b/src/UniGetUI.Core.Classes.Tests/ObservableQueueTests.cs index 59fdcc66b..9b673f2e4 100644 --- a/src/UniGetUI.Core.Classes.Tests/ObservableQueueTests.cs +++ b/src/UniGetUI.Core.Classes.Tests/ObservableQueueTests.cs @@ -7,8 +7,8 @@ public void TestObservableQueue() { var queue = new ObservableQueue(); - List enqueuedElements = new(); - List dequeuedElements = new(); + List enqueuedElements = []; + List dequeuedElements = []; queue.ItemEnqueued += (_, e) => enqueuedElements.Add(e.Item); queue.ItemDequeued += (_, e) => dequeuedElements.Add(e.Item); diff --git a/src/UniGetUI.Core.Classes.Tests/TaskRecyclerTests.cs b/src/UniGetUI.Core.Classes.Tests/TaskRecyclerTests.cs index 9e7c0b6f5..d412fb8d7 100644 --- a/src/UniGetUI.Core.Classes.Tests/TaskRecyclerTests.cs +++ b/src/UniGetUI.Core.Classes.Tests/TaskRecyclerTests.cs @@ -32,20 +32,20 @@ private int MySlowMethod4(int argument) } [Fact] - public void TestTaskRecycler_Static_Int() + public async Task TestTaskRecycler_Static_Int() { // The same static method should be cached, and therefore the return value should be the same var task1 = TaskRecycler.RunOrAttachAsync(MySlowMethod1); var task2 = TaskRecycler.RunOrAttachAsync(MySlowMethod1); - int result1 = task1.GetAwaiter().GetResult(); - int result2 = task2.GetAwaiter().GetResult(); + int result1 = await task1; + int result2 = await task2; Assert.Equal(result1, result2); // The same static method should be cached, and therefore the return value should be the same, but different from previous runs var task3 = TaskRecycler.RunOrAttachAsync(MySlowMethod1); var task4 = TaskRecycler.RunOrAttachAsync(MySlowMethod1); - int result4 = task4.GetAwaiter().GetResult(); - int result3 = task3.GetAwaiter().GetResult(); + int result4 = await task4; + int result3 = await task3; Assert.Equal(result3, result4); // Ensure the last call was not permanently cached @@ -53,21 +53,21 @@ public void TestTaskRecycler_Static_Int() } [Fact] - public void TestTaskRecycler_Static_Int_WithCache() + public async Task TestTaskRecycler_Static_Int_WithCache() { // The same static method should be cached, and therefore the return value should be the same var task1 = TaskRecycler.RunOrAttachAsync(MySlowMethod1, 2); var task2 = TaskRecycler.RunOrAttachAsync(MySlowMethod1, 2); - int result1 = task1.GetAwaiter().GetResult(); - int result2 = task2.GetAwaiter().GetResult(); + int result1 = await task1; + int result2 = await task2; Assert.Equal(result1, result2); // The same static method should be cached, and therefore the return value should be the same, // and equal to previous runs due to 3 seconds cache var task3 = TaskRecycler.RunOrAttachAsync(MySlowMethod1, 2); var task4 = TaskRecycler.RunOrAttachAsync(MySlowMethod1, 2); - int result4 = task4.GetAwaiter().GetResult(); - int result3 = task3.GetAwaiter().GetResult(); + int result4 = await task4; + int result3 = await task3; Assert.Equal(result3, result4); Assert.Equal(result1, result3); @@ -77,8 +77,8 @@ public void TestTaskRecycler_Static_Int_WithCache() // The same static method should be cached, but cached runs should have been removed. This results should differ from previous ones var task5 = TaskRecycler.RunOrAttachAsync(MySlowMethod1, 2); var task6 = TaskRecycler.RunOrAttachAsync(MySlowMethod1, 2); - int result5 = task6.GetAwaiter().GetResult(); - int result6 = task5.GetAwaiter().GetResult(); + int result5 = await task6; + int result6 = await task5; Assert.Equal(result5, result6); Assert.NotEqual(result4, result5); @@ -88,37 +88,37 @@ public void TestTaskRecycler_Static_Int_WithCache() // The same static method should be cached, but cached runs should have been cleared manually. This results should differ from previous ones var task7 = TaskRecycler.RunOrAttachAsync(MySlowMethod1, 2); var task8 = TaskRecycler.RunOrAttachAsync(MySlowMethod1, 2); - int result7 = task7.GetAwaiter().GetResult(); - int result8 = task8.GetAwaiter().GetResult(); + int result7 = await task7; + int result8 = await task8; Assert.Equal(result7, result8); Assert.NotEqual(result6, result7); } [Fact] - public void TestTaskRecycler_StaticWithArgument_Int() + public async Task TestTaskRecycler_StaticWithArgument_Int() { // The same static method should be cached, and therefore the return value should be the same var task1 = TaskRecycler.RunOrAttachAsync(MySlowMethod4, 2); var task2 = TaskRecycler.RunOrAttachAsync(MySlowMethod4, 2); var task3 = TaskRecycler.RunOrAttachAsync(MySlowMethod4, 3); - int result1 = task1.GetAwaiter().GetResult(); - int result2 = task2.GetAwaiter().GetResult(); - int result3 = task3.GetAwaiter().GetResult(); + int result1 = await task1; + int result2 = await task2; + int result3 = await task3; Assert.Equal(result1, result2); Assert.NotEqual(result1, result3); // The same static method should be cached, and therefore the return value should be the same, but different from previous runs var task4 = TaskRecycler.RunOrAttachAsync(MySlowMethod4, 2); var task5 = TaskRecycler.RunOrAttachAsync(MySlowMethod4, 3); - int result4 = task4.GetAwaiter().GetResult(); - int result5 = task5.GetAwaiter().GetResult(); + int result4 = await task4; + int result5 = await task5; Assert.NotEqual(result4, result5); Assert.NotEqual(result1, result4); Assert.NotEqual(result3, result5); } [Fact] - public void TestTaskRecycler_Class_String() + public async Task TestTaskRecycler_Class_String() { var class1 = new TestClass(); var class2 = new TestClass(); @@ -127,8 +127,8 @@ public void TestTaskRecycler_Class_String() // and therefore the return value should be the same var task1 = TaskRecycler.RunOrAttachAsync(class1.SlowMethod2); var task2 = TaskRecycler.RunOrAttachAsync(class1.SlowMethod2); - string result1 = task1.GetAwaiter().GetResult(); - string result2 = task2.GetAwaiter().GetResult(); + string result1 = await task1; + string result2 = await task2; Assert.Equal(result1, result2); var class1_copy = class1; @@ -137,16 +137,16 @@ public void TestTaskRecycler_Class_String() // from different variable names should be cached, and therefore the return value should be the same var task5 = TaskRecycler.RunOrAttachAsync(class1_copy.SlowMethod2); var task6 = TaskRecycler.RunOrAttachAsync(class1.SlowMethod2); - string result5 = task5.GetAwaiter().GetResult(); - string result6 = task6.GetAwaiter().GetResult(); + string result5 = await task5; + string result6 = await task6; Assert.Equal(result5, result6); // The SAME method from two DIFFERENT instances should NOT be // cached, so the results should differ var task3 = TaskRecycler.RunOrAttachAsync(class1.SlowMethod2); var task4 = TaskRecycler.RunOrAttachAsync(class2.SlowMethod2); - string result4 = task4.GetAwaiter().GetResult(); - string result3 = task3.GetAwaiter().GetResult(); + string result4 = await task4; + string result3 = await task3; Assert.NotEqual(result3, result4); // Ensure the last call was not permanently cached @@ -156,8 +156,8 @@ public void TestTaskRecycler_Class_String() // cached, so the results should differ var task7 = TaskRecycler.RunOrAttachAsync(class1.SlowMethod3); var task8 = TaskRecycler.RunOrAttachAsync(class2.SlowMethod2); - string result7 = task7.GetAwaiter().GetResult(); - string result8 = task8.GetAwaiter().GetResult(); + string result7 = await task7; + string result8 = await task8; Assert.NotEqual(result7, result8); } } diff --git a/src/UniGetUI.Core.Data/CoreData.cs b/src/UniGetUI.Core.Data/CoreData.cs index b6034a848..df57dc07b 100644 --- a/src/UniGetUI.Core.Data/CoreData.cs +++ b/src/UniGetUI.Core.Data/CoreData.cs @@ -45,12 +45,10 @@ public static string UniGetUIDataDirectory if (!Directory.Exists(path)) Directory.CreateDirectory(path); return path; } - else - { - string old_path = Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".wingetui"); - string new_path = Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "UniGetUI"); - return GetNewDataDirectoryOrMoveOld(old_path, new_path); - } + + string old_path = Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".wingetui"); + string new_path = Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "UniGetUI"); + return GetNewDataDirectoryOrMoveOld(old_path, new_path); } } diff --git a/src/UniGetUI.Core.IconStore/IconCacheEngine.cs b/src/UniGetUI.Core.IconStore/IconCacheEngine.cs index 8e6cd79a9..6d7d3b57c 100644 --- a/src/UniGetUI.Core.IconStore/IconCacheEngine.cs +++ b/src/UniGetUI.Core.IconStore/IconCacheEngine.cs @@ -247,7 +247,7 @@ private static void DownsizeImage(string cachedIconFile, string extension) if (width > MAX_SIDE || height > MAX_SIDE) { File.Move(cachedIconFile, $"{cachedIconFile}.copy"); - var image = MagicImageProcessor.BuildPipeline($"{cachedIconFile}.copy", new ProcessImageSettings() + var image = MagicImageProcessor.BuildPipeline($"{cachedIconFile}.copy", new ProcessImageSettings { Width = MAX_SIDE, Height = MAX_SIDE, @@ -350,7 +350,9 @@ private static void DeteteCachedFiles(string iconLocation) try { foreach (string file in Directory.GetFiles(iconLocation)) + { File.Delete(file); + } } catch (Exception e) { @@ -358,7 +360,7 @@ private static void DeteteCachedFiles(string iconLocation) } } - public static readonly ReadOnlyDictionary MimeToExtension = new ReadOnlyDictionary(new Dictionary() + public static readonly ReadOnlyDictionary MimeToExtension = new ReadOnlyDictionary(new Dictionary { {"image/avif", "avif"}, {"image/gif", "gif"}, @@ -373,7 +375,7 @@ private static void DeteteCachedFiles(string iconLocation) {"image/tiff", "tif"}, }); - public static readonly ReadOnlyDictionary ExtensionToMime = new ReadOnlyDictionary(new Dictionary() + public static readonly ReadOnlyDictionary ExtensionToMime = new ReadOnlyDictionary(new Dictionary { {"avif", "image/avif"}, {"gif", "image/gif"}, diff --git a/src/UniGetUI.Core.LanguageEngine/LanguageEngine.cs b/src/UniGetUI.Core.LanguageEngine/LanguageEngine.cs index f6e5b2e6c..5a71f5cb0 100644 --- a/src/UniGetUI.Core.LanguageEngine/LanguageEngine.cs +++ b/src/UniGetUI.Core.LanguageEngine/LanguageEngine.cs @@ -89,7 +89,7 @@ public Dictionary LoadLanguageFile(string LangKey) { Logger.Warn("User has updated translations disabled"); } - else if(!File.Exists(CachedLangFileToLoad)) + else if (!File.Exists(CachedLangFileToLoad)) { Logger.Warn($"Tried to access a non-existing cached language file! file={CachedLangFileToLoad}"); } @@ -99,7 +99,9 @@ public Dictionary LoadLanguageFile(string LangKey) { if (JsonNode.Parse(File.ReadAllText(CachedLangFileToLoad)) is JsonObject parsedObject) foreach (var keyval in parsedObject.ToDictionary(x => x.Key, x => x.Value)) + { LangDict[keyval.Key] = keyval.Value?.ToString() ?? ""; + } else throw new ArgumentException($"parsedObject was null for lang file {CachedLangFileToLoad}"); } diff --git a/src/UniGetUI.Core.Settings/SettingsEngine_Dictionaries.cs b/src/UniGetUI.Core.Settings/SettingsEngine_Dictionaries.cs index d190444bc..201dbdb05 100644 --- a/src/UniGetUI.Core.Settings/SettingsEngine_Dictionaries.cs +++ b/src/UniGetUI.Core.Settings/SettingsEngine_Dictionaries.cs @@ -7,22 +7,22 @@ namespace UniGetUI.Core.SettingsEngine { public static partial class Settings { - private static readonly ConcurrentDictionary> dictionarySettings = new(); + private static readonly ConcurrentDictionary> _dictionarySettings = new(); // Returns an empty dictionary if the setting doesn't exist and null if the types are invalid - private static Dictionary? _getDictionary(string setting) + private static Dictionary _getDictionary(string setting) where K : notnull { try { try { - if (dictionarySettings.TryGetValue(setting, out Dictionary? result)) + if (_dictionarySettings.TryGetValue(setting, out Dictionary? result)) { // If the setting was cached return result.ToDictionary( kvp => (K)kvp.Key, - kvp => (V)kvp.Value + kvp => (V?)kvp.Value ); } } @@ -33,8 +33,8 @@ public static partial class Settings return null; } - // Otherwhise, load the setting from disk and cache that setting - Dictionary value = new(); + // Otherwise, load the setting from disk and cache that setting + Dictionary value = new(); if (File.Exists(Path.Join(CoreData.UniGetUIDataDirectory, $"{setting}.json"))) { string result = File.ReadAllText(Path.Join(CoreData.UniGetUIDataDirectory, $"{setting}.json")); @@ -42,7 +42,7 @@ public static partial class Settings { if (result != "") { - Dictionary? item = JsonSerializer.Deserialize>(result); + Dictionary? item = JsonSerializer.Deserialize>(result); if (item is not null) { value = item; @@ -56,7 +56,7 @@ public static partial class Settings } } - dictionarySettings[setting] = value.ToDictionary( + _dictionarySettings[setting] = value.ToDictionary( kvp => (object)kvp.Key, kvp => (object?)kvp.Value ); @@ -71,16 +71,16 @@ public static partial class Settings } // Returns an empty dictionary if the setting doesn't exist and null if the types are invalid - public static IReadOnlyDictionary? GetDictionary(string setting) + public static IReadOnlyDictionary GetDictionary(string setting) where K : notnull { - return _getDictionary(setting); + return _getDictionary(setting); } public static void SetDictionary(string setting, Dictionary value) where K : notnull { - dictionarySettings[setting] = value.ToDictionary( + _dictionarySettings[setting] = value.ToDictionary( kvp => (object)kvp.Key, kvp => (object?)kvp.Value ); @@ -101,7 +101,7 @@ public static void SetDictionary(string setting, Dictionary value) public static V? GetDictionaryItem(string setting, K key) where K : notnull { - Dictionary? dictionary = _getDictionary(setting); + Dictionary? dictionary = _getDictionary(setting); if (dictionary == null || !dictionary.TryGetValue(key, out V? value)) return default; return value; @@ -111,7 +111,7 @@ public static void SetDictionary(string setting, Dictionary value) public static V? SetDictionaryItem(string setting, K key, V value) where K : notnull { - Dictionary? dictionary = _getDictionary(setting); + Dictionary? dictionary = _getDictionary(setting); if (dictionary == null) { dictionary = new() @@ -128,18 +128,16 @@ public static void SetDictionary(string setting, Dictionary value) SetDictionary(setting, dictionary); return oldValue; } - else - { - dictionary.Add(key, value); - SetDictionary(setting, dictionary); - return default; - } + + dictionary.Add(key, value); + SetDictionary(setting, dictionary); + return default; } public static V? RemoveDictionaryKey(string setting, K key) where K : notnull { - Dictionary? dictionary = _getDictionary(setting); + Dictionary? dictionary = _getDictionary(setting); if (dictionary == null) return default; bool success = false; @@ -156,7 +154,7 @@ public static void SetDictionary(string setting, Dictionary value) public static bool DictionaryContainsKey(string setting, K key) where K : notnull { - Dictionary? dictionary = _getDictionary(setting); + Dictionary? dictionary = _getDictionary(setting); if (dictionary == null) return false; return dictionary.ContainsKey(key); @@ -165,7 +163,7 @@ public static bool DictionaryContainsKey(string setting, K key) public static bool DictionaryContainsValue(string setting, V value) where K : notnull { - Dictionary? dictionary = _getDictionary(setting); + Dictionary? dictionary = _getDictionary(setting); if (dictionary == null) return false; return dictionary.ContainsValue(value); diff --git a/src/UniGetUI.Core.Settings/SettingsEngine_Lists.cs b/src/UniGetUI.Core.Settings/SettingsEngine_Lists.cs index c5b593268..edf6a17c5 100644 --- a/src/UniGetUI.Core.Settings/SettingsEngine_Lists.cs +++ b/src/UniGetUI.Core.Settings/SettingsEngine_Lists.cs @@ -60,7 +60,7 @@ public static partial class Settings { Logger.Error($"Could not load list {setting} from settings"); Logger.Error(ex); - return new(); + return []; } } diff --git a/src/UniGetUI.Core.Tools/Tools.cs b/src/UniGetUI.Core.Tools/Tools.cs index ce16a81a3..029278f7e 100644 --- a/src/UniGetUI.Core.Tools/Tools.cs +++ b/src/UniGetUI.Core.Tools/Tools.cs @@ -616,22 +616,23 @@ public static string FormatAsSize(long number, int decimals = 1) { return $"{(number / TeraByte).ToString($"F{decimals}")} TB"; } - else if (number >= GigaByte) + + if (number >= GigaByte) { return $"{(number / GigaByte).ToString($"F{decimals}")} GB"; } - else if (number >= MegaByte) + + if (number >= MegaByte) { return $"{(number / MegaByte).ToString($"F{decimals}")} MB"; } - else if (number >= KiloByte) + + if (number >= KiloByte) { return $"{(number / KiloByte).ToString($"F{decimals}")} KB"; } - else - { - return $"{number} Bytes"; - } + + return $"{number} Bytes"; } } } diff --git a/src/UniGetUI.Interface.Telemetry/TelemetryHandler.cs b/src/UniGetUI.Interface.Telemetry/TelemetryHandler.cs index a61f689ad..fe19e13af 100644 --- a/src/UniGetUI.Interface.Telemetry/TelemetryHandler.cs +++ b/src/UniGetUI.Interface.Telemetry/TelemetryHandler.cs @@ -13,7 +13,7 @@ public static class TelemetryHandler private const string HOST = "https://marticliment.com/unigetui/statistics"; private static string[] SettingsToSend = - { + [ "DisableAutoUpdateWingetUI", "EnableUniGetUIBeta", "DisableSystemTray", @@ -27,8 +27,8 @@ public static class TelemetryHandler "ForceLegacyBundledWinGet", "UseSystemChocolatey", "SP1", // UniGetUI is portable - "SP2" // UniGetUI was started as daemon - }; + "SP2", // UniGetUI was started as daemon + ]; public static async void Initialize() { diff --git a/src/UniGetUI.PackageEngine.Managers.Cargo/Cargo.cs b/src/UniGetUI.PackageEngine.Managers.Cargo/Cargo.cs index aaa813c08..19f9cb809 100644 --- a/src/UniGetUI.PackageEngine.Managers.Cargo/Cargo.cs +++ b/src/UniGetUI.PackageEngine.Managers.Cargo/Cargo.cs @@ -30,7 +30,7 @@ public Cargo() new ManagerDependency( "cargo-update", Path.Join(Environment.SystemDirectory, "windowspowershell\\v1.0\\powershell.exe"), - "-ExecutionPolicy Bypass -NoLogo -NoProfile -Command \"& {cargo install cargo-update; if($error.count -ne 0){pause}}\"", + "-ExecutionPolicy Bypass -NoLogo -NoProfile -Command \"& {cargo install cargo-update; if ($error.count -ne 0){pause}}\"", "cargo install cargo-update", async () => (await CoreTools.WhichAsync("cargo-install-update.exe")).Item1), ]; @@ -150,9 +150,9 @@ private IEnumerable GetPackages(LoggableTaskType taskType) var name = CoreTools.FormatAsName(id); var oldVersion = match.Groups[2]?.Value?.Trim() ?? ""; var newVersion = match.Groups[3]?.Value?.Trim() ?? ""; - if(taskType is LoggableTaskType.ListUpdates && oldVersion != newVersion) + if (taskType is LoggableTaskType.ListUpdates && oldVersion != newVersion) Packages.Add(new Package(name, id, oldVersion, newVersion, DefaultSource, this)); - else if(taskType is LoggableTaskType.ListInstalledPackages) + else if (taskType is LoggableTaskType.ListInstalledPackages) Packages.Add(new Package(name, id, oldVersion, DefaultSource, this)); } return Packages; @@ -160,7 +160,7 @@ private IEnumerable GetPackages(LoggableTaskType taskType) private List GetInstalledCommandOutput() { - List output = new(); + List output = []; Process p = GetProcess(Status.ExecutablePath, "install-update --list"); IProcessTaskLogger logger = TaskLogger.CreateNew(LoggableTaskType.OtherTask, p); logger.AddToStdOut("Other task: Call the install-update command"); diff --git a/src/UniGetUI.PackageEngine.Managers.Chocolatey/Helpers/ChocolateyPkgOperationHelper.cs b/src/UniGetUI.PackageEngine.Managers.Chocolatey/Helpers/ChocolateyPkgOperationHelper.cs index f6aaabee2..2cdb9ff9e 100644 --- a/src/UniGetUI.PackageEngine.Managers.Chocolatey/Helpers/ChocolateyPkgOperationHelper.cs +++ b/src/UniGetUI.PackageEngine.Managers.Chocolatey/Helpers/ChocolateyPkgOperationHelper.cs @@ -27,7 +27,7 @@ protected override IEnumerable _getOperationParameters( if (options.InteractiveInstallation) parameters.Add("--notsilent"); - if(operation is OperationType.Install or OperationType.Update) + if (operation is OperationType.Install or OperationType.Update) { parameters.Add("--no-progress"); @@ -53,7 +53,7 @@ protected override OperationVeredict _getOperationResult( IEnumerable processOutput, int returnCode) { - if(returnCode is 3010) + if (returnCode is 3010) { return OperationVeredict.Success; // return OperationVeredict.RestartRequired; diff --git a/src/UniGetUI.PackageEngine.Managers.Dotnet/DotNet.cs b/src/UniGetUI.PackageEngine.Managers.Dotnet/DotNet.cs index a3246b882..5c78dd78d 100644 --- a/src/UniGetUI.PackageEngine.Managers.Dotnet/DotNet.cs +++ b/src/UniGetUI.PackageEngine.Managers.Dotnet/DotNet.cs @@ -1,9 +1,7 @@ using System.Diagnostics; using System.Runtime.InteropServices; -using System.Text.Json; using System.Text.Json.Nodes; using System.Text.RegularExpressions; -using UniGetUI.Core.Data; using UniGetUI.Core.Logging; using UniGetUI.Core.Tools; using UniGetUI.Interface.Enums; @@ -31,7 +29,7 @@ public DotNet() new ManagerDependency( ".NET Tools Outdated", Path.Join(Environment.SystemDirectory, "windowspowershell\\v1.0\\powershell.exe"), - "-ExecutionPolicy Bypass -NoLogo -NoProfile -Command \"& {dotnet tool install --global dotnet-tools-outdated --add-source https://api.nuget.org/v3/index.json; if($error.count -ne 0){pause}}\"", + "-ExecutionPolicy Bypass -NoLogo -NoProfile -Command \"& {dotnet tool install --global dotnet-tools-outdated --add-source https://api.nuget.org/v3/index.json; if ($error.count -ne 0){pause}}\"", "dotnet tool install --global dotnet-tools-outdated --add-source https://api.nuget.org/v3/index.json", async () => (await CoreTools.WhichAsync("dotnet-tools-outdated.exe")).Item1) ]; @@ -126,7 +124,7 @@ protected override IEnumerable GetAvailableUpdates_UnSafe() { foreach (JsonNode? node in data) { - if(node is not JsonObject element) continue; + if (node is not JsonObject element) continue; bool unlisted = element["becomeUnlisted"]?.GetValue() ?? false; string id = element["packageName"]?.ToString() ?? ""; diff --git a/src/UniGetUI.PackageEngine.Managers.Dotnet/Helpers/DotNetPkgOperationHelper.cs b/src/UniGetUI.PackageEngine.Managers.Dotnet/Helpers/DotNetPkgOperationHelper.cs index 88aa1f8b6..1ee2a810c 100644 --- a/src/UniGetUI.PackageEngine.Managers.Dotnet/Helpers/DotNetPkgOperationHelper.cs +++ b/src/UniGetUI.PackageEngine.Managers.Dotnet/Helpers/DotNetPkgOperationHelper.cs @@ -13,13 +13,19 @@ protected override IEnumerable _getOperationParameters( IInstallationOptions options, OperationType operation) { - List parameters = [operation switch { - OperationType.Install => Manager.Properties.InstallVerb, - OperationType.Update => Manager.Properties.UpdateVerb, - OperationType.Uninstall => Manager.Properties.UninstallVerb, - _ => throw new InvalidDataException("Invalid package operation") - }]; - parameters.Add(package.Id); + List parameters = + [ + operation switch + { + OperationType.Install => Manager.Properties.InstallVerb, + OperationType.Update => Manager.Properties.UpdateVerb, + OperationType.Uninstall => Manager.Properties.UninstallVerb, + _ => throw new InvalidDataException("Invalid package operation") + }, + + package.Id, + + ]; if (options.CustomParameters is not null) parameters.AddRange(options.CustomParameters); @@ -27,7 +33,7 @@ protected override IEnumerable _getOperationParameters( if (options.CustomInstallLocation != "") parameters.AddRange(["--tool-path", "\"" + options.CustomInstallLocation + "\""]); - if(package.OverridenOptions.Scope == PackageScope.Global || + if (package.OverridenOptions.Scope == PackageScope.Global || (package.OverridenOptions.Scope is null && options.InstallationScope == PackageScope.Global)) parameters.Add("--global"); diff --git a/src/UniGetUI.PackageEngine.Managers.Npm/Helpers/NpmPkgDetailsHelper.cs b/src/UniGetUI.PackageEngine.Managers.Npm/Helpers/NpmPkgDetailsHelper.cs index 33caf3ed0..788f4440e 100644 --- a/src/UniGetUI.PackageEngine.Managers.Npm/Helpers/NpmPkgDetailsHelper.cs +++ b/src/UniGetUI.PackageEngine.Managers.Npm/Helpers/NpmPkgDetailsHelper.cs @@ -56,7 +56,7 @@ protected override void GetDetails_UnSafe(IPackageDetails details) if (Uri.TryCreate(contents?["dist"]?["tarball"]?.ToString() ?? "", UriKind.RelativeOrAbsolute, out var installerUrl)) details.InstallerUrl = installerUrl; - if(int.TryParse(contents?["dist"]?["unpackedSize"]?.ToString() ?? "", NumberStyles.Any, CultureInfo.InvariantCulture, out int installerSize)) + if (int.TryParse(contents?["dist"]?["unpackedSize"]?.ToString() ?? "", NumberStyles.Any, CultureInfo.InvariantCulture, out int installerSize)) details.InstallerSize = installerSize / 1048576d; details.InstallerHash = contents?["dist"]?["integrity"]?.ToString(); @@ -87,9 +87,8 @@ protected override IEnumerable GetScreenshots_UnSafe(IPackage package) { if (package.OverridenOptions.Scope is PackageScope.Local) return Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "node_modules", package.Id); - else - return Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Roaming", "npm", - "node_modules", package.Id); + return Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Roaming", "npm", + "node_modules", package.Id); } protected override IEnumerable GetInstallableVersions_UnSafe(IPackage package) @@ -118,10 +117,12 @@ protected override IEnumerable GetInstallableVersions_UnSafe(IPackage pa logger.AddToStdOut(strContents); JsonArray? rawVersions = JsonNode.Parse(strContents) as JsonArray; - List versions = new(); + List versions = []; foreach(JsonNode? raw_ver in rawVersions ?? []) - if(raw_ver is not null) + { + if (raw_ver is not null) versions.Add(raw_ver.ToString()); + } logger.AddToStdErr(p.StandardError.ReadToEnd()); p.WaitForExit(); diff --git a/src/UniGetUI.PackageEngine.Managers.Npm/Npm.cs b/src/UniGetUI.PackageEngine.Managers.Npm/Npm.cs index 43939f1a8..7ac490713 100644 --- a/src/UniGetUI.PackageEngine.Managers.Npm/Npm.cs +++ b/src/UniGetUI.PackageEngine.Managers.Npm/Npm.cs @@ -121,7 +121,7 @@ protected override IEnumerable GetAvailableUpdates_UnSafe() string strContents = p.StandardOutput.ReadToEnd(); logger.AddToStdOut(strContents); JsonObject? contents = null; - if(strContents.Any()) contents = JsonNode.Parse(strContents) as JsonObject; + if (strContents.Any()) contents = JsonNode.Parse(strContents) as JsonObject; foreach (var (packageId, packageData) in contents?.ToDictionary() ?? new()) { string? version = packageData?["current"]?.ToString(); @@ -167,7 +167,7 @@ protected override IEnumerable GetInstalledPackages_UnSafe() string strContents = p.StandardOutput.ReadToEnd(); logger.AddToStdOut(strContents); JsonObject? contents = null; - if(strContents.Any()) contents = (JsonNode.Parse(strContents) as JsonObject)?["dependencies"] as JsonObject; + if (strContents.Any()) contents = (JsonNode.Parse(strContents) as JsonObject)?["dependencies"] as JsonObject; foreach (var (packageId, packageData) in contents?.ToDictionary() ?? new()) { string? version = packageData?["version"]?.ToString(); diff --git a/src/UniGetUI.PackageEngine.Managers.Pip/Helpers/PipPkgDetailsHelper.cs b/src/UniGetUI.PackageEngine.Managers.Pip/Helpers/PipPkgDetailsHelper.cs index aee583274..b4e77eacb 100644 --- a/src/UniGetUI.PackageEngine.Managers.Pip/Helpers/PipPkgDetailsHelper.cs +++ b/src/UniGetUI.PackageEngine.Managers.Pip/Helpers/PipPkgDetailsHelper.cs @@ -40,7 +40,7 @@ protected override void GetDetails_UnSafe(IPackageDetails details) if (info["classifiers"] is JsonArray classifiers) { - List Tags = new(); + List Tags = []; foreach (string? line in classifiers) { if (line?.Contains("License ::") ?? false) diff --git a/src/UniGetUI.PackageEngine.Managers.Pip/Pip.cs b/src/UniGetUI.PackageEngine.Managers.Pip/Pip.cs index 2fb837e2f..728160caf 100644 --- a/src/UniGetUI.PackageEngine.Managers.Pip/Pip.cs +++ b/src/UniGetUI.PackageEngine.Managers.Pip/Pip.cs @@ -1,10 +1,8 @@ using System.Diagnostics; using System.Text.RegularExpressions; -using UniGetUI.Core.Logging; using UniGetUI.Core.Tools; using UniGetUI.Interface.Enums; using UniGetUI.PackageEngine.Classes.Manager; -using UniGetUI.PackageEngine.Classes.Manager.Classes; using UniGetUI.PackageEngine.Classes.Manager.ManagerHelpers; using UniGetUI.PackageEngine.Enums; using UniGetUI.PackageEngine.ManagerClasses.Classes; diff --git a/src/UniGetUI.PackageEngine.Managers.PowerShell/Helpers/PowerShellPkgOperationHelper.cs b/src/UniGetUI.PackageEngine.Managers.PowerShell/Helpers/PowerShellPkgOperationHelper.cs index 88efdfd60..6edff8ed9 100644 --- a/src/UniGetUI.PackageEngine.Managers.PowerShell/Helpers/PowerShellPkgOperationHelper.cs +++ b/src/UniGetUI.PackageEngine.Managers.PowerShell/Helpers/PowerShellPkgOperationHelper.cs @@ -20,7 +20,7 @@ protected override IEnumerable _getOperationParameters(IPackage package, if (options.CustomParameters is not null) parameters.AddRange(options.CustomParameters); - if(operation is not OperationType.Uninstall) + if (operation is not OperationType.Uninstall) { if (options.PreRelease) parameters.Add("-AllowPrerelease"); @@ -35,7 +35,7 @@ protected override IEnumerable _getOperationParameters(IPackage package, } } - if(operation is OperationType.Install) + if (operation is OperationType.Install) { if (options.SkipHashCheck) parameters.Add("-SkipPublisherCheck"); diff --git a/src/UniGetUI.PackageEngine.Managers.PowerShell7/Helpers/PowerShell7PkgOperationHelper.cs b/src/UniGetUI.PackageEngine.Managers.PowerShell7/Helpers/PowerShell7PkgOperationHelper.cs index 6e391d296..fff645b37 100644 --- a/src/UniGetUI.PackageEngine.Managers.PowerShell7/Helpers/PowerShell7PkgOperationHelper.cs +++ b/src/UniGetUI.PackageEngine.Managers.PowerShell7/Helpers/PowerShell7PkgOperationHelper.cs @@ -21,7 +21,7 @@ protected override IEnumerable _getOperationParameters(IPackage package, if (options.CustomParameters is not null) parameters.AddRange(options.CustomParameters); - if(operation is not OperationType.Uninstall) + if (operation is not OperationType.Uninstall) { parameters.AddRange(["-TrustRepository", "-AcceptLicense"]); @@ -35,7 +35,7 @@ protected override IEnumerable _getOperationParameters(IPackage package, parameters.AddRange(["-Scope", "CurrentUser"]); } - if(operation is OperationType.Install) + if (operation is OperationType.Install) { if (options.Version != "") parameters.AddRange(["-Version", options.Version]); diff --git a/src/UniGetUI.PackageEngine.Managers.PowerShell7/Helpers/PowerShell7SourceHelper.cs b/src/UniGetUI.PackageEngine.Managers.PowerShell7/Helpers/PowerShell7SourceHelper.cs index 088bc3b1a..aa966bae9 100644 --- a/src/UniGetUI.PackageEngine.Managers.PowerShell7/Helpers/PowerShell7SourceHelper.cs +++ b/src/UniGetUI.PackageEngine.Managers.PowerShell7/Helpers/PowerShell7SourceHelper.cs @@ -87,7 +87,7 @@ protected override IEnumerable GetSources_UnSafe() if (parts.Length >= 2) { string uri = Regex.Match(line, "https?:\\/\\/([\\w%-]+\\.)+[\\w%-]+(\\/[\\w%-]+)+\\/?").Value; - if(uri == "") continue; + if (uri == "") continue; sources.Add(new ManagerSource(Manager, parts[0].Trim(), new Uri(uri))); } } diff --git a/src/UniGetUI.PackageEngine.Managers.Scoop/Helpers/ScoopPkgDetailsHelper.cs b/src/UniGetUI.PackageEngine.Managers.Scoop/Helpers/ScoopPkgDetailsHelper.cs index dfdaf7896..85a5a752e 100644 --- a/src/UniGetUI.PackageEngine.Managers.Scoop/Helpers/ScoopPkgDetailsHelper.cs +++ b/src/UniGetUI.PackageEngine.Managers.Scoop/Helpers/ScoopPkgDetailsHelper.cs @@ -34,7 +34,7 @@ protected override void GetDetails_UnSafe(IPackageDetails details) } string packageId; - if(details.Package.Source.Name.Contains("...")) + if (details.Package.Source.Name.Contains("...")) packageId = $"{details.Package.Id}"; else packageId = $"{details.Package.Source.Name}/{details.Package.Id}"; @@ -70,7 +70,9 @@ protected override void GetDetails_UnSafe(IPackageDetails details) { details.Description = ""; foreach (var line in descriptionList) + { details.Description += line + "\n"; + } } else { @@ -88,7 +90,7 @@ protected override void GetDetails_UnSafe(IPackageDetails details) { details.HomepageUrl = homepageUrl; - if(homepageUrl.ToString().StartsWith("https://github.com/")) + if (homepageUrl.ToString().StartsWith("https://github.com/")) details.Author = homepageUrl.ToString().Replace("https://github.com/", "").Split("/")[0]; else details.Author = homepageUrl.Host.Split(".")[^2]; @@ -99,7 +101,9 @@ protected override void GetDetails_UnSafe(IPackageDetails details) { details.ReleaseNotes = ""; foreach (var line in notesList) + { details.ReleaseNotes += line + "\n"; + } } else { @@ -134,7 +138,7 @@ protected override void GetDetails_UnSafe(IPackageDetails details) details.InstallerHash = contents?["hash"]?.ToString(); } - else if(contents?["architecture"] is JsonObject archNode) + else if (contents?["architecture"] is JsonObject archNode) { // Architecture-based installer string arch = archNode.ContainsKey("64bit") ? "64bit" : archNode.First().Key; diff --git a/src/UniGetUI.PackageEngine.Managers.Scoop/Helpers/ScoopPkgOperationHelper.cs b/src/UniGetUI.PackageEngine.Managers.Scoop/Helpers/ScoopPkgOperationHelper.cs index beb823058..f1c64afa9 100644 --- a/src/UniGetUI.PackageEngine.Managers.Scoop/Helpers/ScoopPkgOperationHelper.cs +++ b/src/UniGetUI.PackageEngine.Managers.Scoop/Helpers/ScoopPkgOperationHelper.cs @@ -17,7 +17,7 @@ protected override IEnumerable _getOperationParameters(IPackage package, _ => throw new InvalidDataException("Invalid package operation") }]; - if(package.Source.Name.Contains("...")) + if (package.Source.Name.Contains("...")) parameters.Add($"{package.Id}"); else parameters.Add($"{package.Source.Name}/{package.Id}"); @@ -30,7 +30,7 @@ protected override IEnumerable _getOperationParameters(IPackage package, parameters.Add("--global"); } - if(options.CustomParameters?.Any() is true) + if (options.CustomParameters?.Any() is true) parameters.AddRange(options.CustomParameters); if (operation is OperationType.Uninstall) diff --git a/src/UniGetUI.PackageEngine.Managers.Scoop/Helpers/ScoopSourceHelper.cs b/src/UniGetUI.PackageEngine.Managers.Scoop/Helpers/ScoopSourceHelper.cs index 9e58c2311..69cde96db 100644 --- a/src/UniGetUI.PackageEngine.Managers.Scoop/Helpers/ScoopSourceHelper.cs +++ b/src/UniGetUI.PackageEngine.Managers.Scoop/Helpers/ScoopSourceHelper.cs @@ -35,9 +35,9 @@ public override string[] GetRemoveSourceParameters(IManagerSource source) protected override IEnumerable GetSources_UnSafe() { - using var p = new Process() + using var p = new Process { - StartInfo = new ProcessStartInfo() + StartInfo = new ProcessStartInfo { FileName = Manager.Status.ExecutablePath, Arguments = Manager.Properties.ExecutableCallArgs + " bucket list", diff --git a/src/UniGetUI.PackageEngine.Managers.Vcpkg/Vcpkg.cs b/src/UniGetUI.PackageEngine.Managers.Vcpkg/Vcpkg.cs index 18755ab23..9229babfe 100644 --- a/src/UniGetUI.PackageEngine.Managers.Vcpkg/Vcpkg.cs +++ b/src/UniGetUI.PackageEngine.Managers.Vcpkg/Vcpkg.cs @@ -346,10 +346,10 @@ public override void RefreshPackageIndexes() if (!found || !gitFound || !vcpkgRootFound || Settings.Get("DisableUpdateVcpkgGitPorts")) { INativeTaskLogger logger = TaskLogger.CreateNew(LoggableTaskType.RefreshIndexes); - if(Settings.Get("DisableUpdateVcpkgGitPorts")) logger.Error("User has disabled updating sources"); - if(!found) logger.Error("Vcpkg was not found???"); - if(!gitFound) logger.Error("Vcpkg sources won't be updated since git was not found"); - if(!vcpkgRootFound) logger.Error("Cannot update vcpkg port files as requested: the VCPKG_ROOT environment variable / the custom vcpkg root setting were not set"); + if (Settings.Get("DisableUpdateVcpkgGitPorts")) logger.Error("User has disabled updating sources"); + if (!found) logger.Error("Vcpkg was not found???"); + if (!gitFound) logger.Error("Vcpkg sources won't be updated since git was not found"); + if (!vcpkgRootFound) logger.Error("Cannot update vcpkg port files as requested: the VCPKG_ROOT environment variable / the custom vcpkg root setting were not set"); logger.Close(Settings.Get("DisableUpdateVcpkgGitPorts")? 0: 1); return; } diff --git a/src/UniGetUI.PackageEngine.Managers.WinGet/ClientHelpers/NativePackageHandler.cs b/src/UniGetUI.PackageEngine.Managers.WinGet/ClientHelpers/NativePackageHandler.cs index 67e35ab7f..82ee8d7bb 100644 --- a/src/UniGetUI.PackageEngine.Managers.WinGet/ClientHelpers/NativePackageHandler.cs +++ b/src/UniGetUI.PackageEngine.Managers.WinGet/ClientHelpers/NativePackageHandler.cs @@ -29,7 +29,7 @@ public static class NativePackageHandler // Rarely a package will not be available in cache (native WinGet helper should always call AddPackage) // so it makes no sense to add TaskRecycler.RunOrAttach() here. (Only imported packages may arrive at this point) catalogPackage = _findPackageOnCatalog(package); - if(catalogPackage is not null) AddPackage(package, catalogPackage); + if (catalogPackage is not null) AddPackage(package, catalogPackage); return catalogPackage; } diff --git a/src/UniGetUI.PackageEngine.Managers.WinGet/Helpers/WinGetPkgDetailsHelper.cs b/src/UniGetUI.PackageEngine.Managers.WinGet/Helpers/WinGetPkgDetailsHelper.cs index 399e35fd5..1d20eee39 100644 --- a/src/UniGetUI.PackageEngine.Managers.WinGet/Helpers/WinGetPkgDetailsHelper.cs +++ b/src/UniGetUI.PackageEngine.Managers.WinGet/Helpers/WinGetPkgDetailsHelper.cs @@ -30,11 +30,10 @@ protected override void GetDetails_UnSafe(IPackageDetails details) if (package.Source.IsVirtualManager) return null; - else if (package.Source.Name == "msstore") + if (package.Source.Name == "msstore") return GetMicrosoftStoreIcon(package); - else - return GetWinGetPackageIcon(package); + return GetWinGetPackageIcon(package); } protected override IEnumerable GetScreenshots_UnSafe(IPackage package) diff --git a/src/UniGetUI.PackageEngine.Managers.WinGet/Helpers/WinGetPkgOperationHelper.cs b/src/UniGetUI.PackageEngine.Managers.WinGet/Helpers/WinGetPkgOperationHelper.cs index 78eb510cc..b48cc891b 100644 --- a/src/UniGetUI.PackageEngine.Managers.WinGet/Helpers/WinGetPkgOperationHelper.cs +++ b/src/UniGetUI.PackageEngine.Managers.WinGet/Helpers/WinGetPkgOperationHelper.cs @@ -12,7 +12,7 @@ internal sealed class WinGetPkgOperationHelper : PackagePkgOperationHelper { public static string GetIdNamePiece(IPackage package) { - if(!package.Id.EndsWith("…")) + if (!package.Id.EndsWith("…")) return $"--id \"{package.Id.TrimEnd('…')}\" --exact"; if (!package.Name.EndsWith("…")) @@ -55,7 +55,7 @@ protected override IEnumerable _getOperationParameters(IPackage package, parameters.Add(options.InteractiveInstallation ? "--interactive" : "--silent"); parameters.AddRange(options.CustomParameters); - if(operation is OperationType.Update) + if (operation is OperationType.Update) { if (package.Name.Contains("64-bit") || package.Id.ToLower().Contains("x64")) { @@ -68,7 +68,7 @@ protected override IEnumerable _getOperationParameters(IPackage package, parameters.Add("--include-unknown"); } - if(operation is not OperationType.Uninstall) + if (operation is not OperationType.Uninstall) { parameters.AddRange(["--accept-package-agreements", "--force"]); @@ -130,7 +130,7 @@ protected override OperationVeredict _getOperationResult( if (uintCode == 0x8A150109) { // If the user is required to restart the system to complete the installation - if(operation is OperationType.Update) MarkUpgradeAsDone(package); + if (operation is OperationType.Update) MarkUpgradeAsDone(package); //return OperationVeredict.RestartRequired; return OperationVeredict.Success; } @@ -154,18 +154,18 @@ protected override OperationVeredict _getOperationResult( if (uintCode == 0x8A15010D || uintCode == 0x8A15004F || uintCode == 0x8A15010E) { // Application is already installed - if(operation is OperationType.Update) MarkUpgradeAsDone(package); + if (operation is OperationType.Update) MarkUpgradeAsDone(package); return OperationVeredict.Success; } if (returnCode == 0) { // Operation succeeded - if(operation is OperationType.Update) MarkUpgradeAsDone(package); + if (operation is OperationType.Update) MarkUpgradeAsDone(package); return OperationVeredict.Success; } - if(uintCode == 0x8A150056 && package.OverridenOptions.RunAsAdministrator != false && !CoreTools.IsAdministrator()) + if (uintCode == 0x8A150056 && package.OverridenOptions.RunAsAdministrator != false && !CoreTools.IsAdministrator()) { // Installer can't run elevated package.OverridenOptions.RunAsAdministrator = false; diff --git a/src/UniGetUI.PackageEngine.Managers.WinGet/WinGet.cs b/src/UniGetUI.PackageEngine.Managers.WinGet/WinGet.cs index 38c8d01c8..0d72f500b 100644 --- a/src/UniGetUI.PackageEngine.Managers.WinGet/WinGet.cs +++ b/src/UniGetUI.PackageEngine.Managers.WinGet/WinGet.cs @@ -117,44 +117,42 @@ public ManagerSource GetLocalSource(string id) { return MicrosoftStoreSource; } - else - { - string MeaningfulId = IdPieces[^1]; - // Fast Local PC Check - if (MeaningfulId[0] == '{') - { - return LocalPcSource; - } + string MeaningfulId = IdPieces[^1]; - // Check if source is android - if(MeaningfulId.Count(x => x == '.') >= 2 && MeaningfulId.All(c => (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') || c == '.' || c == '…')) - { - return AndroidSubsystemSource; - } + // Fast Local PC Check + if (MeaningfulId[0] == '{') + { + return LocalPcSource; + } - // Check if source is Steam - if (MeaningfulId == "Steam" || MeaningfulId.StartsWith("Steam App")) - { - return SteamSource; - } + // Check if source is android + if (MeaningfulId.Count(x => x == '.') >= 2 && MeaningfulId.All(c => (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') || c == '.' || c == '…')) + { + return AndroidSubsystemSource; + } - // Check if source is Ubisoft Connect - if (MeaningfulId == "Uplay" || MeaningfulId.StartsWith("Uplay Install")) - { - return UbisoftConnectSource; - } + // Check if source is Steam + if (MeaningfulId == "Steam" || MeaningfulId.StartsWith("Steam App")) + { + return SteamSource; + } - // Check if source is GOG - if (MeaningfulId.EndsWith("_is1") && - MeaningfulId.Replace("_is1", "").All(c => (c >= '0' && c <= '9'))) - { - return GOGSource; - } + // Check if source is Ubisoft Connect + if (MeaningfulId == "Uplay" || MeaningfulId.StartsWith("Uplay Install")) + { + return UbisoftConnectSource; + } - // Otherwise they are Local PC - return LocalPcSource; + // Check if source is GOG + if (MeaningfulId.EndsWith("_is1") && + MeaningfulId.Replace("_is1", "").All(c => (c >= '0' && c <= '9'))) + { + return GOGSource; } + + // Otherwise they are Local PC + return LocalPcSource; } protected override ManagerStatus LoadManager() diff --git a/src/UniGetUI.PackageEngine.Operations/AbstractOperation.cs b/src/UniGetUI.PackageEngine.Operations/AbstractOperation.cs index 7394e9f26..a21986c7c 100644 --- a/src/UniGetUI.PackageEngine.Operations/AbstractOperation.cs +++ b/src/UniGetUI.PackageEngine.Operations/AbstractOperation.cs @@ -62,7 +62,7 @@ public OperationMetadata() } public readonly OperationMetadata Metadata = new(); - public static readonly List OperationQueue = new(); + public static readonly List OperationQueue = []; public event EventHandler? StatusChanged; public event EventHandler? CancelRequested; @@ -105,7 +105,7 @@ public enum LineType Error } - private List<(string, LineType)> LogList = new(); + private readonly List<(string, LineType)> LogList = []; private OperationStatus _status = OperationStatus.InQueue; public OperationStatus Status { @@ -117,7 +117,7 @@ public OperationStatus Status protected bool QUEUE_ENABLED; protected bool FORCE_HOLD_QUEUE; - private AbstractOperation? requirement; + private readonly AbstractOperation? requirement; public AbstractOperation(bool queue_enabled, AbstractOperation? req) { @@ -131,7 +131,7 @@ public AbstractOperation(bool queue_enabled, AbstractOperation? req) Status = OperationStatus.InQueue; Line("Please wait...", LineType.ProgressIndicator); - if(int.TryParse(Settings.GetValue("ParallelOperationCount"), out int _maxPps)) + if (int.TryParse(Settings.GetValue("ParallelOperationCount"), out int _maxPps)) { MAX_OPERATIONS = _maxPps; Logger.Debug($"Parallel operation limit set to {MAX_OPERATIONS}"); @@ -169,7 +169,7 @@ public void Cancel() protected void Line(string line, LineType type) { - if(type != LineType.ProgressIndicator) LogList.Add((line, type)); + if (type != LineType.ProgressIndicator) LogList.Add((line, type)); LogLineAdded?.Invoke(this, (line, type)); } @@ -210,7 +210,7 @@ public async Task MainThread() while (requirement.Status is OperationStatus.Running or OperationStatus.InQueue) { await Task.Delay(100); - if(SKIP_QUEUE) break; + if (SKIP_QUEUE) break; } } } @@ -241,7 +241,7 @@ public async Task MainThread() // BEGIN ACTUAL OPERATION OperationVeredict result; Line(CoreTools.Translate("Starting operation..."), LineType.ProgressIndicator); - if(Status is OperationStatus.InQueue) Status = OperationStatus.Running; + if (Status is OperationStatus.InQueue) Status = OperationStatus.Running; OperationStarting?.Invoke(this, EventArgs.Empty); do @@ -254,7 +254,8 @@ public async Task MainThread() result = OperationVeredict.Canceled; break; } - else if (requirement is not null) + + if (requirement is not null) { if (requirement.Status is OperationStatus.Failed) { @@ -262,7 +263,8 @@ public async Task MainThread() result = OperationVeredict.Failure; break; } - else if (requirement.Status is OperationStatus.Canceled) + + if (requirement.Status is OperationStatus.Canceled) { Line(CoreTools.Translate("The user has canceled {0}, that was a requirement for {1} to be run", requirement.Metadata.Title, Metadata.Title), LineType.Error); result = OperationVeredict.Canceled; @@ -280,7 +282,10 @@ public async Task MainThread() { result = OperationVeredict.Failure; Logger.Error(e); - foreach (string l in e.ToString().Split("\n")) Line(l, LineType.Error); + foreach (string l in e.ToString().Split("\n")) + { + Line(l, LineType.Error); + } } } while (result == OperationVeredict.AutoRetry); @@ -313,7 +318,9 @@ public async Task MainThread() { Line("An internal error occurred:", LineType.Error); foreach (var line in ex.ToString().Split("\n")) + { Line(line, LineType.Error); + } while (OperationQueue.Remove(this)) ; @@ -327,7 +334,9 @@ public async Task MainThread() { Line("An internal error occurred while handling an internal error:", LineType.Error); foreach (var line in e2.ToString().Split("\n")) + { Line(line, LineType.Error); + } } Line(Metadata.FailureMessage, LineType.Error); diff --git a/src/UniGetUI.PackageEngine.Operations/DownloadOperation.cs b/src/UniGetUI.PackageEngine.Operations/DownloadOperation.cs index 950f0b822..a7c5a2685 100644 --- a/src/UniGetUI.PackageEngine.Operations/DownloadOperation.cs +++ b/src/UniGetUI.PackageEngine.Operations/DownloadOperation.cs @@ -1,22 +1,13 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net; -using System.Text; -using System.Threading.Tasks; using UniGetUI.Core.Tools; using UniGetUI.PackageEngine.Enums; using UniGetUI.PackageEngine.Interfaces; using UniGetUI.PackageOperations; -using Windows.Foundation.Metadata; -using ExternalLibraries.Pickers; -using UniGetUI.PackageEngine.Managers.PowerShellManager; namespace UniGetUI.PackageEngine.Operations; public class DownloadOperation : AbstractOperation { - private IPackage _package; - private string downloadLocation; + private readonly IPackage _package; + private readonly string downloadLocation; public string DownloadLocation { get => downloadLocation; diff --git a/src/UniGetUI.PackageEngine.Operations/PackageOperations.cs b/src/UniGetUI.PackageEngine.Operations/PackageOperations.cs index c389502a1..6ab820634 100644 --- a/src/UniGetUI.PackageEngine.Operations/PackageOperations.cs +++ b/src/UniGetUI.PackageEngine.Operations/PackageOperations.cs @@ -1,15 +1,11 @@ -using System.Diagnostics; using UniGetUI.Core.Classes; using UniGetUI.Core.Data; -using UniGetUI.Core.Logging; using UniGetUI.Core.SettingsEngine; using UniGetUI.Core.Tools; -using UniGetUI.Interface; using UniGetUI.Interface.Enums; using UniGetUI.PackageEngine.Classes.Packages.Classes; using UniGetUI.PackageEngine.Enums; using UniGetUI.PackageEngine.Interfaces; -using UniGetUI.PackageEngine.PackageClasses; using UniGetUI.PackageEngine.PackageLoader; using UniGetUI.PackageOperations; diff --git a/src/UniGetUI.PackageEngine.Operations/ProcessOperation.cs b/src/UniGetUI.PackageEngine.Operations/ProcessOperation.cs index e4363be00..121a218cb 100644 --- a/src/UniGetUI.PackageEngine.Operations/ProcessOperation.cs +++ b/src/UniGetUI.PackageEngine.Operations/ProcessOperation.cs @@ -56,10 +56,10 @@ protected AbstractProcessOperation(bool queue_enabled, AbstractOperation? req) : protected override async Task PerformOperation() { - if(process.StartInfo.UseShellExecute) throw new InvalidOperationException("UseShellExecute must be set to false"); - if(!process.StartInfo.RedirectStandardOutput) throw new InvalidOperationException("RedirectStandardOutput must be set to true"); - if(!process.StartInfo.RedirectStandardInput) throw new InvalidOperationException("RedirectStandardInput must be set to true"); - if(!process.StartInfo.RedirectStandardError) throw new InvalidOperationException("RedirectStandardError must be set to true"); + if (process.StartInfo.UseShellExecute) throw new InvalidOperationException("UseShellExecute must be set to false"); + if (!process.StartInfo.RedirectStandardOutput) throw new InvalidOperationException("RedirectStandardOutput must be set to true"); + if (!process.StartInfo.RedirectStandardInput) throw new InvalidOperationException("RedirectStandardInput must be set to true"); + if (!process.StartInfo.RedirectStandardError) throw new InvalidOperationException("RedirectStandardError must be set to true"); if (process.StartInfo.FileName == "lol") throw new InvalidOperationException("StartInfo.FileName has not been set"); if (process.StartInfo.Arguments == "lol") throw new InvalidOperationException("StartInfo.Arguments has not been set"); @@ -94,7 +94,7 @@ protected override async Task PerformOperation() } else if (c == '\r') { - if(currentLine.Length == 0) continue; + if (currentLine.Length == 0) continue; lastStringBeforeLF = currentLine.ToString(); Line(lastStringBeforeLF, LineType.ProgressIndicator); currentLine.Clear(); diff --git a/src/UniGetUI.PackageEngine.Operations/SourceOperations.cs b/src/UniGetUI.PackageEngine.Operations/SourceOperations.cs index 18a92ede4..fb0af4b00 100644 --- a/src/UniGetUI.PackageEngine.Operations/SourceOperations.cs +++ b/src/UniGetUI.PackageEngine.Operations/SourceOperations.cs @@ -1,11 +1,6 @@ -using System.Diagnostics; -using Windows.Media.Capture; using UniGetUI.Core.Data; -using UniGetUI.Core.Logging; using UniGetUI.Core.SettingsEngine; using UniGetUI.Core.Tools; -using UniGetUI.Interface; -using UniGetUI.Interface.Enums; using UniGetUI.PackageEngine.Enums; using UniGetUI.PackageEngine.Interfaces; using UniGetUI.PackageOperations; diff --git a/src/UniGetUI.PackageEngine.PackageEngine/PEInterface.cs b/src/UniGetUI.PackageEngine.PackageEngine/PEInterface.cs index 6ae940213..a1d954336 100644 --- a/src/UniGetUI.PackageEngine.PackageEngine/PEInterface.cs +++ b/src/UniGetUI.PackageEngine.PackageEngine/PEInterface.cs @@ -11,8 +11,6 @@ using UniGetUI.PackageEngine.Managers.WingetManager; using UniGetUI.PackageEngine.Managers.VcpkgManager; using UniGetUI.PackageEngine.PackageLoader; -using System.Collections.ObjectModel; -using UniGetUI.PackageOperations; namespace UniGetUI.PackageEngine { diff --git a/src/UniGetUI.PackageEngine.PackageLoader/AbstractPackageLoader.cs b/src/UniGetUI.PackageEngine.PackageLoader/AbstractPackageLoader.cs index 773bfebf6..214c30e64 100644 --- a/src/UniGetUI.PackageEngine.PackageLoader/AbstractPackageLoader.cs +++ b/src/UniGetUI.PackageEngine.PackageLoader/AbstractPackageLoader.cs @@ -73,7 +73,7 @@ public void StopLoading(bool emitFinishSignal = true) LoadOperationIdentifier = -1; IsLoaded = false; IsLoading = false; - if(emitFinishSignal) InvokeFinishedLoadingEvent(); + if (emitFinishSignal) InvokeFinishedLoadingEvent(); } protected void InvokePackagesChangedEvent() @@ -96,7 +96,7 @@ protected void InvokeFinishedLoadingEvent() /// public virtual async Task ReloadPackages() { - if(DISABLE_RELOAD) + if (DISABLE_RELOAD) { InvokePackagesChangedEvent(); return; @@ -108,7 +108,7 @@ public virtual async Task ReloadPackages() IsLoading = true; StartedLoading?.Invoke(this, EventArgs.Empty); - List>> tasks = new(); + List>> tasks = []; foreach (IPackageManager manager in Managers) { diff --git a/src/UniGetUI.PackageEngine.PackageLoader/InstalledPackagesLoader.cs b/src/UniGetUI.PackageEngine.PackageLoader/InstalledPackagesLoader.cs index 372c87bc8..40f03daad 100644 --- a/src/UniGetUI.PackageEngine.PackageLoader/InstalledPackagesLoader.cs +++ b/src/UniGetUI.PackageEngine.PackageLoader/InstalledPackagesLoader.cs @@ -43,7 +43,7 @@ public async Task ReloadPackagesSilently() IsLoading = true; InvokeStartedLoadingEvent(); - List>> tasks = new(); + List>> tasks = []; foreach (IPackageManager manager in Managers) { diff --git a/src/UniGetUI.PackageEngine.PackageLoader/PackageBundlesLoader.cs b/src/UniGetUI.PackageEngine.PackageLoader/PackageBundlesLoader.cs index e0b64ccb7..6208149db 100644 --- a/src/UniGetUI.PackageEngine.PackageLoader/PackageBundlesLoader.cs +++ b/src/UniGetUI.PackageEngine.PackageLoader/PackageBundlesLoader.cs @@ -27,7 +27,7 @@ protected override IEnumerable LoadPackagesFromManager(IPackageManager protected override Task WhenAddingPackage(IPackage package) { - if(package.GetInstalledPackage() is not null) + if (package.GetInstalledPackage() is not null) package.SetTag(PackageTag.AlreadyInstalled); return Task.CompletedTask; @@ -66,7 +66,7 @@ public async Task AddPackagesAsync(IEnumerable foreign_packages) { Logger.Error($"An IPackage instance id={foreign.Id} did not match the types Package, ImportedPackage or InvalidImportedPackage. This should never be the case"); } - if(package is not null && !Contains(package)) AddPackage(package); + if (package is not null && !Contains(package)) AddPackage(package); } InvokePackagesChangedEvent(); } diff --git a/src/UniGetUI.PackageEngine.PackageManagerClasses/Manager/Classes/ManagerLogger.cs b/src/UniGetUI.PackageEngine.PackageManagerClasses/Manager/Classes/ManagerLogger.cs index 571953023..fac3a2da3 100644 --- a/src/UniGetUI.PackageEngine.PackageManagerClasses/Manager/Classes/ManagerLogger.cs +++ b/src/UniGetUI.PackageEngine.PackageManagerClasses/Manager/Classes/ManagerLogger.cs @@ -8,7 +8,7 @@ public class ManagerLogger : IManagerLogger { private readonly IPackageManager Manager; - private readonly List operations = new(); + private readonly List operations = []; public IEnumerable Operations { get => (IEnumerable)operations; } public ManagerLogger(IPackageManager manager) diff --git a/src/UniGetUI.PackageEngine.PackageManagerClasses/Manager/Helpers/BaseSourceHelper.cs b/src/UniGetUI.PackageEngine.PackageManagerClasses/Manager/Helpers/BaseSourceHelper.cs index d10dc85ff..e5de71936 100644 --- a/src/UniGetUI.PackageEngine.PackageManagerClasses/Manager/Helpers/BaseSourceHelper.cs +++ b/src/UniGetUI.PackageEngine.PackageManagerClasses/Manager/Helpers/BaseSourceHelper.cs @@ -62,7 +62,9 @@ public virtual IEnumerable _getSources() Factory.Reset(); foreach (IManagerSource source in sources) + { Factory.AddSource(source); + } Logger.Debug($"Loaded {sources.Count()} sources for manager {Manager.Name}"); return sources; diff --git a/src/UniGetUI.PackageEngine.PackageManagerClasses/Manager/PackageManager.cs b/src/UniGetUI.PackageEngine.PackageManagerClasses/Manager/PackageManager.cs index 0d805ff43..618c1dc23 100644 --- a/src/UniGetUI.PackageEngine.PackageManagerClasses/Manager/PackageManager.cs +++ b/src/UniGetUI.PackageEngine.PackageManagerClasses/Manager/PackageManager.cs @@ -59,7 +59,10 @@ public virtual void Initialize() // END integrity check Properties.DefaultSource.RefreshSourceNames(); - foreach(var source in Properties.KnownSources) source.RefreshSourceNames(); + foreach(var source in Properties.KnownSources) + { + source.RefreshSourceNames(); + } try { @@ -72,7 +75,9 @@ public virtual void Initialize() if (sourcesTask.Wait(TimeSpan.FromSeconds(15))) { foreach (var source in sourcesTask.Result) + { SourcesHelper?.Factory.AddSource(source); + } } else { @@ -151,8 +156,7 @@ private IEnumerable _findPackages(string query, bool SecondAttempt) throw new TimeoutException($"Task _getInstalledPackages for manager {Name} did not finish after " + $"{PackageListingTaskTimeout} seconds, aborting. You may disable " + $"timeouts from UniGetUI Advanced Settings"); - else - task.Wait(); + task.Wait(); } Package[] packages = task.GetAwaiter().GetResult().ToArray(); @@ -174,12 +178,10 @@ private IEnumerable _findPackages(string query, bool SecondAttempt) AttemptFastRepair(); return _findPackages(query, true); } - else - { - Logger.Error("Error finding packages on manager " + Name + " with query " + query); - Logger.Error(e); - return []; - } + + Logger.Error("Error finding packages on manager " + Name + " with query " + query); + Logger.Error(e); + return []; } } @@ -203,8 +205,8 @@ private IEnumerable _getAvailableUpdates(bool SecondAttempt) if (!Settings.Get("DisableTimeoutOnPackageListingTasks")) throw new TimeoutException($"Task _getInstalledPackages for manager {Name} did not finish after " + $"{PackageListingTaskTimeout} seconds, aborting. You may disable " + - $"timeouts from UniGetUI Advanced Settings"); else - task.Wait(); + $"timeouts from UniGetUI Advanced Settings"); + task.Wait(); } Package[] packages = task.GetAwaiter().GetResult().ToArray(); @@ -227,12 +229,10 @@ private IEnumerable _getAvailableUpdates(bool SecondAttempt) AttemptFastRepair(); return _getAvailableUpdates(true); } - else - { - Logger.Error("Error finding updates on manager " + Name); - Logger.Error(e); - return []; - } + + Logger.Error("Error finding updates on manager " + Name); + Logger.Error(e); + return []; } } @@ -254,8 +254,8 @@ private IEnumerable _getInstalledPackages(bool SecondAttempt) if (!Settings.Get("DisableTimeoutOnPackageListingTasks")) throw new TimeoutException($"Task _getInstalledPackages for manager {Name} did not finish after " + $"{PackageListingTaskTimeout} seconds, aborting. You may disable " + - $"timeouts from UniGetUI Advanced Settings"); else - task.Wait(); + $"timeouts from UniGetUI Advanced Settings"); + task.Wait(); } Package[] packages = task.GetAwaiter().GetResult().ToArray(); @@ -278,12 +278,10 @@ private IEnumerable _getInstalledPackages(bool SecondAttempt) AttemptFastRepair(); return _getInstalledPackages(true); } - else - { - Logger.Error("Error finding installed packages on manager " + Name); - Logger.Error(e); - return []; - } + + Logger.Error("Error finding installed packages on manager " + Name); + Logger.Error(e); + return []; } } diff --git a/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Classes/DesktopShortcutsDatabase.cs b/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Classes/DesktopShortcutsDatabase.cs index 6070c9dc2..4578059d9 100644 --- a/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Classes/DesktopShortcutsDatabase.cs +++ b/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Classes/DesktopShortcutsDatabase.cs @@ -48,12 +48,10 @@ public static bool Remove(string shortcutPath) Settings.SetDictionaryItem("DeletableDesktopShortcuts", shortcutPath, false); return true; } - else - { - // Do nothing if the entry was not there - Logger.Warn($"Attempted to remove from deletable desktop shortcuts a shortcut {{shortcutPath={shortcutPath}}} that was not found there"); - return false; - } + + // Do nothing if the entry was not there + Logger.Warn($"Attempted to remove from deletable desktop shortcuts a shortcut {{shortcutPath={shortcutPath}}} that was not found there"); + return false; } /// @@ -72,12 +70,10 @@ public static bool ResetShortcut(string shortcutPath) Settings.RemoveDictionaryKey("DeletableDesktopShortcuts", shortcutPath); return true; } - else - { - // Do nothing if the entry was not there - Logger.Warn($"Attempted to reset a deletable desktop shortcut {{shortcutPath={shortcutPath}}} that was not found there"); - return false; - } + + // Do nothing if the entry was not there + Logger.Warn($"Attempted to reset a deletable desktop shortcut {{shortcutPath={shortcutPath}}} that was not found there"); + return false; } /// @@ -116,10 +112,8 @@ public static Status GetStatus(string shortcutPath) bool canDelete = Settings.GetDictionaryItem("DeletableDesktopShortcuts", shortcutPath); return canDelete ? Status.Delete : Status.Maintain; } - else - { - return Status.Unknown; - } + + return Status.Unknown; } /// @@ -128,7 +122,7 @@ public static Status GetStatus(string shortcutPath) /// A list of desktop shortcut paths public static List GetShortcuts() { - List shortcuts = new(); + List shortcuts = []; string UserDesktop = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); string CommonDesktop = Environment.GetFolderPath(Environment.SpecialFolder.CommonDesktopDirectory); shortcuts.AddRange(Directory.EnumerateFiles(UserDesktop, "*.lnk")); @@ -175,7 +169,7 @@ public static void TryRemoveNewShortcuts(IEnumerable PreviousShortCutLis Logger.Debug("Refraining from deleting new shortcut " + shortcut + ": user disabled its deletion"); break; case Status.Unknown: - if(UnknownShortcuts.Contains(shortcut)) continue; + if (UnknownShortcuts.Contains(shortcut)) continue; Logger.Info("Marking the shortcut " + shortcut + " to be asked to be deleted"); UnknownShortcuts.Add(shortcut); break; diff --git a/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Classes/IgnoredUpdatesDatabase.cs b/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Classes/IgnoredUpdatesDatabase.cs index 32d3b3370..092391023 100644 --- a/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Classes/IgnoredUpdatesDatabase.cs +++ b/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Classes/IgnoredUpdatesDatabase.cs @@ -48,23 +48,23 @@ public string StringRepresentation() { int Years = Months / 12; if (Years > 1) return CoreTools.Translate("{0} years", Years); - else return CoreTools.Translate("1 year"); + return CoreTools.Translate("1 year"); } - else if (Months >= 1) + + if (Months >= 1) { if (Months > 1) return CoreTools.Translate("{0} months", Months); - else return CoreTools.Translate("1 month"); + return CoreTools.Translate("1 month"); } - else if (Weeks >= 1) + + if (Weeks >= 1) { if (Weeks > 1) return CoreTools.Translate("{0} weeks", Weeks); - else return CoreTools.Translate("1 week"); - } - else - { - if (Days != 1) return CoreTools.Translate("{0} days", Days); - else return CoreTools.Translate("1 day"); + return CoreTools.Translate("1 week"); } + + if (Days != 1) return CoreTools.Translate("{0} days", Days); + return CoreTools.Translate("1 day"); } } @@ -101,12 +101,10 @@ public static bool Remove(string ignoredId) // Remove the entry and propagate changes to disk return Settings.RemoveDictionaryKey("IgnoredPackageUpdates", ignoredId) != null; } - else - { - // Do nothing if the entry was not there - Logger.Warn($"Attempted to remove from ignored updates a package {{ignoredId={ignoredId}}} that was not found there"); - return false; - } + + // Do nothing if the entry was not there + Logger.Warn($"Attempted to remove from ignored updates a package {{ignoredId={ignoredId}}} that was not found there"); + return false; } /// @@ -131,7 +129,7 @@ public static bool HasUpdatesIgnored(string ignoredId, string version = "*") { var ignoreDate = DateTime.ParseExact(ignoredVersion[1..], "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); if (ignoreDate > DateTime.Now) return true; - else Remove(ignoredId); + Remove(ignoredId); } catch (FormatException ex) { diff --git a/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/ImportedPackage.cs b/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/ImportedPackage.cs index d93cacdc3..30c6e2766 100644 --- a/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/ImportedPackage.cs +++ b/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/ImportedPackage.cs @@ -21,10 +21,9 @@ public override string Version { if (installation_options is null) return _version; - else if (installation_options.Version != "") + if (installation_options.Version != "") return installation_options.Version; - else - return CoreTools.Translate("Latest"); + return CoreTools.Translate("Latest"); } } diff --git a/src/UniGetUI.PackageEngine.Serializable/SerializableBundle_v1.cs b/src/UniGetUI.PackageEngine.Serializable/SerializableBundle_v1.cs index 8c7ef3404..6b2a3cc84 100644 --- a/src/UniGetUI.PackageEngine.Serializable/SerializableBundle_v1.cs +++ b/src/UniGetUI.PackageEngine.Serializable/SerializableBundle_v1.cs @@ -1,4 +1,4 @@ -namespace UniGetUI.PackageEngine.Classes.Serializable +namespace UniGetUI.PackageEngine.Classes.Serializable { public class SerializableBundle_Data { @@ -8,9 +8,9 @@ public class SerializableBundle_Data public class SerializableBundle_v1 { public double export_version { get; set; } = -1; - public List packages { get; set; } = new(); + public List packages { get; set; } = []; public string incompatible_packages_info { get; set; } = "Incompatible packages cannot be installed from WingetUI, but they have been listed here for logging purposes."; - public List incompatible_packages { get; set; } = new(); + public List incompatible_packages { get; set; } = []; } } diff --git a/src/UniGetUI/App.xaml.cs b/src/UniGetUI/App.xaml.cs index 06d490deb..49a6775ae 100644 --- a/src/UniGetUI/App.xaml.cs +++ b/src/UniGetUI/App.xaml.cs @@ -1,9 +1,6 @@ -using System.Collections.ObjectModel; using System.Diagnostics; using System.Text.RegularExpressions; using Windows.ApplicationModel.Activation; -using Windows.Storage; -using Windows.Storage.Pickers; using CommunityToolkit.WinUI.Helpers; using Microsoft.UI.Dispatching; using Microsoft.UI.Xaml; @@ -16,14 +13,10 @@ using UniGetUI.Interface; using UniGetUI.PackageEngine; using UniGetUI.PackageEngine.Classes.Manager.Classes; -using UniGetUI.PackageEngine.Operations; using Microsoft.Windows.AppLifecycle; using Microsoft.Windows.AppNotifications; -using UniGetUI.Controls.OperationWidgets; using UniGetUI.Interface.Telemetry; using UniGetUI.PackageEngine.Interfaces; -using UniGetUI.PackageEngine.Managers.PowerShellManager; -using AbstractOperation = UniGetUI.PackageOperations.AbstractOperation; using LaunchActivatedEventArgs = Microsoft.UI.Xaml.LaunchActivatedEventArgs; namespace UniGetUI @@ -63,8 +56,6 @@ public static int AvailableUpdates } } - - public bool RaiseExceptionAsFatal = true; public SettingsPage settings = null!; diff --git a/src/UniGetUI/AppOperationHelper.cs b/src/UniGetUI/AppOperationHelper.cs index 524c192cc..2002d9c6b 100644 --- a/src/UniGetUI/AppOperationHelper.cs +++ b/src/UniGetUI/AppOperationHelper.cs @@ -21,7 +21,7 @@ public partial class MainApp { public static class Operations { - public static ObservableCollection _operationList = new(); + public static ObservableCollection _operationList = []; public static void Add(AbstractOperation op) => _operationList.Add(new(op)); @@ -32,7 +32,9 @@ public static void Remove(OperationControl control) public static void Remove(AbstractOperation op) { foreach(var control in _operationList.Where(x => x.Operation == op).ToArray()) + { _operationList.Remove(control); + } } /* @@ -117,7 +119,10 @@ public static void Remove(AbstractOperation op) public static void Install(IReadOnlyList packages, bool? elevated = null, bool? interactive = null, bool? no_integrity = null) { - foreach (var package in packages) _ = Install(package, elevated, interactive, no_integrity); + foreach (var package in packages) + { + _ = Install(package, elevated, interactive, no_integrity); + } } /* @@ -135,7 +140,10 @@ public static void Install(IReadOnlyList packages, bool? elevated = nu public static void Update(IReadOnlyList packages, bool? elevated = null, bool? interactive = null, bool? no_integrity = null) { - foreach (var package in packages) _ = Update(package, elevated, interactive, no_integrity); + foreach (var package in packages) + { + _ = Update(package, elevated, interactive, no_integrity); + } } /* @@ -170,7 +178,10 @@ public static async void ConfirmAndUninstall(IPackage? package, bool? elevated = public static void Uninstall(IReadOnlyList packages, bool? elevated = null, bool? interactive = null, bool? remove_data = null) { - foreach (var package in packages) _ = Uninstall(package, elevated, interactive, remove_data); + foreach (var package in packages) + { + _ = Uninstall(package, elevated, interactive, remove_data); + } } } } diff --git a/src/UniGetUI/AutoUpdater.cs b/src/UniGetUI/AutoUpdater.cs index 0a0411321..b3bbf58e6 100644 --- a/src/UniGetUI/AutoUpdater.cs +++ b/src/UniGetUI/AutoUpdater.cs @@ -92,10 +92,8 @@ public static async Task CheckAndInstallUpdates(Window window, InfoBar ban Logger.Info($"A cached valid installer was found, launching update process..."); return await PrepairToLaunchInstaller(InstallerPath, LatestVersion, AutoLaunch, ManualCheck); } - else - { - File.Delete(InstallerPath); - } + + File.Delete(InstallerPath); ShowMessage_ThreadSafe( CoreTools.Translate("UniGetUI version {0} is being downloaded.", LatestVersion.ToString(CultureInfo.InvariantCulture)), @@ -111,34 +109,30 @@ public static async Task CheckAndInstallUpdates(Window window, InfoBar ban Logger.Info("The downloaded installer is valid, launching update process..."); return await PrepairToLaunchInstaller(InstallerPath, LatestVersion, AutoLaunch, ManualCheck); } - else - { - ShowMessage_ThreadSafe( - CoreTools.Translate("The installer authenticity could not be verified."), - CoreTools.Translate("The update process has been aborted."), - InfoBarSeverity.Error, - true); - return false; - } - } - else - { - if (Verbose) ShowMessage_ThreadSafe( - CoreTools.Translate("Great! You are on the latest version."), - CoreTools.Translate("There are no new UniGetUI versions to be installed"), - InfoBarSeverity.Success, - true - ); - return true; + + ShowMessage_ThreadSafe( + CoreTools.Translate("The installer authenticity could not be verified."), + CoreTools.Translate("The update process has been aborted."), + InfoBarSeverity.Error, + true); + return false; } + if (Verbose) ShowMessage_ThreadSafe( + CoreTools.Translate("Great! You are on the latest version."), + CoreTools.Translate("There are no new UniGetUI versions to be installed"), + InfoBarSeverity.Success, + true + ); + return true; + } catch (Exception e) { Logger.Error("An error occurred while checking for updates: "); Logger.Error(e); // We don't want an error popping if updates can't - if(Verbose || !WasCheckingForUpdates) ShowMessage_ThreadSafe( + if (Verbose || !WasCheckingForUpdates) ShowMessage_ThreadSafe( CoreTools.Translate("An error occurred when checking for updates: "), e.Message, InfoBarSeverity.Error, diff --git a/src/UniGetUI/Controls/ObservablePackageCollection.cs b/src/UniGetUI/Controls/ObservablePackageCollection.cs index b63bf159b..6bbc5985b 100644 --- a/src/UniGetUI/Controls/ObservablePackageCollection.cs +++ b/src/UniGetUI/Controls/ObservablePackageCollection.cs @@ -83,7 +83,7 @@ public void SetSorter(Sorter field) /// public List GetPackages() { - List packages = new(); + List packages = []; foreach (PackageWrapper wrapper in this) { packages.Add(wrapper.Package); diff --git a/src/UniGetUI/Controls/OperationWidgets/OperationBadge.cs b/src/UniGetUI/Controls/OperationWidgets/OperationBadge.cs index e753fe008..dc59452a1 100644 --- a/src/UniGetUI/Controls/OperationWidgets/OperationBadge.cs +++ b/src/UniGetUI/Controls/OperationWidgets/OperationBadge.cs @@ -1,8 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using UniGetUI.Interface.Enums; namespace UniGetUI.Controls.OperationWidgets; @@ -19,7 +14,7 @@ public OperationBadge(string tooltip, IconType icon, string primaryBanner, strin Tooltip = tooltip; Icon = icon; PrimaryBanner = primaryBanner; - if(secondaryBanner is null || secondaryBanner == String.Empty) + if (secondaryBanner is null || secondaryBanner == String.Empty) { SecondaryBannerVisible = false; SecondaryBanner = ""; diff --git a/src/UniGetUI/Controls/OperationWidgets/OperationControl.cs b/src/UniGetUI/Controls/OperationWidgets/OperationControl.cs index b316a2dc2..2673d2e83 100644 --- a/src/UniGetUI/Controls/OperationWidgets/OperationControl.cs +++ b/src/UniGetUI/Controls/OperationWidgets/OperationControl.cs @@ -1,11 +1,6 @@ using System.ComponentModel; -using System.Linq.Expressions; using System.Runtime.CompilerServices; -using System.Runtime.InteropServices.JavaScript; -using Windows.Devices.Sensors; using Windows.UI; -using Microsoft.UI.Dispatching; -using Microsoft.UI.Input; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Media; using Microsoft.Windows.AppNotifications; @@ -33,7 +28,7 @@ public class OperationControl: INotifyPropertyChanged private bool ErrorTooltipShown; public BetterMenu OpMenu; public OperationStatus? MenuStateOnLoaded; - public ObservableCollection Badges = new(); + public ObservableCollection Badges = []; public OperationControl(AbstractOperation operation) { @@ -122,11 +117,11 @@ private async void OnOperationSucceeded(object? sender, EventArgs e) break; } } - if(!isOpRunning) await CoreTools.ResetUACForCurrentProcess(); + if (!isOpRunning) await CoreTools.ResetUACForCurrentProcess(); } // Clean succesful operation from list - if(!Settings.Get("MaintainSuccessfulInstalls") && Operation is not DownloadOperation) + if (!Settings.Get("MaintainSuccessfulInstalls") && Operation is not DownloadOperation) await TimeoutAndClose(); } @@ -142,9 +137,11 @@ private void OnOperationFinished(object? sender, EventArgs e) MainApp.Tooltip.OperationsInProgress--; // Generate process output - List rawOutput = new(); - rawOutput.Add(" "); - rawOutput.Add("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"); + List rawOutput = + [ + " ", + "▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄", + ]; foreach (var line in Operation.GetOutput()) { rawOutput.Add(line.Item1); @@ -257,22 +254,24 @@ public void LoadMenu() if (normalOptions.Any()) { foreach(var item in normalOptions) + { OpMenu.Items.Add(item); + } OpMenu.Items.Add(new MenuFlyoutSeparator()); } if (Operation.Status is OperationStatus.InQueue) { - var skipQueue = new BetterMenuItem() { Text = CoreTools.Translate("Run now"), Icon = new FontIcon(){Glyph = "\uE768"} }; + var skipQueue = new BetterMenuItem { Text = CoreTools.Translate("Run now"), Icon = new FontIcon {Glyph = "\uE768"} }; skipQueue.Click += (_, _) => Operation.SkipQueue(); OpMenu.Items.Add(skipQueue); - var putNext = new BetterMenuItem() { Text = CoreTools.Translate("Run next"), Icon = new FontIcon(){Glyph = "\uEB9D"} }; + var putNext = new BetterMenuItem { Text = CoreTools.Translate("Run next"), Icon = new FontIcon {Glyph = "\uEB9D"} }; putNext.Click += (_, _) => Operation.RunNext(); OpMenu.Items.Add(putNext); - var putLast = new BetterMenuItem() { Text = CoreTools.Translate("Run last"), Icon = new FontIcon(){Glyph = "\uEB9E"} }; + var putLast = new BetterMenuItem { Text = CoreTools.Translate("Run last"), Icon = new FontIcon {Glyph = "\uEB9E"} }; putLast.Click += (_, _) => Operation.BackOfTheQueue(); OpMenu.Items.Add(putLast); @@ -282,13 +281,13 @@ public void LoadMenu() // Create Cancel/Retry buttons if (Operation.Status is OperationStatus.InQueue or OperationStatus.Running) { - var cancel = new BetterMenuItem() { Text = CoreTools.Translate("Cancel"), IconName = IconType.Cross, }; + var cancel = new BetterMenuItem { Text = CoreTools.Translate("Cancel"), IconName = IconType.Cross, }; cancel.Click += (_, _) => Operation.Cancel(); OpMenu.Items.Add(cancel); } else { - var retry = new BetterMenuItem() { Text = CoreTools.Translate("Retry"), IconName = IconType.Reload, }; + var retry = new BetterMenuItem { Text = CoreTools.Translate("Retry"), IconName = IconType.Reload, }; retry.Click += (_, _) => Operation.Retry(AbstractOperation.RetryMode.Retry); OpMenu.Items.Add(retry); @@ -299,7 +298,9 @@ public void LoadMenu() OpMenu.Items.Add(new MenuFlyoutSeparator()); foreach(var item in extraRetry) + { OpMenu.Items.Add(item); + } } } } @@ -395,7 +396,6 @@ protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName MainApp.Dispatcher.TryEnqueue(() => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName))); } - private void ShowProgressToast() { if (Settings.AreProgressNotificationsDisabled()) @@ -481,7 +481,7 @@ public List GetRetryOptions(Action callback) if (Operation is SourceOperation sourceOp && !sourceOp.ForceAsAdministrator) { - var adminButton = new BetterMenuItem() { Text = CoreTools.Translate("Retry as administrator") }; + var adminButton = new BetterMenuItem { Text = CoreTools.Translate("Retry as administrator") }; adminButton.IconName = IconType.UAC; adminButton.Click += (_, _) => { @@ -494,7 +494,7 @@ public List GetRetryOptions(Action callback) { if (!packageOp.Options.RunAsAdministrator && packageOp.Package.Manager.Capabilities.CanRunAsAdmin) { - var adminButton = new BetterMenuItem() { Text = CoreTools.Translate("Retry as administrator") }; + var adminButton = new BetterMenuItem { Text = CoreTools.Translate("Retry as administrator") }; adminButton.IconName = IconType.UAC; adminButton.Click += (_, _) => { @@ -507,7 +507,7 @@ public List GetRetryOptions(Action callback) if (!packageOp.Options.InteractiveInstallation && packageOp.Package.Manager.Capabilities.CanRunInteractively) { - var interactiveButton = new BetterMenuItem() { Text = CoreTools.Translate("Retry interactively") }; + var interactiveButton = new BetterMenuItem { Text = CoreTools.Translate("Retry interactively") }; interactiveButton.IconName = IconType.Interactive; interactiveButton.Click += (_, _) => { @@ -520,7 +520,7 @@ public List GetRetryOptions(Action callback) if (!packageOp.Options.SkipHashCheck && packageOp.Package.Manager.Capabilities.CanSkipIntegrityChecks) { var skiphashButton = - new BetterMenuItem() { Text = CoreTools.Translate("Retry skipping integrity checks") }; + new BetterMenuItem { Text = CoreTools.Translate("Retry skipping integrity checks") }; skiphashButton.IconName = IconType.Checksum; skiphashButton.Click += (_, _) => { @@ -539,7 +539,7 @@ public List GetOperationOptions() var optionsMenu = new List(); if (Operation is PackageOperation packageOp) { - var details = new BetterMenuItem() { Text = CoreTools.Translate("Package details") }; + var details = new BetterMenuItem { Text = CoreTools.Translate("Package details") }; details.IconName = IconType.Info_Round; details.Click += (_, _) => { @@ -547,7 +547,7 @@ public List GetOperationOptions() }; optionsMenu.Add(details); - var installationSettings = new BetterMenuItem() { Text = CoreTools.Translate("Installation options") }; + var installationSettings = new BetterMenuItem { Text = CoreTools.Translate("Installation options") }; installationSettings.IconName = IconType.Options; installationSettings.Click += (_, _) => { @@ -556,11 +556,11 @@ public List GetOperationOptions() optionsMenu.Add(installationSettings); string? location = packageOp.Package.Manager.DetailsHelper.GetInstallLocation(packageOp.Package); - var openLocation = new BetterMenuItem() { Text = CoreTools.Translate("Open install location") }; + var openLocation = new BetterMenuItem { Text = CoreTools.Translate("Open install location") }; openLocation.IconName = IconType.OpenFolder; openLocation.Click += (_, _) => { - Process.Start(new ProcessStartInfo() { + Process.Start(new ProcessStartInfo { FileName = location ?? "", UseShellExecute = true, Verb = "open" @@ -573,13 +573,13 @@ public List GetOperationOptions() else if (Operation is DownloadOperation downloadOp) { - var launchInstaller = new BetterMenuItem() { Text = CoreTools.Translate("Open") }; + var launchInstaller = new BetterMenuItem { Text = CoreTools.Translate("Open") }; launchInstaller.IconName = IconType.Launch; launchInstaller.Click += (_, _) => { try { - Process.Start(new ProcessStartInfo() + Process.Start(new ProcessStartInfo { FileName = downloadOp.DownloadLocation, UseShellExecute = true @@ -594,7 +594,7 @@ public List GetOperationOptions() launchInstaller.IsEnabled = downloadOp.Status is OperationStatus.Succeeded; optionsMenu.Add(launchInstaller); - var showFileInExplorer = new BetterMenuItem() { Text = CoreTools.Translate("Show in explorer") }; + var showFileInExplorer = new BetterMenuItem { Text = CoreTools.Translate("Show in explorer") }; showFileInExplorer.IconName = IconType.OpenFolder; showFileInExplorer.Click += (_, _) => { diff --git a/src/UniGetUI/Controls/PackageWrapper.cs b/src/UniGetUI/Controls/PackageWrapper.cs index 4a507ace2..194c4cd39 100644 --- a/src/UniGetUI/Controls/PackageWrapper.cs +++ b/src/UniGetUI/Controls/PackageWrapper.cs @@ -164,7 +164,7 @@ public void UpdatePackageIcon() { if (CachedPackageIcons.TryGetValue(Package.GetHash(), out Uri? icon)) { - MainIconSource = new BitmapImage() + MainIconSource = new BitmapImage { UriSource = icon, DecodePixelWidth = 24, diff --git a/src/UniGetUI/Controls/SettingsWidgets/ComboboxCard.cs b/src/UniGetUI/Controls/SettingsWidgets/ComboboxCard.cs index 49d79c050..121570344 100644 --- a/src/UniGetUI/Controls/SettingsWidgets/ComboboxCard.cs +++ b/src/UniGetUI/Controls/SettingsWidgets/ComboboxCard.cs @@ -14,7 +14,7 @@ namespace UniGetUI.Interface.Widgets public sealed class ComboboxCard : SettingsCard { private readonly ComboBox _combobox = new(); - private readonly ObservableCollection _elements = new(); + private readonly ObservableCollection _elements = []; private readonly Dictionary _values_ref = new(); private readonly Dictionary _inverted_val_ref = new(); diff --git a/src/UniGetUI/Controls/SourceManager.xaml.cs b/src/UniGetUI/Controls/SourceManager.xaml.cs index 2964f603a..ea8ba7f21 100644 --- a/src/UniGetUI/Controls/SourceManager.xaml.cs +++ b/src/UniGetUI/Controls/SourceManager.xaml.cs @@ -36,7 +36,7 @@ public sealed partial class SourceManager : UserControl { private IPackageManager Manager { get; set; } // ReSharper disable once FieldCanBeMadeReadOnly.Local - private ObservableCollection Sources = new(); + private ObservableCollection Sources = []; private ListView _datagrid { get; set; } diff --git a/src/UniGetUI/Controls/TranslatedTextBlock.xaml.cs b/src/UniGetUI/Controls/TranslatedTextBlock.xaml.cs index 265242576..d86969b3f 100644 --- a/src/UniGetUI/Controls/TranslatedTextBlock.xaml.cs +++ b/src/UniGetUI/Controls/TranslatedTextBlock.xaml.cs @@ -38,7 +38,7 @@ public TranslatedTextBlock() public void ApplyText() { - if(__textblock is not null) + if (__textblock is not null) __textblock.Text = __prefix + __text + __suffix; } } diff --git a/src/UniGetUI/MainWindow.xaml.cs b/src/UniGetUI/MainWindow.xaml.cs index d1d9cd636..cd3ac1276 100644 --- a/src/UniGetUI/MainWindow.xaml.cs +++ b/src/UniGetUI/MainWindow.xaml.cs @@ -82,7 +82,7 @@ public MainWindow() Title = Title + " - DEBUG BUILD"; AppTitle.Text = Title; #endif - var panel = new StackPanel() + var panel = new StackPanel { Width = 400, Orientation = Orientation.Vertical, @@ -211,7 +211,7 @@ public async void HandleClosingEvent(AppWindow sender, AppWindowClosingEventArgs else { if (MainApp.Operations._operationList.Any() - && MainApp.Operations._operationList.Where(x => x.Operation.Status is OperationStatus.Running or OperationStatus.InQueue).Any()) + && MainApp.Operations._operationList.Any(x => x.Operation.Status is OperationStatus.Running or OperationStatus.InQueue)) { args.Cancel = true; ContentDialog d = new() diff --git a/src/UniGetUI/Pages/DialogPages/DesktopShortcuts.xaml.cs b/src/UniGetUI/Pages/DialogPages/DesktopShortcuts.xaml.cs index 82aa0a1a1..bcdca9b0b 100644 --- a/src/UniGetUI/Pages/DialogPages/DesktopShortcuts.xaml.cs +++ b/src/UniGetUI/Pages/DialogPages/DesktopShortcuts.xaml.cs @@ -15,13 +15,12 @@ namespace UniGetUI.Interface /// /// An empty page that can be used on its own or navigated to within a Frame. /// - public sealed partial class DesktopShortcutsManager : Page { public event EventHandler? Close; - private readonly ObservableCollection desktopShortcuts = new ObservableCollection(); + private readonly ObservableCollection desktopShortcuts = []; - private bool NewOnly; + private readonly bool NewOnly; public DesktopShortcutsManager(List? NewShortcuts) { diff --git a/src/UniGetUI/Pages/DialogPages/DialogHelper_Generic.cs b/src/UniGetUI/Pages/DialogPages/DialogHelper_Generic.cs index eb8be8484..089085db5 100644 --- a/src/UniGetUI/Pages/DialogPages/DialogHelper_Generic.cs +++ b/src/UniGetUI/Pages/DialogPages/DialogHelper_Generic.cs @@ -1,10 +1,8 @@ using System.Diagnostics; using Windows.UI; -using Microsoft.UI; using Microsoft.UI.Text; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; -using Microsoft.UI.Xaml.Controls.Primitives; using Microsoft.UI.Xaml.Documents; using Microsoft.UI.Xaml.Media; using Microsoft.Windows.AppNotifications; @@ -270,21 +268,21 @@ public static async Task ManageDesktopShortcuts(List? NewShortucts = nul public static async Task HandleNewDesktopShortcuts() { - var UnknownShortcuts = DesktopShortcutsDatabase.GetUnknownShortcuts(); + var unknownShortcuts = DesktopShortcutsDatabase.GetUnknownShortcuts(); if (!Settings.AreNotificationsDisabled()) { - AppNotificationManager.Default.RemoveByTagAsync(CoreData.NewShortcutsNotificationTag.ToString()); + await AppNotificationManager.Default.RemoveByTagAsync(CoreData.NewShortcutsNotificationTag.ToString()); AppNotification notification; - if (UnknownShortcuts.Count == 1) + if (unknownShortcuts.Count == 1) { AppNotificationBuilder builder = new AppNotificationBuilder() .SetScenario(AppNotificationScenario.Default) .SetTag(CoreData.NewShortcutsNotificationTag.ToString()) .AddText(CoreTools.Translate("Desktop shortcut created")) .AddText(CoreTools.Translate("UniGetUI has detected a new desktop shortcut that can be deleted automatically.")) - .SetAttributionText(UnknownShortcuts.First().Split("\\").Last()) + .SetAttributionText(unknownShortcuts.First().Split("\\").Last()) .AddButton(new AppNotificationButton(CoreTools.Translate("Open UniGetUI").Replace("'", "´")) .AddArgument("action", NotificationArguments.Show) ) @@ -295,14 +293,18 @@ public static async Task HandleNewDesktopShortcuts() else { string attribution = ""; - foreach (string shortcut in UnknownShortcuts) attribution += shortcut.Split("\\").Last() + ", "; + foreach (string shortcut in unknownShortcuts) + { + attribution += shortcut.Split("\\").Last() + ", "; + } + attribution = attribution.TrimEnd(' ').TrimEnd(','); AppNotificationBuilder builder = new AppNotificationBuilder() .SetScenario(AppNotificationScenario.Default) .SetTag(CoreData.NewShortcutsNotificationTag.ToString()) - .AddText(CoreTools.Translate("{0} desktop shortcuts created", UnknownShortcuts.Count)) - .AddText(CoreTools.Translate("UniGetUI has detected {0} new desktop shortcuts that can be deleted automatically.", UnknownShortcuts.Count)) + .AddText(CoreTools.Translate("{0} desktop shortcuts created", unknownShortcuts.Count)) + .AddText(CoreTools.Translate("UniGetUI has detected {0} new desktop shortcuts that can be deleted automatically.", unknownShortcuts.Count)) .SetAttributionText(attribution) .AddButton(new AppNotificationButton(CoreTools.Translate("Open UniGetUI").Replace("'", "´")) .AddArgument("action", NotificationArguments.ShowOnUpdatesTab) @@ -316,7 +318,7 @@ public static async Task HandleNewDesktopShortcuts() AppNotificationManager.Default.Show(notification); } - await ManageDesktopShortcuts(UnknownShortcuts); + await ManageDesktopShortcuts(unknownShortcuts); } public static async void WarnAboutAdminRights() @@ -388,7 +390,7 @@ public static async void HandleBrokenWinGet() "WinGet is being repaired. Please wait until the process finishes."); bannerWasOpen = Window.WinGetWarningBanner.IsOpen; Window.WinGetWarningBanner.IsOpen = false; - Process p = new Process() + Process p = new Process { StartInfo = new() { @@ -419,7 +421,7 @@ public static async void HandleBrokenWinGet() if (Settings.Get("ForceLegacyBundledWinGet")) Settings.Set("ForceLegacyBundledWinGet", false); - var c = new ContentDialog() + var c = new ContentDialog { Title = CoreTools.Translate("WinGet was repaired successfully"), Content = CoreTools.Translate("It is recommended to restart UniGetUI after WinGet has been repaired") + @@ -452,7 +454,7 @@ public static async void HandleBrokenWinGet() Logger.Error(ex); DialogHelper.HideLoadingDialog(); - var c = new ContentDialog() + var c = new ContentDialog { Title = CoreTools.Translate("WinGet could not be repaired"), Content = @@ -471,7 +473,7 @@ public static async void HandleBrokenWinGet() public static async void ShowTelemetryDialog() { - var dialog = new ContentDialog() + var dialog = new ContentDialog { Title = CoreTools.Translate("Share anonymous usage data"), XamlRoot = Window.XamlRoot, @@ -484,19 +486,19 @@ public static async void ShowTelemetryDialog() var p = new Paragraph(); MessageBlock.Blocks.Add(p); - p.Inlines.Add(new Run() + p.Inlines.Add(new Run { Text = CoreTools.Translate("UniGetUI collects anonymous usage data with the sole purpose of understanding and improving the user experience.") }); p.Inlines.Add(new LineBreak()); - p.Inlines.Add(new Run() + p.Inlines.Add(new Run { Text = CoreTools.Translate("No personal information is collected nor sent, and the collected data is anonimized, so it can't be back-tracked to you.") }); p.Inlines.Add(new LineBreak()); p.Inlines.Add(new LineBreak()); - var link = new Hyperlink() { NavigateUri = new Uri("https://www.marticliment.com/unigetui/privacy/"), }; - link.Inlines.Add(new Run() + var link = new Hyperlink { NavigateUri = new Uri("https://www.marticliment.com/unigetui/privacy/"), }; + link.Inlines.Add(new Run { Text = CoreTools.Translate("More details about the shared data and how it will be processed"), }); @@ -504,13 +506,12 @@ public static async void ShowTelemetryDialog() p.Inlines.Add(link); p.Inlines.Add(new LineBreak()); p.Inlines.Add(new LineBreak()); - p.Inlines.Add(new Run() + p.Inlines.Add(new Run { Text = CoreTools.Translate("Do you accept that UniGetUI collects and sends anonymous usage statistics, with the sole purpose of understanding and improving the user experience?"), FontWeight = FontWeights.SemiBold }); - dialog.PrimaryButtonText = CoreTools.Translate("Decline"); dialog.SecondaryButtonText = CoreTools.Translate("Accept"); dialog.DefaultButton = ContentDialogButton.Secondary; @@ -538,7 +539,7 @@ public static void ShowTelemetryBanner() Window.TelemetryWarner.IsOpen = true; Window.TelemetryWarner.Background = new SolidColorBrush(Color.FromArgb(62, 66, 135, 245)); - Window.TelemetryWarner.IconSource = new FontIconSource() + Window.TelemetryWarner.IconSource = new FontIconSource { Glyph = "\uF167", FontSize = 14, @@ -547,7 +548,7 @@ public static void ShowTelemetryBanner() Window.TelemetryWarner.IsClosable = true; Window.TelemetryWarner.Visibility = Visibility.Visible; - Window.TelemetryWarner.ActionButton = new Button() + Window.TelemetryWarner.ActionButton = new Button { Content = CoreTools.Translate("Settings"), }; diff --git a/src/UniGetUI/Pages/DialogPages/DialogHelper_Operations.cs b/src/UniGetUI/Pages/DialogPages/DialogHelper_Operations.cs index 8a406ff61..794880863 100644 --- a/src/UniGetUI/Pages/DialogPages/DialogHelper_Operations.cs +++ b/src/UniGetUI/Pages/DialogPages/DialogHelper_Operations.cs @@ -1,4 +1,3 @@ -using Windows.UI; using ExternalLibraries.Clipboard; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; @@ -240,7 +239,7 @@ public static async Task ShowLiveLogDialog(AbstractOperation operation) EventHandler<(string, AbstractOperation.LineType)> AddLineLambda = (_, line) => MainApp.Dispatcher.TryEnqueue(() => { - if(LastLineWasProgress) par.Inlines.RemoveAt(par.Inlines.Count-1); + if (LastLineWasProgress) par.Inlines.RemoveAt(par.Inlines.Count-1); LastLineWasProgress = false; if (line.Item2 is AbstractOperation.LineType.Information) diff --git a/src/UniGetUI/Pages/DialogPages/DialogHelper_Packages.cs b/src/UniGetUI/Pages/DialogPages/DialogHelper_Packages.cs index fdeaae6ea..aea55d085 100644 --- a/src/UniGetUI/Pages/DialogPages/DialogHelper_Packages.cs +++ b/src/UniGetUI/Pages/DialogPages/DialogHelper_Packages.cs @@ -1,23 +1,15 @@ -using Microsoft.UI; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; -using Microsoft.UI.Xaml.Documents; using Microsoft.UI.Xaml.Media; using UniGetUI.Core.Tools; -using UniGetUI.Interface; using UniGetUI.Interface.Dialogs; -using UniGetUI.Interface.Enums; -using UniGetUI.Interface.Widgets; using UniGetUI.PackageEngine.Enums; using UniGetUI.PackageEngine.Interfaces; -using UniGetUI.PackageEngine.Operations; using UniGetUI.PackageEngine.PackageClasses; using UniGetUI.PackageEngine.Serializable; -using AbstractOperation = UniGetUI.PackageOperations.AbstractOperation; namespace UniGetUI.Pages.DialogPages; - public static partial class DialogHelper { /// @@ -38,7 +30,6 @@ public static async Task ShowInstallatOptions_Continue(IPackage package, O return dialogResult == ContentDialogResult.Secondary; } - /// /// Will update the Installation Options for the given imported package /// @@ -89,7 +80,6 @@ public static async Task ShowInstallOptions_ImportedPackage return (await OptionsPage.GetUpdatedOptions(), result); } - public static async void ShowPackageDetails(IPackage package, OperationType operation) { PackageDetailsPage DetailsPage = new(package, operation); @@ -116,7 +106,6 @@ public static async void ShowPackageDetails(IPackage package, OperationType oper await Window.ShowDialogAsync(DetailsDialog); } - public static async Task ConfirmUninstallation(IPackage package) { ContentDialog dialog = new() @@ -133,7 +122,6 @@ public static async Task ConfirmUninstallation(IPackage package) return await Window.ShowDialogAsync(dialog) is ContentDialogResult.Primary; } - public static async Task ConfirmUninstallation(IEnumerable packages) { if (!packages.Any()) diff --git a/src/UniGetUI/Pages/DialogPages/IgnoredUpdates.xaml.cs b/src/UniGetUI/Pages/DialogPages/IgnoredUpdates.xaml.cs index a27e08430..c79f35194 100644 --- a/src/UniGetUI/Pages/DialogPages/IgnoredUpdates.xaml.cs +++ b/src/UniGetUI/Pages/DialogPages/IgnoredUpdates.xaml.cs @@ -20,7 +20,7 @@ namespace UniGetUI.Interface public sealed partial class IgnoredUpdatesManager : Page { public event EventHandler? Close; - private readonly ObservableCollection ignoredPackages = new ObservableCollection(); + private readonly ObservableCollection ignoredPackages = []; public IgnoredUpdatesManager() { diff --git a/src/UniGetUI/Pages/DialogPages/PackageDetailsPage.xaml.cs b/src/UniGetUI/Pages/DialogPages/PackageDetailsPage.xaml.cs index 163863168..4866c2f78 100644 --- a/src/UniGetUI/Pages/DialogPages/PackageDetailsPage.xaml.cs +++ b/src/UniGetUI/Pages/DialogPages/PackageDetailsPage.xaml.cs @@ -1,7 +1,4 @@ using System.Collections.ObjectModel; -using System.Diagnostics; -using Windows.Storage; -using Windows.Storage.Pickers; using Windows.UI; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; @@ -9,20 +6,13 @@ using Microsoft.UI.Xaml.Media.Imaging; using Microsoft.UI.Xaml.Documents; using Windows.UI.Text; -using UniGetUI.Core.Data; -using UniGetUI.Core.Logging; using UniGetUI.Core.Tools; using UniGetUI.PackageEngine; using UniGetUI.PackageEngine.Enums; using UniGetUI.PackageEngine.Interfaces; -using UniGetUI.PackageEngine.Managers.PowerShellManager; -using UniGetUI.PackageEngine.Operations; using UniGetUI.PackageEngine.PackageClasses; using UniGetUI.Interface.Enums; using UniGetUI.Interface.Widgets; -using UniGetUI.PackageEngine.ManagerClasses.Manager; -using UniGetUI.Pages.DialogPages; -using FileSavePicker = Windows.Storage.Pickers.FileSavePicker; // To learn more about WinUI, the WinUI project structure, // and more about our project templates, see: http://aka.ms/winui-project-info. @@ -39,7 +29,6 @@ public sealed partial class PackageDetailsPage : Page public IPackage? UpgradablePackage; public IPackage? InstalledPackage; - private readonly InstallOptionsPage InstallOptionsPage; public event EventHandler? Close; private readonly OperationType OperationRole; @@ -140,19 +129,19 @@ public PackageDetailsPage(IPackage package, OperationType role) public void SetUpActionButtonAsInstall() { - var AsAdmin = new BetterMenuItem() + var AsAdmin = new BetterMenuItem { Text = CoreTools.Translate("Install as administrator"), IconName = IconType.UAC, IsEnabled = Package.Manager.Capabilities.CanRunAsAdmin }; - var Interactive = new BetterMenuItem() + var Interactive = new BetterMenuItem { Text = CoreTools.Translate("Interactive installation"), IconName = IconType.Interactive, IsEnabled = Package.Manager.Capabilities.CanRunInteractively }; - var SkipHash = new BetterMenuItem() + var SkipHash = new BetterMenuItem { Text = CoreTools.Translate("Skip hash check"), IconName = IconType.Checksum, @@ -167,11 +156,10 @@ public void SetUpActionButtonAsInstall() ExtendedActionsMenu.Items.Add(Interactive); ExtendedActionsMenu.Items.Add(SkipHash); - if (UpgradablePackage is not null) { ExtendedActionsMenu.Items.Add(new MenuFlyoutSeparator()); - var Upgrade = new BetterMenuItem() + var Upgrade = new BetterMenuItem { Text = CoreTools.Translate("Update to version {0}", UpgradablePackage.NewVersion), IconName = IconType.Update @@ -183,7 +171,7 @@ public void SetUpActionButtonAsInstall() if (InstalledPackage is not null) { ExtendedActionsMenu.Items.Add(new MenuFlyoutSeparator()); - var Uninstall = new BetterMenuItem() + var Uninstall = new BetterMenuItem { Text = CoreTools.Translate("Uninstall"), IconName = IconType.Delete @@ -195,19 +183,19 @@ public void SetUpActionButtonAsInstall() public void SetUpActionButtonAsUpdate() { - var AsAdmin = new BetterMenuItem() + var AsAdmin = new BetterMenuItem { Text = CoreTools.Translate("Update as administrator"), IconName = IconType.UAC, IsEnabled = Package.Manager.Capabilities.CanRunAsAdmin }; - var Interactive = new BetterMenuItem() + var Interactive = new BetterMenuItem { Text = CoreTools.Translate("Interactive update"), IconName = IconType.Interactive, IsEnabled = Package.Manager.Capabilities.CanRunInteractively }; - var SkipHash = new BetterMenuItem() + var SkipHash = new BetterMenuItem { Text = CoreTools.Translate("Skip hash check"), IconName = IconType.Checksum, @@ -225,7 +213,7 @@ public void SetUpActionButtonAsUpdate() if (InstalledPackage is not null) { ExtendedActionsMenu.Items.Add(new MenuFlyoutSeparator()); - var Uninstall = new BetterMenuItem() + var Uninstall = new BetterMenuItem { Text = CoreTools.Translate("Uninstall"), IconName = IconType.Delete }; @@ -234,7 +222,7 @@ public void SetUpActionButtonAsUpdate() } ExtendedActionsMenu.Items.Add(new MenuFlyoutSeparator()); - var Reinstall = new BetterMenuItem() + var Reinstall = new BetterMenuItem { Text = CoreTools.Translate("Reinstall"), IconName = IconType.Download @@ -245,19 +233,19 @@ public void SetUpActionButtonAsUpdate() public void SetUpActionButtonAsUninstall() { - var AsAdmin = new BetterMenuItem() + var AsAdmin = new BetterMenuItem { Text = CoreTools.Translate("Uninstall as administrator"), IconName = IconType.UAC, IsEnabled = Package.Manager.Capabilities.CanRunAsAdmin }; - var Interactive = new BetterMenuItem() + var Interactive = new BetterMenuItem { Text = CoreTools.Translate("Interactive uninstall"), IconName = IconType.Interactive, IsEnabled = Package.Manager.Capabilities.CanRunInteractively }; - var RemoveData = new BetterMenuItem() + var RemoveData = new BetterMenuItem { Text = CoreTools.Translate("Uninstall and remove data"), IconName = IconType.Close_Round, @@ -275,7 +263,7 @@ public void SetUpActionButtonAsUninstall() if (UpgradablePackage is not null) { ExtendedActionsMenu.Items.Add(new MenuFlyoutSeparator()); - var Upgrade = new BetterMenuItem() + var Upgrade = new BetterMenuItem { Text = CoreTools.Translate("Update to version {0}", UpgradablePackage.NewVersion), IconName = IconType.Update @@ -285,7 +273,7 @@ public void SetUpActionButtonAsUninstall() } ExtendedActionsMenu.Items.Add(new MenuFlyoutSeparator()); - var Reinstall = new BetterMenuItem() + var Reinstall = new BetterMenuItem { Text = CoreTools.Translate("Reinstall"), IconName = IconType.Download }; @@ -397,7 +385,7 @@ public void SetTextToItem(Hyperlink h, Uri? u, string prefix = "", string suffix if (u is null) { h.Inlines.Clear(); - h.Inlines.Add(new Run() + h.Inlines.Add(new Run { Text = CoreTools.Translate("Not available"), TextDecorations = TextDecorations.None, diff --git a/src/UniGetUI/Pages/LogPages/ManagerLogsPage.cs b/src/UniGetUI/Pages/LogPages/ManagerLogsPage.cs index eb9b0d94b..6061ede28 100644 --- a/src/UniGetUI/Pages/LogPages/ManagerLogsPage.cs +++ b/src/UniGetUI/Pages/LogPages/ManagerLogsPage.cs @@ -21,7 +21,7 @@ public void LoadForManager(IPackageManager manager) bool IS_DARK = this.ActualTheme == ElementTheme.Dark; bool verbose = LogLevelCombo.SelectedValue?.ToString()?.Contains(CoreTools.Translate("Verbose")) ?? false; - if(!verbose) SelectLogLevelByName(manager.DisplayName); + if (!verbose) SelectLogLevelByName(manager.DisplayName); IManagerLogger TaskLogger = manager.TaskLogger; LogTextBox.Blocks.Clear(); @@ -63,7 +63,7 @@ public override void LoadLog(bool isReload = false) break; } - if(isReload) MainScroller.ScrollToVerticalOffset(MainScroller.ScrollableHeight); + if (isReload) MainScroller.ScrollToVerticalOffset(MainScroller.ScrollableHeight); } } diff --git a/src/UniGetUI/Pages/MainView.xaml.cs b/src/UniGetUI/Pages/MainView.xaml.cs index 4ee036793..b4f7afebb 100644 --- a/src/UniGetUI/Pages/MainView.xaml.cs +++ b/src/UniGetUI/Pages/MainView.xaml.cs @@ -13,10 +13,7 @@ using Windows.UI.Core; using UniGetUI.PackageEngine.Interfaces; using UniGetUI.Pages.DialogPages; -using UniGetUI.PackageEngine.Operations; -using CommunityToolkit.WinUI.Controls; using UniGetUI.PackageEngine.Enums; -using UniGetUI.PackageEngine; using UniGetUI.PackageOperations; // To learn more about WinUI, the WinUI project structure, @@ -52,7 +49,7 @@ public sealed partial class MainView : UserControl private PageType OldPage_t = PageType.Null; private PageType CurrentPage_t = PageType.Null; - private readonly HashSet AddedPages = new(); + private readonly HashSet AddedPages = []; public MainView() { @@ -281,7 +278,7 @@ private void ManagerLogsMenu_Click(object sender, RoutedEventArgs e) public void OpenManagerLogs(IPackageManager? manager = null) { NavigateTo(PageType.ManagerLog); - if(manager is not null) ManagerLogPage?.LoadForManager(manager); + if (manager is not null) ManagerLogPage?.LoadForManager(manager); } public void UniGetUILogs_Click(object sender, RoutedEventArgs e) @@ -296,11 +293,9 @@ public void ShowHelp() private void QuitUniGetUI_Click(object sender, RoutedEventArgs e) => MainApp.Instance.DisposeAndQuit(); - private bool ResizingOPLayout; private int OpListChanges; - bool isCollapsed; private void UpdateOperationsLayout() @@ -315,7 +310,7 @@ private void UpdateOperationsLayout() if (OpCount > 0) { - if(isCollapsed) + if (isCollapsed) { MainContentPresenterGrid.RowDefinitions[2].Height = new GridLength(0); MainContentPresenterGrid.RowDefinitions[1].Height = new GridLength(16); @@ -354,7 +349,7 @@ private async void OperationScrollView_SizeChanged(object sender, SizeChangedEve if (ResizingOPLayout) return; - if(OpListChanges > 0) + if (OpListChanges > 0) { OpListChanges--; return; @@ -376,13 +371,13 @@ private void ExpandCollapseOpList_Click(object sender, RoutedEventArgs e) if (isCollapsed) { isCollapsed = false; - ExpandCollapseOpList.Content = new FontIcon() { Glyph = "\uE96E", FontSize = 14 }; + ExpandCollapseOpList.Content = new FontIcon { Glyph = "\uE96E", FontSize = 14 }; UpdateOperationsLayout(); } else { isCollapsed = true; - ExpandCollapseOpList.Content = new FontIcon() { Glyph = "\uE96D", FontSize = 14 }; + ExpandCollapseOpList.Content = new FontIcon { Glyph = "\uE96D", FontSize = 14 }; UpdateOperationsLayout(); } } diff --git a/src/UniGetUI/Pages/SettingsPage.xaml.cs b/src/UniGetUI/Pages/SettingsPage.xaml.cs index c3bcfc876..5b4779c18 100644 --- a/src/UniGetUI/Pages/SettingsPage.xaml.cs +++ b/src/UniGetUI/Pages/SettingsPage.xaml.cs @@ -272,9 +272,9 @@ public SettingsPage() Text = "Change vcpkg root location", ButtonText = "Select", }; StackPanel p = new() { Orientation = Orientation.Horizontal, Spacing = 5, }; - var VcPkgRootLabel = new TextBlock() { VerticalAlignment = VerticalAlignment.Center }; - var ResetVcPkgRootLabel = new HyperlinkButton() { Content = CoreTools.Translate("Reset") }; - var OpenVcPkgRootLabel = new HyperlinkButton() { Content = CoreTools.Translate("Open") }; + var VcPkgRootLabel = new TextBlock { VerticalAlignment = VerticalAlignment.Center }; + var ResetVcPkgRootLabel = new HyperlinkButton { Content = CoreTools.Translate("Reset") }; + var OpenVcPkgRootLabel = new HyperlinkButton { Content = CoreTools.Translate("Open") }; VcPkgRootLabel.Text = Settings.Get("CustomVcpkgRoot") ? Settings.GetValue("CustomVcpkgRoot") @@ -362,7 +362,7 @@ public SettingsPage() ManagerStatus.CornerRadius = new CornerRadius(0); ManagerStatus.BorderThickness = new(0, 1, 0, 0); - Button managerLogs = new Button() + Button managerLogs = new Button { Content = new LocalIcon(IconType.Console), CornerRadius = new(0), @@ -484,7 +484,7 @@ void EnableOrDisableEntries() ManagerPath.Click += async (_, _) => { WindowsClipboard.SetText(ManagerPath.Description.ToString() ?? ""); - ManagerPath.ActionIcon = new FontIcon() { Glyph = "\uE73E" }; + ManagerPath.ActionIcon = new FontIcon { Glyph = "\uE73E" }; await Task.Delay(1000); ManagerPath.ActionIcon = new SymbolIcon(Symbol.Copy); }; @@ -640,12 +640,12 @@ private void ResetWingetUI(object sender, EventArgs e) private void LanguageSelector_ValueChanged(object sender, EventArgs e) { - if(InterfaceLoaded) GeneralSettingsExpander.ShowRestartRequiredBanner(); + if (InterfaceLoaded) GeneralSettingsExpander.ShowRestartRequiredBanner(); } private void UpdatesCheckIntervalSelector_ValueChanged(object sender, EventArgs e) { - if(InterfaceLoaded) GeneralSettingsExpander.ShowRestartRequiredBanner(); + if (InterfaceLoaded) GeneralSettingsExpander.ShowRestartRequiredBanner(); } private void ThemeSelector_ValueChanged(object sender, EventArgs e) @@ -697,13 +697,13 @@ private void DoCacheAdminRights_StateChanged(object sender, EventArgs e) } private void DisableWidgetsApi_StateChanged(object sender, EventArgs e) - { if(InterfaceLoaded) ExperimentalSettingsExpander.ShowRestartRequiredBanner(); } + { if (InterfaceLoaded) ExperimentalSettingsExpander.ShowRestartRequiredBanner(); } private void DisableDownloadingNewTranslations_StateChanged(object sender, EventArgs e) - { if(InterfaceLoaded) ExperimentalSettingsExpander.ShowRestartRequiredBanner(); } + { if (InterfaceLoaded) ExperimentalSettingsExpander.ShowRestartRequiredBanner(); } private void TextboxCard_ValueChanged(object sender, EventArgs e) - { if(InterfaceLoaded) ExperimentalSettingsExpander.ShowRestartRequiredBanner(); } + { if (InterfaceLoaded) ExperimentalSettingsExpander.ShowRestartRequiredBanner(); } private async void DoBackup_Click(object sender, EventArgs e) { @@ -737,7 +737,7 @@ private void DisableSystemTray_StateChanged(object sender, EventArgs e) private void EnablePackageBackupCheckBox_StateChanged(object sender, EventArgs e) { - if(InterfaceLoaded) EnablePackageBackupUI(EnablePackageBackupCheckBox.Checked); + if (InterfaceLoaded) EnablePackageBackupUI(EnablePackageBackupCheckBox.Checked); } public void EnablePackageBackupUI(bool enabled) @@ -769,7 +769,7 @@ public void EnablePackageBackupUI(bool enabled) private void UseUserGSudoToggle_StateChanged(object sender, EventArgs e) { - if(InterfaceLoaded) + if (InterfaceLoaded) ExperimentalSettingsExpander.ShowRestartRequiredBanner(); } @@ -792,7 +792,7 @@ private void ResetIconCache_OnClick(object? sender, EventArgs e) private void DisableIconsOnPackageLists_OnStateChanged(object? sender, EventArgs e) { - if(InterfaceLoaded) + if (InterfaceLoaded) InterfaceSettingsExpander.ShowRestartRequiredBanner(); } diff --git a/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs b/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs index 27ff9707d..18fcaafc8 100644 --- a/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs +++ b/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs @@ -9,7 +9,6 @@ using UniGetUI.Interface.Widgets; using UniGetUI.PackageEngine.Enums; using UniGetUI.PackageEngine.Interfaces; -using UniGetUI.PackageEngine.Operations; using UniGetUI.PackageEngine.PackageClasses; using UniGetUI.PackageEngine.PackageLoader; using Windows.System; @@ -94,7 +93,7 @@ protected IPackage? SelectedItem protected readonly string NoPackages_SubtitleText_Base; protected readonly string NoMatches_BackgroundText; - private bool PaneIsAnimated = false; + private bool PaneIsAnimated; protected Func FoundPackages_SubtitleText_Base = (a, b) => CoreTools.Translate("{0} packages were found, {1} of which match the specified filters.", a, b); @@ -189,7 +188,7 @@ protected AbstractPackagesPage(PackagesPageData data) } MegaQueryBlockGrid.Visibility = Visibility.Collapsed; - if(!DISABLE_FILTER_ON_QUERY_CHANGE) + if (!DISABLE_FILTER_ON_QUERY_CHANGE) FilterPackages(); }; @@ -224,7 +223,7 @@ protected AbstractPackagesPage(PackagesPageData data) MegaQueryBlockGrid.Visibility = Visibility.Collapsed; QueryBlock.Text = MegaQueryBlock.Text.Trim(); - if(!DISABLE_FILTER_ON_QUERY_CHANGE) + if (!DISABLE_FILTER_ON_QUERY_CHANGE) FilterPackages(); }; @@ -602,7 +601,9 @@ public void FilterPackages() if (manager.Capabilities.SupportsCustomSources) { foreach (IManagerSource source in manager.SourcesHelper.Factory.GetAvailableSources()) + { if (!VisibleSources.Contains(source)) VisibleSources.Add(source); + } } } } @@ -799,7 +800,7 @@ protected void OpenPackageInstallLocation(IPackage? package) { string? path = package?.Manager.DetailsHelper.GetInstallLocation(package); - if(path is not null) + if (path is not null) Process.Start(new ProcessStartInfo { FileName = path, @@ -909,17 +910,17 @@ private void PackageItemContainer_KeyUp(object sender, KeyRoutedEventArgs e) { if (IS_ALT_PRESSED) { - if(!package.Source.IsVirtualManager && package is not InvalidImportedPackage) + if (!package.Source.IsVirtualManager && package is not InvalidImportedPackage) ShowInstallationOptionsForPackage(package); } else if (IS_CONTROL_PRESSED) { - if(package is not InvalidImportedPackage) + if (package is not InvalidImportedPackage) PerformMainPackageAction(package); } else { - if(!package.Source.IsVirtualManager && package is not InvalidImportedPackage) + if (!package.Source.IsVirtualManager && package is not InvalidImportedPackage) ShowDetailsForPackage(package); } } @@ -1039,7 +1040,7 @@ private async Task LoadIconsForNewPackages() foreach (var wrapper in PackagesWithoutIcon) { var icon = await Task.Run(wrapper.Package.GetIconUrlIfAny); - if(icon is not null) wrapper.PackageIcon = icon; + if (icon is not null) wrapper.PackageIcon = icon; } FilterPackages(); diff --git a/src/UniGetUI/Pages/SoftwarePages/DiscoverSoftwarePage.cs b/src/UniGetUI/Pages/SoftwarePages/DiscoverSoftwarePage.cs index 88a9051c7..94a3c983e 100644 --- a/src/UniGetUI/Pages/SoftwarePages/DiscoverSoftwarePage.cs +++ b/src/UniGetUI/Pages/SoftwarePages/DiscoverSoftwarePage.cs @@ -339,10 +339,10 @@ public void ShowSharedPackage_ThreadSafe(string id, string managerName, string s throw new ArgumentException(CoreTools.Translate("The package manager \"{0}\" was not found", managerName)); } - if(!manager.IsEnabled()) + if (!manager.IsEnabled()) throw new ArgumentException(CoreTools.Translate("The package manager \"{0}\" is disabled", manager.DisplayName)); - if(!manager.Status.Found) + if (!manager.Status.Found) throw new ArgumentException(CoreTools.Translate("There is an error with the configuration of the package manager \"{0}\"", manager.DisplayName)); var results = await Task.Run(() => manager.FindPackages(id)); @@ -358,8 +358,10 @@ public void ShowSharedPackage_ThreadSafe(string id, string managerName, string s // Get package from best source if (candidates.Length >= 1 && manager.Capabilities.SupportsCustomSources) foreach (var candidate in candidates) + { if (candidate.Source.Name == sourceName) package = candidate; + } Logger.ImportantInfo($"Found package {package.Id} on manager {package.Manager.Name}, showing it..."); DialogHelper.HideLoadingDialog(); diff --git a/src/UniGetUI/Pages/SoftwarePages/InstalledPackagesPage.cs b/src/UniGetUI/Pages/SoftwarePages/InstalledPackagesPage.cs index 1f5c8ba22..8176398e8 100644 --- a/src/UniGetUI/Pages/SoftwarePages/InstalledPackagesPage.cs +++ b/src/UniGetUI/Pages/SoftwarePages/InstalledPackagesPage.cs @@ -10,8 +10,6 @@ using UniGetUI.PackageEngine.Enums; using UniGetUI.PackageEngine.Interfaces; using UniGetUI.PackageEngine.Managers.WingetManager; -using UniGetUI.PackageEngine.Operations; -using UniGetUI.PackageEngine.PackageClasses; using UniGetUI.Pages.DialogPages; namespace UniGetUI.Interface.SoftwarePages @@ -260,11 +258,13 @@ public override void GenerateToolBar() IgnoreSelected.Click += async (_, _) => { foreach (IPackage package in FilteredPackages.GetCheckedPackages()) - if(!package.Source.IsVirtualManager) + { + if (!package.Source.IsVirtualManager) { PEInterface.UpgradablePackagesLoader.Remove(package); await package.AddToIgnoredUpdatesAsync(); } + } }; UninstallSelected.Click += (_, _) => MainApp.Operations.ConfirmAndUninstall(FilteredPackages.GetCheckedPackages()); @@ -288,13 +288,13 @@ protected override void WhenPackagesLoaded(ReloadReason reason) } } - if(WinGet.NO_PACKAGES_HAVE_BEEN_LOADED && !Settings.Get("DisableWinGetMalfunctionDetector")) + if (WinGet.NO_PACKAGES_HAVE_BEEN_LOADED && !Settings.Get("DisableWinGetMalfunctionDetector")) { var infoBar = MainApp.Instance.MainWindow.WinGetWarningBanner; infoBar.IsOpen = true; infoBar.Title = CoreTools.Translate("WinGet malfunction detected"); infoBar.Message = CoreTools.Translate("It looks like WinGet is not working properly. Do you want to attempt to repair WinGet?"); - var button = new Button() { Content = CoreTools.Translate("Repair WinGet") }; + var button = new Button { Content = CoreTools.Translate("Repair WinGet") }; infoBar.ActionButton = button; button.Click += (_, _) => DialogHelper.HandleBrokenWinGet(); } @@ -338,12 +338,12 @@ protected override async void WhenShowingContextMenu(IPackage package) if (await package.HasUpdatesIgnoredAsync()) { MenuIgnoreUpdates.Text = CoreTools.Translate("Do not ignore updates for this package anymore"); - MenuIgnoreUpdates.Icon = new FontIcon() { Glyph = "\uE77A" }; + MenuIgnoreUpdates.Icon = new FontIcon { Glyph = "\uE77A" }; } else { MenuIgnoreUpdates.Text = CoreTools.Translate("Ignore updates for this package"); - MenuIgnoreUpdates.Icon = new FontIcon() { Glyph = "\uE718" }; + MenuIgnoreUpdates.Icon = new FontIcon { Glyph = "\uE718" }; } MenuIgnoreUpdates.IsEnabled = true; } @@ -434,7 +434,7 @@ private async void MenuIgnorePackage_Invoked(object sender, RoutedEventArgs args IPackage? package = SelectedItem; if (package is null) return; - if(await package.HasUpdatesIgnoredAsync()) + if (await package.HasUpdatesIgnoredAsync()) await package.RemoveFromIgnoredUpdatesAsync(); else { diff --git a/src/UniGetUI/Pages/SoftwarePages/PackageBundlesPage.cs b/src/UniGetUI/Pages/SoftwarePages/PackageBundlesPage.cs index d086c0914..71291b584 100644 --- a/src/UniGetUI/Pages/SoftwarePages/PackageBundlesPage.cs +++ b/src/UniGetUI/Pages/SoftwarePages/PackageBundlesPage.cs @@ -15,7 +15,6 @@ using UniGetUI.PackageEngine.Classes.Serializable; using UniGetUI.PackageEngine.Enums; using UniGetUI.PackageEngine.Interfaces; -using UniGetUI.PackageEngine.Operations; using UniGetUI.PackageEngine.PackageClasses; using UniGetUI.Pages.DialogPages; using YamlDotNet.Serialization; @@ -235,7 +234,9 @@ public override void GenerateToolBar() }; foreach (AppBarButton toolButton in Icons.Keys) + { toolButton.Icon = new LocalIcon(Icons[toolButton]); + } PackageDetails.Click += (_, _) => { @@ -293,9 +294,9 @@ public async Task AskForNewBundle() RichTextBlock rtb = new(); var p = new Paragraph(); rtb.Blocks.Add(p); - p.Inlines.Add(new Run() {Text = CoreTools.Translate("Are you sure you want to create a new package bundle? ")}); + p.Inlines.Add(new Run {Text = CoreTools.Translate("Are you sure you want to create a new package bundle? ")}); p.Inlines.Add(new LineBreak()); - p.Inlines.Add(new Run() {Text = CoreTools.Translate("Any unsaved changes will be lost"), FontWeight = FontWeights.Bold}); + p.Inlines.Add(new Run {Text = CoreTools.Translate("Any unsaved changes will be lost"), FontWeight = FontWeights.Bold}); ContentDialog dialog = new() { @@ -321,10 +322,10 @@ public async Task AskForNewBundle() public async Task ImportAndInstallPackage(IEnumerable packages, bool? elevated = null, bool? interactive = null, bool? skiphash = null) { DialogHelper.ShowLoadingDialog(CoreTools.Translate("Preparing packages, please wait...")); - List packages_to_install = new(); + List packages_to_install = []; foreach (IPackage package in packages) { - if(package is ImportedPackage imported) + if (package is ImportedPackage imported) { Logger.ImportantInfo($"Registering package {imported.Id} from manager {imported.Source.AsString}"); packages_to_install.Add(await imported.RegisterAndGetPackageAsync()); @@ -437,7 +438,7 @@ public async Task OpenFromFile(string? file = null) { // Select file FileOpenPicker picker = new(MainApp.Instance.MainWindow.GetWindowHandle()); - file = picker.Show(new List { "*.ubundle", "*.json", "*.yaml", "*.xml" }); + file = picker.Show(["*.ubundle", "*.json", "*.yaml", "*.xml"]); if (file == String.Empty) return; } @@ -495,7 +496,7 @@ public async Task SaveFile() { // Get file string defaultName = CoreTools.Translate("Package bundle") + ".ubundle"; - string file = (new FileSavePicker(MainApp.Instance.MainWindow.GetWindowHandle())).Show(new List { "*.ubundle", "*.json", "*.yaml", "*.xml" }, defaultName); + string file = (new FileSavePicker(MainApp.Instance.MainWindow.GetWindowHandle())).Show(["*.ubundle", "*.json", "*.yaml", "*.xml"], defaultName); if (file != String.Empty) { // Loading dialog @@ -560,16 +561,18 @@ public static async Task CreateBundle(IEnumerable unsorted_pac static int Comparison(IPackage x, IPackage y) { - if(x.Id != y.Id) return String.Compare(x.Id, y.Id, StringComparison.Ordinal); - if(x.Name != y.Name) return String.Compare(x.Name, y.Name, StringComparison.Ordinal); + if (x.Id != y.Id) return String.Compare(x.Id, y.Id, StringComparison.Ordinal); + if (x.Name != y.Name) return String.Compare(x.Name, y.Name, StringComparison.Ordinal); return (x.VersionAsFloat > y.VersionAsFloat) ? -1 : 1; } foreach (IPackage package in packages) + { if (package is Package && !package.Source.IsVirtualManager) exportable.packages.Add(await Task.Run(package.AsSerializable)); else exportable.incompatible_packages.Add(package.AsSerializable_Incompatible()); + } Logger.Debug("Finished loading serializable objects. Serializing with format " + formatType); string ExportableData; @@ -633,7 +636,7 @@ public async Task AddFromBundle(string content, BundleFormatType format) throw new ArgumentException("DeserializedData was null"); } - List packages = new List(); + List packages = []; foreach (SerializablePackage_v1 DeserializedPackage in DeserializedData.packages) { diff --git a/src/UniGetUI/Pages/SoftwarePages/SoftwareUpdatesPage.cs b/src/UniGetUI/Pages/SoftwarePages/SoftwareUpdatesPage.cs index c121abbfb..e0f6c8d0c 100644 --- a/src/UniGetUI/Pages/SoftwarePages/SoftwareUpdatesPage.cs +++ b/src/UniGetUI/Pages/SoftwarePages/SoftwareUpdatesPage.cs @@ -12,8 +12,6 @@ using UniGetUI.PackageEngine.Classes.Packages.Classes; using UniGetUI.PackageEngine.Enums; using UniGetUI.PackageEngine.Interfaces; -using UniGetUI.PackageEngine.Operations; -using UniGetUI.PackageEngine.PackageClasses; using UniGetUI.Pages.DialogPages; namespace UniGetUI.Interface.SoftwarePages @@ -153,7 +151,7 @@ public override BetterMenu GenerateContextMenu() MenuFlyoutSubItem menuPause = new() { Text = "Pause updates for", - Icon = new FontIcon() { Glyph = "\uE769" }, + Icon = new FontIcon { Glyph = "\uE769" }, }; foreach (IgnoredUpdatesDatabase.PauseTime menuTime in new List{ new() { Days = 1 }, new() { Days = 3 }, @@ -325,16 +323,20 @@ protected override void WhenPackageCountUpdated() public void UpdateAll() { foreach (IPackage package in Loader.Packages) + { if (package.Tag is not PackageTag.BeingProcessed and not PackageTag.OnQueue) _ = MainApp.Operations.Update(package); + } } protected override void WhenPackagesLoaded(ReloadReason reason) { List upgradablePackages = []; foreach (IPackage package in Loader.Packages) + { if (package.Tag is not PackageTag.OnQueue and not PackageTag.BeingProcessed) upgradablePackages.Add(package); + } try { @@ -344,7 +346,7 @@ protected override void WhenPackagesLoaded(ReloadReason reason) bool EnableAutoUpdate = Settings.Get("AutomaticallyUpdatePackages") || Environment.GetCommandLineArgs().Contains("--updateapps"); - if(EnableAutoUpdate) + if (EnableAutoUpdate) UpdateAll(); if (Settings.AreUpdatesNotificationsDisabled()) @@ -352,7 +354,6 @@ protected override void WhenPackagesLoaded(ReloadReason reason) AppNotificationManager.Default.RemoveByTagAsync(CoreData.UpdatesAvailableNotificationTag.ToString()); - AppNotification notification; if (upgradablePackages.Count == 1) { @@ -396,7 +397,11 @@ protected override void WhenPackagesLoaded(ReloadReason reason) else { string attribution = ""; - foreach (IPackage package in upgradablePackages) attribution += package.Name + ", "; + foreach (IPackage package in upgradablePackages) + { + attribution += package.Name + ", "; + } + attribution = attribution.TrimEnd(' ').TrimEnd(','); if (EnableAutoUpdate) @@ -494,21 +499,26 @@ private void MenuSkipVersion_Invoked(object sender, RoutedEventArgs e) public void UpdatePackageForId(string id) { foreach (IPackage package in Loader.Packages) + { if (package.Id == id) { _ = MainApp.Operations.Update(package); Logger.Info($"[WIDGETS] Updating package with id {id}"); break; } + } + Logger.Warn($"[WIDGETS] No package with id={id} was found"); } public async void UpdateAllPackagesForManager(string manager) { foreach (IPackage package in Loader.Packages) + { if (package.Tag is not PackageTag.OnQueue and not PackageTag.BeingProcessed) if (package.Manager.Name == manager || package.Manager.DisplayName == manager) await MainApp.Operations.Update(package); + } } } } diff --git a/src/WindowsPackageManager.Interop/WindowsPackageManager/WindowsPackageManagerStandardFactory.cs b/src/WindowsPackageManager.Interop/WindowsPackageManager/WindowsPackageManagerStandardFactory.cs index 4e9caa507..9cbb31efd 100644 --- a/src/WindowsPackageManager.Interop/WindowsPackageManager/WindowsPackageManagerStandardFactory.cs +++ b/src/WindowsPackageManager.Interop/WindowsPackageManager/WindowsPackageManagerStandardFactory.cs @@ -21,7 +21,7 @@ protected override T CreateInstance(Guid clsid, Guid iid) try { CLSCTX clsctx = CLSCTX.CLSCTX_LOCAL_SERVER; - if(_allowLowerTrustRegistration) + if (_allowLowerTrustRegistration) { clsctx |= CLSCTX.CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION; } From 22a92c6a8e24d82697e2f7f23bc77819ee21bc08 Mon Sep 17 00:00:00 2001 From: Adam Stachowicz Date: Wed, 5 Feb 2025 02:36:41 +0100 Subject: [PATCH 2/3] Performance fix: CA1860, CA1866 + collection expressions + fix formatting --- .../LanguageEngine.cs | 2 +- .../SettingsEngine_Dictionaries.cs | 6 ++-- .../SettingsEngine_Lists.cs | 2 +- .../Npm.cs | 4 +-- .../Vcpkg.cs | 6 ++-- .../AbstractPackageLoader.cs | 2 +- .../OperationWidgets/OperationControl.cs | 6 ++-- .../Controls/SettingsWidgets/ComboboxCard.cs | 4 +-- .../DialogPages/DesktopShortcuts.xaml.cs | 36 ++++++++++++++----- .../DialogPages/DialogHelper_Operations.cs | 8 +++-- .../Pages/DialogPages/InstallOptions.xaml.cs | 2 +- 11 files changed, 49 insertions(+), 29 deletions(-) diff --git a/src/UniGetUI.Core.LanguageEngine/LanguageEngine.cs b/src/UniGetUI.Core.LanguageEngine/LanguageEngine.cs index 5a71f5cb0..3d55e3972 100644 --- a/src/UniGetUI.Core.LanguageEngine/LanguageEngine.cs +++ b/src/UniGetUI.Core.LanguageEngine/LanguageEngine.cs @@ -59,7 +59,7 @@ public Dictionary LoadLanguageFile(string LangKey) { string BundledLangFileToLoad = Path.Join(CoreData.UniGetUIExecutableDirectory, "Assets", "Languages", "lang_" + LangKey + ".json"); - JsonObject BundledContents = new(); + JsonObject BundledContents = []; if (!File.Exists(BundledLangFileToLoad)) { diff --git a/src/UniGetUI.Core.Settings/SettingsEngine_Dictionaries.cs b/src/UniGetUI.Core.Settings/SettingsEngine_Dictionaries.cs index 201dbdb05..0be02e2ed 100644 --- a/src/UniGetUI.Core.Settings/SettingsEngine_Dictionaries.cs +++ b/src/UniGetUI.Core.Settings/SettingsEngine_Dictionaries.cs @@ -34,7 +34,7 @@ public static partial class Settings } // Otherwise, load the setting from disk and cache that setting - Dictionary value = new(); + Dictionary value = []; if (File.Exists(Path.Join(CoreData.UniGetUIDataDirectory, $"{setting}.json"))) { string result = File.ReadAllText(Path.Join(CoreData.UniGetUIDataDirectory, $"{setting}.json")); @@ -66,7 +66,7 @@ public static partial class Settings { Logger.Error($"Could not load dictionary name {setting}"); Logger.Error(ex); - return new(); + return []; } } @@ -88,7 +88,7 @@ public static void SetDictionary(string setting, Dictionary value) var file = Path.Join(CoreData.UniGetUIDataDirectory, $"{setting}.json"); try { - if (value.Any()) File.WriteAllText(file, JsonSerializer.Serialize(value)); + if (value.Count != 0) File.WriteAllText(file, JsonSerializer.Serialize(value)); else if (File.Exists(file)) File.Delete(file); } catch (Exception e) diff --git a/src/UniGetUI.Core.Settings/SettingsEngine_Lists.cs b/src/UniGetUI.Core.Settings/SettingsEngine_Lists.cs index edf6a17c5..da50fc466 100644 --- a/src/UniGetUI.Core.Settings/SettingsEngine_Lists.cs +++ b/src/UniGetUI.Core.Settings/SettingsEngine_Lists.cs @@ -76,7 +76,7 @@ public static void SetList(string setting, List value) var file = Path.Join(CoreData.UniGetUIDataDirectory, $"{setting}.json"); try { - if (value.Any()) File.WriteAllText(file, JsonSerializer.Serialize(value)); + if (value.Count != 0) File.WriteAllText(file, JsonSerializer.Serialize(value)); else if (File.Exists(file)) File.Delete(file); } catch (Exception e) diff --git a/src/UniGetUI.PackageEngine.Managers.Npm/Npm.cs b/src/UniGetUI.PackageEngine.Managers.Npm/Npm.cs index 7ac490713..8c7826d82 100644 --- a/src/UniGetUI.PackageEngine.Managers.Npm/Npm.cs +++ b/src/UniGetUI.PackageEngine.Managers.Npm/Npm.cs @@ -122,7 +122,7 @@ protected override IEnumerable GetAvailableUpdates_UnSafe() logger.AddToStdOut(strContents); JsonObject? contents = null; if (strContents.Any()) contents = JsonNode.Parse(strContents) as JsonObject; - foreach (var (packageId, packageData) in contents?.ToDictionary() ?? new()) + foreach (var (packageId, packageData) in contents?.ToDictionary() ?? []) { string? version = packageData?["current"]?.ToString(); string? newVersion = packageData?["latest"]?.ToString(); @@ -168,7 +168,7 @@ protected override IEnumerable GetInstalledPackages_UnSafe() logger.AddToStdOut(strContents); JsonObject? contents = null; if (strContents.Any()) contents = (JsonNode.Parse(strContents) as JsonObject)?["dependencies"] as JsonObject; - foreach (var (packageId, packageData) in contents?.ToDictionary() ?? new()) + foreach (var (packageId, packageData) in contents?.ToDictionary() ?? []) { string? version = packageData?["version"]?.ToString(); if (version is not null) diff --git a/src/UniGetUI.PackageEngine.Managers.Vcpkg/Vcpkg.cs b/src/UniGetUI.PackageEngine.Managers.Vcpkg/Vcpkg.cs index 328e5b332..f4a0c96a7 100644 --- a/src/UniGetUI.PackageEngine.Managers.Vcpkg/Vcpkg.cs +++ b/src/UniGetUI.PackageEngine.Managers.Vcpkg/Vcpkg.cs @@ -105,7 +105,7 @@ protected override IEnumerable FindPackages_UnSafe(string query) p.Start(); - Dictionary PackageVersions = new(); + Dictionary PackageVersions = []; string optionString = CoreTools.Translate("option"); string unknownVersion = CoreTools.Translate("Unknown"); while ((line = p.StandardOutput.ReadLine()) is not null) @@ -191,7 +191,7 @@ protected override IEnumerable GetAvailableUpdates_UnSafe() // Sample line: // (spaces) package name: package triplet current -> latest // brotli:x64-mingw-dynamic 1.0.9#5 -> 1.1.0#1 - if (line.StartsWith("\t")) + if (line.StartsWith('\t')) { line = line.Substring(1); string[] PackageData = Regex.Replace(line, @"\s+", " ").Split(' '); @@ -242,7 +242,7 @@ protected override IEnumerable GetInstalledPackages_UnSafe() p.Start(); - Dictionary PackageVersions = new(); + Dictionary PackageVersions = []; while ((line = p.StandardOutput.ReadLine()) is not null) { logger.AddToStdOut(line); diff --git a/src/UniGetUI.PackageEngine.PackageLoader/AbstractPackageLoader.cs b/src/UniGetUI.PackageEngine.PackageLoader/AbstractPackageLoader.cs index 4aabe44d8..e58e5ae9a 100644 --- a/src/UniGetUI.PackageEngine.PackageLoader/AbstractPackageLoader.cs +++ b/src/UniGetUI.PackageEngine.PackageLoader/AbstractPackageLoader.cs @@ -18,7 +18,7 @@ public abstract class AbstractPackageLoader public bool Any() { - return PackageReference.Any(); + return !PackageReference.IsEmpty; } /// diff --git a/src/UniGetUI/Controls/OperationWidgets/OperationControl.cs b/src/UniGetUI/Controls/OperationWidgets/OperationControl.cs index 08f172ade..87e4df8b9 100644 --- a/src/UniGetUI/Controls/OperationWidgets/OperationControl.cs +++ b/src/UniGetUI/Controls/OperationWidgets/OperationControl.cs @@ -252,7 +252,7 @@ public void LoadMenu() // Load operation-specific entries var normalOptions = GetOperationOptions(); - if (normalOptions.Any()) + if (normalOptions.Count != 0) { foreach(var item in normalOptions) { @@ -294,7 +294,7 @@ public void LoadMenu() // Add extra retry options, if applicable var extraRetry = GetRetryOptions(() => { }); - if (extraRetry.Any()) + if (extraRetry.Count != 0) { OpMenu.Items.Add(new MenuFlyoutSeparator()); @@ -327,7 +327,7 @@ public void Close() while(AbstractOperation.OperationQueue.Remove(Operation)); if (MainApp.Operations._operationList.Count == 0 - && DesktopShortcutsDatabase.GetUnknownShortcuts().Any() + && DesktopShortcutsDatabase.GetUnknownShortcuts().Count != 0 && Settings.Get("AskToDeleteNewDesktopShortcuts")) { _ = DialogHelper.HandleNewDesktopShortcuts(); diff --git a/src/UniGetUI/Controls/SettingsWidgets/ComboboxCard.cs b/src/UniGetUI/Controls/SettingsWidgets/ComboboxCard.cs index 121570344..be20b22ca 100644 --- a/src/UniGetUI/Controls/SettingsWidgets/ComboboxCard.cs +++ b/src/UniGetUI/Controls/SettingsWidgets/ComboboxCard.cs @@ -15,8 +15,8 @@ public sealed class ComboboxCard : SettingsCard { private readonly ComboBox _combobox = new(); private readonly ObservableCollection _elements = []; - private readonly Dictionary _values_ref = new(); - private readonly Dictionary _inverted_val_ref = new(); + private readonly Dictionary _values_ref = []; + private readonly Dictionary _inverted_val_ref = []; private string settings_name = ""; public string SettingName diff --git a/src/UniGetUI/Pages/DialogPages/DesktopShortcuts.xaml.cs b/src/UniGetUI/Pages/DialogPages/DesktopShortcuts.xaml.cs index bcdca9b0b..2c9d955c5 100644 --- a/src/UniGetUI/Pages/DialogPages/DesktopShortcuts.xaml.cs +++ b/src/UniGetUI/Pages/DialogPages/DesktopShortcuts.xaml.cs @@ -24,7 +24,11 @@ public sealed partial class DesktopShortcutsManager : Page public DesktopShortcutsManager(List? NewShortcuts) { - if (NewShortcuts is not null) NewOnly = true; + if (NewShortcuts is not null) + { + NewOnly = true; + } + InitializeComponent(); DeletableDesktopShortcutsList.ItemsSource = desktopShortcuts; DeletableDesktopShortcutsList.DoubleTapped += DeletableDesktopShortcutsList_DoubleTapped; @@ -35,21 +39,31 @@ private void UpdateData(List? NewShortcuts) { desktopShortcuts.Clear(); - if (NewShortcuts is not null) foreach (var path in NewShortcuts) + if (NewShortcuts is not null) { - desktopShortcuts.Add(new(path, false)); + foreach (var path in NewShortcuts) + { + desktopShortcuts.Add(new(path, false)); + } } - else foreach (var (shortcutPath, shortcutEnabled) in DesktopShortcutsDatabase.GetDatabase()) + else { - var shortcutEntry = new ShortcutEntry(shortcutPath, shortcutEnabled); - desktopShortcuts.Add(shortcutEntry); + foreach (var (shortcutPath, shortcutEnabled) in DesktopShortcutsDatabase.GetDatabase()) + { + var shortcutEntry = new ShortcutEntry(shortcutPath, shortcutEnabled); + desktopShortcuts.Add(shortcutEntry); + } } - foreach(var shortcut in desktopShortcuts) + foreach (var shortcut in desktopShortcuts) { shortcut.OnReset += (sender, path) => { - if (sender is not ShortcutEntry sh) throw new InvalidOperationException(); + if (sender is not ShortcutEntry sh) + { + throw new InvalidOperationException(); + } + DesktopShortcutsDatabase.ResetShortcut(sh.ShortcutPath); desktopShortcuts.Remove(sh); }; @@ -145,7 +159,11 @@ protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName protected bool SetField(ref T field, T value, [CallerMemberName] string? propertyName = null) { - if (EqualityComparer.Default.Equals(field, value)) return false; + if (EqualityComparer.Default.Equals(field, value)) + { + return false; + } + field = value; OnPropertyChanged(propertyName); return true; diff --git a/src/UniGetUI/Pages/DialogPages/DialogHelper_Operations.cs b/src/UniGetUI/Pages/DialogPages/DialogHelper_Operations.cs index 19f609137..4d2e0f963 100644 --- a/src/UniGetUI/Pages/DialogPages/DialogHelper_Operations.cs +++ b/src/UniGetUI/Pages/DialogPages/DialogHelper_Operations.cs @@ -17,8 +17,10 @@ public static async Task ShowOperationFailedDialog(AbstractOperation operation, { ContentDialog dialog = new() { - Style = Application.Current.Resources["DefaultContentDialogStyle"] as Style, XamlRoot = Window.XamlRoot, - Resources = { + Style = Application.Current.Resources["DefaultContentDialogStyle"] as Style, + XamlRoot = Window.XamlRoot, + Resources = + { ["ContentDialogMaxWidth"] = 850, ["ContentDialogMaxHeight"] = 800, }, @@ -118,7 +120,7 @@ public static async Task ShowOperationFailedDialog(AbstractOperation operation, Control _retryButton; var retryOptions = opControl.GetRetryOptions(dialog.Hide); - if (retryOptions.Any()) + if (retryOptions.Count != 0) { SplitButton RetryButton = new SplitButton { diff --git a/src/UniGetUI/Pages/DialogPages/InstallOptions.xaml.cs b/src/UniGetUI/Pages/DialogPages/InstallOptions.xaml.cs index b018b0a4e..60cc09865 100644 --- a/src/UniGetUI/Pages/DialogPages/InstallOptions.xaml.cs +++ b/src/UniGetUI/Pages/DialogPages/InstallOptions.xaml.cs @@ -121,7 +121,7 @@ public InstallOptionsPage(IPackage package, OperationType operation, Serializabl if (Options.CustomInstallLocation == "") CustomInstallLocation.Text = packageInstallLocation; else CustomInstallLocation.Text = Options.CustomInstallLocation; - if (Options.CustomParameters.Any()) + if (Options.CustomParameters.Count != 0) { CustomParameters.Text = string.Join(' ', Options.CustomParameters); } From 91f8be10a7a680d16b0ff62ec21d40e935094a93 Mon Sep 17 00:00:00 2001 From: Adam Stachowicz Date: Wed, 5 Feb 2025 04:30:42 +0100 Subject: [PATCH 3/3] Fix typos in comments --- src/UniGetUI.Core.IconEngine.Tests/IconCacheEngineTests.cs | 2 +- src/UniGetUI.Core.Settings/SettingsEngine.cs | 4 ++-- src/UniGetUI.Core.Settings/SettingsEngine_Lists.cs | 2 +- src/UniGetUI.Core.Tools/Tools.cs | 2 +- src/UniGetUI.PAckageEngine.Interfaces/IPackage.cs | 4 ++-- .../Helpers/VcpkgPkgDetailsHelper.cs | 2 +- src/UniGetUI.PackageEngine.Managers.Vcpkg/Vcpkg.cs | 4 ++-- .../Packages/Classes/DesktopShortcutsDatabase.cs | 2 +- .../Packages/Classes/IgnoredUpdatesDatabase.cs | 2 +- src/UniGetUI/Controls/OperationWidgets/OperationControl.cs | 2 +- src/UniGetUI/MainWindow.xaml.cs | 2 +- 11 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/UniGetUI.Core.IconEngine.Tests/IconCacheEngineTests.cs b/src/UniGetUI.Core.IconEngine.Tests/IconCacheEngineTests.cs index 992199d9d..056cc22b0 100644 --- a/src/UniGetUI.Core.IconEngine.Tests/IconCacheEngineTests.cs +++ b/src/UniGetUI.Core.IconEngine.Tests/IconCacheEngineTests.cs @@ -158,7 +158,7 @@ public static void TestCacheEngineForPackageSize() string managerName = "TestManager"; string packageId = "Package3"; - // Clear any cache for reproducable data + // Clear any cache for reproducible data string extension = ICON_1.ToString().Split(".")[^1]; string expectedFile = Path.Join(CoreData.UniGetUICacheDirectory_Icons, managerName, packageId, $"icon.{extension}"); if (File.Exists(expectedFile)) diff --git a/src/UniGetUI.Core.Settings/SettingsEngine.cs b/src/UniGetUI.Core.Settings/SettingsEngine.cs index 4caa5fbd4..c443600b2 100644 --- a/src/UniGetUI.Core.Settings/SettingsEngine.cs +++ b/src/UniGetUI.Core.Settings/SettingsEngine.cs @@ -16,7 +16,7 @@ public static bool Get(string setting, bool invert = false) return result ^ invert; } - // Otherwhise, load the value from disk and cache that setting + // Otherwise, load the value from disk and cache that setting result = File.Exists(Path.Join(CoreData.UniGetUIDataDirectory, setting)); booleanSettings[setting] = result; return result ^ invert; @@ -59,7 +59,7 @@ public static string GetValue(string setting) return value; } - // Otherwhise, load the setting from disk and cache that setting + // Otherwise, load the setting from disk and cache that setting value = ""; if (File.Exists(Path.Join(CoreData.UniGetUIDataDirectory, setting))) { diff --git a/src/UniGetUI.Core.Settings/SettingsEngine_Lists.cs b/src/UniGetUI.Core.Settings/SettingsEngine_Lists.cs index da50fc466..97d134b2d 100644 --- a/src/UniGetUI.Core.Settings/SettingsEngine_Lists.cs +++ b/src/UniGetUI.Core.Settings/SettingsEngine_Lists.cs @@ -28,7 +28,7 @@ public static partial class Settings return null; } - // Otherwhise, load the setting from disk and cache that setting + // Otherwise, load the setting from disk and cache that setting List value = []; var file = Path.Join(CoreData.UniGetUIDataDirectory, $"{setting}.json"); diff --git a/src/UniGetUI.Core.Tools/Tools.cs b/src/UniGetUI.Core.Tools/Tools.cs index 0ed3022f1..c6ec50b5b 100644 --- a/src/UniGetUI.Core.Tools/Tools.cs +++ b/src/UniGetUI.Core.Tools/Tools.cs @@ -463,7 +463,7 @@ public static async Task ResetUACForCurrentProcess() /// The long integer is built with the first half of the MD5 sum of the given string /// /// A non-empty string - /// A long integer containing the first half of the bytes resulting from MD5suming inputString + /// A long integer containing the first half of the bytes resulting from MD5 summing inputString public static long HashStringAsLong(string inputString) { byte[] bytes = MD5.HashData(Encoding.UTF8.GetBytes(inputString)); diff --git a/src/UniGetUI.PAckageEngine.Interfaces/IPackage.cs b/src/UniGetUI.PAckageEngine.Interfaces/IPackage.cs index df394d533..2feb7c133 100644 --- a/src/UniGetUI.PAckageEngine.Interfaces/IPackage.cs +++ b/src/UniGetUI.PAckageEngine.Interfaces/IPackage.cs @@ -23,7 +23,7 @@ public interface IPackage : INotifyPropertyChanged, IEquatable public string AutomationName { get; } /// - /// Returns an identifier that can be used to compare different packahe instances that refer to the same package. + /// Returns an identifier that can be used to compare different package instances that refer to the same package. /// What is taken into account: /// - Manager and Source /// - Package Identifier @@ -32,7 +32,7 @@ public interface IPackage : INotifyPropertyChanged, IEquatable public long GetHash(); /// - /// Returns an identifier that can be used to compare different packahe instances that refer to the same package. + /// Returns an identifier that can be used to compare different package instances that refer to the same package. /// What is taken into account: /// - Manager and Source /// - Package Identifier diff --git a/src/UniGetUI.PackageEngine.Managers.Vcpkg/Helpers/VcpkgPkgDetailsHelper.cs b/src/UniGetUI.PackageEngine.Managers.Vcpkg/Helpers/VcpkgPkgDetailsHelper.cs index d94d9cdc1..76c762eb3 100644 --- a/src/UniGetUI.PackageEngine.Managers.Vcpkg/Helpers/VcpkgPkgDetailsHelper.cs +++ b/src/UniGetUI.PackageEngine.Managers.Vcpkg/Helpers/VcpkgPkgDetailsHelper.cs @@ -43,7 +43,7 @@ protected override void GetDetails_UnSafe(IPackageDetails details) // https://api.github.com/repos/{VCPKG_REPO}/commits/{CommitHash} List Tags = []; - // TODO: the "features" and "dependencies" keys could also be good candgidates for tags, however their type specifications are all over - + // TODO: the "features" and "dependencies" keys could also be good candidates for tags, however their type specifications are all over - // strings, dictionaries, arrays - so one would first have to figure out how to handle that. // See https://learn.microsoft.com/en-us/vcpkg/reference/vcpkg-json if (PackagePrefix.Contains('[')) diff --git a/src/UniGetUI.PackageEngine.Managers.Vcpkg/Vcpkg.cs b/src/UniGetUI.PackageEngine.Managers.Vcpkg/Vcpkg.cs index f4a0c96a7..c973d25cb 100644 --- a/src/UniGetUI.PackageEngine.Managers.Vcpkg/Vcpkg.cs +++ b/src/UniGetUI.PackageEngine.Managers.Vcpkg/Vcpkg.cs @@ -226,7 +226,7 @@ protected override IEnumerable GetInstalledPackages_UnSafe() { FileName = Status.ExecutablePath, Arguments = Properties.ExecutableCallArgs + " list", - // vcpkg has an --x-json flag that would list installed packages in JSON, but it's expiremental + // vcpkg has an --x-json flag that would list installed packages in JSON, but it's experimental // TODO: Once --x-json is stable migrate to --x-json RedirectStandardOutput = true, RedirectStandardError = true, @@ -407,7 +407,7 @@ public static Tuple GetVcpkgRoot() if (vcpkgRoot == null) { - // Unfortuanately, we can't use `GetVcpkgPath` for this + // Unfortunately, we can't use `GetVcpkgPath` for this // as it would become a bunch of functions calling each other var (found, path) = CoreTools.Which("vcpkg"); path = Path.GetDirectoryName(path); diff --git a/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Classes/DesktopShortcutsDatabase.cs b/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Classes/DesktopShortcutsDatabase.cs index 4578059d9..6254335f5 100644 --- a/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Classes/DesktopShortcutsDatabase.cs +++ b/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Classes/DesktopShortcutsDatabase.cs @@ -28,7 +28,7 @@ public static void ResetDatabase() /// Adds a desktop shortcut to the deletable desktop shortcuts database /// /// The path of the shortcut to delete - /// Whether or not to mark this entry as deletable in the databse. Defaults to true + /// Whether or not to mark this entry as deletable in the database. Defaults to true public static void AddToDatabase(string shortcutPath, bool deletable = true) { Settings.SetDictionaryItem("DeletableDesktopShortcuts", shortcutPath, deletable); diff --git a/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Classes/IgnoredUpdatesDatabase.cs b/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Classes/IgnoredUpdatesDatabase.cs index 092391023..511ddcab0 100644 --- a/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Classes/IgnoredUpdatesDatabase.cs +++ b/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Classes/IgnoredUpdatesDatabase.cs @@ -118,7 +118,7 @@ public static bool Remove(string ignoredId) /// /// The Ignored Identifier to check /// The version to check - /// True if the package is ignored, false otherwhise + /// True if the package is ignored, false otherwise public static bool HasUpdatesIgnored(string ignoredId, string version = "*") { string? ignoredVersion = Settings.GetDictionaryItem("IgnoredPackageUpdates", ignoredId); diff --git a/src/UniGetUI/Controls/OperationWidgets/OperationControl.cs b/src/UniGetUI/Controls/OperationWidgets/OperationControl.cs index 87e4df8b9..6c20acaa0 100644 --- a/src/UniGetUI/Controls/OperationWidgets/OperationControl.cs +++ b/src/UniGetUI/Controls/OperationWidgets/OperationControl.cs @@ -121,7 +121,7 @@ private async void OnOperationSucceeded(object? sender, EventArgs e) if (!isOpRunning) await CoreTools.ResetUACForCurrentProcess(); } - // Clean succesful operation from list + // Clean successful operation from list if (!Settings.Get("MaintainSuccessfulInstalls") && Operation is not DownloadOperation) await TimeoutAndClose(); } diff --git a/src/UniGetUI/MainWindow.xaml.cs b/src/UniGetUI/MainWindow.xaml.cs index cd3ac1276..3567b1340 100644 --- a/src/UniGetUI/MainWindow.xaml.cs +++ b/src/UniGetUI/MainWindow.xaml.cs @@ -236,7 +236,7 @@ public async void HandleClosingEvent(AppWindow sender, AppWindowClosingEventArgs } /// - /// For a given deep link, perform the appropiate action + /// For a given deep link, perform the appropriate action /// /// the unigetui:// deep link to handle private void HandleDeepLink(string link)