lots of new features

This commit is contained in:
Tabby 2026-06-01 17:40:48 +10:00
parent 278cddcf22
commit 337c4fbb71
3 changed files with 28 additions and 5 deletions

View file

@ -9,5 +9,6 @@ func time_to_seconds(hours_value : int, minutes_value : int) -> int:
func seconds_to_time(seconds : int) -> Dictionary: func seconds_to_time(seconds : int) -> Dictionary:
var hours : int = floori(float(seconds)/3600) var hours : int = floori(float(seconds)/3600)
var minutes : int = int(float(seconds % 3600)/60) var minutes : int = int(float(seconds % 3600)/60)
return {"h":hours,"m":minutes} var just_seconds : int = int(float(seconds % 60))
return {"h":hours,"m":minutes,"s":just_seconds}

View file

@ -51,6 +51,10 @@ func setup_window():
background.color = Data.save.background_color background.color = Data.save.background_color
modulate = Color(1,1,1,Data.save.bar_transparency) modulate = Color(1,1,1,Data.save.bar_transparency)
if Data.save.progress_style == Data.Styles.Filling or Data.save.progress_style == Data.Styles.Emptying:
bar.fill_mode = bar.FillMode.FILL_LEFT_TO_RIGHT
else:
bar.fill_mode = bar.FillMode.FILL_RIGHT_TO_LEFT
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void: func _process(delta: float) -> void:
@ -97,17 +101,35 @@ func _process(delta: float) -> void:
bar.max_value = Data.save.duration bar.max_value = Data.save.duration
bar.min_value = 0 bar.min_value = 0
bar.value = Data.save.duration - seconds_left
if Data.save.progress_style == Data.Styles.Filling or Data.save.progress_style == Data.Styles.Filling_Reversed:
bar.value = Data.save.duration - seconds_left
else:
bar.value = seconds_left
#print("bar value: " + str(bar.value)) #print("bar value: " + str(bar.value))
#label.text = Time.get_datetime_string_from_system() #label.text = Time.get_datetime_string_from_system()
#Time. #Time.
#print(current_day) #print(current_day)
if (seconds_left <= 3600): if (seconds_left <= Data.save.warning_time):
bar.modulate = Data.save.warning_color bar.modulate = Data.save.warning_color
else: else:
bar.modulate = Data.save.bar_color bar.modulate = Data.save.bar_color
if seconds_left > 82800 and Data.save.flashing:
var effect : float = (sin(seconds_left*3))
modulate = Color(effect,effect,effect,effect)
else:
modulate = Color(1,1,1,Data.save.bar_transparency)
if seconds_left > Data.save.duration + Data.save.before_time and seconds_left < 86400 - Data.save.after_time:
hide()
else:
show()
var time_left_dict : Dictionary = Tools.seconds_to_time(int(seconds_left))
var time_string : String = str(time_left_dict.get("h")) + ":" + str(time_left_dict.get("m")).pad_zeros(2) + ":" + str(time_left_dict.get("s")).pad_zeros(2)
label.text = time_string + " Remaining until sleepytime"
#var screen_size : Vector2i = DisplayServer.screen_get_size() #var screen_size : Vector2i = DisplayServer.screen_get_size()
#DisplayServer.window_set_size(Vector2i(screen_size.x, 10)) #DisplayServer.window_set_size(Vector2i(screen_size.x, 10))
#get_window().size = Vector2i(screen_size.x, 10) #get_window().size = Vector2i(screen_size.x, 10)

View file

@ -414,8 +414,7 @@ popup/item_3/id = 3
[node name="Label2" type="Label" parent="Options Window/MarginContainer/VBoxContainer" unique_id=201796106] [node name="Label2" type="Label" parent="Options Window/MarginContainer/VBoxContainer" unique_id=201796106]
layout_mode = 2 layout_mode = 2
text = "todo: text = "todo:
- warning threshold - configure safe zones top/bottom
- display before/after time
- text to display inside bar" - text to display inside bar"
label_settings = SubResource("LabelSettings_1bvp3") label_settings = SubResource("LabelSettings_1bvp3")
@ -448,6 +447,7 @@ text = "Save"
[connection signal="color_changed" from="Options Window/MarginContainer/VBoxContainer/GridContainer/backgroundColor" to="Options Window" method="_on_background_color_color_changed"] [connection signal="color_changed" from="Options Window/MarginContainer/VBoxContainer/GridContainer/backgroundColor" to="Options Window" method="_on_background_color_color_changed"]
[connection signal="color_changed" from="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer4/warningColor" to="Options Window" method="_on_warning_color_color_changed"] [connection signal="color_changed" from="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer4/warningColor" to="Options Window" method="_on_warning_color_color_changed"]
[connection signal="value_changed" from="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer4/warningH" to="Options Window" method="_on_warning_value_changed"] [connection signal="value_changed" from="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer4/warningH" to="Options Window" method="_on_warning_value_changed"]
[connection signal="value_changed" from="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer4/warningM" to="Options Window" method="_on_warning_value_changed"]
[connection signal="toggled" from="Options Window/MarginContainer/VBoxContainer/GridContainer/flashCheck" to="Options Window" method="_on_flash_check_toggled"] [connection signal="toggled" from="Options Window/MarginContainer/VBoxContainer/GridContainer/flashCheck" to="Options Window" method="_on_flash_check_toggled"]
[connection signal="value_changed" from="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer5/beforeH" to="Options Window" method="_on_before_value_changed"] [connection signal="value_changed" from="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer5/beforeH" to="Options Window" method="_on_before_value_changed"]
[connection signal="value_changed" from="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer5/beforeM" to="Options Window" method="_on_before_value_changed"] [connection signal="value_changed" from="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer5/beforeM" to="Options Window" method="_on_before_value_changed"]