Settings has a Theme row listing Settings.THEMES: Classic (main_theme.tres, still the default) and Original web (original_web_theme.tres), which looks like MusicFrontend: orange-bordered buttons, a #333 header and popups, #424242 panels, #4e4e4e alternating rows, a yellow playing song and a light grey player bar. Picking one sets the root window's theme at once and saves it as theme_id in settings.cfg, and it is applied at start. The popup backdrop and score graph follow a theme switch. The top bar has its own TopBarBackground style. test_theme.gd checks that every theme has everything main_theme.tres has. The screenshot tool takes a theme id. Closes #42 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
249 lines
7.4 KiB
Plaintext
249 lines
7.4 KiB
Plaintext
[gd_scene format=3 uid="uid://dldpeo5y3l5hq"]
|
|
|
|
[ext_resource type="Script" uid="uid://dukqyjoduf1af" path="res://popups/settings_popup.gd" id="1_bt55j"]
|
|
|
|
[node name="SettingsPopup" type="Control" unique_id=1298840328 node_paths=PackedStringArray("panel")]
|
|
layout_mode = 3
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 2
|
|
script = ExtResource("1_bt55j")
|
|
panel = NodePath("SettingsPanel")
|
|
|
|
[node name="SettingsPanel" type="Panel" parent="." unique_id=45537159]
|
|
unique_name_in_owner = true
|
|
layout_mode = 0
|
|
offset_right = 520.0
|
|
offset_bottom = 270.0
|
|
theme_type_variation = &"PopupBackground"
|
|
|
|
[node name="VBoxContainer" type="VBoxContainer" parent="SettingsPanel" unique_id=1796635163]
|
|
unique_name_in_owner = true
|
|
layout_mode = 0
|
|
offset_left = 20.0
|
|
offset_top = 12.0
|
|
offset_right = 500.0
|
|
offset_bottom = 258.0
|
|
|
|
[node name="Label" type="Label" parent="SettingsPanel/VBoxContainer" unique_id=1111531402]
|
|
layout_mode = 2
|
|
theme_type_variation = &"Title"
|
|
text = "Settings"
|
|
horizontal_alignment = 1
|
|
|
|
[node name="ServerRow" type="HBoxContainer" parent="SettingsPanel/VBoxContainer" unique_id=434350695]
|
|
layout_mode = 2
|
|
|
|
[node name="Title" type="Label" parent="SettingsPanel/VBoxContainer/ServerRow" unique_id=434350696]
|
|
layout_mode = 2
|
|
theme_type_variation = &"SettingsRowLabel"
|
|
text = "Server"
|
|
|
|
[node name="SelectServerButton" type="OptionButton" parent="SettingsPanel/VBoxContainer/ServerRow" unique_id=434350694]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
focus_mode = 0
|
|
|
|
[node name="FolderRow" type="HBoxContainer" parent="SettingsPanel/VBoxContainer"]
|
|
layout_mode = 2
|
|
|
|
[node name="Title" type="Label" parent="SettingsPanel/VBoxContainer/FolderRow"]
|
|
layout_mode = 2
|
|
theme_type_variation = &"SettingsRowLabel"
|
|
text = "Music folder"
|
|
|
|
[node name="FolderLabel" type="Label" parent="SettingsPanel/VBoxContainer/FolderRow"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
mouse_filter = 1
|
|
text = "None, using the server"
|
|
text_overrun_behavior = 3
|
|
|
|
[node name="ChooseFolderButton" type="Button" parent="SettingsPanel/VBoxContainer/FolderRow"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
focus_mode = 0
|
|
text = "Choose…"
|
|
|
|
[node name="UseServerButton" type="Button" parent="SettingsPanel/VBoxContainer/FolderRow"]
|
|
unique_name_in_owner = true
|
|
visible = false
|
|
layout_mode = 2
|
|
focus_mode = 0
|
|
text = "Use server"
|
|
|
|
[node name="FolderErrorLabel" type="Label" parent="SettingsPanel/VBoxContainer"]
|
|
unique_name_in_owner = true
|
|
visible = false
|
|
layout_mode = 2
|
|
theme_type_variation = &"HighlightMedium"
|
|
text = "No songs found"
|
|
text_overrun_behavior = 3
|
|
|
|
[node name="PlayOrderRow" type="HBoxContainer" parent="SettingsPanel/VBoxContainer"]
|
|
unique_name_in_owner = true
|
|
visible = false
|
|
layout_mode = 2
|
|
|
|
[node name="Title" type="Label" parent="SettingsPanel/VBoxContainer/PlayOrderRow"]
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
theme_type_variation = &"SettingsRowLabel"
|
|
text = "Play the prepared quiz"
|
|
|
|
[node name="PlayOrderButton" type="OptionButton" parent="SettingsPanel/VBoxContainer/PlayOrderRow"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
focus_mode = 0
|
|
selected = 0
|
|
item_count = 2
|
|
popup/item_0/text = "In order"
|
|
popup/item_0/id = 0
|
|
popup/item_1/text = "At random"
|
|
popup/item_1/id = 1
|
|
|
|
[node name="CharactersRow" type="HBoxContainer" parent="SettingsPanel/VBoxContainer"]
|
|
layout_mode = 2
|
|
|
|
[node name="Title" type="Label" parent="SettingsPanel/VBoxContainer/CharactersRow"]
|
|
layout_mode = 2
|
|
theme_type_variation = &"SettingsRowLabel"
|
|
text = "Characters"
|
|
|
|
[node name="CharactersLabel" type="Label" parent="SettingsPanel/VBoxContainer/CharactersRow"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
mouse_filter = 1
|
|
text = "From the server"
|
|
text_overrun_behavior = 3
|
|
|
|
[node name="ChooseCharactersButton" type="Button" parent="SettingsPanel/VBoxContainer/CharactersRow"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
focus_mode = 0
|
|
text = "Choose…"
|
|
|
|
[node name="UseServerCharactersButton" type="Button" parent="SettingsPanel/VBoxContainer/CharactersRow"]
|
|
unique_name_in_owner = true
|
|
visible = false
|
|
layout_mode = 2
|
|
focus_mode = 0
|
|
text = "Use server"
|
|
|
|
[node name="CharactersErrorLabel" type="Label" parent="SettingsPanel/VBoxContainer"]
|
|
unique_name_in_owner = true
|
|
visible = false
|
|
layout_mode = 2
|
|
theme_type_variation = &"HighlightMedium"
|
|
text = "No pictures found"
|
|
text_overrun_behavior = 3
|
|
|
|
[node name="ThemeRow" type="HBoxContainer" parent="SettingsPanel/VBoxContainer"]
|
|
layout_mode = 2
|
|
|
|
[node name="Title" type="Label" parent="SettingsPanel/VBoxContainer/ThemeRow"]
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
theme_type_variation = &"SettingsRowLabel"
|
|
text = "Theme"
|
|
|
|
[node name="ThemeButton" type="OptionButton" parent="SettingsPanel/VBoxContainer/ThemeRow"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(180, 0)
|
|
layout_mode = 2
|
|
focus_mode = 0
|
|
|
|
[node name="FullscreenButton" type="CheckButton" parent="SettingsPanel/VBoxContainer" unique_id=400304684]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
focus_mode = 0
|
|
text = "Fullscreen"
|
|
|
|
[node name="CacheRow" type="HBoxContainer" parent="SettingsPanel/VBoxContainer" unique_id=658210492]
|
|
layout_mode = 2
|
|
|
|
[node name="CacheTitleLabel" type="Label" parent="SettingsPanel/VBoxContainer/CacheRow" unique_id=365012193]
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
theme_type_variation = &"SettingsRowLabel"
|
|
text = "Songs to download ahead"
|
|
|
|
[node name="CacheLabel" type="Label" parent="SettingsPanel/VBoxContainer/CacheRow" unique_id=1558370172]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(48, 0)
|
|
layout_mode = 2
|
|
text = "1"
|
|
horizontal_alignment = 1
|
|
|
|
[node name="LowerCacheButton" type="Button" parent="SettingsPanel/VBoxContainer/CacheRow" unique_id=1990385038]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(30, 0)
|
|
layout_mode = 2
|
|
focus_mode = 0
|
|
action_mode = 0
|
|
theme_type_variation = &"StepButton"
|
|
text = "-1"
|
|
|
|
[node name="IncreaseCacheButton" type="Button" parent="SettingsPanel/VBoxContainer/CacheRow" unique_id=1806295533]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(30, 0)
|
|
layout_mode = 2
|
|
focus_mode = 0
|
|
action_mode = 0
|
|
theme_type_variation = &"StepButton"
|
|
text = "+1"
|
|
|
|
[node name="LowPlayedCheckButton" type="CheckButton" parent="SettingsPanel/VBoxContainer"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
focus_mode = 0
|
|
action_mode = 0
|
|
text = "Prefer less played soundtracks"
|
|
|
|
[node name="AddToDatabaseCheckButton" type="CheckButton" parent="SettingsPanel/VBoxContainer"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
focus_mode = 0
|
|
action_mode = 0
|
|
text = "Count plays in statistics"
|
|
|
|
[node name="ConfigFolderRow" type="HBoxContainer" parent="SettingsPanel/VBoxContainer"]
|
|
layout_mode = 2
|
|
|
|
[node name="Title" type="Label" parent="SettingsPanel/VBoxContainer/ConfigFolderRow"]
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
theme_type_variation = &"SettingsRowLabel"
|
|
text = "Settings and cached files"
|
|
|
|
[node name="OpenConfigFolderButton" type="Button" parent="SettingsPanel/VBoxContainer/ConfigFolderRow"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
focus_mode = 0
|
|
text = "Open folder"
|
|
|
|
[node name="FolderDialog" type="FileDialog" parent="."]
|
|
unique_name_in_owner = true
|
|
title = "Choose a music folder"
|
|
initial_position = 2
|
|
size = Vector2i(800, 500)
|
|
ok_button_text = "Select Current Folder"
|
|
file_mode = 2
|
|
access = 2
|
|
use_native_dialog = true
|
|
|
|
[node name="CharacterFolderDialog" type="FileDialog" parent="."]
|
|
unique_name_in_owner = true
|
|
title = "Choose a folder of characters"
|
|
initial_position = 2
|
|
size = Vector2i(800, 500)
|
|
ok_button_text = "Select Current Folder"
|
|
file_mode = 2
|
|
access = 2
|
|
use_native_dialog = true
|