Commit Graph
6 Commits
Author SHA1 Message Date
KAIandClaude Opus 5.5 c3386dc454 Linkliste: Kartenwahl hakt die passenden Dienste vor
Erik, 06.10.2026: neben dem Thema eine zweite Gliederung — für welche Karten ein Dienst gedacht
ist (Wege- und Gewässerplan, Neugestaltungsgrundsätze, Wertermittlung; mehrfach). Der Manager
liefert dafür je Eintrag `karten` und den Katalog unter GET /linkliste/karten.

Über der Dienstliste steht jetzt je Karte ein Häkchen (Katalog vom Server, Rückfall auf die drei
Karten bei älterem Server). Eine oder mehrere Karten gewählt: angehakt sind die Dienste mit
mindestens einer passenden Karte (linkliste.vorhaken), ohne Wahl alle wie bisher; von Hand
nachjustieren bleibt möglich, eine neu geholte Liste übernimmt die Wahl. Karten im Tooltip.
Fassung bleibt 0.7.0 (noch nicht ausgeliefert). Tests ohne Netz erweitert, beide grün.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 23:19:47 +02:00
KAIandClaude Opus 5.5 a56bf7c397 Fassung 0.7.0: Landkreis-Linkliste, oFB liest nur, Untergruppen, 403 meldet nicht ab
- Auswahl über GET /tgen/auswahl (Manager seit 06.10.2026): oben die eigenen Landkreise
  („… — Linkliste des Landkreises“), dann die Verfahren; als oFB die Verfahren des Landkreises
  mit „(nur lesen)“. Älterer Server ohne die Route: Rückfall auf /tgen.
- Landkreis gewählt: „Liste holen“ lädt die Linkliste des ganzen Landkreises; „Layer laden“
  erklärt, dass es für einen Landkreis keine Verfahrenslayer gibt.
- 401 und 403 getrennt: nur 401 (AuthError) meldet ab, 403 (KeinZugriff) zeigt eine Meldung.
  Bis 0.6.0 verwarf jedes 403 den gespeicherten API-Key.
- OGC-Sammlungen mit vln:schreibbar: false werden schreibgeschützt geladen; Meldungen für Stil
  und Verkehrszeichen nennen „nur lesen“ als Grund.
- Linkliste: Gruppe › Untergruppe › Layer im Ebenenbaum (linkliste.zielgruppe), Untergruppe
  auch in der Dienstliste.
- README: Abschnitt „Geodienste aus der Linkliste“; Tests ohne Netz:
  tools/headless_linkliste_test.py (neu), tools/headless_panel_test.py erweitert — beide grün
  mit QGIS 4.2 offscreen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 22:44:36 +02:00
KAIandClaude Opus 5 3a9075f635 Seitenleiste rollt, statt das QGIS-Fenster zu strecken
Daniel Helbig (LK Meissen) am 14.09.2026: ist die Seitenleiste hoeher als der Bildschirm,
schiebt sie den unteren Rand des QGIS-Fensters ins Unsichtbare. Grund: ein QDockWidget
reicht die Mindesthoehe seines Inhalts an das Hauptfenster weiter.

Der Inhalt haengt jetzt in einer QScrollArea (widgetResizable, kein Rahmen, waagerechter
Balken aus). Damit meldet das Dock nur noch 88 px Mindesthoehe statt 931; der Inhalt bleibt
ueber einen senkrechten Rollbalken erreichbar. Die Mindestbreite wandert auf die Rollflaeche
und bekommt die Balkenbreite aufgeschlagen (278 px), damit nichts angeschnitten wird. Die
Diensteliste gibt sich mit 90 statt 140 px zufrieden -- ihre Mindesthoehe zaehlt in die des
Docks hinein.

Geprueft mit tools/headless_panel_test.py (QGIS 4.2 offscreen, 0 Fehler): Rollflaeche da,
Dock verlangt 88 px bei 931 px Inhalt, Rollbalken wird gebraucht, kein waagerechter Balken.
Der Test laeuft neuerdings auch ohne VLN_TOKEN -- der Online-Teil wird dann uebersprungen,
die Layout-Pruefung nicht.

Closes #1

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-21 08:21:21 +02:00
erikandClaude Fable 5.1 6b0ce65c61 Nur noch OGC: Aenderungen speichern in der Seitenleiste, GeoJSON-Weg entfernt
Erik, 08.09.2026: "in die GUI das Speichern via OGC einbauen, GeoJSON nicht mehr
verwenden."

