From 5abf7b3d81b841794993df73188f0d2106acb2dd Mon Sep 17 00:00:00 2001 From: Mathilde Grapin Date: Sat, 25 May 2024 18:50:50 +0200 Subject: [PATCH] Add base project --- .gitattributes | 2 + .gitignore | 15 ++++++++ README.md | 5 +++ icon.svg | 1 + icon.svg.import | 37 ++++++++++++++++++ project.godot | 28 ++++++++++++++ scene/calendar.tscn | 43 +++++++++++++++++++++ scene/day.tscn | 9 +++++ scene/month.tscn | 63 +++++++++++++++++++++++++++++++ scene/periodmanager.gd | 25 +++++++++++++ script/calendar.gd | 64 ++++++++++++++++++++++++++++++++ script/day.gd | 39 +++++++++++++++++++ script/month.gd | 55 +++++++++++++++++++++++++++ script/period.gd | 5 +++ ui/Sniglet-ExtraBold.ttf | Bin 0 -> 71828 bytes ui/Sniglet-ExtraBold.ttf.import | 33 ++++++++++++++++ ui/Sniglet-Regular.ttf | Bin 0 -> 72828 bytes ui/Sniglet-Regular.ttf.import | 33 ++++++++++++++++ ui/theme.tres | 44 ++++++++++++++++++++++ 19 files changed, 501 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 icon.svg create mode 100644 icon.svg.import create mode 100644 project.godot create mode 100644 scene/calendar.tscn create mode 100644 scene/day.tscn create mode 100644 scene/month.tscn create mode 100644 scene/periodmanager.gd create mode 100644 script/calendar.gd create mode 100644 script/day.gd create mode 100644 script/month.gd create mode 100644 script/period.gd create mode 100644 ui/Sniglet-ExtraBold.ttf create mode 100644 ui/Sniglet-ExtraBold.ttf.import create mode 100644 ui/Sniglet-Regular.ttf create mode 100644 ui/Sniglet-Regular.ttf.import create mode 100644 ui/theme.tres diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d9aac21 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +# Godot 4+ specific ignores +.godot/ + +# Godot-specific ignores +.import/ +export.cfg +export_presets.cfg + +# Imported translations (automatically generated from CSV files) +*.translation + +# Mono-specific ignores +.mono/ +data_*/ +mono_crash.*.json diff --git a/README.md b/README.md index eee2e79..eb18404 100644 --- a/README.md +++ b/README.md @@ -5,3 +5,8 @@ A simple period tracker. Base idea is to track period but it can be used to track any other repetitive events. + +## Credit + +### Sniglet +[Sniglet](https://www.design-research.be/by-womxn/) by [Haley Fiege](https://fonts.google.com/?query=Haley+Fiege). diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..b370ceb --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..6230190 --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cn3dbt5jkbtfe" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..a25590d --- /dev/null +++ b/project.godot @@ -0,0 +1,28 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="gpml" +run/main_scene="res://scene/calendar.tscn" +config/features=PackedStringArray("4.2", "Forward Plus") +config/icon="res://icon.svg" + +[input] + +shift_click={ +"deadzone": 0.5, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(669, 17),"global_position":Vector2(673, 58),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null) +] +} + +[rendering] + +environment/defaults/default_clear_color=Color(0.162066, 0.162066, 0.162066, 1) diff --git a/scene/calendar.tscn b/scene/calendar.tscn new file mode 100644 index 0000000..a7b97c4 --- /dev/null +++ b/scene/calendar.tscn @@ -0,0 +1,43 @@ +[gd_scene load_steps=5 format=3 uid="uid://bkwvaljh0oj22"] + +[ext_resource type="Theme" uid="uid://bu07nib41exqy" path="res://ui/theme.tres" id="1_jufjt"] +[ext_resource type="Script" path="res://script/calendar.gd" id="1_nbpow"] +[ext_resource type="PackedScene" uid="uid://x8u7mduga68y" path="res://scene/month.tscn" id="2_g4ut4"] +[ext_resource type="Script" path="res://scene/periodmanager.gd" id="3_3jsi6"] + +[node name="Calendar" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("1_jufjt") +script = ExtResource("1_nbpow") +month_scene = ExtResource("2_g4ut4") + +[node name="CenterContainer" type="CenterContainer" parent="."] +layout_mode = 1 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -576.0 +offset_right = 576.0 +offset_bottom = 27.0 +grow_horizontal = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer"] +layout_mode = 2 + +[node name="YearLabel" type="Label" parent="CenterContainer/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 0 +theme_override_font_sizes/font_size = 96 + +[node name="Year" type="GridContainer" parent="CenterContainer/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +columns = 4 + +[node name="PeriodManager" type="Node" parent="."] +script = ExtResource("3_3jsi6") diff --git a/scene/day.tscn b/scene/day.tscn new file mode 100644 index 0000000..86c607b --- /dev/null +++ b/scene/day.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=2 format=3 uid="uid://dt5l2bunc1iru"] + +[ext_resource type="Script" path="res://script/day.gd" id="1_jhrhj"] + +[node name="Day" type="Button"] +offset_right = 46.0 +offset_bottom = 40.0 +text = "12" +script = ExtResource("1_jhrhj") diff --git a/scene/month.tscn b/scene/month.tscn new file mode 100644 index 0000000..fd75b55 --- /dev/null +++ b/scene/month.tscn @@ -0,0 +1,63 @@ +[gd_scene load_steps=3 format=3 uid="uid://x8u7mduga68y"] + +[ext_resource type="Script" path="res://script/month.gd" id="1_tiy7h"] +[ext_resource type="PackedScene" uid="uid://dt5l2bunc1iru" path="res://scene/day.tscn" id="2_5kdiw"] + +[node name="Month" type="Control"] +custom_minimum_size = Vector2(250, 250) +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_tiy7h") +day_scene = ExtResource("2_5kdiw") + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="MonthLabel" type="Label" parent="HBoxContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 20 + +[node name="DaysGridContainer" type="GridContainer" parent="HBoxContainer"] +layout_mode = 2 +columns = 7 + +[node name="Dimanche" type="Label" parent="HBoxContainer/DaysGridContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +text = "D" + +[node name="Lundi" type="Label" parent="HBoxContainer/DaysGridContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +text = "L" + +[node name="Mardi" type="Label" parent="HBoxContainer/DaysGridContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +text = "M" + +[node name="Mercredi" type="Label" parent="HBoxContainer/DaysGridContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +text = "M" + +[node name="Jeudi" type="Label" parent="HBoxContainer/DaysGridContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +text = "J" + +[node name="Vendredi" type="Label" parent="HBoxContainer/DaysGridContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +text = "V" + +[node name="Samedi" type="Label" parent="HBoxContainer/DaysGridContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +text = "S" diff --git a/scene/periodmanager.gd b/scene/periodmanager.gd new file mode 100644 index 0000000..bfc4e54 --- /dev/null +++ b/scene/periodmanager.gd @@ -0,0 +1,25 @@ +extends Node + + +var periods = [] +var last_period = null + + +func add(date): + if last_period != null: + last_period.end = date + last_period = null + dump() + return + + # If no new period has begun + var period = Period.new() + period.begin = date + periods.append(period) + last_period = period + dump() + + +func dump(): + for period in periods: + print("%s - %s" % [period.begin, period.end]) diff --git a/script/calendar.gd b/script/calendar.gd new file mode 100644 index 0000000..3751a75 --- /dev/null +++ b/script/calendar.gd @@ -0,0 +1,64 @@ +class_name Calendar +extends Control + +@export var month_scene: PackedScene + +@onready var year_label = $CenterContainer/VBoxContainer/YearLabel +@onready var year = $CenterContainer/VBoxContainer/Year +@onready var period_manager = $PeriodManager + +var last_focused_day = null +var new_focused_day = null +var all_days = [] + +# Called when the node enters the scene tree for the first time. +func _ready(): + var current_year = Time.get_date_dict_from_system().year + + year_label.text = "%s" % current_year + + for i in range (1, 13): + var month = month_scene.instantiate() + month.year = current_year + month.month = i + month.day_toggled.connect(_on_day_toggled) + month.fill_days.connect(_on_fill_days) + year.add_child(month) + + for element in month.days.get_children(): + if element is Day: + all_days.append(element) + + +func _on_day_toggled(date): + # period_manager.add(date) + + # Update last focused day. + var focused_node = get_viewport().gui_get_focus_owner() + if focused_node is Day: + last_focused_day = focused_node + + +func _on_fill_days(shift_clicked_day): + # Toogle day from last focused day to current day. + + # Assert that last focused day is different from date. + if last_focused_day == null: + return + + if shift_clicked_day == last_focused_day: + return + + # Determine if date is before or after the last focused day. + var first_day = last_focused_day if last_focused_day.is_before(shift_clicked_day) else shift_clicked_day + var last_day = shift_clicked_day if first_day == last_focused_day else last_focused_day + + # Toggle days between the two days. + var toggle = false + for day in all_days: + if first_day == day: + toggle = true + if toggle: + day.set_pressed_no_signal(true) + if last_day == day: + return diff --git a/script/day.gd b/script/day.gd new file mode 100644 index 0000000..d231412 --- /dev/null +++ b/script/day.gd @@ -0,0 +1,39 @@ +class_name Day +extends Button + + +signal day_toggled(date) +signal fill_days(date) + +var date = {} + + +func _ready(): + set_toggle_mode(true); + toggled.connect(self._on_day_toggled) + + +func _gui_input(event): + if event.is_action_pressed("shift_click"): + fill_days.emit(self) + accept_event() + + +func _on_day_toggled(_toggled_on): + day_toggled.emit(date) + + +func set_date(year, month, day): + date = {"year": year, "month": month, "day": day} + + +func is_before(other_day): + var day_unix_time = Time.get_unix_time_from_datetime_dict(date) + var other_day_unix_time = Time.get_unix_time_from_datetime_dict(other_day.date) + + if day_unix_time < other_day_unix_time: + return true + return false + +func dump(): + print("%s - %s - %s" % [date.year, date.month, date.day]) diff --git a/script/month.gd b/script/month.gd new file mode 100644 index 0000000..8c5606d --- /dev/null +++ b/script/month.gd @@ -0,0 +1,55 @@ +class_name Month +extends Control + + +signal day_toggled(date) +signal fill_days(date) + +const DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] + +@export var day_scene: PackedScene +var year: int +var month: int + +@onready var month_label = $HBoxContainer/MonthLabel +@onready var days = $HBoxContainer/DaysGridContainer + + +# Called when the node enters the scene tree for the first time. +func _ready(): + month_label.text = "%s" % month + + var days_in_month = find_days_in_month(year, month) + var date_string = "%s-%s-%s" % [year, month, 1] + var first_day = Time.get_datetime_dict_from_datetime_string(date_string, true) + + # Fill the container with number corresponding to days + for i in range(first_day.weekday): + var empty_label = Label.new() + days.add_child(empty_label) + for i in range(1, days_in_month + 1): + var day = day_scene.instantiate() + day.set_date(year, month, i) + day.text = "%s" % [i] + day.day_toggled.connect(_on_day_toggled) + day.fill_days.connect(_on_fill_days) + days.add_child(day) + + +func _on_day_toggled(date): + day_toggled.emit(date) + + +func _on_fill_days(day): + fill_days.emit(day) + + +func find_days_in_month(year: int, month: int): + assert(month >= 1 and month <= 12) + if (month == 2 and is_leap_year(year)): + return 29 + return DAYS_IN_MONTH[month - 1] + + +func is_leap_year(year: int): + return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0) diff --git a/script/period.gd b/script/period.gd new file mode 100644 index 0000000..528a39f --- /dev/null +++ b/script/period.gd @@ -0,0 +1,5 @@ +class_name Period +extends Node + +var begin = {} +var end = {} diff --git a/ui/Sniglet-ExtraBold.ttf b/ui/Sniglet-ExtraBold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4c9a9e9c4fa1850edea682dd42d2e9cc8b721be1 GIT binary patch literal 71828 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 ON&KIUjgedOEdC$wVjL9! literal 0 HcmV?d00001 diff --git a/ui/Sniglet-ExtraBold.ttf.import b/ui/Sniglet-ExtraBold.ttf.import new file mode 100644 index 0000000..32cd834 --- /dev/null +++ b/ui/Sniglet-ExtraBold.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://dkdwwfrrrxsv6" +path="res://.godot/imported/Sniglet-ExtraBold.ttf-e7d97d8b5ada3d87451c1bbbfe8eb998.fontdata" + +[deps] + +source_file="res://ui/Sniglet-ExtraBold.ttf" +dest_files=["res://.godot/imported/Sniglet-ExtraBold.ttf-e7d97d8b5ada3d87451c1bbbfe8eb998.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/ui/Sniglet-Regular.ttf b/ui/Sniglet-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..6ea6036f7516aa810ef0e0ed305f9efe7177d905 GIT binary patch literal 72828 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 literal 0 HcmV?d00001 diff --git a/ui/Sniglet-Regular.ttf.import b/ui/Sniglet-Regular.ttf.import new file mode 100644 index 0000000..afa5a6a --- /dev/null +++ b/ui/Sniglet-Regular.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://bqpsg4cosm86c" +path="res://.godot/imported/Sniglet-Regular.ttf-a388ba5acd2b2b968e010f49c0098b80.fontdata" + +[deps] + +source_file="res://ui/Sniglet-Regular.ttf" +dest_files=["res://.godot/imported/Sniglet-Regular.ttf-a388ba5acd2b2b968e010f49c0098b80.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/ui/theme.tres b/ui/theme.tres new file mode 100644 index 0000000..7136623 --- /dev/null +++ b/ui/theme.tres @@ -0,0 +1,44 @@ +[gd_resource type="Theme" load_steps=4 format=3 uid="uid://bu07nib41exqy"] + +[ext_resource type="FontFile" uid="uid://bqpsg4cosm86c" path="res://ui/Sniglet-Regular.ttf" id="1_8evya"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jjd3u"] +content_margin_left = 4.0 +content_margin_top = 4.0 +content_margin_right = 4.0 +content_margin_bottom = 4.0 +bg_color = Color(0.1, 0.1, 0.1, 0.6) +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 3 +border_color = Color(0.677521, 0.850448, 0.731593, 1) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 +corner_detail = 5 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fxaw6"] +content_margin_left = 4.0 +content_margin_top = 4.0 +content_margin_right = 4.0 +content_margin_bottom = 4.0 +bg_color = Color(0.826838, 0.64006, 0.825632, 0.6) +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 3 +border_color = Color(0.678431, 0.85098, 0.733333, 1) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 +corner_detail = 5 + +[resource] +default_font = ExtResource("1_8evya") +default_font_size = 16 +Button/styles/normal = SubResource("StyleBoxFlat_jjd3u") +Button/styles/pressed = SubResource("StyleBoxFlat_fxaw6") +Label/colors/font_color = Color(0.800791, 0.644553, 0.798944, 1)