Add list button to toggle playlist filter (#218)

This commit is contained in:
Stefan authored and GitHub committed 2020-02-04 12:15:28 +01:00
1 parent 1d20f7eaea
commit 752b8e91fe
1 file changed
+26
+26
View File
@@ -81,6 +81,7 @@ namespace VocaluxeLib.Menu
public SThemeButton ButtonPlaylistSave; public SThemeButton ButtonPlaylistSave;
public SThemeButton ButtonPlaylistDelete; public SThemeButton ButtonPlaylistDelete;
public SThemeButton ButtonPlaylistSing; public SThemeButton ButtonPlaylistSing;
public SThemeButton ButtonPlaylistList;
public SThemeSelectSlide SelectSlideGameMode; public SThemeSelectSlide SelectSlideGameMode;
} }
@@ -163,6 +164,7 @@ namespace VocaluxeLib.Menu
private readonly CButton _ButtonPlaylistSave; private readonly CButton _ButtonPlaylistSave;
private readonly CButton _ButtonPlaylistDelete; private readonly CButton _ButtonPlaylistDelete;
private readonly CButton _ButtonPlaylistSing; private readonly CButton _ButtonPlaylistSing;
private readonly CButton _ButtonPlaylistList;
private readonly CText _Text1; private readonly CText _Text1;
private readonly CSelectSlide _SelectSlideGameMode; private readonly CSelectSlide _SelectSlideGameMode;
private readonly CStatic _StaticPlaylistHeader; private readonly CStatic _StaticPlaylistHeader;
@@ -235,6 +237,7 @@ namespace VocaluxeLib.Menu
_ButtonPlaylistDelete = new CButton(_PartyModeID); _ButtonPlaylistDelete = new CButton(_PartyModeID);
_ButtonPlaylistSave = new CButton(_PartyModeID); _ButtonPlaylistSave = new CButton(_PartyModeID);
_ButtonPlaylistSing = new CButton(_PartyModeID); _ButtonPlaylistSing = new CButton(_PartyModeID);
_ButtonPlaylistList = new CButton(_PartyModeID);
_SelectSlideGameMode = new CSelectSlide(_PartyModeID); _SelectSlideGameMode = new CSelectSlide(_PartyModeID);
Visible = false; Visible = false;
@@ -254,6 +257,7 @@ namespace VocaluxeLib.Menu
_ButtonPlaylistDelete = new CButton(_Theme.ButtonPlaylistDelete, _PartyModeID); _ButtonPlaylistDelete = new CButton(_Theme.ButtonPlaylistDelete, _PartyModeID);
_ButtonPlaylistSave = new CButton(_Theme.ButtonPlaylistSave, _PartyModeID); _ButtonPlaylistSave = new CButton(_Theme.ButtonPlaylistSave, _PartyModeID);
_ButtonPlaylistSing = new CButton(_Theme.ButtonPlaylistSing, _PartyModeID); _ButtonPlaylistSing = new CButton(_Theme.ButtonPlaylistSing, _PartyModeID);
_ButtonPlaylistList = new CButton(_Theme.ButtonPlaylistList, _PartyModeID);
_SelectSlideGameMode = new CSelectSlide(_Theme.SelectSlideGameMode, _PartyModeID); _SelectSlideGameMode = new CSelectSlide(_Theme.SelectSlideGameMode, _PartyModeID);
_AddStatic(_StaticPlaylistFooter); _AddStatic(_StaticPlaylistFooter);
@@ -263,6 +267,7 @@ namespace VocaluxeLib.Menu
_AddButton(_ButtonPlaylistDelete); _AddButton(_ButtonPlaylistDelete);
_AddButton(_ButtonPlaylistSave); _AddButton(_ButtonPlaylistSave);
_AddButton(_ButtonPlaylistSing); _AddButton(_ButtonPlaylistSing);
_AddButton(_ButtonPlaylistList);
Visible = false; Visible = false;
Selected = false; Selected = false;
@@ -279,6 +284,7 @@ namespace VocaluxeLib.Menu
_Theme.ButtonPlaylistClose = (SThemeButton)_ButtonPlaylistClose.GetTheme(); _Theme.ButtonPlaylistClose = (SThemeButton)_ButtonPlaylistClose.GetTheme();
_Theme.ButtonPlaylistSave = (SThemeButton)_ButtonPlaylistSave.GetTheme(); _Theme.ButtonPlaylistSave = (SThemeButton)_ButtonPlaylistSave.GetTheme();
_Theme.ButtonPlaylistDelete = (SThemeButton)_ButtonPlaylistDelete.GetTheme(); _Theme.ButtonPlaylistDelete = (SThemeButton)_ButtonPlaylistDelete.GetTheme();
_Theme.ButtonPlaylistList = (SThemeButton)_ButtonPlaylistList.GetTheme();
} }
public void UpdateGame() public void UpdateGame()
@@ -321,6 +327,7 @@ namespace VocaluxeLib.Menu
_ButtonPlaylistName.UnloadSkin(); _ButtonPlaylistName.UnloadSkin();
_ButtonPlaylistSave.UnloadSkin(); _ButtonPlaylistSave.UnloadSkin();
_ButtonPlaylistSing.UnloadSkin(); _ButtonPlaylistSing.UnloadSkin();
_ButtonPlaylistList.UnloadSkin();
_StaticPlaylistFooter.UnloadSkin(); _StaticPlaylistFooter.UnloadSkin();
_StaticPlaylistHeader.UnloadSkin(); _StaticPlaylistHeader.UnloadSkin();
@@ -342,6 +349,7 @@ namespace VocaluxeLib.Menu
_ButtonPlaylistName.LoadSkin(); _ButtonPlaylistName.LoadSkin();
_ButtonPlaylistSave.LoadSkin(); _ButtonPlaylistSave.LoadSkin();
_ButtonPlaylistSing.LoadSkin(); _ButtonPlaylistSing.LoadSkin();
_ButtonPlaylistList.LoadSkin();
_StaticPlaylistFooter.LoadSkin(); _StaticPlaylistFooter.LoadSkin();
_StaticPlaylistHeader.LoadSkin(); _StaticPlaylistHeader.LoadSkin();
@@ -640,6 +648,8 @@ namespace VocaluxeLib.Menu
_StartPlaylistSongs(); _StartPlaylistSongs();
else if (_ButtonPlaylistSave.Selected) else if (_ButtonPlaylistSave.Selected)
CBase.Playlist.Save(ActivePlaylistID); CBase.Playlist.Save(ActivePlaylistID);
else if (isButtonPlaylistListSelected())
return false; // Currently CScreenSong do this event!
else if (_ButtonPlaylistDelete.Selected) else if (_ButtonPlaylistDelete.Selected)
{ {
CBase.Playlist.Delete(ActivePlaylistID); CBase.Playlist.Delete(ActivePlaylistID);
@@ -672,6 +682,11 @@ namespace VocaluxeLib.Menu
return true; return true;
} }
public bool isButtonPlaylistListSelected()
{
return _ButtonPlaylistList.Selected;
}
private void _SetSelectionToLastEntry() private void _SetSelectionToLastEntry()
{ {
if (_PlaylistElementContents.Count == 0) if (_PlaylistElementContents.Count == 0)
@@ -781,6 +796,8 @@ namespace VocaluxeLib.Menu
//LB actions //LB actions
if (mouseEvent.LB) if (mouseEvent.LB)
{ {
if (isButtonPlaylistListSelected())
return false; // Currently CScreenSong do this event!
if (_CurrentPlaylistElement != -1) if (_CurrentPlaylistElement != -1)
{ {
CBase.Playlist.GetSong(ActivePlaylistID, _CurrentPlaylistElement + _Offset).GameMode = CBase.Playlist.GetSong(ActivePlaylistID, _CurrentPlaylistElement + _Offset).GameMode =
@@ -1171,6 +1188,15 @@ namespace VocaluxeLib.Menu
_CompleteRect.W = _ButtonPlaylistDelete.Rect.W + _ButtonPlaylistDelete.Rect.X - _CompleteRect.X; _CompleteRect.W = _ButtonPlaylistDelete.Rect.W + _ButtonPlaylistDelete.Rect.X - _CompleteRect.X;
if (_ButtonPlaylistDelete.Rect.Y + _ButtonPlaylistDelete.Rect.H > _CompleteRect.Y + _CompleteRect.H) if (_ButtonPlaylistDelete.Rect.Y + _ButtonPlaylistDelete.Rect.H > _CompleteRect.Y + _CompleteRect.H)
_CompleteRect.H = _ButtonPlaylistDelete.Rect.H + _ButtonPlaylistDelete.Rect.Y - _CompleteRect.Y; _CompleteRect.H = _ButtonPlaylistDelete.Rect.H + _ButtonPlaylistDelete.Rect.Y - _CompleteRect.Y;
//ButtonPlaylistList
if (_ButtonPlaylistList.Rect.X < _CompleteRect.X)
_CompleteRect.X = _ButtonPlaylistList.Rect.X;
if (_ButtonPlaylistList.Rect.Y < _CompleteRect.Y)
_CompleteRect.Y = _ButtonPlaylistList.Rect.Y;
if (_ButtonPlaylistList.Rect.W + _ButtonPlaylistList.Rect.X > _CompleteRect.W + _CompleteRect.X)
_CompleteRect.W = _ButtonPlaylistList.Rect.W + _ButtonPlaylistList.Rect.X - _CompleteRect.X;
if (_ButtonPlaylistList.Rect.Y + _ButtonPlaylistList.Rect.H > _CompleteRect.Y + _CompleteRect.H)
_CompleteRect.H = _ButtonPlaylistList.Rect.H + _ButtonPlaylistList.Rect.Y - _CompleteRect.Y;
} }
#region ThemeEdit #region ThemeEdit