aboutsummaryrefslogtreecommitdiff

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;
  • [ ] Create light theme;
  • [ ] Create theme entry in menu and save on settings file;
  • [ ] 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)
  • [ ] 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