Reimplement chat settings from stable

This commit is contained in:
Craftplacer 2019-12-16 00:45:33 +01:00
parent fedbac74e4
commit 6e812ebd56
4 changed files with 75 additions and 2 deletions

View File

@ -49,6 +49,12 @@ protected override void InitialiseDefaults()
Set(OsuSetting.ExternalLinkWarning, true);
Set(OsuSetting.ChatHighlightName, true);
Set(OsuSetting.ChatMessageNotification, true);
Set(OsuSetting.HighlightWords, string.Empty);
Set(OsuSetting.IgnoreList, string.Empty);
// Audio
Set(OsuSetting.VolumeInactive, 0.25, 0, 1, 0.01);
@ -180,6 +186,10 @@ public enum OsuSetting
ScalingSizeX,
ScalingSizeY,
UIScale,
IntroSequence
IntroSequence,
ChatHighlightName,
ChatMessageNotification,
HighlightWords,
IgnoreList
}
}

View File

@ -0,0 +1,32 @@
// 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.Allocation;
using osu.Framework.Graphics;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Settings.Sections.Online
{
public class AlertsAndPrivacySettings : SettingsSubsection
{
protected override string Header => "Alerts and Privacy";
[BackgroundDependencyLoader]
private void load(OsuConfigManager config)
{
Children = new Drawable[]
{
new SettingsCheckbox
{
LabelText = "Show a notification popup when someone says your name",
Bindable = config.GetBindable<bool>(OsuSetting.ChatHighlightName)
},
new SettingsCheckbox
{
LabelText = "Show chat message notifications",
Bindable = config.GetBindable<bool>(OsuSetting.ChatMessageNotification)
},
};
}
}
}

View File

@ -0,0 +1,29 @@
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Settings.Sections.Online
{
public class InGameChatSettings : SettingsSubsection
{
protected override string Header => "In-Game Chat";
[BackgroundDependencyLoader]
private void load(OsuConfigManager config)
{
Children = new Drawable[]
{
new SettingsTextBox
{
LabelText = "Chat ignore list (space-separated list)",
Bindable = config.GetBindable<string>(OsuSetting.IgnoreList)
},
new SettingsTextBox
{
LabelText = "Chat highlight words (space-separated list)",
Bindable = config.GetBindable<string>(OsuSetting.HighlightWords)
},
};
}
}
}

View File

@ -16,7 +16,9 @@ public OnlineSection()
{
Children = new Drawable[]
{
new WebSettings()
new WebSettings(),
new AlertsAndPrivacySettings(),
new InGameChatSettings()
};
}
}