Skip to content

Commit

Permalink
WIP: Next Version 3.3.7
Browse files Browse the repository at this point in the history
- error fixed in filesearch
- error fixed in plausibiliy check
  • Loading branch information
hoettges committed Nov 30, 2023
1 parent dcabfad commit 2a293c3
Show file tree
Hide file tree
Showing 31 changed files with 894 additions and 131 deletions.
674 changes: 674 additions & 0 deletions qkan/LICENSE

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion qkan/database/qkan_database.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
__date__ = "August 2019"
__copyright__ = "(C) 2016, Joerg Hoettges"
__dbVersion__ = "3.3.6" # Version der QKan-Datenbank
__qgsVersion__ = "3.3.6" # Version des Projektes und der Projektdatei. Kann höher als die der QKan-Datenbank sein
__qgsVersion__ = "3.3.7" # Version des Projektes und der Projektdatei. Kann höher als die der QKan-Datenbank sein


import logging
Expand Down
2 changes: 1 addition & 1 deletion qkan/metadata.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
name=QKan
qgisMinimumVersion=3.22
description=Gruppe der QKan-Erweiterung(en)
version=3.3.6
version=3.3.7
author=Jörg Höttges, Leon Ochsenfeld, Yannick Linke, Nora Blase
[email protected]