- Seitenleiste hat jetzt zwei Bloecke: "Layer" (Auswahl, laden, Aenderungen
  speichern) und "Darstellung" (Stil, Vorlage-Haken).
- Neuer Knopf "Aenderungen speichern" -> VlnKartenPlugin.run_save_edits():
  schliesst die offenen Bearbeitungssitzungen ALLER geladenen OAPIF-Layer auf
  einmal; ohne offene Bearbeitung kommt ein Hinweis statt einer Aktion.
  Zurueckgeschrieben wird ohnehin je Feature (Part 4), der Knopf beendet nur die
  Sitzung.
- Der GeoJSON-Weg ist raus: die vier Datensatz-Knoepfe, "Aktiven Layer
  hochladen", DATASETS, run_load_dataset, run_upload_active_layer,
  _confirm_replace_existing, vln_karten/layer_manager.py sowie
  KartenApiClient.load_layer_complete/save_feature_collection.
- Stil-Hinweise angepasst: den Stil des eigenen Verfahrens darf jeder speichern,
  die Vorlage nur die Gruppe MODUL_KARTENSTIL (Server-PR #565).

Geprueft headless mit QGIS 4.2 gegen die Live-API (TG Test 27998): ohne
Bearbeitung Hinweis, mit Aenderung Sitzung geschlossen, API zaehlt +1, Feature
sichtbar, danach wieder aufgeraeumt. Panel-Test deckt die neuen Knoepfe ab.
metadata.txt 0.5.0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 10:06:45 +02:00
erikandClaude Fable 5.1 1680b4ede3 Schneller laden: Antworten vorwaermen, Gruppen auswaehlen
Der OAPIF-Provider fragt je Sammlung nacheinander Sammlung, Schema, Stil,
OPTIONS und die erste Seite ab — bei 27 Sammlungen dauert das Anlegen 20,5 s
(gemessen 08.09.2026, Berbisdorf).

- ogc_layers.vorwaermen(): holt Landing, OpenAPI, Conformance, Sammlung, Schema
  und Stil vorab und gleichzeitig ueber Qts Ereignisschleife (unter 1,5 s fuer
  84 Antworten). layer_hinzufuegen ruft es vor dem ersten Layer auf. Ergebnis
  14,2 s statt 20,5 s, und die Zeit schwankt deutlich weniger.
- Seitenleiste: drei Haken (Verfahren / Vorerhebung / Massnahmenblaetter) waehlen
  aus, was geladen wird. Nur Verfahren 11,1 s (21 Layer), nur Vorerhebung oder
  nur Massnahmenblaetter je 1,6 s (3 Layer).

Bewusst NICHT parallel: ein in einem Python-Thread gebauter OAPIF-Layer laesst
sich zwar in 0,9 s erzeugen, stuerzt aber beim ersten getFeatures() ab
(Segfault, gemessen) — der Provider gehoert dem Thread, der ihn gebaut hat.

tools/headless_panel_test.py prueft die neue Auswahl mit. metadata.txt 0.4.0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 09:32:56 +02:00
erikandClaude Fable 5.1 b97f066b49 Seitenleiste statt Werkzeugleiste
Erik, 08.09.2026: "ich will keine Toolbar, sondern so eine Seitenleiste auf der
rechten Seite."

- vln_karten/panel.py (neu): andockbares QDockWidget, rechts angedockt, mit den
  Abschnitten Anmeldung, Verfahren, OGC API und Klassisch (GeoJSON) sowie einer
  Statuszeile. Reine Oberflaeche; Klicks gehen als Rueckrufe ans Plugin.
- Verfahrensliste bekommt ein Suchfeld (Hausregel: Auswahllisten immer mit
  Filter). Die Auswahl bleibt beim Filtern erhalten, "kein Treffer" liefert
  kein VKZ.
- Der Stil-Knopf hat jetzt ein Haekchen "als Vorlage fuer alle Verfahren"; die
  Umschalttaste wirkt weiterhin.
- Abmelden ist ein eigener Knopf (verwirft den gespeicherten API-Key).
- Menue Web -> VLN Karten -> "Seitenleiste anzeigen" blendet sie wieder ein.
- tools/headless_panel_test.py: prueft Zustaende, Filter, Rueckrufe und rendert
  das Layout als PNG (QGIS 4.2 offscreen). Lauf am 08.09.2026: 17 Pruefungen,
  0 Fehler, 285 Verfahren in der Liste.
- README und metadata.txt (0.3.0) nachgezogen.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 08:28:11 +02:00