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); keyEvent.Handled = _Playlist.HandleInput(keyEvent);
if (keyEvent.Handled) if (keyEvent.Handled)
{
//Check if playlist was closed and song menu needed to be resized
if (!_Playlist.Visible)
_SongMenu.SmallView = false;
return true; return true;
}
if (!keyEvent.KeyPressed && keyEvent.Key == Keys.Escape) if (!keyEvent.KeyPressed && keyEvent.Key == Keys.Escape)
{ {
_ClosePlaylist(); _ClosePlaylist();
@@ -414,7 +419,12 @@ namespace Vocaluxe.Screens
_SongMenu.Selected = false; _SongMenu.Selected = false;
_ToggleSongOptions(ESongOptionsView.None); _ToggleSongOptions(ESongOptionsView.None);
if (_Playlist.HandleMouse(mouseEvent)) if (_Playlist.HandleMouse(mouseEvent))
{
//Check if playlist was closed and song menu needed to be resized
if (!_Playlist.Visible)
_SongMenu.SmallView = false;
return true; return true;
}
} }
else if (CHelper.IsInBounds(_SongMenu.Rect, mouseEvent)) else if (CHelper.IsInBounds(_SongMenu.Rect, mouseEvent))
{ {
@@ -1264,6 +1274,8 @@ namespace Vocaluxe.Screens
{ {
_SongMenu.SmallView = true; _SongMenu.SmallView = true;
_Playlist.Visible = true; _Playlist.Visible = true;
_SelectElement(_Playlist);
_ToggleSongOptions(ESongOptionsView.None);
} }
} }
+21 -6
View File
@@ -119,18 +119,24 @@ namespace VocaluxeLib.Menu
keyEvent.Handled = PrevValue(); keyEvent.Handled = PrevValue();
else else
keyEvent.Handled = _NextElement(keyEvent); 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) if (_IsSelectionValid() && _Elements[_Selection].Type == EType.SelectSlide && keyEvent.Mod != EModifier.Shift)
keyEvent.Handled = NextValue(); keyEvent.Handled = NextValue();
else else
keyEvent.Handled = _NextElement(keyEvent); 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); keyEvent.Handled = _NextElement(keyEvent);
return true;
}
} }
else else
{ {
@@ -140,16 +146,25 @@ namespace VocaluxeLib.Menu
PrevElement(); PrevElement();
else else
NextElement(); NextElement();
return true;
} }
if (keyEvent.Key == Keys.Left) if (keyEvent.Key == Keys.Left)
{
PrevValue(); PrevValue();
if (keyEvent.Key == Keys.Right) return true;
}
else if (keyEvent.Key == Keys.Right)
{
NextValue(); NextValue();
return true;
}
} }
return true; return false;
} }
public virtual bool HandleMouse(SMouseEvent mouseEvent) public virtual bool HandleMouse(SMouseEvent mouseEvent)