From cd9e040f5c16da86061322b2437c770eb496bbc6 Mon Sep 17 00:00:00 2001 From: Serge Helfrich Date: Fri, 15 May 2026 10:35:02 +0200 Subject: [PATCH 1/3] Add dedicated remove GPX menu action --- app/src/main/java/org/nitri/opentopo/MapFragment.kt | 5 +++++ app/src/main/res/menu/menu_main.xml | 5 +++++ app/src/main/res/values/strings.xml | 1 + 3 files changed, 11 insertions(+) diff --git a/app/src/main/java/org/nitri/opentopo/MapFragment.kt b/app/src/main/java/org/nitri/opentopo/MapFragment.kt index a44ef37..a6f84cf 100644 --- a/app/src/main/java/org/nitri/opentopo/MapFragment.kt +++ b/app/src/main/java/org/nitri/opentopo/MapFragment.kt @@ -884,6 +884,7 @@ class MapFragment : Fragment(), LocationListener, PopupMenu.OnMenuItemClickListe val gpxVisible = gpxDisplayState != GpxDisplayState.IDLE menu.findItem(R.id.action_gpx_details).isVisible = gpxVisible menu.findItem(R.id.action_gpx_zoom).isVisible = gpxVisible + menu.findItem(R.id.action_gpx_remove).isVisible = gpxVisible listener?.let { menu.findItem(R.id.action_privacy_settings).isVisible = it.isPrivacyOptionsRequired() @@ -956,6 +957,10 @@ class MapFragment : Fragment(), LocationListener, PopupMenu.OnMenuItemClickListe listener?.let { zoomToBounds(Utils.area(it.getGpx())) } return true } + R.id.action_gpx_remove -> { + showGpxDialog() + return true + } R.id.action_layers -> { activity?.let { val anchorView = it.findViewById(R.id.popupAnchorView) diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index a6b5e42..011000b 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -35,6 +35,11 @@ android:title="@string/gpx_zoom" android:visible="false" app:showAsAction="ifRoom" /> + The current GPX will be discarded. GPX details Zoom to GPX + Remove GPX Location detail Latitude: From e432008bf2bda161804a3a0d7131b732402e5b17 Mon Sep 17 00:00:00 2001 From: Pygmalion69 Date: Fri, 15 May 2026 10:54:29 +0200 Subject: [PATCH 2/3] Add icon and translations --- .../res/drawable-anydpi/ic_action_delete.xml | 20 +++++++++++++++++++ app/src/main/res/menu/menu_main.xml | 1 + app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-es/strings.xml | 1 + app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values-nl/strings.xml | 1 + 7 files changed, 26 insertions(+) create mode 100644 app/src/main/res/drawable-anydpi/ic_action_delete.xml diff --git a/app/src/main/res/drawable-anydpi/ic_action_delete.xml b/app/src/main/res/drawable-anydpi/ic_action_delete.xml new file mode 100644 index 0000000..8185bf2 --- /dev/null +++ b/app/src/main/res/drawable-anydpi/ic_action_delete.xml @@ -0,0 +1,20 @@ + + + + + + diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 011000b..425da47 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -37,6 +37,7 @@ app:showAsAction="ifRoom" /> diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 836c922..403bed3 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -10,6 +10,7 @@ Die aktuelle GPX wird verworfen. GPX Details Zoom zu GPX + GPX entfernen Standortdetails Breitengrad: diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index d6ccce0..c07db3f 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -10,6 +10,7 @@ El GPX actual será descartado. Detalles del GPX Zoom al GPX + Eliminar GPX Detalle de la ubicación Latitud: diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 2ab1923..6539ece 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -10,6 +10,7 @@ Le GPX actuel sera supprimé. Détails du GPX Zoom sur le GPX + Supprimer le GPX Détail de la position Latitude : diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index d85295f..14a20c5 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -10,6 +10,7 @@ Il GPX caricato verrà sostituito Dettagli GPX Centra GPX + Rimuovi GPX Dettagli posizione Latitudine: diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 86a4d12..a1c937b 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -10,6 +10,7 @@ De huidige GPX wordt verwijderd. GPX details Zoom naar GPX + GPX verwijderen Locatie-detail Breedtegraad: From 660bc41db88dacfe36f3bc748d59198592d77a70 Mon Sep 17 00:00:00 2001 From: Pygmalion69 Date: Fri, 15 May 2026 11:13:56 +0200 Subject: [PATCH 3/3] Clear GPX and route points --- app/src/main/java/org/nitri/opentopo/MapFragment.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/nitri/opentopo/MapFragment.kt b/app/src/main/java/org/nitri/opentopo/MapFragment.kt index a6f84cf..7fb97e2 100644 --- a/app/src/main/java/org/nitri/opentopo/MapFragment.kt +++ b/app/src/main/java/org/nitri/opentopo/MapFragment.kt @@ -958,7 +958,12 @@ class MapFragment : Fragment(), LocationListener, PopupMenu.OnMenuItemClickListe return true } R.id.action_gpx_remove -> { - showGpxDialog() + showGpxDialog { + markerViewModel.markers.value?.forEach { + it.routeWaypoint = false + } + listener?.clearGpx() + } return true } R.id.action_layers -> {