Die Werte der PdfProjects werden in Tabelle eingetragen
This commit is contained in:
+23
-5
@@ -34,6 +34,7 @@ class AppSettingsDlg(QDialog):
|
||||
self.temp_saxon_jars = self.settings.saxon_jars.copy()
|
||||
self.temp_apache_fops = self.settings.apache_fops.copy()
|
||||
self.temp_xsl_dirs = self.settings.xsl_dirs.copy()
|
||||
self.temp_pdf_projects = self.settings.pdf_projects.copy()
|
||||
|
||||
# Signale verbinden
|
||||
self._connect_signals()
|
||||
@@ -69,6 +70,11 @@ class AppSettingsDlg(QDialog):
|
||||
self.ui.removeDiffPdf.clicked.connect(self._remove_diff_pdf)
|
||||
self.ui.tableDiffPdfs.itemSelectionChanged.connect(self._update_diff_pdf_buttons)
|
||||
|
||||
# PDF-Projekte Tab
|
||||
self.ui.removeProject.clicked.connect(self._add_pdf_project)
|
||||
self.ui.addProject.clicked.connect(self._remove_pdf_project)
|
||||
self.ui.tablePdfProjects.itemSelectionChanged.connect(self._update_pdf_project_buttons)
|
||||
|
||||
def _setup_tables(self):
|
||||
"""Richtet die Tabellen-Header ein und macht sie unveränderbar."""
|
||||
from PySide6.QtWidgets import QAbstractItemView
|
||||
@@ -98,6 +104,11 @@ class AppSettingsDlg(QDialog):
|
||||
self.ui.tableDiffPdfs.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
|
||||
self.ui.tableDiffPdfs.doubleClicked.connect(self._edit_diff_pdf)
|
||||
|
||||
# PDF-Projekte Tabelle
|
||||
self.ui.tablePdfProjects.setHorizontalHeaderLabels(["Name", "Projekt-Ordner", "XSL-Ordner", "Java-VM", "Saxon", "Apache FOP", "Diff-PDF", ""])
|
||||
self.ui.tablePdfProjects.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
|
||||
self.ui.tablePdfProjects.doubleClicked.connect(self._edit_pdf_project)
|
||||
|
||||
def _populate_tables(self):
|
||||
"""Füllt alle Tabellen mit den aktuellen Einstellungen."""
|
||||
self._populate_xsl_table()
|
||||
@@ -105,6 +116,7 @@ class AppSettingsDlg(QDialog):
|
||||
self._populate_saxon_table()
|
||||
self._populate_apache_fop_table()
|
||||
self._populate_diff_pdf_table()
|
||||
self._populate_pdf_project_table()
|
||||
|
||||
def _populate_xsl_table(self):
|
||||
"""Füllt die XSL-Ordner Tabelle."""
|
||||
@@ -152,10 +164,16 @@ class AppSettingsDlg(QDialog):
|
||||
|
||||
def _populate_pdf_project_table(self):
|
||||
"""Füllt die PDF-Projekte Tabelle."""
|
||||
self.ui.tablePdfProjekts.setRowCount(len(self.temp_pdf_projects))
|
||||
self.ui.tablePdfProjects.setRowCount(len(self.temp_pdf_projects))
|
||||
for row, pdf_project in enumerate(self.temp_pdf_projects):
|
||||
self.ui.tablePdfProjekts.setItem(row, 0, QTableWidgetItem(pdf_project.name))
|
||||
self.ui.tablePdfProjekts.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.ResizeToContents)
|
||||
self.ui.tablePdfProjects.setItem(row, 0, QTableWidgetItem(pdf_project.name))
|
||||
self.ui.tablePdfProjects.setItem(row, 1, QTableWidgetItem(str(pdf_project.project_dir)))
|
||||
self.ui.tablePdfProjects.setItem(row, 2, QTableWidgetItem(pdf_project.getXsl()))
|
||||
self.ui.tablePdfProjects.setItem(row, 3, QTableWidgetItem(pdf_project.getJavaVm()))
|
||||
self.ui.tablePdfProjects.setItem(row, 4, QTableWidgetItem(pdf_project.getSaxon()))
|
||||
self.ui.tablePdfProjects.setItem(row, 5, QTableWidgetItem(pdf_project.getApacheFop()))
|
||||
self.ui.tablePdfProjects.setItem(row, 6, QTableWidgetItem(pdf_project.getDiffPdf()))
|
||||
self.ui.tablePdfProjects.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.ResizeToContents)
|
||||
|
||||
# XSL-Ordner Methoden
|
||||
def _add_xsl_dir(self):
|
||||
@@ -442,7 +460,7 @@ class AppSettingsDlg(QDialog):
|
||||
|
||||
def _remove_pdf_project(self):
|
||||
"""Entfernt das ausgewählte PDF-Projekt."""
|
||||
current_row = self.ui.tablePdfProjekts.currentRow()
|
||||
current_row = self.ui.tablePdfProjects.currentRow()
|
||||
if current_row >= 0:
|
||||
del self.temp_pdf_projects[current_row]
|
||||
self._populate_pdf_project_table()
|
||||
@@ -450,7 +468,7 @@ class AppSettingsDlg(QDialog):
|
||||
|
||||
def _update_pdf_project_buttons(self):
|
||||
"""Aktualisiert den Status der PDF-Projekt-Buttons."""
|
||||
has_selection = self.ui.tablePdfProjekts.currentRow() >= 0
|
||||
has_selection = self.ui.tablePdfProjects.currentRow() >= 0
|
||||
self.ui.removeProject.setEnabled(has_selection)
|
||||
|
||||
def _edit_pdf_project(self, index):
|
||||
|
||||
Reference in New Issue
Block a user