aboutsummaryrefslogtreecommitdiff
path: root/karlgui/src/views/edit.rs
diff options
context:
space:
mode:
Diffstat (limited to 'karlgui/src/views/edit.rs')
-rw-r--r--karlgui/src/views/edit.rs19
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();