aboutsummaryrefslogtreecommitdiff
path: root/logic/database.gd
diff options
context:
space:
mode:
authordam <dam@gudinoff>2022-01-02 13:34:18 +0000
committerdam <dam@gudinoff>2022-01-02 13:34:18 +0000
commit73f2cf39d5514fab4ee994f303e250ce2b27307c (patch)
treef733a9dc7623458b507ece6b84821b6af5ba3a4f /logic/database.gd
parentc73bfb23245945e4e85d986abf40026635af6b0a (diff)
downloadsurgery-log-73f2cf39d5514fab4ee994f303e250ce2b27307c.tar.zst
surgery-log-73f2cf39d5514fab4ee994f303e250ce2b27307c.zip
Load/save database and fix updating changed entries on database screen.
Diffstat (limited to 'logic/database.gd')
-rw-r--r--logic/database.gd24
1 files changed, 14 insertions, 10 deletions
diff --git a/logic/database.gd b/logic/database.gd
index c492321..438a2dd 100644
--- a/logic/database.gd
+++ b/logic/database.gd
@@ -93,8 +93,6 @@ func item_selected(index: int):
func clear_selection():
- if selected_idx >= 0:
- set_item_text(selected_idx, get_entry_view(db[selected_idx]))
selected_idx = -1
unselect_all()
@@ -141,18 +139,23 @@ func save(database_entry: Dictionary):
add_item(get_entry_view(database_entry))
call_deferred("scroll_down")
next_selected_idx = db.size() - 1
-
- store_database()
+
select(next_selected_idx)
- item_selected(next_selected_idx) # Calling "select" does not trigger the "item_selected" signal.
- v_scroll_bar.value = float(next_selected_idx)/float(db.size()) * v_scroll_bar.max_value - (v_scroll_bar.page * 0.5)
+ emit_signal("item_selected", next_selected_idx) # Calling "select" does not trigger the "item_selected" signal.
+ set_item_text(selected_idx, get_entry_view(db[selected_idx]))
+ v_scroll_bar.value = float(selected_idx)/float(db.size()) * v_scroll_bar.max_value - (v_scroll_bar.page * 0.5)
+
+ store_database()
+
staged_idx = -1
self.visible = true
+ grab_focus()
func discard():
staged_idx = -1
self.visible = true
+ grab_focus()
func load_database(file_path: String = DATABASE_FILE_PATH):
@@ -179,8 +182,6 @@ func load_database(file_path: String = DATABASE_FILE_PATH):
_:
entry[field_name] = field_value
db.append(entry)
-
- fake_database()
func store_database(file_path: String = DATABASE_FILE_PATH):
@@ -234,16 +235,19 @@ static func set_entry_date(entry: Dictionary, date: String):
func fake_database():
+ self.clear()
db.resize(0)
for idx in range(500):
var date_year = 1 + int(float(idx) / 365.0)
var date_month = idx % 12
var date_day = idx % 365
- db.append(instance_entry({
+ var fake_entry = instance_entry({
"process_id": "%06d" % idx,
"surgery_id": "s%05d" % idx,
"date": "%04d-%02d-%02d" % [date_year, date_month, date_day]
- }))
+ })
+ db.append(fake_entry)
+ self.add_item(get_entry_view(fake_entry))
func pointer_input_handler(pointer: PointerInputSensor.PointerInputData):