Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| accd1fe26f | |||
| 45b758627e | |||
| 833bfc3650 |
@@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://n8g3v41u2u48"
|
||||
path="res://.godot/imported/Error.wav-f6422fca2f257bd634183d1c1c7a43ba.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Error.wav"
|
||||
dest_files=["res://.godot/imported/Error.wav-f6422fca2f257bd634183d1c1c7a43ba.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=0
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=69 format=3 uid="uid://b2sygl55s6fng"]
|
||||
[gd_scene load_steps=73 format=3 uid="uid://b2sygl55s6fng"]
|
||||
|
||||
[ext_resource type="Script" path="res://main.gd" id="1_ubs1p"]
|
||||
[ext_resource type="Texture2D" uid="uid://b8on1case224h" path="res://LoopPressed.png" id="2_iolk5"]
|
||||
@@ -34,8 +34,9 @@
|
||||
[ext_resource type="PackedScene" uid="uid://bel6i6wdbexw4" path="res://search_results.tscn" id="27_g8wmp"]
|
||||
[ext_resource type="Texture2D" uid="uid://bmbxyma4ra46p" path="res://Download.png" id="29_v44vi"]
|
||||
[ext_resource type="Script" path="res://update_checker.gd" id="30_byc5i"]
|
||||
[ext_resource type="Script" path="res://patch_notes_button.gd" id="31_hjsj1"]
|
||||
[ext_resource type="Script" path="res://CustomButtonColor.gd" id="32_pwgec"]
|
||||
[ext_resource type="Script" path="res://loading_failed_screen.gd" id="37_mkkhu"]
|
||||
[ext_resource type="AudioStream" uid="uid://n8g3v41u2u48" path="res://Error.wav" id="38_nkjlp"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_kvkfy"]
|
||||
shader = ExtResource("8_xtnau")
|
||||
@@ -161,6 +162,31 @@ font_size = 31
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_ivhc6"]
|
||||
font_size = 20
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_spe36"]
|
||||
font_size = 46
|
||||
outline_size = 5
|
||||
outline_color = Color(0.675524, 0.62112, 0, 1)
|
||||
shadow_size = 2
|
||||
shadow_color = Color(0.282353, 0.282353, 0.282353, 0.384314)
|
||||
shadow_offset = Vector2(3, 5)
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_amome"]
|
||||
font_size = 18
|
||||
font_color = Color(0.894922, 0.894922, 0.894922, 1)
|
||||
outline_size = 2
|
||||
outline_color = Color(0.519817, 0.439396, 0, 1)
|
||||
shadow_size = 4
|
||||
shadow_color = Color(0.290196, 0.290196, 0.290196, 0.270588)
|
||||
shadow_offset = Vector2(2, 3)
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_drf2g"]
|
||||
font_size = 20
|
||||
outline_size = 2
|
||||
outline_color = Color(0.519817, 0.439396, 0, 1)
|
||||
shadow_size = 4
|
||||
shadow_color = Color(0.290196, 0.290196, 0.290196, 0.270588)
|
||||
shadow_offset = Vector2(2, 3)
|
||||
|
||||
[node name="Node2D" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
@@ -300,6 +326,7 @@ grow_vertical = 2
|
||||
metadata/_edit_use_anchors_ = true
|
||||
|
||||
[node name="PlaylistsPanel" type="Control" parent="PlaylistPanelHolder"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
anchors_preset = 0
|
||||
anchor_bottom = 1.0
|
||||
@@ -493,10 +520,13 @@ color = Color(0.14902, 0.14902, 0.14902, 1)
|
||||
|
||||
[node name="FileDialog" type="FileDialog" parent="CreatePlaylistsMenu"]
|
||||
title = "Open a Directory"
|
||||
initial_position = 2
|
||||
size = Vector2i(352, 180)
|
||||
ok_button_text = "Select Current Folder"
|
||||
file_mode = 2
|
||||
access = 2
|
||||
filters = PackedStringArray("*")
|
||||
show_hidden_files = true
|
||||
use_native_dialog = true
|
||||
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="CreatePlaylistsMenu"]
|
||||
@@ -826,6 +856,7 @@ grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
size_flags_horizontal = 1
|
||||
size_flags_vertical = 8
|
||||
tooltip_text = "use Up/Down arrow keys to adjust"
|
||||
focus_mode = 0
|
||||
value = 100.0
|
||||
|
||||
@@ -851,7 +882,7 @@ offset_left = -64.0
|
||||
offset_top = -23.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
text = "v1.5.1"
|
||||
text = "v1.5.2"
|
||||
horizontal_alignment = 2
|
||||
|
||||
[node name="SettingsButton" type="Button" parent="."]
|
||||
@@ -950,9 +981,9 @@ timeout = 5.0
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="UpdateChecker"]
|
||||
layout_mode = 0
|
||||
offset_left = -214.0
|
||||
offset_top = -144.0
|
||||
offset_right = -24.0
|
||||
offset_left = -292.0
|
||||
offset_top = -256.0
|
||||
offset_right = -10.0
|
||||
offset_bottom = -44.0
|
||||
color = Color(0.14902, 0.14902, 0.14902, 1)
|
||||
|
||||
@@ -969,22 +1000,20 @@ text = "Update Available!"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="PatchNotesButton" type="Button" parent="UpdateChecker/ColorRect"]
|
||||
z_index = 4
|
||||
[node name="Patchnotes" type="RichTextLabel" parent="UpdateChecker/ColorRect"]
|
||||
z_index = 2
|
||||
layout_mode = 1
|
||||
anchors_preset = 14
|
||||
anchor_top = 0.5
|
||||
anchors_preset = -1
|
||||
anchor_top = 0.150943
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 0.5
|
||||
offset_top = -24.0
|
||||
offset_bottom = 12.0
|
||||
anchor_bottom = 0.820755
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "View patch notes"
|
||||
flat = true
|
||||
script = ExtResource("31_hjsj1")
|
||||
text = "PatchNotes"
|
||||
context_menu_enabled = true
|
||||
metadata/_edit_use_anchors_ = true
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="UpdateChecker/ColorRect/PatchNotesButton"]
|
||||
[node name="ColorRect" type="ColorRect" parent="UpdateChecker/ColorRect/Patchnotes"]
|
||||
z_index = -1
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
@@ -992,9 +1021,7 @@ anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
color = Color(0.19706, 0.279877, 0.326012, 1)
|
||||
script = ExtResource("32_pwgec")
|
||||
color = Color(0.257219, 0.338913, 0.352311, 1)
|
||||
|
||||
[node name="LinkButton" type="Button" parent="UpdateChecker/ColorRect"]
|
||||
z_index = 1
|
||||
@@ -1029,7 +1056,7 @@ anchor_right = 1.0
|
||||
offset_left = -72.0
|
||||
offset_bottom = 72.0
|
||||
grow_horizontal = 0
|
||||
scale = Vector2(0.25, 0.25)
|
||||
scale = Vector2(0.4, 0.4)
|
||||
pivot_offset = Vector2(72, 0)
|
||||
icon = ExtResource("14_mioc4")
|
||||
flat = true
|
||||
@@ -1124,6 +1151,88 @@ horizontal_alignment = 1
|
||||
initial_position = 2
|
||||
dialog_text = "Are you sure you want to delete"
|
||||
|
||||
[node name="LoadingFailedScreen" type="Control" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -235.0
|
||||
offset_top = -159.0
|
||||
offset_right = 235.0
|
||||
offset_bottom = 159.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("37_mkkhu")
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="LoadingFailedScreen"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0.681657, 0.492205, 3.85046e-07, 1)
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="LoadingFailedScreen"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -187.0
|
||||
offset_right = 187.0
|
||||
offset_bottom = 91.0
|
||||
grow_horizontal = 2
|
||||
alignment = 1
|
||||
|
||||
[node name="LoadingFailedLabel" type="Label" parent="LoadingFailedScreen/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
text = "LOADING FAILED"
|
||||
label_settings = SubResource("LabelSettings_spe36")
|
||||
|
||||
[node name="Label2" type="Label" parent="LoadingFailedScreen/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Saving is currently disabled
|
||||
Simplaudio failed to load your save,
|
||||
Simplaudio may also have failed to save,
|
||||
if you suspect this, please contact me."
|
||||
label_settings = SubResource("LabelSettings_amome")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Label3" type="Label" parent="LoadingFailedScreen/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Please restart Simplaudio,
|
||||
if the issue presists you can:"
|
||||
label_settings = SubResource("LabelSettings_drf2g")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="LoadingFailedScreen/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
alignment = 1
|
||||
|
||||
[node name="ContinueAnyways" type="Button" parent="LoadingFailedScreen/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Continue anyways"
|
||||
|
||||
[node name="Contact" type="Button" parent="LoadingFailedScreen/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Contact me"
|
||||
|
||||
[node name="ConfirmationDialog" type="ConfirmationDialog" parent="LoadingFailedScreen"]
|
||||
title = "Are you sure?"
|
||||
initial_position = 2
|
||||
size = Vector2i(242, 106)
|
||||
force_native = true
|
||||
ok_button_text = "Yes, i will take the risk"
|
||||
dialog_text = "This is *irreversable*"
|
||||
cancel_button_text = "No"
|
||||
|
||||
[node name="FailedAudioCue" type="AudioStreamPlayer" parent="LoadingFailedScreen"]
|
||||
stream = ExtResource("38_nkjlp")
|
||||
|
||||
[connection signal="toggled" from="SelectPlaylist" to="SelectPlaylist" method="_on_toggled"]
|
||||
[connection signal="pressed" from="PlaylistPanelHolder/PlaylistsPanel/PlaylistsContainer/VBoxContainer/HBoxContainer/CreatePlaylist" to="PlaylistPanelHolder/PlaylistsPanel" method="_on_create_playlist_pressed"]
|
||||
[connection signal="toggled" from="PlaylistPanelHolder/PlaylistsPanel/PlaylistsContainer/VBoxContainer/HBoxContainer/PlayAll" to="PlaylistPanelHolder/PlaylistsPanel" method="_on_play_all_toggled"]
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
scroll_vertical = 250
|
||||
scroll_vertical = 100
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer"]
|
||||
custom_minimum_size = Vector2(576, 493)
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
extends Control
|
||||
|
||||
@onready var continue_anyways: Button = $VBoxContainer/HBoxContainer/ContinueAnyways
|
||||
@onready var contact: Button = $VBoxContainer/HBoxContainer/Contact
|
||||
@onready var failed_audio_cue: AudioStreamPlayer = $FailedAudioCue
|
||||
@onready var confirmation_dialog: ConfirmationDialog = $ConfirmationDialog
|
||||
|
||||
func Show():
|
||||
failed_audio_cue.play()
|
||||
show()
|
||||
continue_anyways.pressed.connect(confirmation_dialog.show)
|
||||
confirmation_dialog.confirmed.connect(Confiremed)
|
||||
contact.pressed.connect(Contact)
|
||||
|
||||
func Confiremed():
|
||||
owner.LoadingSaveFailed = false
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
hide()
|
||||
|
||||
func Contact():
|
||||
print("Contact pressed")
|
||||
OS.shell_open("https://notdraimdev.github.io/SimplSite/Contact.html")
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
@@ -69,6 +69,9 @@ var PlayAllLists:bool
|
||||
signal ContinueDelete
|
||||
var deleteSong:bool
|
||||
|
||||
var LoadingSaveFailed:bool
|
||||
@onready var loading_failed_screen: Control = $LoadingFailedScreen
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
get_tree().root.min_size = Vector2(850,492)
|
||||
@@ -88,9 +91,10 @@ func _ready() -> void:
|
||||
if Arg.to_lower().ends_with(".mp3") or Arg.to_lower().ends_with(".wav"):
|
||||
OS.alert("opening files like this\nis no longer supported")
|
||||
var data:Dictionary
|
||||
var save = loadUserdata()
|
||||
if save != {}:
|
||||
data = save
|
||||
loadPlaylists()
|
||||
if loadUserdata() != null:
|
||||
data = loadUserdata()
|
||||
if Strin.is_empty():
|
||||
if !Playlists.is_empty():
|
||||
PlaylistSelected(Playlists.keys()[0],PlaylistsLocation[Playlists.keys()[0]])
|
||||
@@ -179,6 +183,8 @@ func _ready() -> void:
|
||||
for child in get_children(true):
|
||||
if child is Control:
|
||||
child.focus_mode = child is LineEdit
|
||||
if LoadingSaveFailed:
|
||||
loading_failed_screen.Show()
|
||||
|
||||
func setUpDiscord():
|
||||
DiscordRPC.app_id = 1276916292170809426
|
||||
@@ -277,6 +283,7 @@ func SetSong(IDX:int):
|
||||
CurrentIDX = IDX -1
|
||||
PlaySongs()
|
||||
music_player.stop()
|
||||
if !LoadingSaveFailed:
|
||||
SaveEverything()
|
||||
print("SetSong")
|
||||
|
||||
@@ -308,12 +315,11 @@ func SetVolume(Volume:float):
|
||||
AudioServer.set_bus_volume_db(0,volume)
|
||||
else:
|
||||
AudioServer.set_bus_volume_db(0,-1000)
|
||||
print("Chnaged Volume")
|
||||
SaveEverything()
|
||||
volume_slider.value = Volume
|
||||
|
||||
func SelectPlaylistDir():
|
||||
file_dialog.show()
|
||||
if !LoadingSaveFailed:
|
||||
SaveEverything()
|
||||
print("Select Playtlist dir")
|
||||
|
||||
@@ -388,6 +394,7 @@ func PlaySongs():
|
||||
CurrentSongLenth = song.get_length()
|
||||
music_player.stream = song
|
||||
music_player.play()
|
||||
if !LoadingSaveFailed:
|
||||
SaveEverything()
|
||||
print("set stream")
|
||||
|
||||
@@ -467,9 +474,8 @@ func _process(_delta: float) -> void:
|
||||
currentSaveTime = SaveInterval
|
||||
|
||||
DiscordUsername = DiscordRPC.get_current_user().get("username")
|
||||
print(DiscordRPC.get_current_user())
|
||||
if !LoadingSaveFailed:
|
||||
SaveEverything()
|
||||
print("yoo")
|
||||
@warning_ignore("integer_division")
|
||||
if DiscordRPC.large_image != "nullbody":
|
||||
UpdateSplashes()
|
||||
@@ -579,44 +585,66 @@ func SaveEverything():
|
||||
"PlayAllLists" : PlayAllLists,
|
||||
"DiscordUsername" : DiscordRPC.get_current_user().get("username")
|
||||
}
|
||||
print("saving")
|
||||
saveUserdata(Data)
|
||||
savePlaylists()
|
||||
|
||||
var saveRetrys:int =0
|
||||
|
||||
func savePlaylists():
|
||||
var json = JSON.new()
|
||||
var file = FileAccess.open("user://playlists.dat", FileAccess.WRITE)
|
||||
var file2 = FileAccess.open("user://playlistsLocation.dat", FileAccess.WRITE)
|
||||
@warning_ignore("static_called_on_instance")
|
||||
if !Playlists == null or !Playlists == {}:
|
||||
if !(Playlists == null) or !(Playlists == {}):
|
||||
file.store_string(str(json.stringify(Playlists)))
|
||||
if !PlaylistsLocation == null or !PlaylistsLocation == {}:
|
||||
if !(PlaylistsLocation == null) or !(PlaylistsLocation == {}):
|
||||
file2.store_string(str(json.stringify(PlaylistsLocation)))
|
||||
if loadUserdata() == {}:
|
||||
if saveRetrys < 3:
|
||||
savePlaylists()
|
||||
else:
|
||||
printerr("saving failed")
|
||||
|
||||
|
||||
func saveUserdata(content):
|
||||
var json = JSON.new()
|
||||
var file = FileAccess.open("user://data.dat", FileAccess.WRITE)
|
||||
@warning_ignore("static_called_on_instance")
|
||||
file.store_string(Marshalls.utf8_to_base64(json.stringify(content)))
|
||||
file.store_string(json.stringify(content))
|
||||
file.close()
|
||||
|
||||
func loadUserdata():
|
||||
var saveLoadTries:int
|
||||
|
||||
func loadUserdata() -> Dictionary:
|
||||
var json = JSON.new()
|
||||
var file = FileAccess.open("user://data.dat", FileAccess.READ)
|
||||
var filetext = file.get_as_text() if file != null else null
|
||||
if file != null:
|
||||
var content
|
||||
var content:Dictionary = {}
|
||||
if json.parse_string(file.get_as_text()) != null:
|
||||
content = json.parse_string(filetext)
|
||||
else:
|
||||
@warning_ignore("static_called_on_instance")
|
||||
content = json.parse_string(Marshalls.base64_to_utf8(file.get_as_text()))
|
||||
file.close()
|
||||
if content != null:
|
||||
return content
|
||||
else:
|
||||
LoadingSaveFailed = true
|
||||
return {}
|
||||
else:
|
||||
file.close()
|
||||
return null
|
||||
printerr("loading save failed")
|
||||
if saveLoadTries < 3:
|
||||
print("retrying")
|
||||
saveLoadTries +=1
|
||||
return loadUserdata()
|
||||
LoadingSaveFailed = true
|
||||
return {}
|
||||
|
||||
|
||||
var playlistLoadTries:int
|
||||
func loadPlaylists():
|
||||
var json = JSON.new()
|
||||
var file = FileAccess.open("user://playlistsLocation.dat", FileAccess.READ)
|
||||
@@ -626,8 +654,17 @@ func loadPlaylists():
|
||||
print(filetext)
|
||||
#print("shit " + json.parse_string(filetext))
|
||||
if file.get_as_text() != "" and file2.get_as_text() != "":
|
||||
PlaylistsLocation = json.parse_string(file.get_as_text())
|
||||
Playlists = {} if json.parse_string(file2.get_as_text()) == null else json.parse_string(file2.get_as_text())
|
||||
var PlaylistsLocationTemp
|
||||
var PlaylistsTemp
|
||||
LoadingSaveFailed
|
||||
PlaylistsLocationTemp = json.parse_string(file.get_as_text())
|
||||
PlaylistsTemp = json.parse_string(file2.get_as_text())
|
||||
if (PlaylistsTemp == null) or (PlaylistsLocationTemp == null):
|
||||
printerr("Loading playlists failed")
|
||||
LoadingSaveFailed = true
|
||||
else:
|
||||
Playlists = PlaylistsTemp
|
||||
PlaylistsLocation = PlaylistsLocationTemp
|
||||
print(PlaylistsLocation)
|
||||
print(Playlists.keys())
|
||||
print("Playlists")
|
||||
|
||||
+13
-5
@@ -2,24 +2,32 @@ extends Control
|
||||
|
||||
var SongName:String
|
||||
var CurrentlyPlaying:bool
|
||||
var idx:int
|
||||
var songidx:int
|
||||
@onready var songname: Button = $HBoxContainer/Songname
|
||||
@onready var dropdown: Button = $HBoxContainer/Dropdown
|
||||
@onready var popup_menu: PopupMenu = $PopupMenu
|
||||
|
||||
|
||||
signal PlayPressed
|
||||
signal DeletePressed
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
songname.text = SongName
|
||||
popup_menu.index_pressed.connect(popupPressed)
|
||||
|
||||
func popupPressed(idx:int):
|
||||
if idx == 0:
|
||||
DeletePressed.emit(songidx)
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
dropdown.visible = songname.is_hovered() or dropdown.is_hovered()
|
||||
|
||||
|
||||
func _on_songname_pressed() -> void:
|
||||
PlayPressed.emit(idx)
|
||||
PlayPressed.emit(songidx)
|
||||
|
||||
|
||||
func _on_delete_pressed() -> void:
|
||||
DeletePressed.emit(idx)
|
||||
func _on_dropdown_pressed() -> void:
|
||||
popup_menu.show()
|
||||
popup_menu.position = get_global_mouse_position()
|
||||
|
||||
+16
-9
@@ -1,7 +1,7 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://ctqcbjrmxaqsk"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cm5ps3a716wr0" path="res://XSmall.png" id="1_6wgd5"]
|
||||
[ext_resource type="Script" path="res://search_item.gd" id="1_j4126"]
|
||||
[ext_resource type="Texture2D" uid="uid://dwvy6crqhardn" path="res://Dropdown.png" id="2_hicj1"]
|
||||
|
||||
[node name="SearchItem" type="Control"]
|
||||
custom_minimum_size = Vector2(0, 30)
|
||||
@@ -17,23 +17,26 @@ size_flags_vertical = 4
|
||||
script = ExtResource("1_j4126")
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="."]
|
||||
custom_minimum_size = Vector2(700, 0)
|
||||
custom_minimum_size = Vector2(700, 32)
|
||||
layout_mode = 1
|
||||
anchors_preset = 4
|
||||
anchor_top = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_top = -19.0
|
||||
offset_right = 50.0
|
||||
offset_bottom = 19.0
|
||||
offset_top = -16.0
|
||||
offset_right = 700.0
|
||||
offset_bottom = 16.0
|
||||
grow_vertical = 2
|
||||
alignment = 1
|
||||
|
||||
[node name="delete" type="Button" parent="HBoxContainer"]
|
||||
modulate = Color(0.553478, 0.101429, 4.81308e-08, 1)
|
||||
[node name="Dropdown" type="Button" parent="HBoxContainer"]
|
||||
custom_minimum_size = Vector2(20, 0)
|
||||
layout_mode = 2
|
||||
tooltip_text = "delete song from hard-drive"
|
||||
focus_mode = 0
|
||||
icon = ExtResource("1_6wgd5")
|
||||
icon = ExtResource("2_hicj1")
|
||||
flat = true
|
||||
icon_alignment = 1
|
||||
expand_icon = true
|
||||
|
||||
[node name="Songname" type="Button" parent="HBoxContainer"]
|
||||
layout_mode = 2
|
||||
@@ -42,5 +45,9 @@ focus_mode = 0
|
||||
flat = true
|
||||
alignment = 0
|
||||
|
||||
[connection signal="pressed" from="HBoxContainer/delete" to="." method="_on_delete_pressed"]
|
||||
[node name="PopupMenu" type="PopupMenu" parent="."]
|
||||
item_count = 1
|
||||
item_0/text = "delete"
|
||||
|
||||
[connection signal="pressed" from="HBoxContainer/Dropdown" to="." method="_on_dropdown_pressed"]
|
||||
[connection signal="pressed" from="HBoxContainer/Songname" to="." method="_on_songname_pressed"]
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ func _process(delta: float) -> void:
|
||||
func add_item(text:String):
|
||||
var child = SEARCH_ITEM.instantiate()
|
||||
child.SongName = text.replace(".mp3", "")
|
||||
child.idx = parent.textSongs.find(text)
|
||||
child.songidx = parent.textSongs.find(text)
|
||||
SongsAmount+=1
|
||||
child.PlayPressed.connect(songSelected)
|
||||
child.DeletePressed.connect(deletePressed)
|
||||
|
||||
@@ -10,6 +10,7 @@ extends Control
|
||||
@onready var errorLabel: Label = $"../UpdatingNotification/Error"
|
||||
@onready var updating_bg: ColorRect = $"../UpdatingBG"
|
||||
@onready var paused_indicator: TextureRect = $"../PausedIndicator"
|
||||
@onready var patchnotes: RichTextLabel = $ColorRect/Patchnotes
|
||||
|
||||
@export var errorColor:Color
|
||||
|
||||
@@ -51,6 +52,8 @@ func _on_http_request_completed(result: int, _response_code: int, _headers: Pack
|
||||
update_available_text.text = result2["tag_name"] + " Is Out!"
|
||||
show()
|
||||
updateLink = result2["html_url"]
|
||||
if result2.has("body"):
|
||||
patchnotes.text = str(result2["body"])
|
||||
|
||||
func _on_close_buen_pressed() -> void:
|
||||
hide()
|
||||
|
||||
Reference in New Issue
Block a user