Fixed some playlist element issues

- SongMenu wasn't resizing after playlist closed
- Playlist Buttons couldn't be used with keyboard
This commit is contained in:
Florian Küpper committed 2017-08-31 23:07:25 +02:00
1 parent e9e9b6c790
commit 57aa36c24e
2 files changed
+33 -6

No files matched your search

+12
View File
@@ -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);
}
}
+21 -6
View File
@@ -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)