diff options
author | metamuffin <metamuffin@disroot.org> | 2023-02-09 08:38:34 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-02-09 08:38:34 +0100 |
commit | 9c0804d1956882dbfd6bf2c35abc49f12f9fad12 (patch) | |
tree | b9f70d24cc3f463f3b8cdc03541522ee212bb480 /karlgui/src/views/edit.rs | |
parent | 94b787455025c172a517d98ced6e4a4e02a32134 (diff) | |
download | karlender-9c0804d1956882dbfd6bf2c35abc49f12f9fad12.tar karlender-9c0804d1956882dbfd6bf2c35abc49f12f9fad12.tar.bz2 karlender-9c0804d1956882dbfd6bf2c35abc49f12f9fad12.tar.zst |
Diffstat (limited to 'karlgui/src/views/edit.rs')
-rw-r--r-- | karlgui/src/views/edit.rs | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/karlgui/src/views/edit.rs b/karlgui/src/views/edit.rs index 6162df1..d7d397d 100644 --- a/karlgui/src/views/edit.rs +++ b/karlgui/src/views/edit.rs @@ -18,13 +18,11 @@ impl ShowAndEdit { pub fn ui(&mut self, ui: &mut Ui, g: &mut Globals) { for t in g.tasks.values_mut() { let edit = self.edit == Some(t.id); - let changed = if edit { - if ui.button("💾 Save").clicked() { - self.edit = None; - true - } else { - false - } + let (changed, deleted) = if edit { + ( + ui.button("💾 Save").clicked(), + ui.button("🗑 Delete").clicked(), + ) } else { ui.add_enabled_ui(self.edit.is_none(), |ui| { if ui @@ -37,10 +35,15 @@ impl ShowAndEdit { self.edit = Some(t.id); } }); - false + (false, false) }; if changed { g.client.send_sync(ServerboundPacket::UpdateTask(t.clone())); + self.edit = None; + } + if deleted { + g.client.send_sync(ServerboundPacket::RemoveTask(t.id)); + self.edit = None; } t.ui(ui, edit); ui.separator(); |