Baufreigabe-Layout fix auf A3/A4

This commit is contained in:
2026-04-10 23:26:58 +02:00
parent 0900c6d3b0
commit 7ad8ba054f
3 changed files with 169 additions and 67 deletions
+35
View File
@@ -48,6 +48,7 @@ MASSSTAB_VAR = "tab_b_massstab"
THEMA_VAR = "tab_b_thema"
ZIELGROESSE_UI_VAR = "tab_b_zielgroesse"
FORMFAKTOR_UI_VAR = "tab_b_formfaktor"
ATLAS_ERZEUGEN_VAR = "tab_b_atlas_erzeugen"
DRUCKBEREICH_OPTIONEN = [
DRUCKBEREICH_VERFAHRENSGEBIET,
DRUCKBEREICH_AKTUELLE_AUSWAHL,
@@ -77,6 +78,7 @@ class PrintTab(QWidget):
self._btn_vorlage_erstellen: Optional[Any] = None
self._atlas_layer_combo: Optional[Any] = None
self._btn_auswahl_as_atlas: Optional[Any] = None
self._atlas_erzeugen_cb: Optional[Any] = None
self._atlas_button: Optional[Any] = None
self._atlas_content: Optional[Any] = None
@@ -218,6 +220,12 @@ class PrintTab(QWidget):
atlas_layout.setSpacing(4)
atlas_layout.setContentsMargins(10, 4, 4, 4)
atlas_erzeugen_cb = QCheckBox("Atlas erzeugen", self)
atlas_erzeugen_cb.setChecked(True)
atlas_erzeugen_cb.stateChanged.connect(self._on_atlas_erzeugen_changed)
self._atlas_erzeugen_cb = atlas_erzeugen_cb
atlas_layout.addWidget(atlas_erzeugen_cb)
atlas_layer_label = QLabel("Abdeckungslayer", self)
atlas_layout.addWidget(atlas_layer_label)
@@ -305,6 +313,18 @@ class PrintTab(QWidget):
druckpuffer_cm = DRUCKPUFFER_STANDARD_CM
self._druckpuffer_button.setText(self._format_druckpuffer_label(max(0, druckpuffer_cm)))
if self._atlas_erzeugen_cb:
atlas_raw = get_variable(ATLAS_ERZEUGEN_VAR, scope="project")
atlas_checked = True if atlas_raw in (None, "") else str(atlas_raw).strip().lower() in {
"1",
"true",
"ja",
"yes",
"on",
}
self._atlas_erzeugen_cb.setChecked(atlas_checked)
self._on_atlas_erzeugen_changed(1 if atlas_checked else 0)
self._restore_atlas_layer_selection()
def _on_kartenname_changed(self, value: str) -> None:
@@ -350,6 +370,21 @@ class PrintTab(QWidget):
if value == DRUCKBEREICH_RECHTECK:
self.logic.activate_druckrechteck_capture()
def _on_atlas_erzeugen_changed(self, state: int) -> None:
enabled = bool(state)
set_variable(ATLAS_ERZEUGEN_VAR, "1" if enabled else "0", scope="project")
if self._atlas_layer_combo:
set_enabled = getattr(self._atlas_layer_combo, "setEnabled", None)
if callable(set_enabled):
try:
set_enabled(enabled)
except Exception:
pass
if self._btn_auswahl_as_atlas:
self._btn_auswahl_as_atlas.setEnabled(enabled)
def _on_druckpuffer_clicked(self) -> None:
if not self.pruefmanager:
return