Commit Graph
185 Commits
Author SHA1 Message Date
Daniel 8693fedada Merge pull request 'Feature/88 basemap legende' (#89) from feature/88-basemap-legende into unstable
Reviewed-on: #89
2026-10-02 10:17:20 +00:00
DanielandClaude Opus 5.5 f9241a11f9 Basemap-Bereich im Druck-Tab mit lokalen Stilvorlagen (#88)
Einklappbarer Bereich „Basemap“: Auswertebereich (Verfahrensgebiet/Druckbereich),
Basemap-Legende beim Erstellen an/aus, „Basemap-Legende aktualisieren“ für
bestehende Vorlagen und Stilvorlagen des Basemap-Layers. Stilvorlagen liegen lokal im
QGIS-Profil (QML plus Begleitdatei mit Legendenauswahl), mehrere Varianten, eine als
Standard markierbar; geladen wird nur auf Knopfdruck nach Rückfrage, fremde Varianten
(andere Style-Namen) erst nach zweiter Bestätigung.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 11:57:10 +02:00
DanielandClaude Opus 5.5 b549cb8a5a Basemap-Legende: Auswertung und Legendenelement im Drucklayout (#88)
Beim Erstellen einer §38-/§41-Vorlage wertet BasemapLegende die Kacheln des sichtbaren
basemap.de-Layers im Verfahrensgebiet (wahlweise Druckbereich) kachelweise über
selectByGeometry aus, prüft die Renderer-Styles mit derselben Zoomlogik wie QGIS und
bildet daraus Legendeneinträge. Ein Mehrfachauswahl-Dialog (neu: ask_mehrfachauswahl)
lässt Kategorien abwählen; die Auswahl wird im Projekt gemerkt. Die gewählten Einträge
stehen mit der Signatur des Projektlayers (zoomabhängige Werte festgeschrieben) in
einem eigenen Legendenelement über der Quellenangabe. Ein eigenes Element ist nötig,
weil die nach Karteninhalt filternde Hauptlegende die Hilfslayer ausblenden würde.

Wrapper um die nötigen QGIS-/Qt-Symbole mit Mock ergänzt (eigener Block in
qgiscore_wrapper; QgsRectangle hatte bisher keinen Mock).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 11:57:09 +02:00
DanielandClaude Opus 5.5 7408740dfe Basemap-Legende: Legendenkatalog und Generator (#88)
data/basemap_legende.json ordnet die darstellenden Styles der basemap.de-Style-JSON
(bm_web_col.json) Legendeneinträgen zu: 434 Styles in 190 Einträgen, Kontur/Decker/
Brücken-/Fahrbahnvarianten je Straßenklasse zusammengefasst, Beschriftungen,
Nummernschilder und Hintergrund ausgeschlossen. modules/basemap_katalog.py erzeugt den
Katalog (nur Standardbibliothek, auch eigenständig aufrufbar) und erhält dabei die
fachliche Nachbearbeitung; erster Durchgang der Bezeichnungen ist erledigt, die
fachliche Abnahme steht aus.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 11:57:09 +02:00
Daniel 54f1bf8b01 Merge pull request 'changelog.txt: unaufgelöste Git-Konfliktmarker aus Merge #70/#72 entfernt (#74)' (#75) from bugfix/74-changelog-konfliktmarker into unstable
Reviewed-on: #75
2026-09-21 08:43:11 +00:00
DanielandClaude Sonnet 5 2a0e980b99 changelog.txt: unaufgelöste Git-Konfliktmarker aus Merge #70/#72 entfernt (#74)
Beim manuellen Merge von unstable in bugfix/72-navigation-cleanup-deletelater wurden die
Konfliktmarker in changelog.txt versehentlich mitcommittet statt aufgelöst und sind über
PR #73 auf unstable gelandet. Beide Changelog-Einträge (#70, #72) bleiben inhaltlich
unverändert erhalten, nur die Markerzeilen sind entfernt. Code/Tests waren nicht betroffen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-21 10:42:10 +02:00
Daniel f264178b63 Merge pull request 'Navigation.remove_all() räumt Toolbar/Menü beim Unload tatsächlich auf (#72)' (#73) from bugfix/72-navigation-cleanup-deletelater into unstable
Reviewed-on: #73
2026-09-21 08:38:04 +00:00
Daniel a25d25c3c0 Merge branch 'unstable' into bugfix/72-navigation-cleanup-deletelater 2026-09-21 10:37:29 +02:00
DanielandClaude Sonnet 5 bbda2cd61b Navigation.remove_all() räumt Toolbar/Menü beim Unload tatsächlich auf (#72)
remove_toolbar()/remove_menu() nahmen Toolbar und Menü bisher nur aus der sichtbaren Leiste,
das Qt-Objekt blieb als Kind von main_window bestehen. Beim Neuladen mit dem Plugin Reloader
meldete QGIS deshalb "removing duplicated widget(s) not cleaned up by the plugin during
unload: LnoSachsenToolbar" - der defensive Workaround in init_ui() (Suche nach übrig
gebliebenen Toolbars) kaschierte das nur beim nächsten Laden, nicht beim Unload selbst.

remove_all() ruft jetzt deleteLater() auf beide Objekte, bevor die Referenzen verworfen
werden - dieselbe Behandlung, die init_ui() schon für Altlasten nutzt. deleteLater() ist in
PyQt5 und PyQt6 identisch, keine QGIS3/4-Fallunterscheidung nötig.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-21 10:22:29 +02:00
Daniel 0a876c097d Merge pull request 'Restliche "ungeklärt"-Funktionen in sn_basis abschließend bewertet (#70)' (#71) from feature/70-sn-basis-ungeklaerte-tests into unstable
Reviewed-on: #71
2026-09-21 06:57:01 +00:00
DanielandClaude Sonnet 5 e86bef40d2 Restliche "ungeklärt"-Funktionen in sn_basis abschließend bewertet (#70)
Tests für Dateipruefer._ist_leer (None/Whitespace), Dateipruefer._handle_leere_eingabe
(Priorität bei mehreren Flags), Datenschreiber._store_style_in_gpkg (nachgezogen aus #63,
siehe #67) und Pruefmanager._handle_verfahrensgebiet_layer_existiert (entfernen/ersetzen)
ergänzt. Linkpruefer._ist_url/_pruefe_url/_pruefe_dateipfad und
Pruefmanager._handle_datei_existiert sind bereits über pruefe()/verarbeite() vollständig
abgedeckt und bekommen den Vermerk "von Test abgesehen". Pruefmanager._ask_use_or_replace_pufferlayer
ist toter Code (Bug #60) und bleibt bis zur Behebung unmarkiert getestet, nur vermerkt.

sn_basis steht damit laut Prüfstand bei 0 ungeklärten Funktionen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-21 08:47:41 +02:00
Daniel 84df7a6dfb Merge pull request 'Kategorie "vielleicht testen" in sn_basis abgeschlossen (#67)' (#69) from feature/67-vielleicht-testen-bewerten into unstable
Reviewed-on: #69
2026-09-18 11:11:34 +00:00
DanielandClaude Sonnet 5 8eb89e92a7 Kategorie "vielleicht testen" in sn_basis abgeschlossen (#67)
37 neue Testfälle für die 31 verbleibenden "vielleicht testen"-
Funktionen: os_wrapper.is_case_sensitive_fs, qgiscore_wrapper.
create_buffer_layer (nur die Wächter, echte Pufferlogik importiert
qgis.core direkt), qgisui_wrapper.find_dock_widgets/add_menu/remove_menu,
DataGrabber._aggregate_results, pruef_ergebnis.dateipfad,
Navigation (add_action, finalize_menu_and_toolbar, set_active_plugin,
remove_action, remove_all), SettingsTab._build_input und PrintTab
(18 Methoden: Zustandslogik, Signal-Handling, Atlas-/Theme-Verwaltung).

PrintTab._build_ui bekommt stattdessen den Vermerk "von Test abgesehen,
weil vernachlässigbar; HD 18.09.2026" - reine Qt-Widget-Konstruktion ohne
eigenständig prüfbare Logik. Damit ist die Kategorie "vielleicht testen"
für sn_basis aufgelöst: jede Funktion ist jetzt getestet oder mit einem
begründeten Vermerk versehen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 13:06:06 +02:00
Daniel aa4b383a84 Merge pull request 'Testkatalog-Klassifizierung in Docstrings festgehalten' (#68) from chore/testklassifizierung-docstrings into unstable
Reviewed-on: #68
2026-09-18 09:53:38 +00:00
DanielandClaude Sonnet 5 36e4780b9f Testkatalog-Klassifizierung in Docstrings festgehalten
43 als "vernachlässigbar" eingestufte Funktionen (dialog_wrapper.py,
message_wrapper.py, os_wrapper.py, qgisui_wrapper.py, qt_wrapper.py,
DataGrabber.py, LayerLoader.py, Pruefmanager.py, navigation.py,
print_tab.py) tragen jetzt den Vermerk "von Test abgesehen, weil
vernachlässigbar; HD 18.09.2026". Fehlalarme der Testkatalog-Heuristik
(Dateipruefer._ist_leer/_handle_leere_eingabe, linkpruefer.py komplett,
Pruefmanager._handle_datei_existiert) und der als Bug erfasste tote Code
(Pruefmanager._ask_use_or_replace_pufferlayer, #60) bleiben unangetastet.

41 Funktionen im zur Grundüberarbeitung anstehenden Print-Bereich
(print_logic.py, print_layout.py, print_layout_baufreigabe.py) tragen den
Vermerk "Test ausgesetzt, zunächst Refactor".

Reine Dokumentationsänderung, kein Verhalten geändert.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 11:51:57 +02:00
Daniel 0dd64cbe2e Merge pull request 'Tests für restliche priorisierte sn_basis-Funktionen ergänzt (#65)' (#66) from feature/65-tests-restliche-funktionen into unstable
Reviewed-on: #66
2026-09-18 09:27:39 +00:00
DanielandClaude Sonnet 5 7ce820581f Tests für restliche priorisierte sn_basis-Funktionen ergänzt (#65)
79 neue Testfälle: Verfahrensgebiet-Zustandsverwaltung (Listener-Setup/
-teardown, Signal-Handler), DockManager/BaseDockWidget, pruef_ergebnis-
Persistenz-Gates, Pruefmanager-Entscheidungswege, restliche Dateipruefer-
Zweige, Fundament-Wrapper (sys_wrapper, ly_existence_wrapper,
ly_style_wrapper.apply_style_from_path, landkreise, message_wrapper,
qgiscore_wrapper.polygon_zu_linie/layer_exists_in_gpkg,
qgisui_wrapper.add_layer_to_project) und SettingsTab.save_data/load_data.

Ausgeklammert: LayerLoader.apply_style/ly_style_wrapper.apply_style
(Bug-Verdacht, hartkodierter Fachplugin-Pfad) und
Pruefmanager._ask_use_or_replace_pufferlayer (bereits als Bug in #60
erfasst: ruft nicht existierendes self.pruefmanager auf).

qt_wrapper._MockQDockWidget um closeEvent() ergänzt (fehlte, ließ jede
BaseDockWidget.closeEvent()-Ausführung im Mock-Modus abstürzen).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 11:20:10 +02:00
Daniel b57a614ec3 Merge pull request 'Tests für die vier Kernmodule der Datenpipeline ergänzt (#63)' (#64) from feature/63-tests-datenpipeline into unstable
Reviewed-on: #64
2026-09-18 08:05:27 +00:00
DanielandClaude Sonnet 5 60d5bd7cb5 Tests für die vier Kernmodule der Datenpipeline ergänzt (#63)
70 neue Testfälle für Datenabruf.py, Datenschreiber.py, LayerLoader.py und
excel_importer.py - die einzigen Module ohne jede Testdatei laut
Testkatalog-Abschnitt "Ungetestete Funktionen". Schwerpunkt: Provider-URL-
Bau (WFS/REST/OGR), Raumfilter, CRS-Transformation, GPKG-Schreib-/Ladepfad
und Excel-Import-Fehlerzweige.

qgiscore_wrapper._MockQgsProject um transformContext() und addMapLayer()
ergänzt - beide fehlten im Mock und ließen die betroffenen Funktionen im
Mock-Modus für jeden gültigen Layer scheitern (siehe fallstricke.md).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:48:31 +02:00
Daniel 1705d5f988 Merge pull request 'get_plugin_root() löst keine Symlinks/Junctions mehr auf (Verfahrensgebiet #50)' (#62) from bugfix/50-get-plugin-root-junction into unstable
Reviewed-on: #62
2026-09-17 14:16:20 +00:00
DanielandClaude Sonnet 5 716820be4c get_plugin_root() löst keine Symlinks/Junctions mehr auf (Verfahrensgebiet #50)
Ursache für "QML-Dateien greifen nicht" (Verfahrensgebiet #50): get_plugin_root()
nutzte Path(__file__).resolve(), was Junctions zum echten Zielverzeichnis
auflöst. link_qgis_profile.py verknüpft die Klone im QGIS-Profil per Junction
unter ihrem Paketnamen (sn_verfahrensgebiet, sn_plan41, ...) - .resolve()
sprang dabei zurück zum Workspace-Root, wo die Klone unter ihrem Repo-Namen
(Plugin_SN_*) liegen. Alle Aufrufer von get_plugin_root() (Stilpruefer,
ly_style_wrapper.apply_style, LayerLoader.apply_style, Datenschreiber,
sn_plan41 vln_api_logic/tab_a_logic) suchten dadurch am falschen Ort.

.absolute() statt .resolve(): __file__ liefert beim Import über die Junction
bereits den korrekten, unaufgelösten Pfad - nichts, was aufgelöst werden
müsste. Für echte ZIP-/Repository-Installationen (kein Symlink im Plugin-
Ordner) ändert sich nichts, da dort nichts aufzulösen ist.

Test test_get_plugin_root_folgt_keiner_verzeichnisverknuepfung legt eine
echte Verzeichnisverknüpfung an (Symlink, unter Windows via Junction wie
link_qgis_profile.py) und zeigt den Fehler vor dem Fix rot, danach grün.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 16:11:58 +02:00
Daniel 30b38b5e9a Merge pull request 'Feature/testdatagrabber docstrings' (#61) from feature/testdatagrabber-docstrings into unstable
Reviewed-on: #61
2026-09-17 13:59:16 +00:00
DanielandClaude Sonnet 5 bfcd8c2777 test_settings_logic: Docstring korrigiert - Fallback lebt in get_variable(), nicht in load()
SettingsLogic.load() reicht get_variable()-Werte unverändert durch, ohne
eigene Fallback-Logik. Der "or \"\""-Fallback für unbekannte Variablen
sitzt in variable_wrapper.get_variable(). Der Test selbst war korrekt,
nur die Docstring hat die Verantwortung falsch zugeordnet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 14:59:50 +02:00
DanielandClaude Sonnet 5 8c39593239 test_linkpruefer: Testfall für leere Eingabe ergänzt
Linkpruefer.pruefe() hat einen dritten Zweig (leere Eingabe -> aktion
"leer"), der bisher ungetestet war - die fünf bestehenden Tests deckten
nur den URL- und den Datei-Zweig ab.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 14:46:15 +02:00
DanielandClaude Sonnet 5 137c2a4718 test_dateipruefer: Standarddatei-Existenzlücke im Docstring vermerkt (#59)
test_standarddatei_vorschlagen prüft nur den Vorschlag, nicht ob die
Standarddatei existiert - das tut aktuell auch der produktive Code nicht
(weder Dateipruefer._handle_leere_eingabe() noch Pruefmanager._handle_
basic_decision()). Fix ist als eigenes Issue (#59) angelegt, Bearbeitung
bewusst zurückgestellt, bis geklärt ist, ob der Standarddatei-Modus
überhaupt gebraucht wird - kein Aufrufer nutzt ihn bisher.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 14:22:21 +02:00
DanielandClaude Sonnet 5 23aab76e42 Restliche sn_basis-Tests: deutsche Docstrings ergänzt
81 Testfälle in 11 Dateien im Rahmen des Test-Audits durchgesehen und mit
"Prüft, dass ..."-Docstring versehen (Projektwissen #16). Kein Verhalten
geändert.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 15:06:16 +02:00
DanielandClaude Sonnet 5 53a60246c8 TestDataGrabber: deutsche Docstrings ergänzt
Alle sechs Testfälle im Rahmen des Test-Audits (Projektwissen #16) durchgesehen
und mit "Prüft, dass ..."-Docstring versehen. Kein Verhalten geändert.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 13:13:46 +02:00
Daniel ff5ed5d7f5 Merge pull request 'Bugfix/42 umlaute sonderzeichen' (#58) from bugfix/42-umlaute-sonderzeichen into unstable
Reviewed-on: #58
2026-09-15 06:00:10 +00:00
DanielandClaude Sonnet 5 272bad3866 Weitere fehlende Umlaute in Docstrings/Kommentaren behoben (#42)
Gefunden ueber das neue Skript scripts/pruefe_umlaute.py, das genau dieses
Muster (ASCII-Ersatzschreibweise statt Umlaut in String-Inhalten und
Kommentaren mit Leerzeichen) erkennt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MneDjzrjmbpQt8udFYxN9e
2026-09-14 12:21:01 +02:00
DanielandClaude Sonnet 5 72844cd257 Fehlende Umlaute in Drucklayout-Hinweisen und -Beschriftungen behoben (#42)
Weitere Fundstellen aus der gezielten Umlaut-Pruefung: MessageBox-/Label-Texte
in print_logic.py, print_layout.py, print_layout_baufreigabe.py und
print_tab.py, die wortwoertlich als ASCII generiert wurden ('gueltig',
'verfuegbar', 'waehlen', 'Massstab' als Anzeigetext, 'Geprueft: '-Label).
Interne Bezeichner (aktion-Codes, Projektvariablen-Keys, Item-IDs) bewusst
unveraendert gelassen, um bestehende Log-/Vergleichslogik nicht zu brechen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MneDjzrjmbpQt8udFYxN9e
2026-09-14 12:09:30 +02:00
DanielandClaude Sonnet 5 a754fcfe34 Umlaute/Sonderzeichen in Bezeichnern zentral behandeln (#42)
Regex zur Bezeichner-Bereinigung aus Datenschreiber.py in
functions/text_wrapper.py (sanitize_bezeichner) ausgelagert und um
Bindestrich ergänzt, der bisher fehlte. Neue Tests decken Umlaute, ß,
Unterstrich, Bindestrich, eigenes Ersatzzeichen und Leerfälle ab.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MneDjzrjmbpQt8udFYxN9e
2026-09-14 11:09:41 +02:00
22ottomi 7755e3e8cb Merge pull request 'Fix: DataGrabber lädt ohne sn_plan41 (ModuleNotFoundError beim Laden von sn_verfahrensgebiet)' (#57) from bugfix/35-sn-plan41-dependency into unstable
Release Plugin / release (push) Successful in 4s
Reviewed-on: #57
v26.8.3-u 26.8.3-unstable
2026-08-31 09:53:48 +02:00
Michael Otto bc9bb20597 Fix: DataGrabber lädt ohne sn_plan41 (ModuleNotFoundError beim Laden von sn_verfahrensgebiet)
DataGrabber.py hatte einen harten Top-Level-Import von
sn_plan41.modules.listenauswerter.Listenauswerter, obwohl DataGrabber sich
selbst als generischer, plugin-übergreifender Orchestrator dokumentiert.
sn_verfahrensgebiet importiert DataGrabber und instanziiert ihn beim
Plugin-Start – dadurch schlug classFactory() fehl, sobald sn_plan41 nicht
installiert war (ModuleNotFoundError: No module named 'sn_plan41').

Import in die einzige Stelle verschoben, die ihn tatsächlich braucht
(_process_excel_source, nur für Excel-Quellen relevant), mit klarer
Fehlermeldung falls doch mal ohne sn_plan41 eine Excel-Quelle verarbeitet
werden soll.

Fixes sn_verfahrensgebiet#35
2026-08-31 09:52:48 +02:00
22ottomi 113fda7d04 Merge pull request 'Feature/mehrfachauswahl alkis' (#55) from feature/mehrfachauswahl-alkis into unstable
Release Plugin / release (push) Successful in 3s
Reviewed-on: #55
v26.8.2-u 26.8.2-unstable
2026-08-31 09:15:26 +02:00
Michael Otto 8545152317 Merge branch 'unstable' into aus-zip-laden
Konflikt in changelog.txt (beide Seiten hatten oben neue, unabhängige
Einträge ergänzt) von Hand aufgelöst – beide Blöcke bleiben erhalten.
2026-08-31 08:52:24 +02:00
Michael OttoandClaude Sonnet 5 8cea9022f0 Länderkennung-Mapping portiert (Voraussetzung für Beteiligungsprüfung)
Portiert aus origin/unstable: sn_basis/functions/laenderkennung.py bildet
Plugin-Präfix -> zweistellige ALKIS-Länderkennung ab (aktuell nur Sachsen).
Wird von der neuen Beteiligungsprüfung in sn_verfahrensgebiet für die
Flurstückskennzeichen-Bildung genutzt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-31 06:33:16 +02:00
Michael OttoandClaude Sonnet 5 1b5a715c70 Landkreisliste als JSON auslagern; Verfahrensgebiet-Dialoge nach sn_verfahrensgebiet verschoben
- Landkreisliste liegt jetzt in data/landkreise.json statt hartcodiert in
  landkreise.py, damit sie ohne Codeänderung pflegbar und auch aus anderen
  Modulen nutzbar ist (Sentinel ALLE_LANDKREISE für "Alle Landkreise").
- ask_bror_kombinationen, ask_landkreis_objekte und ask_landkreis_auswahl aus
  dialog_wrapper.py entfernt: sie sind sn_verfahrensgebiet-spezifisches
  Vokabular (BROR/VKZ/Landkreis-Fallback) und gehören nicht in den
  domänenfreien sn_basis-Hub. Sie leben jetzt in
  sn_verfahrensgebiet/functions/verfahrensgebiet_dialoge.py.
- qt_wrapper.py: QTableWidget/QTableWidgetItem/QTableWidgetSelectionRange,
  SelectRows, NoEditTriggers, AscendingOrder ergänzt (für die neue
  Tabellen-Auswahl im Landkreis-Objektdialog).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-28 13:54:43 +02:00
Michael Otto 749d6d6f52 Landkreis-Dropdown, BROR-Mehrfachauswahl-Dialog und UX-Fixes
- Landkreis-Feld in den Projekteigenschaften als Dropdown statt Freitext,
  Landkreiskennzahl zusätzlich als eigene Projektvariable verfügbar.
- ask_bror_kombination(en) auf echte Mehrfachauswahl umgestellt, inkl.
  Titel, Wappen-Icon, kompakter/anpassbarer Größe und Scrollbar-Fix.
- Neuer Dialog ask_landkreis_objekte für die landkreisweite Objektsuche
  (Mehrfachauswahl, "Alle auswählen", "Nur laden ohne weiteren Ablauf").
- qt_wrapper um QDialog/QDialogButtonBox/QListWidget/QListWidgetItem/
  QAbstractItemView/QIcon sowie QComboBox-userData/currentData erweitert.
2026-08-27 15:13:43 +02:00
Daniel 29fea7c18f changelog.txt aktualisiert
Release Plugin / release (push) Successful in 4s
v26.8.1-u 26.8.1-unstable
2026-08-26 16:18:25 +02:00
Daniel d857343d36 changelog.txt aktualisiert 2026-08-26 16:17:52 +02:00
Daniel 7bcd0132e9 Merge pull request 'länderkennungs-dict angelegt, Vorbereitung CSV-Beteiligungsprüfung' (#54) from beteiligung_pruefen into unstable
Reviewed-on: #54
2026-08-26 16:15:23 +02:00
Daniel 3489a08638 länderkennungs-dict angelegt 2026-08-26 12:20:10 +02:00
Daniel 7a5ed12797 Merge pull request 'wfs-abruf-fix' (#53) from wfs-abruf-fix into unstable
Release Plugin / release (push) Successful in 4s
Reviewed-on: #53
v26.7.2-u 26.7.2-unstable
2026-07-22 11:14:08 +02:00
Daniel 021747ae06 wfs-abruf-fix 2026-07-22 11:12:43 +02:00
Daniel 91bafe632f changelog.txt aktualisiert
Release Plugin / release (push) Successful in 4s
v26.7.1-u 26.7.1-unstable
2026-07-15 16:04:55 +02:00
Daniel 7ed22fb23e Merge pull request 'Shape verfahrensgebiet' (#52) from shape-Verfahrensgebiet into unstable
Reviewed-on: #52
2026-07-15 16:03:18 +02:00
Daniel 3bbb66ec32 shape-Ladefunktion Verfahrensgebiet 2026-07-15 15:27:24 +02:00
Daniel 9258f03705 Umlaute-Fix Layernamen
Release Plugin / release (push) Successful in 4s
Regex um Umlaute erweitert
v26.7.2-t
2026-07-07 15:49:37 +02:00
Daniel 9862386646 changelog.txt aktualisiert 26.7.1-testing 26.7.2-testing 2026-07-07 10:04:22 +02:00
Daniel 706de43512 Merge pull request 'Unstable nach testing' (#51) from unstable into testing
Release Plugin / release (push) Successful in 5s
Reviewed-on: #51
v26.7.1-t
2026-07-07 10:01:32 +02:00