1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 14:07:25 +08:00
osu-lazer/osu.Game/Overlays/Settings/Sections/InputSection.cs
Dean Herbert bd2e0dc82b Move "keybindings" keyword to correct section
Without this, things like tablet settings would show when searching for
bindings, even though these settings have nothing to do with key
bindings.
2022-11-17 15:09:42 +09:00

76 lines
2.1 KiB
C#

// 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.
#nullable disable
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Input.Handlers;
using osu.Framework.Localisation;
using osu.Framework.Platform;
using osu.Game.Localisation;
using osu.Game.Overlays.Settings.Sections.Input;
namespace osu.Game.Overlays.Settings.Sections
{
public class InputSection : SettingsSection
{
private readonly KeyBindingPanel keyConfig;
public override LocalisableString Header => InputSettingsStrings.InputSectionHeader;
public override Drawable CreateIcon() => new SpriteIcon
{
Icon = FontAwesome.Solid.Keyboard
};
public InputSection(KeyBindingPanel keyConfig)
{
this.keyConfig = keyConfig;
}
[BackgroundDependencyLoader]
private void load(GameHost host, OsuGameBase game)
{
Children = new Drawable[]
{
new BindingSettings(keyConfig),
};
foreach (var handler in host.AvailableInputHandlers)
{
var handlerSection = game.CreateSettingsSubsectionFor(handler);
if (handlerSection != null)
Add(handlerSection);
}
}
public class HandlerSection : SettingsSubsection
{
private readonly InputHandler handler;
public HandlerSection(InputHandler handler)
{
this.handler = handler;
}
[BackgroundDependencyLoader]
private void load()
{
Children = new Drawable[]
{
new SettingsCheckbox
{
LabelText = CommonStrings.Enabled,
Current = handler.Enabled
},
};
}
protected override LocalisableString Header => handler.Description;
}
}
}