From 1adf9d9d5887074ad7a2e4fd2c46175f5e33d888 Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Fri, 4 Oct 2024 18:28:42 -0700 Subject: [PATCH] Delete for traceroutes --- .../contents | 2 +- Meshtastic/Views/Nodes/TraceRouteLog.swift | 15 ++++- .../Views/Settings/Logs/LogDetail.swift | 61 +++++++++++-------- 3 files changed, 50 insertions(+), 28 deletions(-) diff --git a/Meshtastic/Meshtastic.xcdatamodeld/MeshtasticDataModelV 45.xcdatamodel/contents b/Meshtastic/Meshtastic.xcdatamodeld/MeshtasticDataModelV 45.xcdatamodel/contents index 65a05ff9..2a5e4a56 100644 --- a/Meshtastic/Meshtastic.xcdatamodeld/MeshtasticDataModelV 45.xcdatamodel/contents +++ b/Meshtastic/Meshtastic.xcdatamodeld/MeshtasticDataModelV 45.xcdatamodel/contents @@ -421,7 +421,7 @@ - + diff --git a/Meshtastic/Views/Nodes/TraceRouteLog.swift b/Meshtastic/Views/Nodes/TraceRouteLog.swift index f32cbc81..f0828192 100644 --- a/Meshtastic/Views/Nodes/TraceRouteLog.swift +++ b/Meshtastic/Views/Nodes/TraceRouteLog.swift @@ -7,6 +7,7 @@ import SwiftUI import CoreData +import OSLog #if canImport(MapKit) import MapKit #endif @@ -45,6 +46,18 @@ struct TraceRouteLog: View { Image(systemName: route.response ? (route.hops?.count == 0 && route.response ? "person.line.dotted.person" : "point.3.connected.trianglepath.dotted") : "person.slash") .symbolRenderingMode(.hierarchical) } + .swipeActions { + Button(role: .destructive) { + context.delete(route) + do { + try context.save() + } catch let error as NSError { + Logger.data.error("\(error.localizedDescription)") + } + } label: { + Label("delete", systemImage: "trash") + } + } } .listStyle(.plain) } @@ -208,7 +221,7 @@ struct TraceRouteLog: View { @ViewBuilder func contents(animation: Animation? = nil) -> some View { ForEach(0..