From 79225bfae98ba2823e8ce9781a382848e3ca2a2a Mon Sep 17 00:00:00 2001 From: Stefan Date: Mon, 27 Jan 2020 07:45:11 +0100 Subject: [PATCH] Use page up/down to fast scroll the song screen CTRL+Page Up/Down to go to first or last entry. Page Up/Down to scroll one page up/down. Only allowed if category / tabs view is disabled (because both keys have different functions in it). --- Vocaluxe/Screens/CScreenSong.cs | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Vocaluxe/Screens/CScreenSong.cs b/Vocaluxe/Screens/CScreenSong.cs index 730f52f8..42ddb6ac 100644 --- a/Vocaluxe/Screens/CScreenSong.cs +++ b/Vocaluxe/Screens/CScreenSong.cs @@ -363,6 +363,38 @@ namespace Vocaluxe.Screens _ShowHighscore(); } break; + + case Keys.PageUp: + if (CBase.Songs.GetTabs() == EOffOn.TR_CONFIG_OFF) + { + int numSongsPerPage = (CConfig.SongMenu == ESongMenu.TR_CONFIG_TILE_BOARD ? 24 : 15); + if (keyEvent.Mod == EModifier.Ctrl) + _SongMenu.SetSelectedSong(0); + else + { + if ((_SongMenu.GetSelectedSongNr() - numSongsPerPage) <= 0) + _SongMenu.SetSelectedSong(0); + else + _SongMenu.SetSelectedSong(_SongMenu.GetSelectedSongNr() - numSongsPerPage); + } + } + break; + + case Keys.PageDown: + if (CBase.Songs.GetTabs() == EOffOn.TR_CONFIG_OFF) + { + int numSongsPerPage = (CConfig.SongMenu == ESongMenu.TR_CONFIG_TILE_BOARD ? 24 : 15); + if (keyEvent.Mod == EModifier.Ctrl) + _SongMenu.SetSelectedSong(CSongs.NumSongsVisible - 1); + else + { + if ((_SongMenu.GetSelectedSongNr() + numSongsPerPage) >= CSongs.NumSongsVisible) + _SongMenu.SetSelectedSong(CSongs.NumSongsVisible - 1); + else + _SongMenu.SetSelectedSong(_SongMenu.GetSelectedSongNr() + numSongsPerPage); + } + } + break; } if (!_SearchActive) {