aboutsummaryrefslogtreecommitdiff
path: root/readme.md
blob: dbbd45f574225d289873c0ad236e7a2e7bcbd890 (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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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
    ```
- [x] Fix the show option sets buttons; they are drawn over the input fields and hide inserted text;
- [x] The stage control must be set to ignore the mouse, otherwise the touch-sensor conflicts with the built-in scroll;
- [x] On database, selecting an entry and removing it will leave the action buttons visible while no entry is selected;
- [x] Tweak 'POINTER_VELOCITY_DECAYING_FACTOR' and 'POINTER_VELOCITY_BOOST_FACTOR' on database and stage screens;
- [x] Allow to parse option sets from database file;
- [x] Check if import_option_sets, store_option_sets, store_database require the parameter save_changes; this requires changes on databse, stage and menu scripts;
- [x] Maybe replace fonts with non-mono version;
- [x] Fix option sets GUI element to provide word-wrap, otherwise long texts will be hidden;
- [x] After save and load,  entries opened on stage always detect changes (even when no change occurs);
- [x] Add to popup:
    - [x] title;
    - [x] dismiss button;
- [x] Hide dialogs title bar (appear in the top with 1 or 2 pixels height);
- [x] Fix automation to automatically disconnect acceptance signal handlers when reject is chosen on file_picker/confirm_action;
- [x] Use popup to display confirmation messages;
- [x] Improve option sets: selecting outside optionset entry should select none; if no options are available, show nothing instead of "--";
- [x] Set stage discard/save buttons side by side;
- [x] Implement back button logic;
    - 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;
- [x] db entry should be printed as "%9s | %4s | %yyyy-%MM";
- [x] Cleanup code:
    - [x] Search by tags @DAM and TODO;
    - [x] Rename dialog and popup classes; 
    - [x] Reorganize code files;
- [x] Create day/night themes:
    - [x] Store configuration on settings file;
    - [x] fix ui on modal_popup;
    - [x] use logo's red as key-color on the ui; low saturation on normal buttons; increase a bit of saturation and alpha for hover; boost on selected/pressed;
    - [ ] fix ui of file-picker
- [x] fix access on android 11; Try using [MANAGE_EXTERNAL_STORAGE](https://github.com/godotengine/godot/pull/49435) or wait for v4.0?
- [x] 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)
- [x] Translations: Will not do!
    - 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