Expand Down
2 changes: 1 addition & 1 deletion qkan/templates/Plausibilitaetspruefungen.sql
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ WHERE geom IS NULL LIMIT 5',
printf("Haltungsnamen doppelt in Layer ""Haltungen"" in %d Datensätzen (nur max. 5 Datensätze angezeigt)", (SELECT count(*) FROM (SELECT haltnam FROM haltungen GROUP BY haltnam HAVING count(*) > 1))) AS bemerkung
FROM (SELECT haltnam FROM haltungen GROUP BY haltnam HAVING count(*) > 1) LIMIT 5',
'Haltungen', 'haltnam'),
('Kreuzende Haltungen', 'Kreuzende Haltungen', 'Warnung', 6,
('Kreuzende Haltungen (braucht sehr lang!)', 'Kreuzende Haltungen', 'Warnung', 6,
'SELECT
haltna1 AS haltnam,
printf("Theoretischer Abstand zu Haltung %s beträgt d = %.2f", haltna2, COALESCE(abstkreuz, d3)) as bemerkung
Expand Down
14 changes: 4 additions & 10 deletions qkan/templates/projekt.qgs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
<qgis saveDateTime="2023-10-27T13:30:12" saveUser="Nora" saveUserFull="Nora Blase" version="3.22.7-Białowieża" projectname="QKan Version 3.3.6">
<qgis saveDateTime="2023-10-27T13:30:12" saveUser="Nora" saveUserFull="Nora Blase" version="3.22.7-Białowieża" projectname="QKan Version 3.3.7">
<homePath path=""/>
<title>QKan Version 3.3.6</title>
<title>QKan Version 3.3.7</title>
<autotransaction active="0"/>
<evaluateDefaultValues active="0"/>
<trust active="0"/>
Expand Down Expand Up @@ -3780,13 +3780,7 @@ def my_form_open(dialog, layer, feature):
<expressionfields/>
<attributeactions>
<defaultAction value="{00000000-0000-0000-0000-000000000000}" key="Canvas"/>
<actionsetting shortTitle="Zoom/Pan zum Objekt" action="from qgis.PyQt import QtWidgets&#xa;from qgis.core import Qgis&#xa;&#xa;obj = '[%objname%]'&#xa;attr = '[%attrname%]'&#xa;&#xa;activeproject = QgsProject().instance()&#xa;layername = '[%layername%]'&#xa;clayers = activeproject.mapLayersByName(layername)&#xa;if not clayers:&#xa; QtWidgets.QMessageBox.information(None, &quot;Fehler im Programmcode der Aktion&quot;, f'Layer &quot;{layername}&quot;nicht definiert')&#xa;else:&#xa; clayer = clayers[0]&#xa; clayer.selectByExpression(f&quot;{attr} = '{obj}'&quot;)&#xa; qgis.utils.iface.setActiveLayer(clayer)&#xa; box = clayer.boundingBoxOfSelected()&#xa; canvas = qgis.utils.iface.mapCanvas()&#xa; canvas.zoomToFeatureExtent(box)&#xa;" isEnabledOnlyWhenEditable="0" capture="1" icon="C:/FHAC/hoettges/Kanalprogramme/QKan/qkan/datacheck/jump.png" id="{ce7efdcf-811f-4b6b-859e-b64a436a7a74}" name="Zoom/Pan zum Objekt" notificationMessage="" type="1">
<actionScope id="Feature"/>
</actionsetting>
<actionsetting shortTitle="Zoom/Pan zum Objekt" action="from qgis.PyQt import QtWidgets&#xa; from qgis.core import Qgis&#xa;&#xa; obj = '[%objname%]'&#xa; attr = '[%attrname%]'&#xa;&#xa; activeproject = QgsProject().instance()&#xa; layername = '[%layername%]'&#xa; clayers = activeproject.mapLayersByName(layername)&#xa; if not clayers:&#xa; QtWidgets.QMessageBox.information(None, &quot;Fehler im Programmcode der Aktion&quot;, f'Layer &quot;{layername}&quot;nicht definiert')&#xa; else:&#xa; clayer = clayers[0]&#xa; clayer.selectByExpression(f&quot;{attr} = '{obj}'&quot;)&#xa; qgis.utils.iface.setActiveLayer(clayer)&#xa; box = clayer.boundingBoxOfSelected()&#xa; canvas = qgis.utils.iface.mapCanvas()&#xa; canvas.zoomToFeatureExtent(box)&#xa; " isEnabledOnlyWhenEditable="0" capture="0" icon="C:/FHAC/hoettges/Kanalprogramme/QKan/qkan/datacheck/jump.png" id="{d4291ae8-f6e0-4b91-aa30-8c3f2954515c}" name="Objekt Aktivieren und Zoom/Pan zum Objekt" notificationMessage="Meldung" type="1">
<actionScope id="Feature"/>
</actionsetting>
<actionsetting shortTitle="Zoom/Pan zum Objekt" action="from qgis.PyQt import QtWidgets&#xa; from qgis.core import Qgis&#xa;&#xa; obj = '[%objname%]'&#xa; attr = '[%attrname%]'&#xa;&#xa; activeproject = QgsProject().instance()&#xa; layername = '[%layername%]'&#xa; clayers = activeproject.mapLayersByName(layername)&#xa; if not clayers:&#xa; QtWidgets.QMessageBox.information(None, &quot;Fehler im Programmcode der Aktion&quot;, f'Layer &quot;{layername}&quot;nicht definiert')&#xa; else:&#xa; clayer = clayers[0]&#xa; clayer.selectByExpression(f&quot;{attr} = '{obj}'&quot;)&#xa; qgis.utils.iface.setActiveLayer(clayer)&#xa; box = clayer.boundingBoxOfSelected()&#xa; canvas = qgis.utils.iface.mapCanvas()&#xa; canvas.zoomToFeatureExtent(box)&#xa; " isEnabledOnlyWhenEditable="0" capture="0" icon="C:/FHAC/hoettges/Kanalprogramme/QKan/qkan/datacheck/jump.png" id="{c9f2a0a8-200b-4d57-a573-fc3856fb2ce6}" name="Objekt Aktivieren und Zoom/Pan zum Objekt" notificationMessage="Meldung" type="1">
<actionsetting shortTitle="Zoom/Pan zum Objekt" action="from qgis.PyQt import QtWidgets&#xa;from qgis.core import Qgis&#xa;&#xa;obj = '[%objname%]'&#xa;attr = '[%attrname%]'&#xa;&#xa;activeproject = QgsProject().instance()&#xa;layername = '[%layername%]'&#xa;clayers = activeproject.mapLayersByName(layername)&#xa;if not clayers:&#xa; QtWidgets.QMessageBox.information(None, &quot;Fehler im Programmcode der Aktion&quot;, f'Layer &quot;{layername}&quot;nicht definiert')&#xa;else:&#xa; clayer = clayers[0]&#xa; clayer.selectByExpression(f&quot;{attr} = '{obj}'&quot;)&#xa; qgis.utils.iface.setActiveLayer(clayer)&#xa; qgis.utils.iface.actionZoomToSelected().trigger()&#xa;" isEnabledOnlyWhenEditable="0" capture="1" icon="C:/FHAC/hoettges/Kanalprogramme/QKan/qkan/datacheck/jump.png" id="{ce7efdcf-811f-4b6b-859e-b64a436a7a74}" name="Zoom/Pan zum Objekt" notificationMessage="" type="1">
<actionScope id="Feature"/>
</actionsetting>
</attributeactions>
Expand Down Expand Up @@ -33485,7 +33479,7 @@ def closeProject():
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title>QKan Version 3.3.6</title>
<title>QKan Version 3.3.7</title>
<abstract></abstract>
<contact>
<name></name>
Expand Down
4 changes: 2 additions & 2 deletions qkan/templates/qml/Fehlerliste.qml
Original file line number Diff line number Diff line change
Expand Up @@ -129,10 +129,10 @@
<expressionfields/>
<attributeactions>
<defaultAction key="Canvas" value="{00000000-0000-0000-0000-000000000000}"/>
<actionsetting notificationMessage="" type="1" id="{ce7efdcf-811f-4b6b-859e-b64a436a7a74}" capture="1" isEnabledOnlyWhenEditable="0" shortTitle="Zoom/Pan zum Objekt" icon="C:/FHAC/hoettges/Kanalprogramme/QKan/qkan/datacheck/jump.png" name="Zoom/Pan zum Objekt" action="from qgis.PyQt import QtWidgets&#xd;&#xa;from qgis.core import Qgis&#xd;&#xa;&#xd;&#xa;obj = '[%objname%]'&#xd;&#xa;attr = '[%attrname%]'&#xd;&#xa;&#xd;&#xa;activeproject = QgsProject().instance()&#xd;&#xa;layername = '[%layername%]'&#xd;&#xa;clayers = activeproject.mapLayersByName(layername)&#xd;&#xa;if not clayers:&#xd;&#xa; QtWidgets.QMessageBox.information(None, &quot;Fehler im Programmcode der Aktion&quot;, f'Layer &quot;{layername}&quot;nicht definiert')&#xd;&#xa;else:&#xd;&#xa; clayer = clayers[0]&#xd;&#xa; clayer.selectByExpression(f&quot;{attr} = '{obj}'&quot;)&#xd;&#xa; qgis.utils.iface.setActiveLayer(clayer)&#xd;&#xa; box = clayer.boundingBoxOfSelected()&#xd;&#xa; canvas = qgis.utils.iface.mapCanvas()&#xd;&#xa; canvas.zoomToFeatureExtent(box)&#xd;&#xa;">
<actionsetting notificationMessage="" type="1" id="{ce7efdcf-811f-4b6b-859e-b64a436a7a74}" capture="1" isEnabledOnlyWhenEditable="0" shortTitle="Zoom/Pan zum Objekt" icon="C:/FHAC/hoettges/Kanalprogramme/QKan/qkan/datacheck/jump.png" name="Zoom/Pan zum Objekt" action="from qgis.PyQt import QtWidgets&#xd;&#xa;from qgis.core import Qgis&#xd;&#xa;&#xd;&#xa;obj = '[%objname%]'&#xd;&#xa;attr = '[%attrname%]'&#xd;&#xa;&#xd;&#xa;activeproject = QgsProject().instance()&#xd;&#xa;layername = '[%layername%]'&#xd;&#xa;clayers = activeproject.mapLayersByName(layername)&#xd;&#xa;if not clayers:&#xd;&#xa; QtWidgets.QMessageBox.information(None, &quot;Fehler im Programmcode der Aktion&quot;, f'Layer &quot;{layername}&quot;nicht definiert')&#xd;&#xa;else:&#xd;&#xa; clayer = clayers[0]&#xd;&#xa; clayer.selectByExpression(f&quot;{attr} = '{obj}'&quot;)&#xd;&#xa; qgis.utils.iface.setActiveLayer(clayer)&#xd;&#xa; qgis.utils.iface.actionZoomToSelected().trigger()&#xd;&#xa;">
<actionScope id="Feature"/>
</actionsetting>
<actionsetting notificationMessage="Meldung" type="1" id="{d4291ae8-f6e0-4b91-aa30-8c3f2954515c}" capture="0" isEnabledOnlyWhenEditable="0" shortTitle="Zoom/Pan zum Objekt" icon="C:/FHAC/hoettges/Kanalprogramme/QKan/qkan/datacheck/jump.png" name="Objekt Aktivieren und Zoom/Pan zum Objekt" action="from qgis.PyQt import QtWidgets&#xa; from qgis.core import Qgis&#xa;&#xa; obj = '[%objname%]'&#xa; attr = '[%attrname%]'&#xa;&#xa; activeproject = QgsProject().instance()&#xa; layername = '[%layername%]'&#xa; clayers = activeproject.mapLayersByName(layername)&#xa; if not clayers:&#xa; QtWidgets.QMessageBox.information(None, &quot;Fehler im Programmcode der Aktion&quot;, f'Layer &quot;{layername}&quot;nicht definiert')&#xa; else:&#xa; clayer = clayers[0]&#xa; clayer.selectByExpression(f&quot;{attr} = '{obj}'&quot;)&#xa; qgis.utils.iface.setActiveLayer(clayer)&#xa; box = clayer.boundingBoxOfSelected()&#xa; canvas = qgis.utils.iface.mapCanvas()&#xa; canvas.zoomToFeatureExtent(box)&#xa; ">
<actionsetting notificationMessage="Meldung" type="1" id="{d4291ae8-f6e0-4b91-aa30-8c3f2954515c}" capture="0" isEnabledOnlyWhenEditable="0" shortTitle="Zoom/Pan zum Objekt" icon="C:/FHAC/hoettges/Kanalprogramme/QKan/qkan/datacheck/jump.png" name="Objekt Aktivieren und Zoom/Pan zum Objekt" action="from qgis.PyQt import QtWidgets&#xa; from qgis.core import Qgis&#xa;&#xa; obj = '[%objname%]'&#xa; attr = '[%attrname%]'&#xa;&#xa; activeproject = QgsProject().instance()&#xa; layername = '[%layername%]'&#xa; clayers = activeproject.mapLayersByName(layername)&#xa; if not clayers:&#xa; QtWidgets.QMessageBox.information(None, &quot;Fehler im Programmcode der Aktion&quot;, f'Layer &quot;{layername}&quot;nicht definiert')&#xa; else:&#xa; clayer = clayers[0]&#xa; clayer.selectByExpression(f&quot;{attr} = '{obj}'&quot;)&#xa; qgis.utils.iface.setActiveLayer(clayer)&#xa; qgis.utils.iface.actionZoomToSelected().trigger()&#xa; ">
<actionScope id="Feature"/>
</actionsetting>
</attributeactions>
Expand Down
16 changes: 8 additions & 8 deletions qkan/tools/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,14 +129,6 @@ def initGui(self) -> None:
parent=self.iface.mainWindow(),
)

icon_help_path = ":/plugins/qkan/tools/res/icon_help.png"
QKan.instance.add_action(
icon_help_path,
text=self.tr("Über QKan"),
callback=self.run_help,
parent=self.iface.mainWindow(),
)

icon_file_path = ":/plugins/qkan/tools/res/icon_filepath.png"
QKan.instance.add_action(
icon_file_path,
Expand All @@ -145,6 +137,14 @@ def initGui(self) -> None:
parent=self.iface.mainWindow(),
)

icon_help_path = ":/plugins/qkan/tools/res/icon_help.png"
QKan.instance.add_action(
icon_help_path,
text=self.tr("Über QKan"),
callback=self.run_help,
parent=self.iface.mainWindow(),
)

def unload(self) -> None:
self.dlgla.close()
self.dlgop.close()
Expand Down
12 changes: 6 additions & 6 deletions qkan/tools/k_layersadapt.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,7 @@ def load_plausiaction(layer):
clayer = clayers[0]
clayer.selectByExpression(f"{attr} = '{obj}'")
qgis.utils.iface.setActiveLayer(clayer)
box = clayer.boundingBoxOfSelected()
canvas = qgis.utils.iface.mapCanvas()
canvas.zoomToFeatureExtent(box)
qgis.utils.iface.actionZoomToSelected().trigger()
"""
acActor = QgsAction(QgsAction.GenericPython, "Objekt Aktivieren und Zoom/Pan zum Objekt", code,
iconPath, False, "Zoom/Pan zum Objekt",
Expand Down Expand Up @@ -338,9 +336,11 @@ def layersadapt(
if layer.name() == 'Plausibilitätsprüfungen':
load_plausisql(dbQK)
logger.debug("Plausibilitätsprüfungen mit Datei 'Plausibilitaetspruefungen.sql' ergänzt.")
elif layer.name() == 'Fehlerliste':
load_plausiaction(layer)
logger.debug("Aktion 'Zoom zum Objekt' für Layer 'Fehlerliste' ergänzt")

# nachfolgende Zeilen sind nicht notwendig, da in Projektdatei schon enthalten:
# elif layer.name() == 'Fehlerliste':
# load_plausiaction(layer)
# logger.debug("Aktion 'Zoom zum Objekt' für Layer 'Fehlerliste' ergänzt")

if anpassen_ProjektMakros:
nodes = qgsxml.findall("properties/Macros")
Expand Down
44 changes: 40 additions & 4 deletions qkan/tools/res/application_filepath.ui
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>dbAdaptDialogBase</class>
<widget class="QDialog" name="dbAdaptDialogBase">
<class>filepathDialogBase</class>
<widget class="QDialog" name="filepathDialogBase">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>526</width>
<height>361</height>
<height>260</height>
</rect>
</property>
<property name="minimumSize">
Expand All @@ -34,6 +34,9 @@
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>6</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="text">
Expand Down Expand Up @@ -129,5 +132,38 @@
</layout>
</widget>
<resources/>
<connections/>
<connections>
<connection>
<sender>button_box</sender>
<signal>accepted()</signal>
<receiver>filepathDialogBase</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>262</x>
<y>339</y>
</hint>
<hint type="destinationlabel">
<x>262</x>
<y>180</y>
</hint>
</hints>
</connection>
<connection>
<sender>button_box</sender>
<signal>rejected()</signal>
<receiver>filepathDialogBase</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>262</x>
<y>339</y>
</hint>
<hint type="destinationlabel">
<x>262</x>
<y>180</y>
</hint>
</hints>
</connection>
</connections>
</ui>
16 changes: 16 additions & 0 deletions qkan/tools/res/application_runoffparams.ui
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,14 @@ berücksichtigen:</string>
<height>251</height>
</rect>
</property>
<property name="font">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Liste der Teilgebiete. Strg + Klick ändert Auswahlstatus, Shift + Klick erweitert Auswahlbereich&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
Expand All @@ -214,6 +222,14 @@ berücksichtigen:</string>
<height>251</height>
</rect>
</property>
<property name="font">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Auswahl Abflussparameter. Strg + Klick ändert Auswahlstatus, Shift + Klick erweitert Auswahlbereich&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
Expand Down
Binary file modified sphinx/build/doctrees/Qkan_Formulare.doctree
Binary file not shown.
Binary file modified sphinx/build/doctrees/Qkan_aufsetzen.doctree
Binary file not shown.
Binary file modified sphinx/build/doctrees/environment.pickle
Binary file not shown.
Binary file modified sphinx/build/doctrees/index.doctree
Binary file not shown.
Loading

0 comments on commit 2a293c3

Please sign in to comment.