From 57aa36c24e85bcee089dacb0f416e3449e515bce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20K=C3=BCpper?= Date: Thu, 31 Aug 2017 23:07:25 +0200 Subject: [PATCH] Fixed some playlist element issues - SongMenu wasn't resizing after playlist closed - Playlist Buttons couldn't be used with keyboard --- Vocaluxe/Screens/CScreenSong.cs | 12 +++++++++++ VocaluxeLib/Menu/CObjectInteractions.cs | 27 +++++++++++++++++++------ 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/Vocaluxe/Screens/CScreenSong.cs b/Vocaluxe/Screens/CScreenSong.cs index bf279651..ad8c73d0 100644 --- a/Vocaluxe/Screens/CScreenSong.cs +++ b/Vocaluxe/Screens/CScreenSong.cs @@ -172,7 +172,12 @@ namespace Vocaluxe.Screens { keyEvent.Handled = _Playlist.HandleInput(keyEvent); if (keyEvent.Handled) + { + //Check if playlist was closed and song menu needed to be resized + if (!_Playlist.Visible) + _SongMenu.SmallView = false; return true; + } if (!keyEvent.KeyPressed && keyEvent.Key == Keys.Escape) { _ClosePlaylist(); @@ -414,7 +419,12 @@ namespace Vocaluxe.Screens _SongMenu.Selected = false; _ToggleSongOptions(ESongOptionsView.None); if (_Playlist.HandleMouse(mouseEvent)) + { + //Check if playlist was closed and song menu needed to be resized + if (!_Playlist.Visible) + _SongMenu.SmallView = false; return true; + } } else if (CHelper.IsInBounds(_SongMenu.Rect, mouseEvent)) { @@ -1264,6 +1274,8 @@ namespace Vocaluxe.Screens { _SongMenu.SmallView = true; _Playlist.Visible = true; + _SelectElement(_Playlist); + _ToggleSongOptions(ESongOptionsView.None); } } diff --git a/VocaluxeLib/Menu/CObjectInteractions.cs b/VocaluxeLib/Menu/CObjectInteractions.cs index e7623787..2d73dd4a 100644 --- a/VocaluxeLib/Menu/CObjectInteractions.cs +++ b/VocaluxeLib/Menu/CObjectInteractions.cs @@ -119,18 +119,24 @@ namespace VocaluxeLib.Menu keyEvent.Handled = PrevValue(); else keyEvent.Handled = _NextElement(keyEvent); - } - if (keyEvent.Key == Keys.Right) + return true; + } + else if (keyEvent.Key == Keys.Right) { if (_IsSelectionValid() && _Elements[_Selection].Type == EType.SelectSlide && keyEvent.Mod != EModifier.Shift) keyEvent.Handled = NextValue(); else keyEvent.Handled = _NextElement(keyEvent); - } - if (keyEvent.Key == Keys.Up || keyEvent.Key == Keys.Down) + return true; + } + else if (keyEvent.Key == Keys.Up || keyEvent.Key == Keys.Down) + { keyEvent.Handled = _NextElement(keyEvent); + + return true; + } } else { @@ -140,16 +146,25 @@ namespace VocaluxeLib.Menu PrevElement(); else NextElement(); + + return true; } if (keyEvent.Key == Keys.Left) + { PrevValue(); - if (keyEvent.Key == Keys.Right) + return true; + } + else if (keyEvent.Key == Keys.Right) + { NextValue(); + + return true; + } } - return true; + return false; } public virtual bool HandleMouse(SMouseEvent mouseEvent)