diff --git a/osu.Game/Localisation/DebugSettingsStrings.cs b/osu.Game/Localisation/DebugSettingsStrings.cs
index 066c07858ca0..bdb034898106 100644
--- a/osu.Game/Localisation/DebugSettingsStrings.cs
+++ b/osu.Game/Localisation/DebugSettingsStrings.cs
@@ -9,21 +9,6 @@ public static class DebugSettingsStrings
{
private const string prefix = @"osu.Game.Resources.Localisation.DebugSettings";
- ///
- /// "Debug"
- ///
- public static LocalisableString DebugSectionHeader => new TranslatableString(getKey(@"debug_section_header"), @"Debug");
-
- ///
- /// "Show log overlay"
- ///
- public static LocalisableString ShowLogOverlay => new TranslatableString(getKey(@"show_log_overlay"), @"Show log overlay");
-
- ///
- /// "Bypass front-to-back render pass"
- ///
- public static LocalisableString BypassFrontToBackPass => new TranslatableString(getKey(@"bypass_front_to_back_pass"), @"Bypass front-to-back render pass");
-
///
/// "Import files"
///
@@ -34,16 +19,6 @@ public static class DebugSettingsStrings
///
public static LocalisableString RunLatencyCertifier => new TranslatableString(getKey(@"run_latency_certifier"), @"Run latency certifier");
- ///
- /// "Memory"
- ///
- public static LocalisableString MemoryHeader => new TranslatableString(getKey(@"memory_header"), @"Memory");
-
- ///
- /// "Clear all caches"
- ///
- public static LocalisableString ClearAllCaches => new TranslatableString(getKey(@"clear_all_caches"), @"Clear all caches");
-
private static string getKey(string key) => $"{prefix}:{key}";
}
}
diff --git a/osu.Game/Overlays/FirstRunSetup/ScreenBehaviour.cs b/osu.Game/Overlays/FirstRunSetup/ScreenBehaviour.cs
index 31a56c974864..d31ce7ea18ad 100644
--- a/osu.Game/Overlays/FirstRunSetup/ScreenBehaviour.cs
+++ b/osu.Game/Overlays/FirstRunSetup/ScreenBehaviour.cs
@@ -5,6 +5,7 @@
using System.Linq;
using osu.Framework.Allocation;
+using osu.Framework.Development;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Localisation;
@@ -90,11 +91,13 @@ private void load(OsuColour colours)
new GraphicsSection(),
new OnlineSection(),
new MaintenanceSection(),
- new DebugSection(),
},
SearchTerm = SettingsItem.CLASSIC_DEFAULT_SEARCH_TERM,
}
};
+
+ if (DebugUtils.IsDebugBuild)
+ searchContainer.Add(new DebugSection());
}
private void applyClassic()
diff --git a/osu.Game/Overlays/Settings/Sections/DebugSection.cs b/osu.Game/Overlays/Settings/Sections/DebugSection.cs
index b84c4410579a..1d2129413c74 100644
--- a/osu.Game/Overlays/Settings/Sections/DebugSection.cs
+++ b/osu.Game/Overlays/Settings/Sections/DebugSection.cs
@@ -1,19 +1,17 @@
// 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.Development;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Localisation;
using osu.Game.Graphics;
-using osu.Game.Localisation;
using osu.Game.Overlays.Settings.Sections.DebugSettings;
namespace osu.Game.Overlays.Settings.Sections
{
public partial class DebugSection : SettingsSection
{
- public override LocalisableString Header => DebugSettingsStrings.DebugSectionHeader;
+ public override LocalisableString Header => @"Debug";
public override Drawable CreateIcon() => new SpriteIcon
{
@@ -22,12 +20,12 @@ public partial class DebugSection : SettingsSection
public DebugSection()
{
- Add(new GeneralSettings());
-
- if (DebugUtils.IsDebugBuild)
- Add(new BatchImportSettings());
-
- Add(new MemorySettings());
+ Children = new Drawable[]
+ {
+ new GeneralSettings(),
+ new BatchImportSettings(),
+ new MemorySettings(),
+ };
}
}
}
diff --git a/osu.Game/Overlays/Settings/Sections/DebugSettings/GeneralSettings.cs b/osu.Game/Overlays/Settings/Sections/DebugSettings/GeneralSettings.cs
index df46e384919f..bd6ada4ca71b 100644
--- a/osu.Game/Overlays/Settings/Sections/DebugSettings/GeneralSettings.cs
+++ b/osu.Game/Overlays/Settings/Sections/DebugSettings/GeneralSettings.cs
@@ -5,43 +5,28 @@
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Localisation;
-using osu.Framework.Screens;
-using osu.Game.Localisation;
-using osu.Game.Screens;
-using osu.Game.Screens.Import;
-using osu.Game.Screens.Utility;
namespace osu.Game.Overlays.Settings.Sections.DebugSettings
{
public partial class GeneralSettings : SettingsSubsection
{
- protected override LocalisableString Header => CommonStrings.General;
+ protected override LocalisableString Header => @"General";
[BackgroundDependencyLoader]
- private void load(FrameworkDebugConfigManager config, FrameworkConfigManager frameworkConfig, IPerformFromScreenRunner? performer)
+ private void load(FrameworkDebugConfigManager config, FrameworkConfigManager frameworkConfig)
{
Children = new Drawable[]
{
new SettingsCheckbox
{
- LabelText = DebugSettingsStrings.ShowLogOverlay,
+ LabelText = @"Show log overlay",
Current = frameworkConfig.GetBindable(FrameworkSetting.ShowLogOverlay)
},
new SettingsCheckbox
{
- LabelText = DebugSettingsStrings.BypassFrontToBackPass,
+ LabelText = @"Bypass front-to-back render pass",
Current = config.GetBindable(DebugSetting.BypassFrontToBackPass)
},
- new SettingsButton
- {
- Text = DebugSettingsStrings.ImportFiles,
- Action = () => performer?.PerformFromScreen(menu => menu.Push(new FileImportScreen()))
- },
- new SettingsButton
- {
- Text = DebugSettingsStrings.RunLatencyCertifier,
- Action = () => performer?.PerformFromScreen(menu => menu.Push(new LatencyCertifierScreen()))
- }
};
}
}
diff --git a/osu.Game/Overlays/Settings/Sections/DebugSettings/MemorySettings.cs b/osu.Game/Overlays/Settings/Sections/DebugSettings/MemorySettings.cs
index d5de7ae2db9c..b693822838c4 100644
--- a/osu.Game/Overlays/Settings/Sections/DebugSettings/MemorySettings.cs
+++ b/osu.Game/Overlays/Settings/Sections/DebugSettings/MemorySettings.cs
@@ -11,13 +11,12 @@
using osu.Framework.Logging;
using osu.Framework.Platform;
using osu.Game.Database;
-using osu.Game.Localisation;
namespace osu.Game.Overlays.Settings.Sections.DebugSettings
{
public partial class MemorySettings : SettingsSubsection
{
- protected override LocalisableString Header => DebugSettingsStrings.MemoryHeader;
+ protected override LocalisableString Header => @"Memory";
[BackgroundDependencyLoader]
private void load(GameHost host, RealmAccess realm)
@@ -29,27 +28,27 @@ private void load(GameHost host, RealmAccess realm)
{
new SettingsButton
{
- Text = DebugSettingsStrings.ClearAllCaches,
+ Text = @"Clear all caches",
Action = host.Collect
},
new SettingsButton
{
- Text = "Compact realm",
+ Text = @"Compact realm",
Action = () =>
{
// Blocking operations implicitly causes a Compact().
- using (realm.BlockAllOperations("compact"))
+ using (realm.BlockAllOperations(@"compact"))
{
}
}
},
blockAction = new SettingsButton
{
- Text = "Block realm",
+ Text = @"Block realm",
},
unblockAction = new SettingsButton
{
- Text = "Unblock realm",
+ Text = @"Unblock realm",
},
};
@@ -57,7 +56,7 @@ private void load(GameHost host, RealmAccess realm)
{
try
{
- IDisposable? token = realm.BlockAllOperations("maintenance");
+ IDisposable? token = realm.BlockAllOperations(@"maintenance");
blockAction.Enabled.Value = false;
@@ -89,7 +88,7 @@ void unblock()
}
catch (Exception e)
{
- Logger.Error(e, "Blocking realm failed");
+ Logger.Error(e, @"Blocking realm failed");
}
};
}
diff --git a/osu.Game/Overlays/Settings/Sections/Maintenance/GeneralSettings.cs b/osu.Game/Overlays/Settings/Sections/Maintenance/GeneralSettings.cs
new file mode 100644
index 000000000000..f75fc2c8bc06
--- /dev/null
+++ b/osu.Game/Overlays/Settings/Sections/Maintenance/GeneralSettings.cs
@@ -0,0 +1,36 @@
+// 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.Allocation;
+using osu.Framework.Localisation;
+using osu.Framework.Screens;
+using osu.Game.Localisation;
+using osu.Game.Screens;
+using osu.Game.Screens.Import;
+using osu.Game.Screens.Utility;
+
+namespace osu.Game.Overlays.Settings.Sections.Maintenance
+{
+ public partial class GeneralSettings : SettingsSubsection
+ {
+ protected override LocalisableString Header => CommonStrings.General;
+
+ [BackgroundDependencyLoader]
+ private void load(IPerformFromScreenRunner? performer)
+ {
+ Children = new[]
+ {
+ new SettingsButton
+ {
+ Text = DebugSettingsStrings.ImportFiles,
+ Action = () => performer?.PerformFromScreen(menu => menu.Push(new FileImportScreen()))
+ },
+ new SettingsButton
+ {
+ Text = DebugSettingsStrings.RunLatencyCertifier,
+ Action = () => performer?.PerformFromScreen(menu => menu.Push(new LatencyCertifierScreen()))
+ }
+ };
+ }
+ }
+}
diff --git a/osu.Game/Overlays/Settings/Sections/MaintenanceSection.cs b/osu.Game/Overlays/Settings/Sections/MaintenanceSection.cs
index bd90e4c35d5f..f1b1511df8c4 100644
--- a/osu.Game/Overlays/Settings/Sections/MaintenanceSection.cs
+++ b/osu.Game/Overlays/Settings/Sections/MaintenanceSection.cs
@@ -23,6 +23,7 @@ public MaintenanceSection()
{
Children = new Drawable[]
{
+ new GeneralSettings(),
new BeatmapSettings(),
new SkinSettings(),
new CollectionsSettings(),
diff --git a/osu.Game/Overlays/SettingsOverlay.cs b/osu.Game/Overlays/SettingsOverlay.cs
index 9076dadf93c0..1157860e03ae 100644
--- a/osu.Game/Overlays/SettingsOverlay.cs
+++ b/osu.Game/Overlays/SettingsOverlay.cs
@@ -7,6 +7,7 @@
using System.Linq;
using osu.Framework.Allocation;
using osu.Framework.Bindables;
+using osu.Framework.Development;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Sprites;
@@ -27,21 +28,28 @@ public partial class SettingsOverlay : SettingsPanel, INamedOverlayComponent
public LocalisableString Title => SettingsStrings.HeaderTitle;
public LocalisableString Description => SettingsStrings.HeaderDescription;
- protected override IEnumerable CreateSections() => new SettingsSection[]
+ protected override IEnumerable CreateSections()
{
- // This list should be kept in sync with ScreenBehaviour.
- new GeneralSection(),
- new SkinSection(),
- new InputSection(createSubPanel(new KeyBindingPanel())),
- new UserInterfaceSection(),
- new GameplaySection(),
- new RulesetSection(),
- new AudioSection(),
- new GraphicsSection(),
- new OnlineSection(),
- new MaintenanceSection(),
- new DebugSection(),
- };
+ var sections = new List
+ {
+ // This list should be kept in sync with ScreenBehaviour.
+ new GeneralSection(),
+ new SkinSection(),
+ new InputSection(createSubPanel(new KeyBindingPanel())),
+ new UserInterfaceSection(),
+ new GameplaySection(),
+ new RulesetSection(),
+ new AudioSection(),
+ new GraphicsSection(),
+ new OnlineSection(),
+ new MaintenanceSection(),
+ };
+
+ if (DebugUtils.IsDebugBuild)
+ sections.Add(new DebugSection());
+
+ return sections;
+ }
private readonly List subPanels = new List();