From 6ca974bf0cda60d8ef93af05b869645d9f50c192 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 31 Jan 2017 18:37:11 +0900 Subject: [PATCH] Re-namespace options, adjust font sizes + more. --- .../UserInterface/OsuCheckbox.cs} | 21 +++--- osu.Game/Graphics/UserInterface/OsuTextBox.cs | 3 +- osu.Game/Overlays/LoginOverlay.cs | 2 +- .../{DropdownOption.cs => OptionDropdown.cs} | 37 ++++++---- osu.Game/Overlays/Options/OptionLabel.cs | 23 +++++++ .../{SliderOption.cs => OptionSlider.cs} | 11 +-- .../{TextBoxOption.cs => OptionTextBox.cs} | 2 +- .../Audio/AudioDevicesOptions.cs | 6 +- .../Audio/OffsetAdjustmentOptions.cs | 17 +++-- .../{ => Sections}/Audio/VolumeOptions.cs | 14 ++-- .../{Audio => Sections}/AudioSection.cs | 11 +-- .../Options/{ => Sections}/EditorSection.cs | 19 +++--- .../Gameplay/GeneralGameplayOptions.cs | 32 +++++---- .../Gameplay/SongSelectGameplayOptions.cs | 19 +++--- .../{Gameplay => Sections}/GameplaySection.cs | 9 +-- .../{ => Sections}/General/LanguageOptions.cs | 13 ++-- .../{ => Sections}/General/LoginOptions.cs | 18 +++-- .../{ => Sections}/General/UpdateOptions.cs | 8 +-- .../{General => Sections}/GeneralSection.cs | 9 +-- .../{ => Sections}/Graphics/DetailOptions.cs | 22 +++--- .../{ => Sections}/Graphics/LayoutOptions.cs | 17 ++--- .../Graphics/MainMenuOptions.cs | 15 ++--- .../Graphics/RendererOptions.cs | 14 ++-- .../Graphics/SongSelectGraphicsOptions.cs | 7 +- .../{Graphics => Sections}/GraphicsSection.cs | 9 +-- .../{ => Sections}/Input/KeyboardOptions.cs | 8 +-- .../{ => Sections}/Input/MouseOptions.cs | 20 +++--- .../{ => Sections}/Input/OtherInputOptions.cs | 9 ++- .../{Input => Sections}/InputSection.cs | 9 +-- .../{ => Sections}/MaintenanceSection.cs | 15 ++--- .../Online/InGameChatOptions.cs | 26 ++++--- .../Online/NotificationsOptions.cs | 17 +++-- .../Online/OnlineIntegrationOptions.cs | 13 ++-- .../{ => Sections}/Online/PrivacyOptions.cs | 9 ++- .../{Online => Sections}/OnlineSection.cs | 9 +-- .../Options/{ => Sections}/SkinSection.cs | 25 +++---- osu.Game/Overlays/Options/SidebarButton.cs | 1 + osu.Game/Overlays/OptionsOverlay.cs | 9 +-- osu.Game/osu.Game.csproj | 67 ++++++++++--------- 39 files changed, 305 insertions(+), 290 deletions(-) rename osu.Game/{Overlays/Options/CheckBoxOption.cs => Graphics/UserInterface/OsuCheckbox.cs} (89%) rename osu.Game/Overlays/Options/{DropdownOption.cs => OptionDropdown.cs} (87%) create mode 100644 osu.Game/Overlays/Options/OptionLabel.cs rename osu.Game/Overlays/Options/{SliderOption.cs => OptionSlider.cs} (92%) rename osu.Game/Overlays/Options/{TextBoxOption.cs => OptionTextBox.cs} (96%) rename osu.Game/Overlays/Options/{ => Sections}/Audio/AudioDevicesOptions.cs (71%) rename osu.Game/Overlays/Options/{ => Sections}/Audio/OffsetAdjustmentOptions.cs (87%) rename osu.Game/Overlays/Options/{ => Sections}/Audio/VolumeOptions.cs (68%) rename osu.Game/Overlays/Options/{Audio => Sections}/AudioSection.cs (88%) rename osu.Game/Overlays/Options/{ => Sections}/EditorSection.cs (82%) rename osu.Game/Overlays/Options/{ => Sections}/Gameplay/GeneralGameplayOptions.cs (79%) rename osu.Game/Overlays/Options/{ => Sections}/Gameplay/SongSelectGameplayOptions.cs (80%) rename osu.Game/Overlays/Options/{Gameplay => Sections}/GameplaySection.cs (86%) rename osu.Game/Overlays/Options/{ => Sections}/General/LanguageOptions.cs (77%) rename osu.Game/Overlays/Options/{ => Sections}/General/LoginOptions.cs (94%) rename osu.Game/Overlays/Options/{ => Sections}/General/UpdateOptions.cs (78%) rename osu.Game/Overlays/Options/{General => Sections}/GeneralSection.cs (86%) rename osu.Game/Overlays/Options/{ => Sections}/Graphics/DetailOptions.cs (80%) rename osu.Game/Overlays/Options/{ => Sections}/Graphics/LayoutOptions.cs (74%) rename osu.Game/Overlays/Options/{ => Sections}/Graphics/MainMenuOptions.cs (79%) rename osu.Game/Overlays/Options/{ => Sections}/Graphics/RendererOptions.cs (80%) rename osu.Game/Overlays/Options/{ => Sections}/Graphics/SongSelectGraphicsOptions.cs (80%) rename osu.Game/Overlays/Options/{Graphics => Sections}/GraphicsSection.cs (88%) rename osu.Game/Overlays/Options/{ => Sections}/Input/KeyboardOptions.cs (93%) rename osu.Game/Overlays/Options/{ => Sections}/Input/MouseOptions.cs (79%) rename osu.Game/Overlays/Options/{ => Sections}/Input/OtherInputOptions.cs (80%) rename osu.Game/Overlays/Options/{Input => Sections}/InputSection.cs (87%) rename osu.Game/Overlays/Options/{ => Sections}/MaintenanceSection.cs (92%) rename osu.Game/Overlays/Options/{ => Sections}/Online/InGameChatOptions.cs (70%) rename osu.Game/Overlays/Options/{ => Sections}/Online/NotificationsOptions.cs (82%) rename osu.Game/Overlays/Options/{ => Sections}/Online/OnlineIntegrationOptions.cs (81%) rename osu.Game/Overlays/Options/{ => Sections}/Online/PrivacyOptions.cs (81%) rename osu.Game/Overlays/Options/{Online => Sections}/OnlineSection.cs (87%) rename osu.Game/Overlays/Options/{ => Sections}/SkinSection.cs (82%) diff --git a/osu.Game/Overlays/Options/CheckBoxOption.cs b/osu.Game/Graphics/UserInterface/OsuCheckbox.cs similarity index 89% rename from osu.Game/Overlays/Options/CheckBoxOption.cs rename to osu.Game/Graphics/UserInterface/OsuCheckbox.cs index cc1af1e3c9..c6e8559f7f 100644 --- a/osu.Game/Overlays/Options/CheckBoxOption.cs +++ b/osu.Game/Graphics/UserInterface/OsuCheckbox.cs @@ -13,14 +13,14 @@ using osu.Framework.Graphics.Primitives; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Transformations; using osu.Framework.Graphics.UserInterface; +using osu.Framework.Input; +using osu.Game.Overlays; using OpenTK; using OpenTK.Graphics; -using osu.Framework.Input; -using osu.Game.Graphics; -namespace osu.Game.Overlays.Options +namespace osu.Game.Graphics.UserInterface { - public class CheckBoxOption : CheckBox + public class OsuCheckbox : CheckBox { private Bindable bindable; @@ -70,15 +70,18 @@ namespace osu.Game.Overlays.Options private AudioSample sampleChecked; private AudioSample sampleUnchecked; - public CheckBoxOption() + public OsuCheckbox() { AutoSizeAxes = Axes.Y; RelativeSizeAxes = Axes.X; Children = new Drawable[] { - labelSpriteText = new SpriteText(), - light = new Light() + labelSpriteText = new SpriteText + { + TextSize = OptionsOverlay.FONT_SIZE, + }, + light = new Light { Anchor = Anchor.CentreRight, Origin = Anchor.CentreRight, @@ -145,7 +148,7 @@ namespace osu.Game.Overlays.Options public Light() { - Size = new Vector2(40, 12); + Size = new Vector2(20, 12); Masking = true; @@ -187,11 +190,13 @@ namespace osu.Game.Overlays.Options { if (value) { + ResizeTo(new Vector2(40, 12), 500, EasingTypes.OutQuint); FadeColour(glowingColour, 500, EasingTypes.OutQuint); FadeGlowTo(1, 500, EasingTypes.OutQuint); } else { + ResizeTo(new Vector2(20, 12), 500, EasingTypes.OutQuint); FadeGlowTo(0, 500); FadeColour(idleColour, 500); } diff --git a/osu.Game/Graphics/UserInterface/OsuTextBox.cs b/osu.Game/Graphics/UserInterface/OsuTextBox.cs index 5041e7ded9..52b5d88e26 100644 --- a/osu.Game/Graphics/UserInterface/OsuTextBox.cs +++ b/osu.Game/Graphics/UserInterface/OsuTextBox.cs @@ -5,6 +5,7 @@ using osu.Framework.Allocation; using osu.Framework.Graphics; using osu.Framework.Graphics.UserInterface; using osu.Framework.Input; +using osu.Game.Overlays; using OpenTK.Graphics; namespace osu.Game.Graphics.UserInterface @@ -14,7 +15,7 @@ namespace osu.Game.Graphics.UserInterface public OsuTextBox() { Height = 40; - TextContainer.Height = 0.6f; + TextContainer.Height = OptionsOverlay.FONT_SIZE / Height; CornerRadius = 5; } diff --git a/osu.Game/Overlays/LoginOverlay.cs b/osu.Game/Overlays/LoginOverlay.cs index 91bea093db..5f8c60ff9b 100644 --- a/osu.Game/Overlays/LoginOverlay.cs +++ b/osu.Game/Overlays/LoginOverlay.cs @@ -8,7 +8,7 @@ using osu.Framework.Graphics.Primitives; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Transformations; using osu.Game.Graphics; -using osu.Game.Overlays.Options.General; +using osu.Game.Overlays.Options.Sections.General; using OpenTK; using OpenTK.Graphics; diff --git a/osu.Game/Overlays/Options/DropdownOption.cs b/osu.Game/Overlays/Options/OptionDropdown.cs similarity index 87% rename from osu.Game/Overlays/Options/DropdownOption.cs rename to osu.Game/Overlays/Options/OptionDropdown.cs index 6262673734..f154db71ff 100644 --- a/osu.Game/Overlays/Options/DropdownOption.cs +++ b/osu.Game/Overlays/Options/OptionDropdown.cs @@ -12,16 +12,15 @@ using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Primitives; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.UserInterface; -using osu.Game.Configuration; using osu.Game.Graphics; namespace osu.Game.Overlays.Options { - public class DropdownOption : FlowContainer + public class OptionDropdown : FlowContainer { private DropDownMenu dropdown; private SpriteText text; - + public string LabelText { get { return text.Text; } @@ -31,7 +30,7 @@ namespace osu.Game.Overlays.Options text.Alpha = string.IsNullOrEmpty(value) ? 0 : 1; } } - + public Bindable Bindable { get { return bindable; } @@ -56,7 +55,7 @@ namespace osu.Game.Overlays.Options { bindable.Value = dropdown.SelectedValue; } - + protected override void Dispose(bool isDisposing) { bindable.ValueChanged -= Bindable_ValueChanged; @@ -64,7 +63,7 @@ namespace osu.Game.Overlays.Options base.Dispose(isDisposing); } - public DropdownOption() + public OptionDropdown() { if (!typeof(T).IsEnum) throw new InvalidOperationException("OptionsDropdown only supports enums as the generic type argument"); @@ -73,7 +72,10 @@ namespace osu.Game.Overlays.Options AutoSizeAxes = Axes.Y; Children = new Drawable[] { - text = new SpriteText { Alpha = 0 }, + text = new SpriteText { + Alpha = 0, + TextSize = OptionsOverlay.FONT_SIZE + }, dropdown = new StyledDropDownMenu { Margin = new MarginPadding { Top = 5 }, @@ -83,7 +85,7 @@ namespace osu.Game.Overlays.Options }; dropdown.ValueChanged += Dropdown_ValueChanged; } - + private class StyledDropDownMenu : DropDownMenu { protected override float DropDownListSpacing => 4; @@ -92,7 +94,7 @@ namespace osu.Game.Overlays.Options { return new StyledDropDownComboBox(); } - + protected override IEnumerable> GetDropDownItems(IEnumerable values) { return values.Select(v => @@ -101,7 +103,7 @@ namespace osu.Game.Overlays.Options return new StyledDropDownMenuItem( field.GetCustomAttribute()?.Description ?? field.Name, v); }); - + } public StyledDropDownMenu() @@ -143,9 +145,17 @@ namespace osu.Game.Overlays.Options { Foreground.Padding = new MarginPadding(4); + AutoSizeAxes = Axes.None; + Height = 40; + Children = new[] { - label = new SpriteText(), + label = new SpriteText() + { + Anchor = Anchor.CentreLeft, + Origin = Anchor.CentreLeft, + TextSize = OptionsOverlay.FONT_SIZE, + }, new TextAwesome { Icon = FontAwesome.fa_chevron_down, @@ -189,7 +199,10 @@ namespace osu.Game.Overlays.Options Origin = Anchor.CentreLeft, Anchor = Anchor.CentreLeft, }, - new SpriteText { Text = text } + new SpriteText { + Text = text, + TextSize = OptionsOverlay.FONT_SIZE, + } } } }; diff --git a/osu.Game/Overlays/Options/OptionLabel.cs b/osu.Game/Overlays/Options/OptionLabel.cs new file mode 100644 index 0000000000..e6a7f6ab90 --- /dev/null +++ b/osu.Game/Overlays/Options/OptionLabel.cs @@ -0,0 +1,23 @@ +//Copyright (c) 2007-2016 ppy Pty Ltd . +//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using osu.Framework.Allocation; +using osu.Framework.Graphics.Sprites; +using osu.Game.Graphics; + +namespace osu.Game.Overlays.Options +{ + class OptionLabel : SpriteText + { + public OptionLabel() + { + TextSize = OptionsOverlay.FONT_SIZE; + } + + [BackgroundDependencyLoader] + private void load(OsuColour colour) + { + Colour = colour.Gray6; + } + } +} diff --git a/osu.Game/Overlays/Options/SliderOption.cs b/osu.Game/Overlays/Options/OptionSlider.cs similarity index 92% rename from osu.Game/Overlays/Options/SliderOption.cs rename to osu.Game/Overlays/Options/OptionSlider.cs index e2e387d348..6c14d3dfeb 100644 --- a/osu.Game/Overlays/Options/SliderOption.cs +++ b/osu.Game/Overlays/Options/OptionSlider.cs @@ -21,7 +21,7 @@ using System.Linq; namespace osu.Game.Overlays.Options { - public class SliderOption : FlowContainer where T : struct + public class OptionSlider : FlowContainer where T : struct { private SliderBar slider; private SpriteText text; @@ -42,14 +42,17 @@ namespace osu.Game.Overlays.Options set { slider.Bindable = value; } } - public SliderOption() + public OptionSlider() { Direction = FlowDirection.VerticalOnly; RelativeSizeAxes = Axes.X; AutoSizeAxes = Axes.Y; Children = new Drawable[] { - text = new SpriteText { Alpha = 0 }, + text = new SpriteText { + Alpha = 0, + TextSize = OptionsOverlay.FONT_SIZE, + }, slider = new OsuSliderBar { Margin = new MarginPadding { Top = 5 }, @@ -76,7 +79,7 @@ namespace osu.Game.Overlays.Options public OsuSliderBar() { - Height = 22; + Height = 20; Padding = new MarginPadding { Left = Height / 2, Right = Height / 2 }; Children = new Drawable[] { diff --git a/osu.Game/Overlays/Options/TextBoxOption.cs b/osu.Game/Overlays/Options/OptionTextBox.cs similarity index 96% rename from osu.Game/Overlays/Options/TextBoxOption.cs rename to osu.Game/Overlays/Options/OptionTextBox.cs index 6edd34e318..101ba2c0c9 100644 --- a/osu.Game/Overlays/Options/TextBoxOption.cs +++ b/osu.Game/Overlays/Options/OptionTextBox.cs @@ -8,7 +8,7 @@ using osu.Game.Graphics.UserInterface; namespace osu.Game.Overlays.Options { - public class TextBoxOption : OsuTextBox + public class OptionTextBox : OsuTextBox { private Bindable bindable; diff --git a/osu.Game/Overlays/Options/Audio/AudioDevicesOptions.cs b/osu.Game/Overlays/Options/Sections/Audio/AudioDevicesOptions.cs similarity index 71% rename from osu.Game/Overlays/Options/Audio/AudioDevicesOptions.cs rename to osu.Game/Overlays/Options/Sections/Audio/AudioDevicesOptions.cs index 5ad57bef53..b9171cd6f6 100644 --- a/osu.Game/Overlays/Options/Audio/AudioDevicesOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Audio/AudioDevicesOptions.cs @@ -1,9 +1,7 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework.Graphics.Sprites; - -namespace osu.Game.Overlays.Options.Audio +namespace osu.Game.Overlays.Options.Sections.Audio { public class AudioDevicesOptions : OptionsSubsection { @@ -13,7 +11,7 @@ namespace osu.Game.Overlays.Options.Audio { Children = new[] { - new SpriteText { Text = "Output device: TODO dropdown" } + new OptionLabel { Text = "Output device: TODO dropdown" } }; } } diff --git a/osu.Game/Overlays/Options/Audio/OffsetAdjustmentOptions.cs b/osu.Game/Overlays/Options/Sections/Audio/OffsetAdjustmentOptions.cs similarity index 87% rename from osu.Game/Overlays/Options/Audio/OffsetAdjustmentOptions.cs rename to osu.Game/Overlays/Options/Sections/Audio/OffsetAdjustmentOptions.cs index df1d6aa9f9..0c3436ab53 100644 --- a/osu.Game/Overlays/Options/Audio/OffsetAdjustmentOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Audio/OffsetAdjustmentOptions.cs @@ -1,14 +1,13 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework.Allocation; -using osu.Framework.Configuration; -using osu.Framework.Graphics; -using osu.Framework.Graphics.Sprites; -using osu.Game.Configuration; -using osu.Game.Graphics.UserInterface; - -namespace osu.Game.Overlays.Options.Audio +using osu.Framework.Allocation; +using osu.Framework.Configuration; +using osu.Framework.Graphics; +using osu.Game.Configuration; +using osu.Game.Graphics.UserInterface; + +namespace osu.Game.Overlays.Options.Sections.Audio { public class OffsetAdjustmentOptions : OptionsSubsection { @@ -19,7 +18,7 @@ namespace osu.Game.Overlays.Options.Audio { Children = new Drawable[] { - new SliderOption + new OptionSlider { LabelText = "Universal Offset", Bindable = (BindableInt)config.GetBindable(OsuConfig.Offset) diff --git a/osu.Game/Overlays/Options/Audio/VolumeOptions.cs b/osu.Game/Overlays/Options/Sections/Audio/VolumeOptions.cs similarity index 68% rename from osu.Game/Overlays/Options/Audio/VolumeOptions.cs rename to osu.Game/Overlays/Options/Sections/Audio/VolumeOptions.cs index 216e2e866d..45c26f4f4d 100644 --- a/osu.Game/Overlays/Options/Audio/VolumeOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Audio/VolumeOptions.cs @@ -1,15 +1,13 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; using osu.Framework.Allocation; using osu.Framework.Audio; using osu.Framework.Graphics; -using osu.Framework.Graphics.Sprites; -using osu.Framework.Graphics.UserInterface; using osu.Game.Configuration; +using osu.Game.Graphics.UserInterface; -namespace osu.Game.Overlays.Options.Audio +namespace osu.Game.Overlays.Options.Sections.Audio { public class VolumeOptions : OptionsSubsection { @@ -20,10 +18,10 @@ namespace osu.Game.Overlays.Options.Audio { Children = new Drawable[] { - new SliderOption { LabelText = "Master", Bindable = audio.Volume }, - new SliderOption { LabelText = "Effect", Bindable = audio.VolumeSample }, - new SliderOption { LabelText = "Music", Bindable = audio.VolumeTrack }, - new CheckBoxOption + new OptionSlider { LabelText = "Master", Bindable = audio.Volume }, + new OptionSlider { LabelText = "Effect", Bindable = audio.VolumeSample }, + new OptionSlider { LabelText = "Music", Bindable = audio.VolumeTrack }, + new OsuCheckbox { LabelText = "Ignore beatmap hitsounds", Bindable = config.GetBindable(OsuConfig.IgnoreBeatmapSamples) diff --git a/osu.Game/Overlays/Options/Audio/AudioSection.cs b/osu.Game/Overlays/Options/Sections/AudioSection.cs similarity index 88% rename from osu.Game/Overlays/Options/Audio/AudioSection.cs rename to osu.Game/Overlays/Options/Sections/AudioSection.cs index 6b55944a5c..613b265446 100644 --- a/osu.Game/Overlays/Options/Audio/AudioSection.cs +++ b/osu.Game/Overlays/Options/Sections/AudioSection.cs @@ -1,11 +1,12 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; -using osu.Framework.Graphics; -using osu.Game.Graphics; - -namespace osu.Game.Overlays.Options.Audio +using osu.Framework; +using osu.Framework.Graphics; +using osu.Game.Graphics; +using osu.Game.Overlays.Options.Sections.Audio; + +namespace osu.Game.Overlays.Options.Sections { public class AudioSection : OptionsSection { diff --git a/osu.Game/Overlays/Options/EditorSection.cs b/osu.Game/Overlays/Options/Sections/EditorSection.cs similarity index 82% rename from osu.Game/Overlays/Options/EditorSection.cs rename to osu.Game/Overlays/Options/Sections/EditorSection.cs index 9d7d9bde95..2cdb0e7816 100644 --- a/osu.Game/Overlays/Options/EditorSection.cs +++ b/osu.Game/Overlays/Options/Sections/EditorSection.cs @@ -1,15 +1,14 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using OpenTK; -using osu.Framework; using osu.Framework.Allocation; using osu.Framework.Graphics; -using osu.Framework.Graphics.UserInterface; using osu.Game.Configuration; using osu.Game.Graphics; +using osu.Game.Graphics.UserInterface; +using OpenTK; -namespace osu.Game.Overlays.Options +namespace osu.Game.Overlays.Options.Sections { public class EditorSection : OptionsSection { @@ -22,32 +21,32 @@ namespace osu.Game.Overlays.Options content.Spacing = new Vector2(0, 5); Children = new Drawable[] { - new CheckBoxOption + new OsuCheckbox { LabelText = "Background video", Bindable = config.GetBindable(OsuConfig.VideoEditor) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Always use default skin", Bindable = config.GetBindable(OsuConfig.EditorDefaultSkin) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Snaking sliders", Bindable = config.GetBindable(OsuConfig.EditorSnakingSliders) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Hit animations", Bindable = config.GetBindable(OsuConfig.EditorHitAnimations) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Follow points", Bindable = config.GetBindable(OsuConfig.EditorFollowPoints) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Stacking", Bindable = config.GetBindable(OsuConfig.EditorStacking) diff --git a/osu.Game/Overlays/Options/Gameplay/GeneralGameplayOptions.cs b/osu.Game/Overlays/Options/Sections/Gameplay/GeneralGameplayOptions.cs similarity index 79% rename from osu.Game/Overlays/Options/Gameplay/GeneralGameplayOptions.cs rename to osu.Game/Overlays/Options/Sections/Gameplay/GeneralGameplayOptions.cs index 15ee80102d..17b81c3af7 100644 --- a/osu.Game/Overlays/Options/Gameplay/GeneralGameplayOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Gameplay/GeneralGameplayOptions.cs @@ -1,15 +1,13 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; -using osu.Framework.Allocation; -using osu.Framework.Configuration; -using osu.Framework.Graphics; -using osu.Framework.Graphics.Sprites; -using osu.Framework.Graphics.UserInterface; -using osu.Game.Configuration; - -namespace osu.Game.Overlays.Options.Gameplay +using osu.Framework.Allocation; +using osu.Framework.Configuration; +using osu.Framework.Graphics; +using osu.Game.Configuration; +using osu.Game.Graphics.UserInterface; + +namespace osu.Game.Overlays.Options.Sections.Gameplay { public class GeneralGameplayOptions : OptionsSubsection { @@ -20,42 +18,42 @@ namespace osu.Game.Overlays.Options.Gameplay { Children = new Drawable[] { - new SliderOption + new OptionSlider { LabelText = "Background dim", Bindable = (BindableInt)config.GetBindable(OsuConfig.DimLevel) }, - new DropdownOption + new OptionDropdown { LabelText = "Progress display", Bindable = config.GetBindable(OsuConfig.ProgressBarType) }, - new DropdownOption + new OptionDropdown { LabelText = "Score meter type", Bindable = config.GetBindable(OsuConfig.ScoreMeter) }, - new SliderOption + new OptionSlider { LabelText = "Score meter size", Bindable = (BindableDouble)config.GetBindable(OsuConfig.ScoreMeterScale) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Always show key overlay", Bindable = config.GetBindable(OsuConfig.KeyOverlay) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Show approach circle on first \"Hidden\" object", Bindable = config.GetBindable(OsuConfig.HiddenShowFirstApproach) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Scale osu!mania scroll speed with BPM", Bindable = config.GetBindable(OsuConfig.ManiaSpeedBPMScale) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Remember osu!mania scroll speed per beatmap", Bindable = config.GetBindable(OsuConfig.UsePerBeatmapManiaSpeed) diff --git a/osu.Game/Overlays/Options/Gameplay/SongSelectGameplayOptions.cs b/osu.Game/Overlays/Options/Sections/Gameplay/SongSelectGameplayOptions.cs similarity index 80% rename from osu.Game/Overlays/Options/Gameplay/SongSelectGameplayOptions.cs rename to osu.Game/Overlays/Options/Sections/Gameplay/SongSelectGameplayOptions.cs index e0f25cfea7..e8e3cc817e 100644 --- a/osu.Game/Overlays/Options/Gameplay/SongSelectGameplayOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Gameplay/SongSelectGameplayOptions.cs @@ -1,15 +1,12 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using System; -using osu.Framework.Allocation; -using osu.Framework.Configuration; -using osu.Framework.Graphics; -using osu.Framework.Graphics.Sprites; -using osu.Game.Configuration; -using osu.Game.Graphics.UserInterface; - -namespace osu.Game.Overlays.Options.Gameplay +using osu.Framework.Allocation; +using osu.Framework.Configuration; +using osu.Framework.Graphics; +using osu.Game.Configuration; + +namespace osu.Game.Overlays.Options.Sections.Gameplay { public class SongSelectGameplayOptions : OptionsSubsection { @@ -20,12 +17,12 @@ namespace osu.Game.Overlays.Options.Gameplay { Children = new Drawable[] { - new SliderOption + new OptionSlider { LabelText = "Display beatmaps from", Bindable = (BindableDouble)config.GetBindable(OsuConfig.DisplayStarsMinimum) }, - new SliderOption + new OptionSlider { LabelText = "up to", Bindable = (BindableDouble)config.GetBindable(OsuConfig.DisplayStarsMaximum) diff --git a/osu.Game/Overlays/Options/Gameplay/GameplaySection.cs b/osu.Game/Overlays/Options/Sections/GameplaySection.cs similarity index 86% rename from osu.Game/Overlays/Options/Gameplay/GameplaySection.cs rename to osu.Game/Overlays/Options/Sections/GameplaySection.cs index 3216d55837..d109963c3b 100644 --- a/osu.Game/Overlays/Options/Gameplay/GameplaySection.cs +++ b/osu.Game/Overlays/Options/Sections/GameplaySection.cs @@ -1,10 +1,11 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework.Graphics; -using osu.Game.Graphics; - -namespace osu.Game.Overlays.Options.Gameplay +using osu.Framework.Graphics; +using osu.Game.Graphics; +using osu.Game.Overlays.Options.Sections.Gameplay; + +namespace osu.Game.Overlays.Options.Sections { public class GameplaySection : OptionsSection { diff --git a/osu.Game/Overlays/Options/General/LanguageOptions.cs b/osu.Game/Overlays/Options/Sections/General/LanguageOptions.cs similarity index 77% rename from osu.Game/Overlays/Options/General/LanguageOptions.cs rename to osu.Game/Overlays/Options/Sections/General/LanguageOptions.cs index 351d541bd9..d47299616f 100644 --- a/osu.Game/Overlays/Options/General/LanguageOptions.cs +++ b/osu.Game/Overlays/Options/Sections/General/LanguageOptions.cs @@ -1,13 +1,12 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; -using osu.Framework.Graphics; -using osu.Framework.Graphics.Sprites; using osu.Framework.Allocation; +using osu.Framework.Graphics; using osu.Game.Configuration; +using osu.Game.Graphics.UserInterface; -namespace osu.Game.Overlays.Options.General +namespace osu.Game.Overlays.Options.Sections.General { public class LanguageOptions : OptionsSubsection { @@ -18,13 +17,13 @@ namespace osu.Game.Overlays.Options.General { Children = new Drawable[] { - new SpriteText { Text = "TODO: Dropdown" }, - new CheckBoxOption + new OptionLabel { Text = "TODO: Dropdown" }, + new OsuCheckbox { LabelText = "Prefer metadata in original language", Bindable = config.GetBindable(OsuConfig.ShowUnicode) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Use alternative font for chat display", Bindable = config.GetBindable(OsuConfig.AlternativeChatFont) diff --git a/osu.Game/Overlays/Options/General/LoginOptions.cs b/osu.Game/Overlays/Options/Sections/General/LoginOptions.cs similarity index 94% rename from osu.Game/Overlays/Options/General/LoginOptions.cs rename to osu.Game/Overlays/Options/Sections/General/LoginOptions.cs index 6556c238a4..7c88b1af52 100644 --- a/osu.Game/Overlays/Options/General/LoginOptions.cs +++ b/osu.Game/Overlays/Options/Sections/General/LoginOptions.cs @@ -1,20 +1,18 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using System; -using OpenTK; -using osu.Framework; using osu.Framework.Allocation; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; +using osu.Framework.Graphics.Primitives; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.UserInterface; +using osu.Game.Configuration; using osu.Game.Graphics.UserInterface; using osu.Game.Online.API; -using osu.Game.Configuration; -using osu.Framework.Graphics.Primitives; +using OpenTK; -namespace osu.Game.Overlays.Options.General +namespace osu.Game.Overlays.Options.Sections.General { public class LoginOptions : OptionsSubsection, IOnlineComponent { @@ -92,8 +90,8 @@ namespace osu.Game.Overlays.Options.General private TextBox password; private APIAccess api; - private CheckBoxOption saveUsername; - private CheckBoxOption savePassword; + private OsuCheckbox saveUsername; + private OsuCheckbox savePassword; private void performLogin() { @@ -122,12 +120,12 @@ namespace osu.Game.Overlays.Options.General { RelativeSizeAxes = Axes.X }, - saveUsername = new CheckBoxOption + saveUsername = new OsuCheckbox { LabelText = "Remember username", Bindable = config.GetBindable(OsuConfig.SaveUsername), }, - savePassword = new CheckBoxOption + savePassword = new OsuCheckbox { LabelText = "Stay logged in", Bindable = config.GetBindable(OsuConfig.SavePassword), diff --git a/osu.Game/Overlays/Options/General/UpdateOptions.cs b/osu.Game/Overlays/Options/Sections/General/UpdateOptions.cs similarity index 78% rename from osu.Game/Overlays/Options/General/UpdateOptions.cs rename to osu.Game/Overlays/Options/Sections/General/UpdateOptions.cs index 77cfd11273..0438e40761 100644 --- a/osu.Game/Overlays/Options/General/UpdateOptions.cs +++ b/osu.Game/Overlays/Options/Sections/General/UpdateOptions.cs @@ -1,15 +1,13 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; using osu.Framework.Allocation; using osu.Framework.Graphics; -using osu.Framework.Graphics.Sprites; using osu.Framework.Platform; using osu.Game.Configuration; using osu.Game.Graphics.UserInterface; -namespace osu.Game.Overlays.Options.General +namespace osu.Game.Overlays.Options.Sections.General { public class UpdateOptions : OptionsSubsection { @@ -20,12 +18,12 @@ namespace osu.Game.Overlays.Options.General { Children = new Drawable[] { - new DropdownOption + new OptionDropdown { LabelText = "Release stream", Bindable = config.GetBindable(OsuConfig.ReleaseStream), }, - new SpriteText { Text = "Your osu! is up to date" }, // TODO: map this to reality + new OptionLabel { Text = "Your osu! is up to date" }, // TODO: map this to reality new OsuButton { RelativeSizeAxes = Axes.X, diff --git a/osu.Game/Overlays/Options/General/GeneralSection.cs b/osu.Game/Overlays/Options/Sections/GeneralSection.cs similarity index 86% rename from osu.Game/Overlays/Options/General/GeneralSection.cs rename to osu.Game/Overlays/Options/Sections/GeneralSection.cs index cbcb1857a6..4952dfeef2 100644 --- a/osu.Game/Overlays/Options/General/GeneralSection.cs +++ b/osu.Game/Overlays/Options/Sections/GeneralSection.cs @@ -1,10 +1,11 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework.Graphics; -using osu.Game.Graphics; - -namespace osu.Game.Overlays.Options.General +using osu.Framework.Graphics; +using osu.Game.Graphics; +using osu.Game.Overlays.Options.Sections.General; + +namespace osu.Game.Overlays.Options.Sections { public class GeneralSection : OptionsSection { diff --git a/osu.Game/Overlays/Options/Graphics/DetailOptions.cs b/osu.Game/Overlays/Options/Sections/Graphics/DetailOptions.cs similarity index 80% rename from osu.Game/Overlays/Options/Graphics/DetailOptions.cs rename to osu.Game/Overlays/Options/Sections/Graphics/DetailOptions.cs index 51720410a9..ff1fcf05c3 100644 --- a/osu.Game/Overlays/Options/Graphics/DetailOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Graphics/DetailOptions.cs @@ -3,10 +3,10 @@ using osu.Framework.Allocation; using osu.Framework.Graphics; -using osu.Framework.Graphics.Sprites; using osu.Game.Configuration; +using osu.Game.Graphics.UserInterface; -namespace osu.Game.Overlays.Options.Graphics +namespace osu.Game.Overlays.Options.Sections.Graphics { public class DetailOptions : OptionsSubsection { @@ -17,47 +17,47 @@ namespace osu.Game.Overlays.Options.Graphics { Children = new Drawable[] { - new CheckBoxOption + new OsuCheckbox { LabelText = "Snaking in sliders", Bindable = config.GetBindable(OsuConfig.SnakingInSliders) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Snaking out sliders", Bindable = config.GetBindable(OsuConfig.SnakingOutSliders) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Background video", Bindable = config.GetBindable(OsuConfig.Video) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Storyboards", Bindable = config.GetBindable(OsuConfig.ShowStoryboard) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Combo bursts", Bindable = config.GetBindable(OsuConfig.ComboBurst) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Hit lighting", Bindable = config.GetBindable(OsuConfig.HitLighting) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Shaders", Bindable = config.GetBindable(OsuConfig.Bloom) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Softening filter", Bindable = config.GetBindable(OsuConfig.BloomSoftening) }, - new DropdownOption + new OptionDropdown { LabelText = "Screenshot", Bindable = config.GetBindable(OsuConfig.ScreenshotFormat) diff --git a/osu.Game/Overlays/Options/Graphics/LayoutOptions.cs b/osu.Game/Overlays/Options/Sections/Graphics/LayoutOptions.cs similarity index 74% rename from osu.Game/Overlays/Options/Graphics/LayoutOptions.cs rename to osu.Game/Overlays/Options/Sections/Graphics/LayoutOptions.cs index 3235088551..bb9388b3a0 100644 --- a/osu.Game/Overlays/Options/Graphics/LayoutOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Graphics/LayoutOptions.cs @@ -1,15 +1,12 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; using osu.Framework.Allocation; using osu.Framework.Configuration; using osu.Framework.Graphics; -using osu.Framework.Graphics.Sprites; -using osu.Framework.Graphics.UserInterface; -using osu.Game.Configuration; +using osu.Game.Graphics.UserInterface; -namespace osu.Game.Overlays.Options.Graphics +namespace osu.Game.Overlays.Options.Sections.Graphics { public class LayoutOptions : OptionsSubsection { @@ -20,23 +17,23 @@ namespace osu.Game.Overlays.Options.Graphics { Children = new Drawable[] { - new SpriteText { Text = "Resolution: TODO dropdown" }, - new CheckBoxOption + new OptionLabel { Text = "Resolution: TODO dropdown" }, + new OsuCheckbox { LabelText = "Fullscreen mode", Bindable = config.GetBindable(FrameworkConfig.Fullscreen), }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Letterboxing", Bindable = config.GetBindable(FrameworkConfig.Letterboxing), }, - new SliderOption + new OptionSlider { LabelText = "Horizontal position", Bindable = (BindableInt)config.GetBindable(FrameworkConfig.LetterboxPositionX) }, - new SliderOption + new OptionSlider { LabelText = "Vertical position", Bindable = (BindableInt)config.GetBindable(FrameworkConfig.LetterboxPositionY) diff --git a/osu.Game/Overlays/Options/Graphics/MainMenuOptions.cs b/osu.Game/Overlays/Options/Sections/Graphics/MainMenuOptions.cs similarity index 79% rename from osu.Game/Overlays/Options/Graphics/MainMenuOptions.cs rename to osu.Game/Overlays/Options/Sections/Graphics/MainMenuOptions.cs index 58f1bfb3b7..c91b6f5071 100644 --- a/osu.Game/Overlays/Options/Graphics/MainMenuOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Graphics/MainMenuOptions.cs @@ -1,12 +1,11 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; using osu.Framework.Allocation; -using osu.Framework.Graphics.UserInterface; using osu.Game.Configuration; +using osu.Game.Graphics.UserInterface; -namespace osu.Game.Overlays.Options.Graphics +namespace osu.Game.Overlays.Options.Sections.Graphics { public class MainMenuOptions : OptionsSubsection { @@ -17,27 +16,27 @@ namespace osu.Game.Overlays.Options.Graphics { Children = new[] { - new CheckBoxOption + new OsuCheckbox { LabelText = "Snow", Bindable = config.GetBindable(OsuConfig.MenuSnow) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Parallax", Bindable = config.GetBindable(OsuConfig.MenuParallax) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Menu tips", Bindable = config.GetBindable(OsuConfig.ShowMenuTips) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Interface voices", Bindable = config.GetBindable(OsuConfig.MenuVoice) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "osu! music theme", Bindable = config.GetBindable(OsuConfig.MenuMusic) diff --git a/osu.Game/Overlays/Options/Graphics/RendererOptions.cs b/osu.Game/Overlays/Options/Sections/Graphics/RendererOptions.cs similarity index 80% rename from osu.Game/Overlays/Options/Graphics/RendererOptions.cs rename to osu.Game/Overlays/Options/Sections/Graphics/RendererOptions.cs index 505881315d..2ef84ca8ac 100644 --- a/osu.Game/Overlays/Options/Graphics/RendererOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Graphics/RendererOptions.cs @@ -1,15 +1,13 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; using osu.Framework.Allocation; using osu.Framework.Configuration; using osu.Framework.Graphics; -using osu.Framework.Graphics.Sprites; -using osu.Framework.Graphics.UserInterface; using osu.Game.Configuration; +using osu.Game.Graphics.UserInterface; -namespace osu.Game.Overlays.Options.Graphics +namespace osu.Game.Overlays.Options.Sections.Graphics { public class RendererOptions : OptionsSubsection { @@ -22,22 +20,22 @@ namespace osu.Game.Overlays.Options.Graphics Children = new Drawable[] { // TODO: this needs to be a custom dropdown at some point - new DropdownOption + new OptionDropdown { LabelText = "Frame limiter", Bindable = config.GetBindable(FrameworkConfig.FrameSync) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Show FPS counter", Bindable = osuConfig.GetBindable(OsuConfig.FpsCounter), }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Reduce dropped frames", Bindable = osuConfig.GetBindable(OsuConfig.ForceFrameFlush), }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Detect performance issues", Bindable = osuConfig.GetBindable(OsuConfig.DetectPerformanceIssues), diff --git a/osu.Game/Overlays/Options/Graphics/SongSelectGraphicsOptions.cs b/osu.Game/Overlays/Options/Sections/Graphics/SongSelectGraphicsOptions.cs similarity index 80% rename from osu.Game/Overlays/Options/Graphics/SongSelectGraphicsOptions.cs rename to osu.Game/Overlays/Options/Sections/Graphics/SongSelectGraphicsOptions.cs index 0dee3544a1..7295ff2d13 100644 --- a/osu.Game/Overlays/Options/Graphics/SongSelectGraphicsOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Graphics/SongSelectGraphicsOptions.cs @@ -1,12 +1,11 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; using osu.Framework.Allocation; -using osu.Framework.Graphics.UserInterface; using osu.Game.Configuration; +using osu.Game.Graphics.UserInterface; -namespace osu.Game.Overlays.Options.Graphics +namespace osu.Game.Overlays.Options.Sections.Graphics { public class SongSelectGraphicsOptions : OptionsSubsection { @@ -17,7 +16,7 @@ namespace osu.Game.Overlays.Options.Graphics { Children = new[] { - new CheckBoxOption + new OsuCheckbox { LabelText = "Show thumbnails", Bindable = config.GetBindable(OsuConfig.SongSelectThumbnails) diff --git a/osu.Game/Overlays/Options/Graphics/GraphicsSection.cs b/osu.Game/Overlays/Options/Sections/GraphicsSection.cs similarity index 88% rename from osu.Game/Overlays/Options/Graphics/GraphicsSection.cs rename to osu.Game/Overlays/Options/Sections/GraphicsSection.cs index 9c8c8043bf..2f5b7fad64 100644 --- a/osu.Game/Overlays/Options/Graphics/GraphicsSection.cs +++ b/osu.Game/Overlays/Options/Sections/GraphicsSection.cs @@ -1,10 +1,11 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework.Graphics; -using osu.Game.Graphics; - -namespace osu.Game.Overlays.Options.Graphics +using osu.Framework.Graphics; +using osu.Game.Graphics; +using osu.Game.Overlays.Options.Sections.Graphics; + +namespace osu.Game.Overlays.Options.Sections { public class GraphicsSection : OptionsSection { diff --git a/osu.Game/Overlays/Options/Input/KeyboardOptions.cs b/osu.Game/Overlays/Options/Sections/Input/KeyboardOptions.cs similarity index 93% rename from osu.Game/Overlays/Options/Input/KeyboardOptions.cs rename to osu.Game/Overlays/Options/Sections/Input/KeyboardOptions.cs index 521dfb88e6..cdd7924110 100644 --- a/osu.Game/Overlays/Options/Input/KeyboardOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Input/KeyboardOptions.cs @@ -1,10 +1,10 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework.Graphics; -using osu.Game.Graphics.UserInterface; - -namespace osu.Game.Overlays.Options.Input +using osu.Framework.Graphics; +using osu.Game.Graphics.UserInterface; + +namespace osu.Game.Overlays.Options.Sections.Input { public class KeyboardOptions : OptionsSubsection { diff --git a/osu.Game/Overlays/Options/Input/MouseOptions.cs b/osu.Game/Overlays/Options/Sections/Input/MouseOptions.cs similarity index 79% rename from osu.Game/Overlays/Options/Input/MouseOptions.cs rename to osu.Game/Overlays/Options/Sections/Input/MouseOptions.cs index 56b34c5396..6a4f26ce25 100644 --- a/osu.Game/Overlays/Options/Input/MouseOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Input/MouseOptions.cs @@ -1,15 +1,13 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; using osu.Framework.Allocation; using osu.Framework.Configuration; using osu.Framework.Graphics; -using osu.Framework.Graphics.Sprites; -using osu.Framework.Graphics.UserInterface; using osu.Game.Configuration; +using osu.Game.Graphics.UserInterface; -namespace osu.Game.Overlays.Options.Input +namespace osu.Game.Overlays.Options.Sections.Input { public class MouseOptions : OptionsSubsection { @@ -20,37 +18,37 @@ namespace osu.Game.Overlays.Options.Input { Children = new Drawable[] { - new SliderOption + new OptionSlider { LabelText = "Sensitivity", Bindable = (BindableDouble)config.GetBindable(OsuConfig.MouseSpeed), }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Raw input", Bindable = config.GetBindable(OsuConfig.RawInput) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Map absolute raw input to the osu! window", Bindable = config.GetBindable(OsuConfig.AbsoluteToOsuWindow) }, - new DropdownOption + new OptionDropdown { LabelText = "Confine mouse cursor", Bindable = config.GetBindable(OsuConfig.ConfineMouse), }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Disable mouse wheel in play mode", Bindable = config.GetBindable(OsuConfig.MouseDisableWheel) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Disable mouse buttons in play mode", Bindable = config.GetBindable(OsuConfig.MouseDisableButtons) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Cursor ripples", Bindable = config.GetBindable(OsuConfig.CursorRipple) diff --git a/osu.Game/Overlays/Options/Input/OtherInputOptions.cs b/osu.Game/Overlays/Options/Sections/Input/OtherInputOptions.cs similarity index 80% rename from osu.Game/Overlays/Options/Input/OtherInputOptions.cs rename to osu.Game/Overlays/Options/Sections/Input/OtherInputOptions.cs index 02eb17c9b4..bb888d26f1 100644 --- a/osu.Game/Overlays/Options/Input/OtherInputOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Input/OtherInputOptions.cs @@ -1,13 +1,12 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; using osu.Framework.Allocation; using osu.Framework.Graphics; -using osu.Framework.Graphics.UserInterface; using osu.Game.Configuration; +using osu.Game.Graphics.UserInterface; -namespace osu.Game.Overlays.Options.Input +namespace osu.Game.Overlays.Options.Sections.Input { public class OtherInputOptions : OptionsSubsection { @@ -18,12 +17,12 @@ namespace osu.Game.Overlays.Options.Input { Children = new Drawable[] { - new CheckBoxOption + new OsuCheckbox { LabelText = "OS TabletPC support", Bindable = config.GetBindable(OsuConfig.Tablet) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Wiimote/TaTaCon Drum Support", Bindable = config.GetBindable(OsuConfig.Wiimote) diff --git a/osu.Game/Overlays/Options/Input/InputSection.cs b/osu.Game/Overlays/Options/Sections/InputSection.cs similarity index 87% rename from osu.Game/Overlays/Options/Input/InputSection.cs rename to osu.Game/Overlays/Options/Sections/InputSection.cs index c436a7439f..f21dd81cb4 100644 --- a/osu.Game/Overlays/Options/Input/InputSection.cs +++ b/osu.Game/Overlays/Options/Sections/InputSection.cs @@ -1,10 +1,11 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework.Graphics; -using osu.Game.Graphics; - -namespace osu.Game.Overlays.Options.Input +using osu.Framework.Graphics; +using osu.Game.Graphics; +using osu.Game.Overlays.Options.Sections.Input; + +namespace osu.Game.Overlays.Options.Sections { public class InputSection : OptionsSection { diff --git a/osu.Game/Overlays/Options/MaintenanceSection.cs b/osu.Game/Overlays/Options/Sections/MaintenanceSection.cs similarity index 92% rename from osu.Game/Overlays/Options/MaintenanceSection.cs rename to osu.Game/Overlays/Options/Sections/MaintenanceSection.cs index dcd90b8e50..4347c839a6 100644 --- a/osu.Game/Overlays/Options/MaintenanceSection.cs +++ b/osu.Game/Overlays/Options/Sections/MaintenanceSection.cs @@ -1,13 +1,12 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using OpenTK; -using osu.Framework.Graphics; -using osu.Framework.Graphics.Sprites; -using osu.Game.Graphics; -using osu.Game.Graphics.UserInterface; - -namespace osu.Game.Overlays.Options +using osu.Framework.Graphics; +using osu.Game.Graphics; +using osu.Game.Graphics.UserInterface; +using OpenTK; + +namespace osu.Game.Overlays.Options.Sections { public class MaintenanceSection : OptionsSection { @@ -39,7 +38,7 @@ namespace osu.Game.Overlays.Options RelativeSizeAxes = Axes.X, Text = "Run osu! updater", }, - new SpriteText + new OptionLabel { Text = "TODO: osu version here", Anchor = Anchor.TopCentre, diff --git a/osu.Game/Overlays/Options/Online/InGameChatOptions.cs b/osu.Game/Overlays/Options/Sections/Online/InGameChatOptions.cs similarity index 70% rename from osu.Game/Overlays/Options/Online/InGameChatOptions.cs rename to osu.Game/Overlays/Options/Sections/Online/InGameChatOptions.cs index 8a04d2cec3..2236498495 100644 --- a/osu.Game/Overlays/Options/Online/InGameChatOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Online/InGameChatOptions.cs @@ -1,19 +1,17 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; using osu.Framework.Allocation; using osu.Framework.Graphics; -using osu.Framework.Graphics.Sprites; -using osu.Framework.Graphics.UserInterface; using osu.Game.Configuration; +using osu.Game.Graphics.UserInterface; -namespace osu.Game.Overlays.Options.Online +namespace osu.Game.Overlays.Options.Sections.Online { public class InGameChatOptions : OptionsSubsection { - private TextBoxOption chatIgnoreList; - private TextBoxOption chatHighlightWords; + private OptionTextBox chatIgnoreList; + private OptionTextBox chatHighlightWords; protected override string Header => "In-game Chat"; [BackgroundDependencyLoader] @@ -21,33 +19,33 @@ namespace osu.Game.Overlays.Options.Online { Children = new Drawable[] { - new CheckBoxOption + new OsuCheckbox { LabelText = "Filter offensive words", Bindable = config.GetBindable(OsuConfig.ChatFilter) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Filter foreign characters", Bindable = config.GetBindable(OsuConfig.ChatRemoveForeign) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Log private messages", Bindable = config.GetBindable(OsuConfig.LogPrivateMessages) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Block private messages from non-friends", Bindable = config.GetBindable(OsuConfig.BlockNonFriendPM) }, - new SpriteText { Text = "Chat ignore list (space-seperated list)" }, - chatIgnoreList = new TextBoxOption { + new OptionLabel { Text = "Chat ignore list (space-seperated list)" }, + chatIgnoreList = new OptionTextBox { RelativeSizeAxes = Axes.X, Bindable = config.GetBindable(OsuConfig.IgnoreList) }, - new SpriteText { Text = "Chat highlight words (space-seperated list)" }, - chatHighlightWords = new TextBoxOption { + new OptionLabel { Text = "Chat highlight words (space-seperated list)" }, + chatHighlightWords = new OptionTextBox { RelativeSizeAxes = Axes.X, Bindable = config.GetBindable(OsuConfig.HighlightWords) }, diff --git a/osu.Game/Overlays/Options/Online/NotificationsOptions.cs b/osu.Game/Overlays/Options/Sections/Online/NotificationsOptions.cs similarity index 82% rename from osu.Game/Overlays/Options/Online/NotificationsOptions.cs rename to osu.Game/Overlays/Options/Sections/Online/NotificationsOptions.cs index 1648d23528..659e50241f 100644 --- a/osu.Game/Overlays/Options/Online/NotificationsOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Online/NotificationsOptions.cs @@ -1,13 +1,12 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; using osu.Framework.Allocation; using osu.Framework.Graphics; -using osu.Framework.Graphics.UserInterface; using osu.Game.Configuration; +using osu.Game.Graphics.UserInterface; -namespace osu.Game.Overlays.Options.Online +namespace osu.Game.Overlays.Options.Sections.Online { public class NotificationsOptions : OptionsSubsection { @@ -18,32 +17,32 @@ namespace osu.Game.Overlays.Options.Online { Children = new Drawable[] { - new CheckBoxOption + new OsuCheckbox { LabelText = "Enable chat ticker", Bindable = config.GetBindable(OsuConfig.Ticker) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Show a notification popup when someone says your name", Bindable = config.GetBindable(OsuConfig.ChatHighlightName) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Show chat message notifications", Bindable = config.GetBindable(OsuConfig.ChatMessageNotification) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Play a sound when someone says your name", Bindable = config.GetBindable(OsuConfig.ChatAudibleHighlight) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Show notification popups instantly during gameplay", Bindable = config.GetBindable(OsuConfig.PopupDuringGameplay) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Show notification popups when friends change status", Bindable = config.GetBindable(OsuConfig.NotifyFriends) diff --git a/osu.Game/Overlays/Options/Online/OnlineIntegrationOptions.cs b/osu.Game/Overlays/Options/Sections/Online/OnlineIntegrationOptions.cs similarity index 81% rename from osu.Game/Overlays/Options/Online/OnlineIntegrationOptions.cs rename to osu.Game/Overlays/Options/Sections/Online/OnlineIntegrationOptions.cs index 4799c5d5ca..be404c15a9 100644 --- a/osu.Game/Overlays/Options/Online/OnlineIntegrationOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Online/OnlineIntegrationOptions.cs @@ -1,13 +1,12 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; using osu.Framework.Allocation; using osu.Framework.Graphics; -using osu.Framework.Graphics.UserInterface; using osu.Game.Configuration; +using osu.Game.Graphics.UserInterface; -namespace osu.Game.Overlays.Options.Online +namespace osu.Game.Overlays.Options.Sections.Online { public class OnlineIntegrationOptions : OptionsSubsection { @@ -18,22 +17,22 @@ namespace osu.Game.Overlays.Options.Online { Children = new Drawable[] { - new CheckBoxOption + new OsuCheckbox { LabelText = "Integrate with Yahoo! status display", Bindable = config.GetBindable(OsuConfig.YahooIntegration) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Integrate with MSN Live status display", Bindable = config.GetBindable(OsuConfig.MsnIntegration) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Automatically start osu!direct downloads", Bindable = config.GetBindable(OsuConfig.AutomaticDownload) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Prefer no-video downloads", Bindable = config.GetBindable(OsuConfig.AutomaticDownloadNoVideo) diff --git a/osu.Game/Overlays/Options/Online/PrivacyOptions.cs b/osu.Game/Overlays/Options/Sections/Online/PrivacyOptions.cs similarity index 81% rename from osu.Game/Overlays/Options/Online/PrivacyOptions.cs rename to osu.Game/Overlays/Options/Sections/Online/PrivacyOptions.cs index ac654cb3d4..b68d061802 100644 --- a/osu.Game/Overlays/Options/Online/PrivacyOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Online/PrivacyOptions.cs @@ -1,13 +1,12 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; using osu.Framework.Allocation; using osu.Framework.Graphics; -using osu.Framework.Graphics.UserInterface; using osu.Game.Configuration; +using osu.Game.Graphics.UserInterface; -namespace osu.Game.Overlays.Options.Online +namespace osu.Game.Overlays.Options.Sections.Online { public class PrivacyOptions : OptionsSubsection { @@ -18,12 +17,12 @@ namespace osu.Game.Overlays.Options.Online { Children = new Drawable[] { - new CheckBoxOption + new OsuCheckbox { LabelText = "Share your city location with others", Bindable = config.GetBindable(OsuConfig.DisplayCityLocation) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Allow multiplayer game invites from all users", Bindable = config.GetBindable(OsuConfig.AllowPublicInvites) diff --git a/osu.Game/Overlays/Options/Online/OnlineSection.cs b/osu.Game/Overlays/Options/Sections/OnlineSection.cs similarity index 87% rename from osu.Game/Overlays/Options/Online/OnlineSection.cs rename to osu.Game/Overlays/Options/Sections/OnlineSection.cs index d07c6e89df..ebc04e118a 100644 --- a/osu.Game/Overlays/Options/Online/OnlineSection.cs +++ b/osu.Game/Overlays/Options/Sections/OnlineSection.cs @@ -1,10 +1,11 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework.Graphics; -using osu.Game.Graphics; - -namespace osu.Game.Overlays.Options.Online +using osu.Framework.Graphics; +using osu.Game.Graphics; +using osu.Game.Overlays.Options.Sections.Online; + +namespace osu.Game.Overlays.Options.Sections { public class OnlineSection : OptionsSection { diff --git a/osu.Game/Overlays/Options/SkinSection.cs b/osu.Game/Overlays/Options/Sections/SkinSection.cs similarity index 82% rename from osu.Game/Overlays/Options/SkinSection.cs rename to osu.Game/Overlays/Options/Sections/SkinSection.cs index f9f7587e72..720b3f35a2 100644 --- a/osu.Game/Overlays/Options/SkinSection.cs +++ b/osu.Game/Overlays/Options/Sections/SkinSection.cs @@ -1,18 +1,15 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using OpenTK; -using osu.Framework; using osu.Framework.Allocation; -using osu.Framework.Configuration; +using osu.Framework.Configuration; using osu.Framework.Graphics; -using osu.Framework.Graphics.Sprites; -using osu.Framework.Graphics.UserInterface; using osu.Game.Configuration; using osu.Game.Graphics; using osu.Game.Graphics.UserInterface; +using OpenTK; -namespace osu.Game.Overlays.Options +namespace osu.Game.Overlays.Options.Sections { public class SkinSection : OptionsSection { @@ -25,8 +22,8 @@ namespace osu.Game.Overlays.Options content.Spacing = new Vector2(0, 5); Children = new Drawable[] { - new SpriteText { Text = "TODO: Skin preview textures" }, - new SpriteText { Text = "Current skin: TODO dropdown" }, + new OptionLabel { Text = "TODO: Skin preview textures" }, + new OptionLabel { Text = "Current skin: TODO dropdown" }, new OsuButton { RelativeSizeAxes = Axes.X, @@ -42,32 +39,32 @@ namespace osu.Game.Overlays.Options RelativeSizeAxes = Axes.X, Text = "Export as .osk", }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Ignore all beatmap skins", Bindable = config.GetBindable(OsuConfig.IgnoreBeatmapSkins) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Use skin's sound samples", Bindable = config.GetBindable(OsuConfig.SkinSamples) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Use Taiko skin for Taiko mode", Bindable = config.GetBindable(OsuConfig.UseTaikoSkin) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Always use skin cursor", Bindable = config.GetBindable(OsuConfig.UseSkinCursor) }, - new SliderOption + new OptionSlider { LabelText = "Cursor size", Bindable = (BindableDouble)config.GetBindable(OsuConfig.CursorSize) }, - new CheckBoxOption + new OsuCheckbox { LabelText = "Automatic cursor size", Bindable = config.GetBindable(OsuConfig.AutomaticCursorSizing) diff --git a/osu.Game/Overlays/Options/SidebarButton.cs b/osu.Game/Overlays/Options/SidebarButton.cs index da2704ee60..4128bdfd7d 100644 --- a/osu.Game/Overlays/Options/SidebarButton.cs +++ b/osu.Game/Overlays/Options/SidebarButton.cs @@ -79,6 +79,7 @@ namespace osu.Game.Overlays.Options headerText = new SpriteText { Position = new Vector2(OptionsSidebar.default_width + 10, 0), + TextSize = OptionsOverlay.FONT_SIZE, Anchor = Anchor.CentreLeft, Origin = Anchor.CentreLeft, }, diff --git a/osu.Game/Overlays/OptionsOverlay.cs b/osu.Game/Overlays/OptionsOverlay.cs index 0767a70739..a53fd6743f 100644 --- a/osu.Game/Overlays/OptionsOverlay.cs +++ b/osu.Game/Overlays/OptionsOverlay.cs @@ -16,19 +16,16 @@ using osu.Framework.Graphics.Transformations; using osu.Framework.Input; using osu.Game.Configuration; using osu.Game.Overlays.Options; -using osu.Game.Overlays.Options.Audio; -using osu.Game.Overlays.Options.Gameplay; -using osu.Game.Overlays.Options.General; -using osu.Game.Overlays.Options.Graphics; -using osu.Game.Overlays.Options.Input; -using osu.Game.Overlays.Options.Online; using System; using osu.Game.Graphics; +using osu.Game.Overlays.Options.Sections; namespace osu.Game.Overlays { public class OptionsOverlay : OverlayContainer { + public const float FONT_SIZE = 16; + internal const float CONTENT_MARGINS = 10; public const float TRANSITION_LENGTH = 600; diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj index 3b355c153d..34ad6706f5 100644 --- a/osu.Game/osu.Game.csproj +++ b/osu.Game/osu.Game.csproj @@ -95,6 +95,7 @@ + @@ -192,45 +193,45 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - +