// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using osu.Framework; using osu.Framework.Allocation; using osu.Framework.Platform; using osu.Game.Configuration; using osu.Game.Updater; namespace osu.Game.Overlays.Settings.Sections.General { public class UpdateSettings : SettingsSubsection { [Resolved(CanBeNull = true)] private UpdateManager updateManager { get; set; } protected override string Header => "Updates"; [BackgroundDependencyLoader] private void load(Storage storage, OsuConfigManager config, OsuGameBase game) { Add(new SettingsEnumDropdown { LabelText = "Release stream", Bindable = config.GetBindable(OsuSetting.ReleaseStream), }); // We shouldn't display the button for the base UpdateManager (without updating logic) if (updateManager != null && updateManager.GetType() != typeof(UpdateManager)) { Add(new SettingsButton { Text = "Check for updates", Action = updateManager.CheckForUpdate, Enabled = { Value = game.IsDeployedBuild } }); } if (RuntimeInfo.IsDesktop) { Add(new SettingsButton { Text = "Open osu! folder", Action = storage.OpenInNativeExplorer, }); } } } }