Löschen-Aktion aus Menüring in Verlauf verschieben #18

Closed
opened 2026-05-04 18:10:53 +02:00 by moritz · 1 comment
Owner

Idee

Aktuell belegt „Letzten löschen" einen Slot im 10-Icon-Menüring. Der Slot ist Verschwendung — Löschen ist eine selten genutzte Korrekturaktion, kein primärer Ereignistyp. Stattdessen soll das Löschen kontextuell im Verlauf passieren und der Slot für einen echten Ereignistyp frei werden.

Aufgaben

1. „Letzten löschen" aus dem Menüring entfernen

Der Eintrag verschwindet komplett aus dem Ringmenü. Bestehende Lösch-Logik (Countdown-Bestätigung, SuccessView mit isDelete=true) bleibt erhalten, wird aber vom Verlauf aus getriggert.

2. Löschen-Hint im Verlauf anzeigen

Im HistoryView, auf Höhe des START/STOP-Knopfes (rechts):

  • Kleines weißes Mülltonnen-Icon auf transparentem Hintergrund. Quelle: dasselbe Icon wie im Menüring (also IconDeleteSuccess oder eine weiße Variante davon).
  • Rotes Glow-Effekt, das aussieht, als würde eine rote Taschenlampe seitlich vom Button die Tonne beleuchten — Stil wie bei vielen eingebauten Garmin-System-Apps (z. B. Activity-Recorder mit Stop-Button-Hint).
  • Das rote Licht fade mäßig nach außen aus — nicht hart, aber auch nicht zu weich.

Druck auf START → bestehender Lösch-Flow (Countdown-Bestätigung, dann SuccessView mit Trash-Icon).

3. Frei gewordenen Menüring-Slot mit Platzhalter füllen

Der Slot wo „Letzten löschen" war wird mit einem Platzhalter-Icon belegt (z. B. ? oder leerer Kreis). Beim Druck darauf passiert nichts oder es erscheint ein kurzer Hinweis. Der Slot ist Reserve für künftige Ereignistypen.

Abhängigkeit

Muss vor #15 (Funkspruch-Ereignistyp) umgesetzt werden#15 braucht den freigewordenen Slot.

## Idee Aktuell belegt „Letzten löschen" einen Slot im 10-Icon-Menüring. Der Slot ist Verschwendung — Löschen ist eine selten genutzte Korrekturaktion, kein primärer Ereignistyp. Stattdessen soll das Löschen kontextuell im Verlauf passieren und der Slot für einen echten Ereignistyp frei werden. ## Aufgaben ### 1. „Letzten löschen" aus dem Menüring entfernen Der Eintrag verschwindet komplett aus dem Ringmenü. Bestehende Lösch-Logik (Countdown-Bestätigung, `SuccessView` mit `isDelete=true`) bleibt erhalten, wird aber vom Verlauf aus getriggert. ### 2. Löschen-Hint im Verlauf anzeigen Im `HistoryView`, auf Höhe des START/STOP-Knopfes (rechts): - Kleines weißes Mülltonnen-Icon auf transparentem Hintergrund. Quelle: dasselbe Icon wie im Menüring (also `IconDeleteSuccess` oder eine weiße Variante davon). - **Rotes Glow-Effekt**, das aussieht, als würde eine rote Taschenlampe seitlich vom Button die Tonne beleuchten — Stil wie bei vielen eingebauten Garmin-System-Apps (z. B. Activity-Recorder mit Stop-Button-Hint). - Das rote Licht **fade mäßig nach außen aus** — nicht hart, aber auch nicht zu weich. Druck auf START → bestehender Lösch-Flow (Countdown-Bestätigung, dann `SuccessView` mit Trash-Icon). ### 3. Frei gewordenen Menüring-Slot mit Platzhalter füllen Der Slot wo „Letzten löschen" war wird mit einem Platzhalter-Icon belegt (z. B. `?` oder leerer Kreis). Beim Druck darauf passiert nichts oder es erscheint ein kurzer Hinweis. Der Slot ist Reserve für künftige Ereignistypen. ## Abhängigkeit **Muss vor #15 (Funkspruch-Ereignistyp) umgesetzt werden** — #15 braucht den freigewordenen Slot.
Author
Owner

Umgesetzt in drei Schritten

Step 1 (e46b9eb) — „Letzten löschen" aus dem Menüring entfernt, Platzhalter-Slot (graues „?", Label „Reserviert") an gleicher Position. Druck auf den Slot ist No-op. Bereit für #15.

Step 2 (1842d98 + Polish-Commit) — Lösch-Aktion in den Verlauf verschoben:

  • EventStore.deleteAt(idx) löscht den aktuell angezeigten Eintrag (nicht mehr zwingend den letzten)
  • Kleine rote Mülltonne mit rotem Lichtkegel-Glow auf Höhe des START-Knopfes — Quelle exakt am Bildschirmrand auf BUTTON_HINT_ANGLE_DEG = -27° (aus Pixel-Messung 389,116 auf FR265 hergeleitet, generisch via minDim für andere Round-Garmins)
  • Dieselbe rote Tonne als großes Bestätigungs-Icon nach dem Löschen
  • Halten zum Löschen mit gefülltem Bogen-Countdown wie vorher, BACK bricht ab, kurzes Tippen zeigt Hinweis
  • HistoryDelegate von BehaviorDelegate auf InputDelegate umgestellt (braucht onKeyReleased)
  • MenuView/MenuDelegate von toter Lösch-Logik befreit
  • Altes Mülltonnen-Icon (icon_delete.png/.svg + IconDelete Drawable) komplett entfernt

Step 3 — durch Step 1 bereits erfüllt; Platzhalter sitzt visuell und funktional korrekt im Ring.

## Umgesetzt in drei Schritten **Step 1** ([e46b9eb](https://git.moritz.run/moritz/einsatzprotokoll/commit/e46b9eb)) — „Letzten löschen" aus dem Menüring entfernt, Platzhalter-Slot (graues „?", Label „Reserviert") an gleicher Position. Druck auf den Slot ist No-op. Bereit für #15. **Step 2** ([1842d98](https://git.moritz.run/moritz/einsatzprotokoll/commit/1842d98) + Polish-Commit) — Lösch-Aktion in den Verlauf verschoben: - `EventStore.deleteAt(idx)` löscht den **aktuell angezeigten** Eintrag (nicht mehr zwingend den letzten) - Kleine rote Mülltonne mit rotem Lichtkegel-Glow auf Höhe des START-Knopfes — Quelle exakt am Bildschirmrand auf `BUTTON_HINT_ANGLE_DEG = -27°` (aus Pixel-Messung 389,116 auf FR265 hergeleitet, generisch via `minDim` für andere Round-Garmins) - Dieselbe rote Tonne als großes Bestätigungs-Icon nach dem Löschen - Halten zum Löschen mit gefülltem Bogen-Countdown wie vorher, BACK bricht ab, kurzes Tippen zeigt Hinweis - HistoryDelegate von BehaviorDelegate auf InputDelegate umgestellt (braucht onKeyReleased) - MenuView/MenuDelegate von toter Lösch-Logik befreit - Altes Mülltonnen-Icon (`icon_delete.png`/.svg + `IconDelete` Drawable) komplett entfernt **Step 3** — durch Step 1 bereits erfüllt; Platzhalter sitzt visuell und funktional korrekt im Ring.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
moritz/einsatzprotokoll#18
No description provided.