From 602417e773a2cf81e36e06d773c8572bb85d7a0e Mon Sep 17 00:00:00 2001 From: McSchneidar <262792195+McSchneidar@users.noreply.github.com> Date: Sat, 17 Oct 2026 05:17:36 +0200 Subject: [PATCH] Add statistics screens (#910) * Add statistics screens - New statistics dashboard with four tiles: overview, recently sung, best list per difficulty and players - Each tile opens a detail screen with longer lists, filters (left/right) and scrolling - Detail lists show ranks for places 1-3, avatars, bars and alternating row backgrounds - Players can be ranked by most songs or by best average - Overview details: most sung songs, genres, languages and songs never sung - Navigation help at the bottom of both screens - New Statistics button in the main menu - English and German texts * Address code analysis findings in statistics screens * Retrigger CI --------- Co-authored-by: Florian Ostertag --- Output/Languages/de.xml | 39 + Output/Languages/en.xml | 39 + .../Themes/Changelog/Changelog_ScreenMain.txt | 10 + .../Changelog/Changelog_ScreenStatistics.txt | 8 + .../Changelog_ScreenStatisticsDetail.txt | 7 + .../Vocaluxe 2024/Screens/ScreenMain.xml | 55 +- .../Screens/ScreenStatistics.xml | 1170 +++++++++++++ .../Screens/ScreenStatisticsDetail.xml | 1494 +++++++++++++++++ Vocaluxe/Base/CDataBase.cs | 15 + Vocaluxe/Base/CGraphics.cs | 2 + Vocaluxe/Base/CStatistics.cs | 133 ++ Vocaluxe/Lib/Database/CHighscoreDB.cs | 125 ++ Vocaluxe/Screens/CScreenMain.cs | 17 +- Vocaluxe/Screens/CScreenStatistics.cs | 286 ++++ Vocaluxe/Screens/CScreenStatisticsDetail.cs | 460 +++++ Vocaluxe/Vocaluxe.csproj | 3 + VocaluxeLib/Enums.cs | 2 + 17 files changed, 3853 insertions(+), 12 deletions(-) create mode 100644 Output/Themes/Changelog/Changelog_ScreenStatistics.txt create mode 100644 Output/Themes/Changelog/Changelog_ScreenStatisticsDetail.txt create mode 100644 Output/Themes/Vocaluxe 2024/Screens/ScreenStatistics.xml create mode 100644 Output/Themes/Vocaluxe 2024/Screens/ScreenStatisticsDetail.xml create mode 100644 Vocaluxe/Base/CStatistics.cs create mode 100644 Vocaluxe/Screens/CScreenStatistics.cs create mode 100644 Vocaluxe/Screens/CScreenStatisticsDetail.cs diff --git a/Output/Languages/de.xml b/Output/Languages/de.xml index fd6ad221..0952ff90 100644 --- a/Output/Languages/de.xml +++ b/Output/Languages/de.xml @@ -111,6 +111,45 @@ Optionen Profile Keine Profile gefunden! + Statistik + Statistik + Navigieren = Kachel wählen • Enter = Details öffnen • ESC = Zurück zum Hauptmenü + Links/Rechts = Ansicht wechseln • Hoch/Runter = Blättern • ESC = Zurück zur Statistik + Übersicht + Zuletzt gesungen + Bestenliste + Spieler + Songs + gesungen + Spieler + Sammlung gesungen: {0} % + Meistgesungen + Genres + Sprachen + Noch nie gesungen + Alle Spieler + {0} · {1} Songs + Ø {0} + {0} Songs · Bestwert {1} + Meiste Songs + Bester Durchschnitt + Ø {0} · Bestwert {1} + {0} Songs + {0} Songs · {1} gesungen ({2} %) · insgesamt {3}-mal gesungen + Heute + Gestern + Noch keine Daten + Song + Mal + Genre + Sprache + Gesungen + Jahr + Datum + Spieler + Punkte + Songs + Durchschnitt Party-Modus Auswahl Party-Modus Beschreibung diff --git a/Output/Languages/en.xml b/Output/Languages/en.xml index 145e5f73..7f599720 100644 --- a/Output/Languages/en.xml +++ b/Output/Languages/en.xml @@ -111,6 +111,45 @@ Options Profiles No profiles found! + Statistics + Statistics + Navigate = Select a tile • Enter = Open details • ESC = Back to main menu + Left/Right = Change view • Up/Down = Scroll • ESC = Back to statistics + Overview + Recently sung + Best list + Players + Songs + sung + Players + Collection sung: {0} % + Most sung + Genres + Languages + Never sung + All players + {0} · {1} songs + Ø {0} + {0} songs · best {1} + Most songs + Best average + Ø {0} · best {1} + {0} songs + {0} songs · {1} sung ({2} %) · sung {3} times in total + Today + Yesterday + No data yet + Song + Times + Genre + Language + Sung + Year + Date + Player + Score + Songs + Average Party-Mode Selection Party-mode Description diff --git a/Output/Themes/Changelog/Changelog_ScreenMain.txt b/Output/Themes/Changelog/Changelog_ScreenMain.txt index 85ad84ce..23fb6a71 100644 --- a/Output/Themes/Changelog/Changelog_ScreenMain.txt +++ b/Output/Themes/Changelog/Changelog_ScreenMain.txt @@ -1,5 +1,15 @@ ScreenMain +++++++++++ +Version 4: +(2026 Oct 16) + +Add: + + +Change: +Positions of all buttons to make room for the new button + ++++++++++ Version 3: (2023 Dec 31) diff --git a/Output/Themes/Changelog/Changelog_ScreenStatistics.txt b/Output/Themes/Changelog/Changelog_ScreenStatistics.txt new file mode 100644 index 00000000..28ccf365 --- /dev/null +++ b/Output/Themes/Changelog/Changelog_ScreenStatistics.txt @@ -0,0 +1,8 @@ +ScreenStatistics + +++++++++++ +Version 1: +(2026 Oct 16) + +New screen: statistics dashboard with four tiles (overview, recently sung, best list per difficulty, players) +Help text at the bottom of the screen diff --git a/Output/Themes/Changelog/Changelog_ScreenStatisticsDetail.txt b/Output/Themes/Changelog/Changelog_ScreenStatisticsDetail.txt new file mode 100644 index 00000000..f228b95f --- /dev/null +++ b/Output/Themes/Changelog/Changelog_ScreenStatisticsDetail.txt @@ -0,0 +1,7 @@ +ScreenStatisticsDetail + +++++++++++ +Version 1: +(2026 Oct 16) + +New screen: details for the tiles of the statistics dashboard (table with rank, avatar, progress bar per row, filter and help text) diff --git a/Output/Themes/Vocaluxe 2024/Screens/ScreenMain.xml b/Output/Themes/Vocaluxe 2024/Screens/ScreenMain.xml index b0e5263c..850e7ad6 100644 --- a/Output/Themes/Vocaluxe 2024/Screens/ScreenMain.xml +++ b/Output/Themes/Vocaluxe 2024/Screens/ScreenMain.xml @@ -2,7 +2,7 @@ ScreenMain - 2 + 4 @@ -40,9 +40,9 @@ TextBG - 225 + 135 915 - 532.5 + 510 45 -1.9 @@ -64,11 +64,11 @@ Vocaluxe "Shining Heaven" v0.3 (x64) Beta (0083) - 480 + 390 918 -2 40.5 - 532.5 + 500 Center @@ -83,7 +83,7 @@ Button Button - 217.5 + 135 900 225 75 @@ -118,7 +118,7 @@ Button Button - 532.5 + 420 900 225 75 @@ -149,11 +149,46 @@ 15 +