Show every song in the statistics, as an alternative to the cards
A Soundtracks / Songs switch in the statistics toolbar shows a list of every song with its soundtrack and how often it was played. It is searched on both song and soundtrack names, filtered and sorted like the cards, and clicking a song shows its soundtrack's popup. The server has tens of thousands of songs, so the list only makes the rows on screen and reuses them while scrolling, songs are sorted once per load, and searching waits for a pause in typing. Closes #47
This commit is contained in:
1 parent
cd4331881c
commit
a4e6da4c28
14 files changed
+10058
-1670
No files matched your search
+4
-1
@@ -37,7 +37,8 @@ inspector or `theme_type_variation` in code:
|
||||
| `MusicList` | PanelContainer | The list of songs in the quiz |
|
||||
| `SongRow` | PanelContainer | One song in that list |
|
||||
| `ShortcutRowDark` | PanelContainer | Every other row in the shortcuts popup |
|
||||
| `ListRowEven`, `ListRowOdd` | PanelContainer | Alternating rows in the inspiration and sync lists |
|
||||
| `ListRowEven`, `ListRowOdd` | PanelContainer | Alternating rows in the inspiration, sync and statistics song lists |
|
||||
| `ListRowHover` | PanelContainer | A row in the statistics song list under the mouse |
|
||||
| `TitleLarge` | Label | The soundtrack that is playing (50) |
|
||||
| `TitleMedium` | Label | The song that is playing, and the winner (35) |
|
||||
| `Title` | Label | The window title and popup titles (25) |
|
||||
@@ -48,6 +49,8 @@ inspector or `theme_type_variation` in code:
|
||||
| `TabButton` | Button | The Quiz and Statistics tabs; the chosen one is orange |
|
||||
| `StatisticsCard`, `StatisticsCardHover` | PanelContainer | A soundtrack card in the statistics, and the one under the mouse |
|
||||
| `StatisticsGrid` | GridContainer | The grid of soundtrack cards, with the space between them |
|
||||
| `SongStatsHeader` | PanelContainer | The column titles above the statistics song list, spaced like its rows |
|
||||
| `SongStatsText`, `SongStatsSecondary` | RichTextLabel | A song's name and its soundtrack (dimmer) in the statistics song list |
|
||||
|
||||
**Palette**: colours used from code.
|
||||
|
||||
|
||||
@@ -282,6 +282,23 @@ corner_radius_top_right = 4
|
||||
corner_radius_bottom_right = 4
|
||||
corner_radius_bottom_left = 4
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_listrowhover"]
|
||||
content_margin_left = 8.0
|
||||
content_margin_top = 2.0
|
||||
content_margin_right = 8.0
|
||||
content_margin_bottom = 2.0
|
||||
bg_color = Color(1, 1, 1, 0.2)
|
||||
corner_radius_top_left = 4
|
||||
corner_radius_top_right = 4
|
||||
corner_radius_bottom_right = 4
|
||||
corner_radius_bottom_left = 4
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_songstatsheader"]
|
||||
content_margin_left = 8.0
|
||||
content_margin_top = 2.0
|
||||
content_margin_right = 8.0
|
||||
content_margin_bottom = 2.0
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_mxy8k"]
|
||||
content_margin_left = 8.0
|
||||
content_margin_top = 2.0
|
||||
@@ -844,6 +861,8 @@ LargeButton/base_type = &"Button"
|
||||
LargeButton/font_sizes/font_size = 24
|
||||
ListRowEven/base_type = &"PanelContainer"
|
||||
ListRowEven/styles/panel = SubResource("StyleBoxFlat_u5sc5")
|
||||
ListRowHover/base_type = &"PanelContainer"
|
||||
ListRowHover/styles/panel = SubResource("StyleBoxFlat_listrowhover")
|
||||
ListRowOdd/base_type = &"PanelContainer"
|
||||
ListRowOdd/styles/panel = SubResource("StyleBoxFlat_mxy8k")
|
||||
MarginContainer/constants/margin_bottom = 0
|
||||
@@ -943,6 +962,13 @@ SongRowLabelPlaying/base_type = &"Label"
|
||||
SongRowLabelPlaying/colors/font_color = Color(1, 0.5, 0, 1)
|
||||
SongRowLabelPlaying/font_sizes/font_size = 20
|
||||
SongRowLabelPlaying/styles/normal = SubResource("StyleBoxFlat_lkqs8")
|
||||
SongStatsHeader/base_type = &"PanelContainer"
|
||||
SongStatsHeader/styles/panel = SubResource("StyleBoxEmpty_songstatsheader")
|
||||
SongStatsSecondary/base_type = &"RichTextLabel"
|
||||
SongStatsSecondary/colors/default_color = Color(0.7, 0.7, 0.7, 1)
|
||||
SongStatsSecondary/font_sizes/normal_font_size = 18
|
||||
SongStatsText/base_type = &"RichTextLabel"
|
||||
SongStatsText/font_sizes/normal_font_size = 18
|
||||
StatisticsCard/base_type = &"PanelContainer"
|
||||
StatisticsCard/styles/panel = SubResource("StyleBoxFlat_statscard")
|
||||
StatisticsCardHover/base_type = &"PanelContainer"
|
||||
|
||||
Reference in new issue
Block a user