From 92cab12eb7425179fb2277d3428cf99fc3617332 Mon Sep 17 00:00:00 2001 From: Jess Meng Date: Fri, 11 Dec 2020 21:52:36 -0800 Subject: [PATCH] Added ctrl + w and ctrl + t keyboard shortcuts --- osu.Game/Overlays/ChatOverlay.cs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/osu.Game/Overlays/ChatOverlay.cs b/osu.Game/Overlays/ChatOverlay.cs index 8bc7e21047..5162b6aab0 100644 --- a/osu.Game/Overlays/ChatOverlay.cs +++ b/osu.Game/Overlays/ChatOverlay.cs @@ -25,6 +25,9 @@ using osuTK.Input; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Textures; +using System; +using osu.Game.Input.Bindings; + namespace osu.Game.Overlays { public class ChatOverlay : OsuFocusedOverlayContainer, INamedOverlayComponent @@ -333,6 +336,16 @@ namespace osu.Game.Overlays ChannelTabControl.Current.Value = channel; } + private void selectChannelSelectorTab() + { + int i = 0; + var channel = ChannelTabControl.Items + .Where(tab => (tab is ChannelSelectorTabItem.ChannelSelectorTabChannel)) + .ElementAtOrDefault(i); + if (channel != null) + ChannelTabControl.Current.Value = channel; + } + protected override bool OnKeyDown(KeyDownEvent e) { if (e.AltPressed) @@ -356,6 +369,18 @@ namespace osu.Game.Overlays return true; } } + if (e.ControlPressed) + { + switch (e.Key) + { + case Key.W: + channelManager.LeaveChannel(channelManager.CurrentChannel.Value); + return true; + case Key.T: + selectChannelSelectorTab(); + return true; + } + } return base.OnKeyDown(e); } @@ -392,6 +417,7 @@ namespace osu.Game.Overlays private void joinedChannelsChanged(object sender, NotifyCollectionChangedEventArgs args) { + switch (args.Action) { case NotifyCollectionChangedAction.Add: