more options yippeee!!
This commit is contained in:
parent
960c0277ae
commit
278cddcf22
5 changed files with 120 additions and 20 deletions
7
Data.gd
7
Data.gd
|
|
@ -10,6 +10,13 @@ enum Position {
|
||||||
Left,
|
Left,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum Styles {
|
||||||
|
Filling,
|
||||||
|
Filling_Reversed,
|
||||||
|
Emptying,
|
||||||
|
Emptying_Reversed,
|
||||||
|
}
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
print("looking for save...")
|
print("looking for save...")
|
||||||
|
|
|
||||||
1
Tools.gd
1
Tools.gd
|
|
@ -3,6 +3,7 @@ extends Node
|
||||||
func time_to_seconds(hours_value : int, minutes_value : int) -> int:
|
func time_to_seconds(hours_value : int, minutes_value : int) -> int:
|
||||||
var hour_seconds : int = hours_value * 60 * 60
|
var hour_seconds : int = hours_value * 60 * 60
|
||||||
var minutes_seconds : int = minutes_value * 60
|
var minutes_seconds : int = minutes_value * 60
|
||||||
|
#print(hour_seconds + minutes_seconds)
|
||||||
return hour_seconds + minutes_seconds
|
return hour_seconds + minutes_seconds
|
||||||
|
|
||||||
func seconds_to_time(seconds : int) -> Dictionary:
|
func seconds_to_time(seconds : int) -> Dictionary:
|
||||||
|
|
|
||||||
56
main.tscn
56
main.tscn
|
|
@ -128,7 +128,7 @@ grow_vertical = 2
|
||||||
text = "12:34 Remaining Until Sleepy time, there is alot of space for text you can work with here meow meow meow meow"
|
text = "12:34 Remaining Until Sleepy time, there is alot of space for text you can work with here meow meow meow meow"
|
||||||
label_settings = SubResource("LabelSettings_h2yge")
|
label_settings = SubResource("LabelSettings_h2yge")
|
||||||
|
|
||||||
[node name="Options Window" type="Window" parent="." unique_id=1651073981 node_paths=PackedStringArray("sleep_h", "sleep_m", "duration_h", "duration_m", "size_label", "size_slider", "bar_color", "background_color", "warning_color", "trans_label", "trans_slider")]
|
[node name="Options Window" type="Window" parent="." unique_id=1651073981 node_paths=PackedStringArray("sleep_h", "sleep_m", "duration_h", "duration_m", "size_label", "size_slider", "bar_color", "background_color", "warning_color", "trans_label", "trans_slider", "warning_h", "warning_m", "flash_check", "before_h", "before_m", "after_h", "after_m", "style_dropdown", "position_dropdown")]
|
||||||
oversampling_override = 1.0
|
oversampling_override = 1.0
|
||||||
title = "SleepyClock Options"
|
title = "SleepyClock Options"
|
||||||
initial_position = 1
|
initial_position = 1
|
||||||
|
|
@ -149,6 +149,15 @@ background_color = NodePath("MarginContainer/VBoxContainer/GridContainer/backgro
|
||||||
warning_color = NodePath("MarginContainer/VBoxContainer/GridContainer/HBoxContainer4/warningColor")
|
warning_color = NodePath("MarginContainer/VBoxContainer/GridContainer/HBoxContainer4/warningColor")
|
||||||
trans_label = NodePath("MarginContainer/VBoxContainer/GridContainer/HBoxContainer7/transLabel")
|
trans_label = NodePath("MarginContainer/VBoxContainer/GridContainer/HBoxContainer7/transLabel")
|
||||||
trans_slider = NodePath("MarginContainer/VBoxContainer/GridContainer/HBoxContainer7/transSlider")
|
trans_slider = NodePath("MarginContainer/VBoxContainer/GridContainer/HBoxContainer7/transSlider")
|
||||||
|
warning_h = NodePath("MarginContainer/VBoxContainer/GridContainer/HBoxContainer4/warningH")
|
||||||
|
warning_m = NodePath("MarginContainer/VBoxContainer/GridContainer/HBoxContainer4/warningM")
|
||||||
|
flash_check = NodePath("MarginContainer/VBoxContainer/GridContainer/flashCheck")
|
||||||
|
before_h = NodePath("MarginContainer/VBoxContainer/GridContainer/HBoxContainer5/beforeH")
|
||||||
|
before_m = NodePath("MarginContainer/VBoxContainer/GridContainer/HBoxContainer5/beforeM")
|
||||||
|
after_h = NodePath("MarginContainer/VBoxContainer/GridContainer/HBoxContainer6/afterH")
|
||||||
|
after_m = NodePath("MarginContainer/VBoxContainer/GridContainer/HBoxContainer6/afterM")
|
||||||
|
style_dropdown = NodePath("MarginContainer/VBoxContainer/GridContainer/styleDropdown")
|
||||||
|
position_dropdown = NodePath("MarginContainer/VBoxContainer/GridContainer/positionDropdown")
|
||||||
|
|
||||||
[node name="MarginContainer" type="MarginContainer" parent="Options Window" unique_id=426909220]
|
[node name="MarginContainer" type="MarginContainer" parent="Options Window" unique_id=426909220]
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
|
|
@ -317,7 +326,6 @@ layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
max_value = 23.0
|
max_value = 23.0
|
||||||
value = 1.0
|
value = 1.0
|
||||||
editable = false
|
|
||||||
suffix = "h"
|
suffix = "h"
|
||||||
select_all_on_focus = true
|
select_all_on_focus = true
|
||||||
|
|
||||||
|
|
@ -325,7 +333,6 @@ select_all_on_focus = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
max_value = 59.0
|
max_value = 59.0
|
||||||
editable = false
|
|
||||||
suffix = "m"
|
suffix = "m"
|
||||||
select_all_on_focus = true
|
select_all_on_focus = true
|
||||||
|
|
||||||
|
|
@ -338,7 +345,6 @@ text = "flash bar when time ends 🛈"
|
||||||
[node name="flashCheck" type="CheckButton" parent="Options Window/MarginContainer/VBoxContainer/GridContainer" unique_id=1168112585]
|
[node name="flashCheck" type="CheckButton" parent="Options Window/MarginContainer/VBoxContainer/GridContainer" unique_id=1168112585]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
disabled = true
|
|
||||||
|
|
||||||
[node name="Label8" type="Label" parent="Options Window/MarginContainer/VBoxContainer/GridContainer" unique_id=280072151]
|
[node name="Label8" type="Label" parent="Options Window/MarginContainer/VBoxContainer/GridContainer" unique_id=280072151]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
@ -349,11 +355,17 @@ text = "Display before time starts 🛈"
|
||||||
[node name="HBoxContainer5" type="HBoxContainer" parent="Options Window/MarginContainer/VBoxContainer/GridContainer" unique_id=2104802150]
|
[node name="HBoxContainer5" type="HBoxContainer" parent="Options Window/MarginContainer/VBoxContainer/GridContainer" unique_id=2104802150]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="beforeH" type="SpinBox" parent="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer5" unique_id=239006734]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
max_value = 23.0
|
||||||
|
suffix = "h"
|
||||||
|
select_all_on_focus = true
|
||||||
|
|
||||||
[node name="beforeM" type="SpinBox" parent="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer5" unique_id=157077084]
|
[node name="beforeM" type="SpinBox" parent="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer5" unique_id=157077084]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
max_value = 59.0
|
max_value = 59.0
|
||||||
editable = false
|
|
||||||
suffix = "m"
|
suffix = "m"
|
||||||
select_all_on_focus = true
|
select_all_on_focus = true
|
||||||
|
|
||||||
|
|
@ -366,14 +378,39 @@ text = "Display after time ends 🛈"
|
||||||
[node name="HBoxContainer6" type="HBoxContainer" parent="Options Window/MarginContainer/VBoxContainer/GridContainer" unique_id=1503325100]
|
[node name="HBoxContainer6" type="HBoxContainer" parent="Options Window/MarginContainer/VBoxContainer/GridContainer" unique_id=1503325100]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="afterH" type="SpinBox" parent="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer6" unique_id=514335276]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
max_value = 23.0
|
||||||
|
suffix = "h"
|
||||||
|
select_all_on_focus = true
|
||||||
|
|
||||||
[node name="afterM" type="SpinBox" parent="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer6" unique_id=1517063919]
|
[node name="afterM" type="SpinBox" parent="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer6" unique_id=1517063919]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
max_value = 59.0
|
max_value = 59.0
|
||||||
editable = false
|
|
||||||
suffix = "m"
|
suffix = "m"
|
||||||
select_all_on_focus = true
|
select_all_on_focus = true
|
||||||
|
|
||||||
|
[node name="Label12" type="Label" parent="Options Window/MarginContainer/VBoxContainer/GridContainer" unique_id=900821531]
|
||||||
|
layout_mode = 2
|
||||||
|
tooltip_text = "Filling or Emptying changed weather the bar grows or shrinks over time. Reversed swaps the diretion of the bars movement"
|
||||||
|
mouse_filter = 1
|
||||||
|
text = "Progress Style 🛈"
|
||||||
|
|
||||||
|
[node name="styleDropdown" type="OptionButton" parent="Options Window/MarginContainer/VBoxContainer/GridContainer" unique_id=1485870511]
|
||||||
|
layout_mode = 2
|
||||||
|
selected = 0
|
||||||
|
item_count = 4
|
||||||
|
popup/item_0/text = "Filling"
|
||||||
|
popup/item_0/id = 0
|
||||||
|
popup/item_1/text = "Filling Reversed"
|
||||||
|
popup/item_1/id = 1
|
||||||
|
popup/item_2/text = "Emptying"
|
||||||
|
popup/item_2/id = 2
|
||||||
|
popup/item_3/text = "Emptying Reversed"
|
||||||
|
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:
|
||||||
|
|
@ -410,5 +447,12 @@ text = "Save"
|
||||||
[connection signal="color_changed" from="Options Window/MarginContainer/VBoxContainer/GridContainer/barColor" to="Options Window" method="_on_bar_color_color_changed"]
|
[connection signal="color_changed" from="Options Window/MarginContainer/VBoxContainer/GridContainer/barColor" to="Options Window" method="_on_bar_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/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="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/beforeM" to="Options Window" method="_on_before_value_changed"]
|
||||||
|
[connection signal="value_changed" from="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer6/afterH" to="Options Window" method="_on_after_value_changed"]
|
||||||
|
[connection signal="value_changed" from="Options Window/MarginContainer/VBoxContainer/GridContainer/HBoxContainer6/afterM" to="Options Window" method="_on_after_value_changed"]
|
||||||
|
[connection signal="item_selected" from="Options Window/MarginContainer/VBoxContainer/GridContainer/styleDropdown" to="Options Window" method="_on_style_dropdown_item_selected"]
|
||||||
[connection signal="pressed" from="Options Window/MarginContainer/VBoxContainer/HBoxContainer/cancelButton" to="Options Window" method="_on_cancel_button_pressed"]
|
[connection signal="pressed" from="Options Window/MarginContainer/VBoxContainer/HBoxContainer/cancelButton" to="Options Window" method="_on_cancel_button_pressed"]
|
||||||
[connection signal="pressed" from="Options Window/MarginContainer/VBoxContainer/HBoxContainer/saveButton" to="Options Window" method="_on_save_button_pressed"]
|
[connection signal="pressed" from="Options Window/MarginContainer/VBoxContainer/HBoxContainer/saveButton" to="Options Window" method="_on_save_button_pressed"]
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,15 @@ signal options_changed
|
||||||
@export var warning_color: ColorPickerButton
|
@export var warning_color: ColorPickerButton
|
||||||
@export var trans_label: Label
|
@export var trans_label: Label
|
||||||
@export var trans_slider: HSlider
|
@export var trans_slider: HSlider
|
||||||
|
@export var warning_h: SpinBox
|
||||||
|
@export var warning_m: SpinBox
|
||||||
|
@export var flash_check: CheckButton
|
||||||
|
@export var before_h: SpinBox
|
||||||
|
@export var before_m: SpinBox
|
||||||
|
@export var after_h: SpinBox
|
||||||
|
@export var after_m: SpinBox
|
||||||
|
@export var style_dropdown: OptionButton
|
||||||
|
@export var position_dropdown: OptionButton
|
||||||
|
|
||||||
|
|
||||||
func _init() -> void:
|
func _init() -> void:
|
||||||
|
|
@ -57,32 +66,38 @@ func _on_save_button_pressed() -> void:
|
||||||
func _on_visibility_changed() -> void:
|
func _on_visibility_changed() -> void:
|
||||||
#populate form
|
#populate form
|
||||||
#print(Data.save.end_time)
|
#print(Data.save.end_time)
|
||||||
sleep_h.value = int(Data.save.end_time/(60*60))
|
var sleep_dict : Dictionary = Tools.seconds_to_time(int(Data.save.end_time))
|
||||||
sleep_m.value = int((Data.save.end_time-sleep_h.value*60*60)/60)
|
sleep_h.value = sleep_dict.get("h")
|
||||||
duration_h.value = int(Data.save.duration/(60*60))
|
sleep_m.value = sleep_dict.get("m")
|
||||||
duration_m.value = int((Data.save.duration-duration_h.value*60*60)/60)
|
var duration_dict : Dictionary = Tools.seconds_to_time(int(Data.save.duration))
|
||||||
|
duration_h.value = duration_dict.get("h")
|
||||||
|
duration_m.value = duration_dict.get("m")
|
||||||
|
var warning_time_dict : Dictionary = Tools.seconds_to_time(int(Data.save.warning_time))
|
||||||
|
warning_h.value = warning_time_dict.get("h")
|
||||||
|
warning_m.value = warning_time_dict.get("m")
|
||||||
|
var before_time_dict : Dictionary = Tools.seconds_to_time(int(Data.save.before_time))
|
||||||
|
before_h.value = before_time_dict.get("h")
|
||||||
|
before_m.value = before_time_dict.get("m")
|
||||||
|
var after_time_dict : Dictionary = Tools.seconds_to_time(int(Data.save.after_time))
|
||||||
|
after_h.value = after_time_dict.get("h")
|
||||||
|
after_m.value = after_time_dict.get("m")
|
||||||
size_slider.value = Data.save.size
|
size_slider.value = Data.save.size
|
||||||
bar_color.color = Data.save.bar_color
|
bar_color.color = Data.save.bar_color
|
||||||
background_color.color = Data.save.background_color
|
background_color.color = Data.save.background_color
|
||||||
warning_color.color = Data.save.warning_color
|
warning_color.color = Data.save.warning_color
|
||||||
trans_slider.value = Data.save.bar_transparency
|
trans_slider.value = Data.save.bar_transparency
|
||||||
|
flash_check.button_pressed = Data.save.flashing
|
||||||
|
position_dropdown.select(Data.save.position)
|
||||||
|
style_dropdown.select(Data.save.progress_style)
|
||||||
pass # Replace with function body.
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
|
||||||
func _on_duration_value_changed(value: float) -> void:
|
func _on_duration_value_changed(value: float) -> void:
|
||||||
var duration_seconds : float = 0
|
Data.save.duration = Tools.time_to_seconds(int(duration_h.value),int(duration_m.value))
|
||||||
duration_seconds += duration_h.value * 60 * 60
|
|
||||||
duration_seconds += duration_m.value * 60
|
|
||||||
Data.save.duration = duration_seconds
|
|
||||||
pass # Replace with function body.
|
|
||||||
|
|
||||||
|
|
||||||
func _on_sleep_value_changed(value: float) -> void:
|
func _on_sleep_value_changed(value: float) -> void:
|
||||||
var end_seconds : float = 0
|
Data.save.end_time = Tools.time_to_seconds(int(sleep_h.value),int(sleep_m.value))
|
||||||
end_seconds += sleep_h.value * 60 * 60
|
|
||||||
end_seconds += sleep_m.value * 60
|
|
||||||
Data.save.end_time = end_seconds
|
|
||||||
pass # Replace with function body.
|
|
||||||
|
|
||||||
|
|
||||||
func _on_size_slider_value_changed(value: float) -> void:
|
func _on_size_slider_value_changed(value: float) -> void:
|
||||||
|
|
@ -116,3 +131,31 @@ func _on_warning_color_color_changed(color: Color) -> void:
|
||||||
func _on_trans_slider_value_changed(value: float) -> void:
|
func _on_trans_slider_value_changed(value: float) -> void:
|
||||||
Data.save.bar_transparency = value
|
Data.save.bar_transparency = value
|
||||||
options_changed.emit()
|
options_changed.emit()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_warning_value_changed(value: float) -> void:
|
||||||
|
Data.save.warning_time = Tools.time_to_seconds(int(warning_h.value),int(warning_m.value))
|
||||||
|
|
||||||
|
|
||||||
|
func _on_flash_check_toggled(toggled_on: bool) -> void:
|
||||||
|
Data.save.flashing = toggled_on
|
||||||
|
|
||||||
|
|
||||||
|
func _on_before_value_changed(value: float) -> void:
|
||||||
|
Data.save.before_time = Tools.time_to_seconds(int(before_h.value),int(before_m.value))
|
||||||
|
|
||||||
|
|
||||||
|
func _on_after_value_changed(value: float) -> void:
|
||||||
|
Data.save.after_time = Tools.time_to_seconds(int(after_h.value),int(after_m.value))
|
||||||
|
|
||||||
|
|
||||||
|
func _on_style_dropdown_item_selected(index: int) -> void:
|
||||||
|
if index == 0:
|
||||||
|
Data.save.progress_style = Data.Styles.Filling
|
||||||
|
elif index == 1:
|
||||||
|
Data.save.progress_style = Data.Styles.Filling_Reversed
|
||||||
|
elif index == 2:
|
||||||
|
Data.save.progress_style = Data.Styles.Emptying
|
||||||
|
elif index == 3:
|
||||||
|
Data.save.progress_style = Data.Styles.Emptying_Reversed
|
||||||
|
options_changed.emit()
|
||||||
|
|
|
||||||
|
|
@ -10,3 +10,8 @@ class_name SleepyclockSave
|
||||||
@export var bar_color : Color = Color.DODGER_BLUE
|
@export var bar_color : Color = Color.DODGER_BLUE
|
||||||
@export var warning_color : Color = Color.RED
|
@export var warning_color : Color = Color.RED
|
||||||
@export var bar_transparency : float = 0.5
|
@export var bar_transparency : float = 0.5
|
||||||
|
@export var warning_time : float = 3600
|
||||||
|
@export var before_time : float = 86340
|
||||||
|
@export var after_time : float = 86340
|
||||||
|
@export var flashing : bool = true
|
||||||
|
@export var progress_style : Data.Styles = Data.Styles.Filling
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue