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>
This commit is contained in:
KAI
2026-10-06 23:19:47 +02:00
co-authored by Claude Opus 5.5
parent a56bf7c397
commit c3386dc454
7 changed files with 139 additions and 3 deletions
+21
View File
@@ -88,6 +88,27 @@ panel.set_dienste([{"name": "Denkmal Punkte", "gruppe_name": "Kultur", "untergru
pruefe(panel.dienste_liste.item(0).text().startswith("Denkmal Punkte · Kultur › Denkmal · "),
"Untergruppe in der Dienstliste: %r" % panel.dienste_liste.item(0).text())
pruefe(panel.dienste_liste.item(1).text().startswith("Wald · Natur · "), "ohne Untergruppe wie bisher")
print("== Karten: Wahl hakt vor ==")
from vln_karten.linkliste import KARTEN_VORGABE
panel.set_karten(KARTEN_VORGABE)
pruefe(list(panel.karten_haken) == ["p41", "ngg", "we"] and panel.karten_beschriftung.isVisibleTo(panel),
"je Karte ein Haekchen")
panel.set_dienste([{"name": "Biotope", "gruppe_name": "Natur", "karten": ["ngg"]},
{"name": "Wege", "gruppe_name": "Verkehr", "karten": ["p41", "ngg"]},
{"name": "Bodenwert", "gruppe_name": "Boden", "karten": ["we"]}])
an = lambda: [panel.dienste_liste.item(i).checkState() == Qt.CheckState.Checked
for i in range(panel.dienste_liste.count())]
pruefe(an() == [True, True, True], "ohne Wahl alles angehakt")
panel.karten_haken["p41"].setChecked(True)
pruefe(an() == [False, True, False], "Wege- und Gewaesserplan: nur passende: %r" % an())
panel.karten_haken["we"].setChecked(True)
pruefe(an() == [False, True, True], "zwei Karten zugleich: %r" % an())
panel.set_dienste([{"name": "Neu", "karten": ["we"]}, {"name": "Ohne"}])
pruefe(an() == [True, False], "neue Liste uebernimmt die Kartenwahl: %r" % an())
pruefe("Karten: Wertermittlung" in panel.dienste_liste.item(0).toolTip(), "Karten im Tooltip")
for haken in panel.karten_haken.values():
haken.setChecked(False)
panel.set_angemeldet(False)
GERUFEN.clear()