From 6869a8fd6a3cf1c2c35d94c3d34500792a62584d Mon Sep 17 00:00:00 2001 From: Dheepak Krishnamurthy Date: Sun, 31 Oct 2021 00:45:12 -0600 Subject: [PATCH] fix: Make task uuid selection more sticky --- src/app.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/app.rs b/src/app.rs index 9701c66..4617f11 100644 --- a/src/app.rs +++ b/src/app.rs @@ -1236,6 +1236,13 @@ impl TaskwarriorTui { pub fn update(&mut self, force: bool) -> Result<()> { if force || self.dirty || self.tasks_changed_since(self.last_export).unwrap_or(true) { + let task_uuids = self.selected_task_uuids(); + if self.current_selection_uuid.is_none() && task_uuids.len() == 1 { + if let Some(uuid) = task_uuids.get(0) { + self.current_selection_uuid = Some(*uuid); + } + } + self.last_export = Some(std::time::SystemTime::now()); self.task_report_table.export_headers(None, &self.report)?; self.export_tasks()?; @@ -1605,6 +1612,9 @@ impl TaskwarriorTui { let mut task_uuids = vec![]; for s in selected { + if self.tasks.is_empty() { + break; + } let task_id = self.tasks[s].id().unwrap_or_default(); let task_uuid = *self.tasks[s].uuid(); task_uuids.push(task_uuid);