aboutsummaryrefslogtreecommitdiff
path: root/readme.md
blob: 46a143b98aec1e705f0187c4576e25319835e58f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Surgery Log
===========

# Notes
- Location of `user://`: `~/.local/share/godot/app_userdata/`.

# ToDo
- [x] Datepicker: On click (without drag) reset velocity to 0; show and focus 'input' to allow introducing value.
- [x] Selecting last (year?)/month/day and de-selecting it, moves value to next;
- [x] Solve how entries are shared across db_screen and stage_screen;
- [x] Remove db_entry;
- [x] Rename db script/node to database;
- [x] scrolling down on the database screen jumps to the end of the list immediatelly;
- [x] edited entry does not show updated once saved;
- [x] edited entry shows updated when selected then press back button;
- [x] load/store database CSV file;
- [x] export database to CSV file;
- [x] allow to reset database;
- [x] split touch logic from database (create TouchItemList);
- [x] split touch logic from stage (create TouchVerticalContainer);
- [x] load/store filters JSON file;
- [x] import/export filters to CSV file;
- [x] add option_sets buttons on stage screen:
    - should show a pop-up with multiple options filtered according to current filters;
    - allow options to be scrolled by dragging;
    - selecting option puts that text on the associated LineEdit;
- [x] add pop-up asking if changes are to be discarded once the stage screen's discard button is pressed;
- [x] add pop-up confirming delete-entry action;
- [x] edit and delete action buttons should be faded-out when no entry is selected;
- [x] Sort option sets alphabetically;
- [x] Check and request file access permissions on Android:
    ```py
    if OS.get_name() == "Android":
		var has_permissions := false
		while not has_permissions:
			var permissions := Array(OS.get_granted_permissions())
			if not permissions.has("android.permission.READ_EXTERNAL_STORAGE") \
				or not permissions.has("android.permission.WRITE_EXTERNAL_STORAGE"):
				OS.request_permissions()
	#			await get_tree().create_timer(1).timeout
				yield(get_tree().create_timer(1), "timeout") # - for Godot 3 branch
			else:
				has_permissions = true
    ```
- [ ] check if import_option_sets, store_option_sets, store_database require the parameter save_changes; this requires changes on databse, stage and menu scripts;
- [ ] fix back button:
    - on stage screen should show pop-up asking it changes are to be discarded;
    - on file-pickers screen should close them;
    - on about screen should close it;
    - on auto-fill pop-up, should close it;
    - on database screen, should deselect selected item, otherwise should quit the app;
- [ ] Add title to current window (on top, left of the menu);
- [ ] Improve menu appearance;
- [ ] Setup two themes:
    - [ ] theme_light
    - [ ] theme_dark
    - [ ] main/screen_controller is responsible for whos currently on focus, fade animations, input access (enable/disable), and back_key_notification handling.
    For input use:
        node.set_process_input(!pause)
        node.set_process_unhandled_input(!pause)
        node.set_process_unhandled_key_input(!pause)
- [ ] Share DB:
    - share db via html email with db inserted in encoded downliadable field;
    - Use this to send email: https://docs.godotengine.org/en/stable/classes/class_os.html#class-os-method-shell-open
- [ ] Translations:
    - https://docs.godotengine.org/en/stable/getting_started/workflow/assets/importing_translations.html
    - https://docs.godotengine.org/en/stable/tutorials/i18n/internationalizing_games.html#introduction