From 2668b4470ac2f3c1e3b79ce4aea5cae84f238ff2 Mon Sep 17 00:00:00 2001 From: Paul Hebble Date: Wed, 24 Jan 2024 11:10:46 -0600 Subject: [PATCH] Remove duplicate dev build prompts --- Cmdline/Action/Upgrade.cs | 8 ++++---- Core/Configuration/IConfiguration.cs | 2 +- Core/Configuration/JsonConfiguration.cs | 4 ++-- Core/Configuration/Win32RegistryConfiguration.cs | 2 +- GUI/Dialogs/SettingsDialog.cs | 4 ++-- GUI/Main/MainAutoUpdate.cs | 9 ++++----- GUI/Model/GUIConfiguration.cs | 1 - Tests/Core/Configuration/FakeConfiguration.cs | 2 +- 8 files changed, 15 insertions(+), 17 deletions(-) diff --git a/Cmdline/Action/Upgrade.cs b/Cmdline/Action/Upgrade.cs index ba5069c2ec..5d99c7feb2 100644 --- a/Cmdline/Action/Upgrade.cs +++ b/Cmdline/Action/Upgrade.cs @@ -63,12 +63,12 @@ public int RunCommand(CKAN.GameInstance instance, object raw_options) } var config = ServiceLocator.Container.Resolve(); var devBuild = options.dev_build - || (!options.stable_release && config.DevBuilds); + || (!options.stable_release && (config.DevBuilds ?? false)); if (devBuild != config.DevBuilds) { config.DevBuilds = devBuild; user.RaiseMessage( - config.DevBuilds + config.DevBuilds ?? false ? Properties.Resources.UpgradeSwitchingToDevBuilds : Properties.Resources.UpgradeSwitchingToStableReleases); } @@ -77,7 +77,7 @@ public int RunCommand(CKAN.GameInstance instance, object raw_options) try { var upd = new AutoUpdate(); - var update = upd.GetUpdate(config.DevBuilds); + var update = upd.GetUpdate(config.DevBuilds ?? false); var latestVersion = update.Version; var currentVersion = new ModuleVersion(Meta.GetVersion()); @@ -92,7 +92,7 @@ public int RunCommand(CKAN.GameInstance instance, object raw_options) if (user.RaiseYesNoDialog(Properties.Resources.UpgradeProceed)) { user.RaiseMessage(Properties.Resources.UpgradePleaseWait); - upd.StartUpdateProcess(false, config.DevBuilds, user); + upd.StartUpdateProcess(false, config.DevBuilds ?? false, user); } } else diff --git a/Core/Configuration/IConfiguration.cs b/Core/Configuration/IConfiguration.cs index 1537ac0fad..72467536ca 100644 --- a/Core/Configuration/IConfiguration.cs +++ b/Core/Configuration/IConfiguration.cs @@ -68,6 +68,6 @@ public interface IConfiguration /// /// true if user wants to use nightly builds from S3, false to use releases from GitHub /// - bool DevBuilds { get; set; } + bool? DevBuilds { get; set; } } } diff --git a/Core/Configuration/JsonConfiguration.cs b/Core/Configuration/JsonConfiguration.cs index 7ca31938ba..22bc710b72 100644 --- a/Core/Configuration/JsonConfiguration.cs +++ b/Core/Configuration/JsonConfiguration.cs @@ -29,7 +29,7 @@ private class Config public IDictionary AuthTokens { get; set; } = new Dictionary(); public string[] GlobalInstallFilters { get; set; } = Array.Empty(); public string[] PreferredHosts { get; set; } = Array.Empty(); - public bool DevBuilds { get; set; } + public bool? DevBuilds { get; set; } } public class ConfigConverter : JsonPropertyNamesChangedConverter @@ -324,7 +324,7 @@ public string[] PreferredHosts } } - public bool DevBuilds + public bool? DevBuilds { get { diff --git a/Core/Configuration/Win32RegistryConfiguration.cs b/Core/Configuration/Win32RegistryConfiguration.cs index dab16876ab..33d213f30b 100644 --- a/Core/Configuration/Win32RegistryConfiguration.cs +++ b/Core/Configuration/Win32RegistryConfiguration.cs @@ -186,7 +186,7 @@ public void SetAuthToken(string host, string token) /// /// Not implemented because the Windows registry is deprecated /// - public bool DevBuilds { get; set; } + public bool? DevBuilds { get; set; } public static bool DoesRegistryConfigurationExist() { diff --git a/GUI/Dialogs/SettingsDialog.cs b/GUI/Dialogs/SettingsDialog.cs index c69a47d924..511027bcdb 100644 --- a/GUI/Dialogs/SettingsDialog.cs +++ b/GUI/Dialogs/SettingsDialog.cs @@ -65,7 +65,7 @@ public void UpdateDialog() UpdateAutoUpdate(); CheckUpdateOnLaunchCheckbox.Checked = guiConfig.CheckForUpdatesOnLaunch; - DevBuildsCheckbox.Checked = coreConfig.DevBuilds; + DevBuildsCheckbox.Checked = coreConfig.DevBuilds ?? false; RefreshOnStartupCheckbox.Checked = guiConfig.RefreshOnStartup; HideEpochsCheckbox.Checked = guiConfig.HideEpochs; HideVCheckbox.Checked = guiConfig.HideV; @@ -84,7 +84,7 @@ private void UpdateAutoUpdate() LocalVersionLabel.Text = Meta.GetVersion(); try { - var latestVersion = updater.GetUpdate(coreConfig.DevBuilds) + var latestVersion = updater.GetUpdate(coreConfig.DevBuilds ?? false) .Version; LatestVersionLabel.Text = latestVersion.ToString(); // Allow downgrading in case they want to stop using dev builds diff --git a/GUI/Main/MainAutoUpdate.cs b/GUI/Main/MainAutoUpdate.cs index d3089d3b28..8a969dcc22 100644 --- a/GUI/Main/MainAutoUpdate.cs +++ b/GUI/Main/MainAutoUpdate.cs @@ -27,12 +27,11 @@ private void AutoUpdatePrompts(IConfiguration coreConfig, guiConfig.CheckForUpdatesOnLaunchNoNag = true; } - if (!guiConfig.DevBuildsNoNag && guiConfig.CheckForUpdatesOnLaunch) + if (!coreConfig.DevBuilds.HasValue && guiConfig.CheckForUpdatesOnLaunch) { coreConfig.DevBuilds = !YesNoDialog(Properties.Resources.MainReleasesOrDevBuildsPrompt, Properties.Resources.MainReleasesOrDevBuildsYes, Properties.Resources.MainReleasesOrDevBuildsNo); - guiConfig.DevBuildsNoNag = true; } } @@ -51,7 +50,7 @@ private bool CheckForCKANUpdate() { log.Info("Making auto-update call"); var mainConfig = ServiceLocator.Container.Resolve(); - var update = updater.GetUpdate(mainConfig.DevBuilds); + var update = updater.GetUpdate(mainConfig.DevBuilds ?? false); var latestVersion = update.Version; var currentVersion = new ModuleVersion(Meta.GetVersion()); @@ -87,12 +86,12 @@ public void UpdateCKAN() DisableMainWindow(); tabController.RenameTab("WaitTabPage", Properties.Resources.MainUpgradingWaitTitle); var mainConfig = ServiceLocator.Container.Resolve(); - var update = updater.GetUpdate(mainConfig.DevBuilds); + var update = updater.GetUpdate(mainConfig.DevBuilds ?? false); Wait.SetDescription(string.Format(Properties.Resources.MainUpgradingTo, update.Version)); log.Info("Start ckan update"); - Wait.StartWaiting((sender, args) => updater.StartUpdateProcess(true, mainConfig.DevBuilds, currentUser), + Wait.StartWaiting((sender, args) => updater.StartUpdateProcess(true, mainConfig.DevBuilds ?? false, currentUser), UpdateReady, false, null); diff --git a/GUI/Model/GUIConfiguration.cs b/GUI/Model/GUIConfiguration.cs index 394024d570..1fd31c4233 100644 --- a/GUI/Model/GUIConfiguration.cs +++ b/GUI/Model/GUIConfiguration.cs @@ -18,7 +18,6 @@ public class GUIConfiguration public bool CheckForUpdatesOnLaunch = false; public bool CheckForUpdatesOnLaunchNoNag = false; - public bool DevBuildsNoNag = false; public bool EnableTrayIcon = false; public bool MinimizeToTray = false; diff --git a/Tests/Core/Configuration/FakeConfiguration.cs b/Tests/Core/Configuration/FakeConfiguration.cs index eb00c5fbc5..5177552bd0 100644 --- a/Tests/Core/Configuration/FakeConfiguration.cs +++ b/Tests/Core/Configuration/FakeConfiguration.cs @@ -151,7 +151,7 @@ public string Language public string[] PreferredHosts { get; set; } = Array.Empty(); - public bool DevBuilds { get; set; } + public bool? DevBuilds { get; set; } public void Dispose() {