1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 03:27:24 +08:00

Merge pull request #10999 from bdach/user-interface-settings-section

Create "User Interface" settings section
This commit is contained in:
Dan Balasescu 2020-11-30 17:25:04 +09:00 committed by GitHub
commit 52cb30dff2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 58 additions and 21 deletions

View File

@ -27,7 +27,6 @@ namespace osu.Game.Overlays.Settings.Sections
new AudioDevicesSettings(),
new VolumeSettings(),
new OffsetSettings(),
new MainMenuSettings()
};
}
}

View File

@ -26,7 +26,6 @@ namespace osu.Game.Overlays.Settings.Sections
Children = new Drawable[]
{
new GeneralSettings(),
new SongSelectSettings(),
new ModsSettings(),
};
}

View File

@ -23,7 +23,6 @@ namespace osu.Game.Overlays.Settings.Sections
new RendererSettings(),
new LayoutSettings(),
new DetailSettings(),
new UserInterfaceSettings(),
};
}
}

View File

@ -0,0 +1,15 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Settings.Sections
{
/// <summary>
/// A slider intended to show a "size" multiplier number, where 1x is 1.0.
/// </summary>
internal class SizeSlider : OsuSliderBar<float>
{
public override string TooltipText => Current.Value.ToString(@"0.##x");
}
}

View File

@ -54,12 +54,6 @@ namespace osu.Game.Overlays.Settings.Sections
skinDropdown = new SkinSettingsDropdown(),
new ExportSkinButton(),
new SettingsSlider<float, SizeSlider>
{
LabelText = "Menu cursor size",
Current = config.GetBindable<float>(OsuSetting.MenuCursorSize),
KeyboardStep = 0.01f
},
new SettingsSlider<float, SizeSlider>
{
LabelText = "Gameplay cursor size",
Current = config.GetBindable<float>(OsuSetting.GameplayCursorSize),
@ -136,11 +130,6 @@ namespace osu.Game.Overlays.Settings.Sections
Schedule(() => skinDropdown.Items = skinDropdown.Items.Where(i => i.ID != item.ID).ToArray());
}
private class SizeSlider : OsuSliderBar<float>
{
public override string TooltipText => Current.Value.ToString(@"0.##x");
}
private class SkinSettingsDropdown : SettingsDropdown<SkinInfo>
{
protected override OsuDropdown<SkinInfo> CreateDropdown() => new SkinDropdownControl();

View File

@ -6,11 +6,11 @@ using osu.Framework.Graphics;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Settings.Sections.Graphics
namespace osu.Game.Overlays.Settings.Sections.UserInterface
{
public class UserInterfaceSettings : SettingsSubsection
public class GeneralSettings : SettingsSubsection
{
protected override string Header => "User Interface";
protected override string Header => "General";
[BackgroundDependencyLoader]
private void load(OsuConfigManager config)
@ -22,6 +22,12 @@ namespace osu.Game.Overlays.Settings.Sections.Graphics
LabelText = "Rotate cursor when dragging",
Current = config.GetBindable<bool>(OsuSetting.CursorRotation)
},
new SettingsSlider<float, SizeSlider>
{
LabelText = "Menu cursor size",
Current = config.GetBindable<float>(OsuSetting.MenuCursorSize),
KeyboardStep = 0.01f
},
new SettingsCheckbox
{
LabelText = "Parallax",

View File

@ -7,7 +7,7 @@ using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Settings.Sections.Audio
namespace osu.Game.Overlays.Settings.Sections.UserInterface
{
public class MainMenuSettings : SettingsSubsection
{

View File

@ -8,7 +8,7 @@ using osu.Framework.Graphics;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Settings.Sections.Gameplay
namespace osu.Game.Overlays.Settings.Sections.UserInterface
{
public class SongSelectSettings : SettingsSubsection
{

View File

@ -0,0 +1,29 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Game.Overlays.Settings.Sections.UserInterface;
namespace osu.Game.Overlays.Settings.Sections
{
public class UserInterfaceSection : SettingsSection
{
public override string Header => "User Interface";
public override Drawable CreateIcon() => new SpriteIcon
{
Icon = FontAwesome.Solid.LayerGroup
};
public UserInterfaceSection()
{
Children = new Drawable[]
{
new GeneralSettings(),
new MainMenuSettings(),
new SongSelectSettings()
};
}
}
}

View File

@ -23,10 +23,11 @@ namespace osu.Game.Overlays
{
new GeneralSection(),
new GraphicsSection(),
new GameplaySection(),
new AudioSection(),
new SkinSection(),
new InputSection(createSubPanel(new KeyBindingPanel())),
new UserInterfaceSection(),
new GameplaySection(),
new SkinSection(),
new OnlineSection(),
new MaintenanceSection(),
new DebugSection(),