LAN-Scanner: veraltete Rechtsklick-Hinweise durch Aktionen-Button ersetzt

Der Aktionen-Button (M24) ersetzte den Rechtsklick im Code, aber ein
App-eigener Warnhinweis (Feste-IP-Bestätigung) und README.md/Manual.md
(DE+EN) verwiesen weiterhin auf Rechtsklick. Gefunden durch Nutzer-
Hinweis nach Prüfung auf Gitea.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Kay
2026-09-16 11:51:42 +02:00
co-authored by Claude Sonnet 5
parent 4cc30a2016
commit 69c4a03024
4 changed files with 47 additions and 36 deletions
+31 -23
View File
@@ -134,19 +134,23 @@ Grafisches Diagramm des kompletten aktuellen Router-Zustands:
Zeigt alle Geräte im Netzwerk (aus DHCP-Leases und ARP-Tabelle), Zeigt alle Geräte im Netzwerk (aus DHCP-Leases und ARP-Tabelle),
gruppiert nach physischem Port. "Neu scannen"-Button fragt Leases/ARP/ gruppiert nach physischem Port. "Neu scannen"-Button fragt Leases/ARP/
Bridge-Host-Tabelle erneut ab. Bridge-Host-Tabelle erneut ab. Jede Port-Überschrift zeigt zusätzlich
den aktuellen Live-Durchsatz (↓/↑) mit kleinem Liniendiagramm der
letzten 10 Sekunden.
- Rechtsklick auf ein Gerät mit dynamischer Adresse → "Feste IP Alle Aktionen zu einem Gerät liegen im "Aktionen"-Button (•••) hinter
zuweisen" (macht die aktuelle Adresse dauerhaft, RouterOS' "Make der jeweiligen Zeile:
Static"). Der Warnhinweis erklärt auch den Rückweg: Rechtsklick →
"Feste Zuweisung entfernen" (hier im selben Tab), danach muss das - Bei dynamischer Adresse → "Feste IP zuweisen" (macht die aktuelle
Gerät kurz die Verbindung trennen/neu aufbauen (Kabel/WLAN kurz Adresse dauerhaft, RouterOS' "Make Static"). Der Warnhinweis erklärt
trennen, oder neu starten), um automatisch wieder eine dynamische auch den Rückweg: "Aktionen" → "Feste Zuweisung entfernen" (hier im
Adresse zu bekommen. selben Tab), danach muss das Gerät kurz die Verbindung trennen/neu
- Rechtsklick auf ein Gerät mit fester Adresse → "Feste Zuweisung aufbauen (Kabel/WLAN kurz trennen, oder neu starten), um automatisch
entfernen" (Rückweg zu dynamisch — Gerät muss danach kurz die wieder eine dynamische Adresse zu bekommen.
Verbindung trennen/neu verbinden, um eine neue Adresse zu bekommen). - Bei fester Adresse → "Feste Zuweisung entfernen" (Rückweg zu
- **Netzwerk-Tools** (Rechtsklick auf ein Gerät): dynamisch — Gerät muss danach kurz die Verbindung trennen/neu
verbinden, um eine neue Adresse zu bekommen).
- **Netzwerk-Tools** (im "Aktionen"-Menü):
- **Ping** und **Traceroute** — ausgeführt vom Router aus (nicht von - **Ping** und **Traceroute** — ausgeführt vom Router aus (nicht von
diesem Mac), zeigt die rohe RouterOS-Ausgabe. diesem Mac), zeigt die rohe RouterOS-Ausgabe.
- **DNS-Auflösung (nslookup)** — nur verfügbar, wenn ein Hostname - **DNS-Auflösung (nslookup)** — nur verfügbar, wenn ein Hostname
@@ -292,18 +296,22 @@ Graphical diagram of the router's complete current state:
Shows every device on the network (from DHCP leases and the ARP table), Shows every device on the network (from DHCP leases and the ARP table),
grouped by physical port. "Rescan" button re-queries leases/ARP/bridge grouped by physical port. "Rescan" button re-queries leases/ARP/bridge
host table. host table. Each port header also shows live throughput (↓/↑) with a
small line chart of the last 10 seconds.
- Right-click a device with a dynamic address → "Assign static IP" Every action for a device lives in the "Actions" button (•••) behind
(makes its current address permanent, RouterOS' "Make Static"). The its row:
warning also explains the way back: right-click → "Remove static
assignment" (in this same tab), after which the device needs to - With a dynamic address → "Assign static IP" (makes its current
briefly disconnect/reconnect (unplug cable, toggle Wi-Fi, or reboot) address permanent, RouterOS' "Make Static"). The warning also
to automatically get a dynamic address again. explains the way back: "Actions" → "Remove static assignment" (in
- Right-click a device with a static address → "Remove static this same tab), after which the device needs to briefly disconnect/
assignment" (back to dynamic — the device needs to briefly reconnect (unplug cable, toggle Wi-Fi, or reboot) to automatically
disconnect/reconnect afterwards to get a fresh address). get a dynamic address again.
- **Network Tools** (right-click a device): - With a static address → "Remove static assignment" (back to dynamic
— the device needs to briefly disconnect/reconnect afterwards to get
a fresh address).
- **Network Tools** (also in the "Actions" menu):
- **Ping** and **Traceroute** — run from the router (not from this - **Ping** and **Traceroute** — run from the router (not from this
Mac), shows the raw RouterOS output. Mac), shows the raw RouterOS output.
- **DNS lookup (nslookup)** — only available when a hostname is known; - **DNS lookup (nslookup)** — only available when a hostname is known;
+11 -8
View File
@@ -48,14 +48,17 @@ Befehl, der ausgeführt wird — nichts passiert unangekündigt.
("von → nach"); Kästchen lassen sich frei verschieben (Linien folgen ("von → nach"); Kästchen lassen sich frei verschieben (Linien folgen
live mit), ein Button setzt die Anordnung zurück. live mit), ein Button setzt die Anordnung zurück.
- **LAN-Scanner** (vormals "Geräte") — DHCP-Leases + ARP + Bridge-Host- - **LAN-Scanner** (vormals "Geräte") — DHCP-Leases + ARP + Bridge-Host-
Tabelle, eine Tabelle pro physischem Port. Rechtsklick weist einem Gerät Tabelle, eine Tabelle pro physischem Port, mit Live-Traffic (↓/↑ +
eine feste IP-Adresse zu (RouterOS' "Make Static") oder entfernt sie 10-Sekunden-Sparkline) je Port-Überschrift. Der "Aktionen"-Button
wieder — der Warnhinweis dazu erklärt auch den Rückweg (Rechtsklick → hinter jedem Gerät (ersetzt den vorherigen, nicht eindeutig
"Feste Zuweisung entfernen", danach Gerät kurz trennen/neu verbinden). erkennbaren Rechtsklick) weist eine feste IP-Adresse zu (RouterOS'
**Netzwerk-Tools** (Rechtsklick auf ein Gerät): Ping/Traceroute/DNS- "Make Static") oder entfernt sie wieder — der Warnhinweis dazu
Auflösung vom Router aus, sowie ein **Port-Scan** direkt von diesem Mac erklärt auch den Rückweg ("Aktionen" → "Feste Zuweisung entfernen",
(TCP-Verbindungsversuch auf ~19 gängige Ports, farbig: rot=offen, danach Gerät kurz trennen/neu verbinden). **Netzwerk-Tools** (auch im
grün=geschlossen, grau=keine Antwort). "Aktionen"-Menü): Ping/Traceroute/DNS-Auflösung vom Router aus, sowie
ein **Port-Scan** direkt von diesem Mac (TCP-Verbindungsversuch auf
~19 gängige Ports, farbig: rot=offen, grün=geschlossen, grau=keine
Antwort).
- **Experte** — kuratierte Formulare (mit Tooltips/Warnhinweisen) für - **Experte** — kuratierte Formulare (mit Tooltips/Warnhinweisen) für
die wichtigsten RouterOS-Bereiche (Firewall/NAT/Mangle/Raw komplett, die wichtigsten RouterOS-Bereiche (Firewall/NAT/Mangle/Raw komplett,
plus Interfaces/IP/VPN/WLAN/Queues/System/Werkzeuge), plus ein plus Interfaces/IP/VPN/WLAN/Queues/System/Werkzeuge), plus ein
@@ -848,8 +848,8 @@ enum L10n {
"wird dauerhaft an": "will be permanently bound to", "wird dauerhaft an": "will be permanently bound to",
" gebunden — die Adresse ändert sich für dieses Gerät nicht mehr automatisch.": " gebunden — die Adresse ändert sich für dieses Gerät nicht mehr automatisch.":
". Its address will no longer change automatically for this device.", ". Its address will no longer change automatically for this device.",
"\n\nRückgängig machen: hier im LAN-Scanner-Tab per Rechtsklick auf das Gerät": "\n\nRückgängig machen: hier im LAN-Scanner-Tab über den \"Aktionen\"-Button beim Gerät":
"\n\nTo undo: right-click the device here in the LAN Scanner tab", "\n\nTo undo: use the \"Actions\" button next to the device here in the LAN Scanner tab",
"\"Feste Zuweisung entfernen\". Das Gerät bekommt danach aber nicht sofort": "\"Feste Zuweisung entfernen\". Das Gerät bekommt danach aber nicht sofort":
"\"Remove Static Assignment\". The device won't immediately", "\"Remove Static Assignment\". The device won't immediately",
" automatisch eine neue Adresse — dafür muss es die Verbindung kurz trennen und": " automatisch eine neue Adresse — dafür muss es die Verbindung kurz trennen und":
@@ -2,8 +2,8 @@ import Charts
import SwiftUI import SwiftUI
/// "LAN-Scanner" tab: one table per physical Ethernet/WLAN port, each listing the /// "LAN-Scanner" tab: one table per physical Ethernet/WLAN port, each listing the
/// devices resolved onto it (name/IP/MAC/status), plus right-click actions to give a device a /// devices resolved onto it (name/IP/MAC/status), plus an "Aktionen" menu button per row to give
/// permanent static IP (Winbox's "Make Static") or remove that reservation again. /// a device a permanent static IP (Winbox's "Make Static") or remove that reservation again.
struct DevicesView: View { struct DevicesView: View {
@ObservedObject var connectionService: ConnectionService @ObservedObject var connectionService: ConnectionService
@StateObject private var viewModel: DevicesViewModel @StateObject private var viewModel: DevicesViewModel
@@ -240,7 +240,7 @@ private func staticAssignmentMessage(device: LanDevice, appLanguage: String, cli
"\(device.ipAddress) " + L10n.t("wird dauerhaft an", appLanguage) + " \(device.macAddress)" "\(device.ipAddress) " + L10n.t("wird dauerhaft an", appLanguage) + " \(device.macAddress)"
+ (device.hostName.map { " (\($0))" } ?? "") + (device.hostName.map { " (\($0))" } ?? "")
+ L10n.t(" gebunden — die Adresse ändert sich für dieses Gerät nicht mehr automatisch.", appLanguage) + L10n.t(" gebunden — die Adresse ändert sich für dieses Gerät nicht mehr automatisch.", appLanguage)
+ L10n.t("\n\nRückgängig machen: hier im LAN-Scanner-Tab per Rechtsklick auf das Gerät", appLanguage) + L10n.t("\n\nRückgängig machen: hier im LAN-Scanner-Tab über den \"Aktionen\"-Button beim Gerät", appLanguage)
+ L10n.t("\"Feste Zuweisung entfernen\". Das Gerät bekommt danach aber nicht sofort", appLanguage) + L10n.t("\"Feste Zuweisung entfernen\". Das Gerät bekommt danach aber nicht sofort", appLanguage)
+ L10n.t(" automatisch eine neue Adresse — dafür muss es die Verbindung kurz trennen und", appLanguage) + L10n.t(" automatisch eine neue Adresse — dafür muss es die Verbindung kurz trennen und", appLanguage)
+ L10n.t(" neu aufbauen (Netzwerkkabel kurz ziehen/stecken, WLAN aus/an, oder neu starten).", appLanguage) + L10n.t(" neu aufbauen (Netzwerkkabel kurz ziehen/stecken, WLAN aus/an, oder neu starten).", appLanguage)