Progress Bar und Diff-PDF-Icon im TreeWidget implementiert
Neue Features: - Progress Bar in Spalte 2 während XML-Transformationen - Diff-PDF-Icon erscheint nach Transformation bei vorhandener Diff-PDF - Doppelklick auf Icon öffnet Diff-PDF mit System-Viewer - Initial-Laden von Icons für existierende Diff-PDFs beim Projektstart Technische Implementierung: - XML-Item-Mapping mit eindeutigem Key-Format: "xml_path|xsl_id" - Unterstützt mehrfache Verwendung derselben XML bei verschiedenen XSL-Dateien - TransformationThread-Signale erweitert um XSL-ID-Parameter - Widget-Factory-Methoden für zentrierte Progress Bar und klickbare Icons - Result-Dictionary in transform.py enthält jetzt xsl_id UI-Anpassungen: - TreeWidget Spaltenanzahl von 2 auf 3 erhöht - setItemWidget() für dynamische Widget-Verwaltung in Spalte 2 Dateien: - src/ui/MainWindow.py: Hauptimplementierung mit Signal-Handlern - src/transform.py: xsl_id im Result-Dictionary - src/ui/MainWinddow.ui: Spalte 3 hinzugefügt - src/ui/MainWinddow_ui.py: Auto-generiert aus UI-Datei 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
+19
-9
@@ -34,7 +34,7 @@ class TransformationJob:
|
||||
apache_fop_dir: Path,
|
||||
diff_pdf_path: Path,
|
||||
diff_pdf_params: list[str],
|
||||
xsl_id: tuple | None = None
|
||||
xsl_id: tuple | None = None,
|
||||
):
|
||||
"""
|
||||
Initialisiert einen Transformations-Job.
|
||||
@@ -92,6 +92,7 @@ class TransformationJob:
|
||||
|
||||
# Apache FOP Binaries (plattformabhängig)
|
||||
import sys
|
||||
|
||||
if sys.platform == "win32":
|
||||
self.fop_cmd = self.apache_fop_dir / "fop.cmd"
|
||||
else:
|
||||
@@ -158,11 +159,13 @@ class TransformationJob:
|
||||
|
||||
# Sammle alle JAR-Dateien im Saxon-Verzeichnis für den Classpath
|
||||
import glob
|
||||
|
||||
saxon_dir = self.saxon_jar_path.parent
|
||||
all_jars = glob.glob(str(saxon_dir / "*.jar"))
|
||||
|
||||
# Verwende alle JARs im Classpath (getrennt durch : auf Linux/Mac, ; auf Windows)
|
||||
import sys
|
||||
|
||||
classpath_separator = ";" if sys.platform == "win32" else ":"
|
||||
classpath = classpath_separator.join(all_jars)
|
||||
|
||||
@@ -187,14 +190,16 @@ class TransformationJob:
|
||||
cmd_line,
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=120 # 2 Minuten Timeout
|
||||
timeout=120, # 2 Minuten Timeout
|
||||
)
|
||||
|
||||
if result.returncode == 0:
|
||||
logger.info(f"Saxon-Transformation erfolgreich: {self.xml_file.name}")
|
||||
return True, "Erfolgreich"
|
||||
else:
|
||||
error_msg = f"Saxon-Fehler (Exit {result.returncode}):\nStdOut: {result.stdout}\nStdErr: {result.stderr}"
|
||||
error_msg = (
|
||||
f"Saxon-Fehler (Exit {result.returncode}):\nStdOut: {result.stdout}\nStdErr: {result.stderr}"
|
||||
)
|
||||
logger.error(error_msg)
|
||||
return False, error_msg
|
||||
|
||||
@@ -230,10 +235,13 @@ class TransformationJob:
|
||||
# Apache FOP Kommandozeile
|
||||
cmd_line = [
|
||||
str(self.fop_cmd),
|
||||
"-c", str(self.fop_conf) if self.fop_conf.exists() else "",
|
||||
"-c",
|
||||
str(self.fop_conf) if self.fop_conf.exists() else "",
|
||||
"-r",
|
||||
"-fo", str(self.temp_fo),
|
||||
"-pdf", str(self.new_pdf),
|
||||
"-fo",
|
||||
str(self.temp_fo),
|
||||
"-pdf",
|
||||
str(self.new_pdf),
|
||||
]
|
||||
|
||||
# Entferne leere Config-Parameter wenn fop.xconf nicht existiert
|
||||
@@ -248,7 +256,7 @@ class TransformationJob:
|
||||
cmd_line,
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=180 # 3 Minuten Timeout
|
||||
timeout=180, # 3 Minuten Timeout
|
||||
)
|
||||
|
||||
# Temporäre FO-Datei löschen
|
||||
@@ -264,6 +272,7 @@ class TransformationJob:
|
||||
if not self.ref_pdf.exists():
|
||||
try:
|
||||
import shutil
|
||||
|
||||
shutil.copy2(self.new_pdf, self.ref_pdf)
|
||||
logger.info(f"Ref-PDF erstellt: {self.ref_pdf}")
|
||||
except Exception as e:
|
||||
@@ -320,7 +329,7 @@ class TransformationJob:
|
||||
cmd_compare,
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=60 # 1 Minute Timeout
|
||||
timeout=60, # 1 Minute Timeout
|
||||
)
|
||||
|
||||
if result.returncode == 0:
|
||||
@@ -355,7 +364,7 @@ class TransformationJob:
|
||||
cmd_diff,
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=90 # 1.5 Minuten Timeout
|
||||
timeout=90, # 1.5 Minuten Timeout
|
||||
)
|
||||
|
||||
if result_diff.returncode == 0 or self.diff_pdf.exists():
|
||||
@@ -392,6 +401,7 @@ class TransformationJob:
|
||||
result = {
|
||||
"success": False,
|
||||
"xml_file": str(self.xml_file),
|
||||
"xsl_id": self.xsl_id,
|
||||
"steps": {},
|
||||
"duration": None,
|
||||
"new_pdf": str(self.new_pdf) if self.new_pdf.exists() else None,
|
||||
|
||||
+11
-6
@@ -64,7 +64,7 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="columnCount">
|
||||
<number>2</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<attribute name="headerHighlightSections">
|
||||
<bool>true</bool>
|
||||
@@ -82,6 +82,11 @@
|
||||
<string notr="true">2</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string notr="true">3</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -171,8 +176,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>54</width>
|
||||
<height>718</height>
|
||||
<width>68</width>
|
||||
<height>728</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
@@ -349,8 +354,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>649</width>
|
||||
<height>690</height>
|
||||
<width>625</width>
|
||||
<height>700</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
@@ -396,7 +401,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1263</width>
|
||||
<height>33</height>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="menuProjekt">
|
||||
|
||||
+301
-300
@@ -1,300 +1,301 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
################################################################################
|
||||
## Form generated from reading UI file 'MainWinddow.ui'
|
||||
##
|
||||
## Created by: Qt User Interface Compiler version 6.9.1
|
||||
##
|
||||
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||
################################################################################
|
||||
|
||||
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
|
||||
QMetaObject, QObject, QPoint, QRect,
|
||||
QSize, QTime, QUrl, Qt)
|
||||
from PySide6.QtGui import (QAction, QBrush, QColor, QConicalGradient,
|
||||
QCursor, QFont, QFontDatabase, QGradient,
|
||||
QIcon, QImage, QKeySequence, QLinearGradient,
|
||||
QPainter, QPalette, QPixmap, QRadialGradient,
|
||||
QTransform)
|
||||
from PySide6.QtWidgets import (QApplication, QFrame, QHBoxLayout, QHeaderView,
|
||||
QLabel, QMainWindow, QMenu, QMenuBar,
|
||||
QPushButton, QScrollArea, QSizePolicy, QSlider,
|
||||
QSpacerItem, QSplitter, QStatusBar, QTreeWidget,
|
||||
QTreeWidgetItem, QVBoxLayout, QWidget)
|
||||
|
||||
class Ui_MainWindow(object):
|
||||
def setupUi(self, MainWindow):
|
||||
if not MainWindow.objectName():
|
||||
MainWindow.setObjectName(u"MainWindow")
|
||||
MainWindow.resize(1263, 774)
|
||||
self.actionNeu = QAction(MainWindow)
|
||||
self.actionNeu.setObjectName(u"actionNeu")
|
||||
icon = QIcon(QIcon.fromTheme(u"folder-new"))
|
||||
self.actionNeu.setIcon(icon)
|
||||
self.action_ffnen = QAction(MainWindow)
|
||||
self.action_ffnen.setObjectName(u"action_ffnen")
|
||||
icon1 = QIcon(QIcon.fromTheme(u"folder-open"))
|
||||
self.action_ffnen.setIcon(icon1)
|
||||
self.actionBeenden = QAction(MainWindow)
|
||||
self.actionBeenden.setObjectName(u"actionBeenden")
|
||||
icon2 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.ApplicationExit))
|
||||
self.actionBeenden.setIcon(icon2)
|
||||
self.actionEinstellungen = QAction(MainWindow)
|
||||
self.actionEinstellungen.setObjectName(u"actionEinstellungen")
|
||||
icon3 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.DocumentProperties))
|
||||
self.actionEinstellungen.setIcon(icon3)
|
||||
self.actionVorhandene_Projekte = QAction(MainWindow)
|
||||
self.actionVorhandene_Projekte.setObjectName(u"actionVorhandene_Projekte")
|
||||
self.actionVorhandene_Projekte.setEnabled(False)
|
||||
self.centralwidget = QWidget(MainWindow)
|
||||
self.centralwidget.setObjectName(u"centralwidget")
|
||||
self.horizontalLayout = QHBoxLayout(self.centralwidget)
|
||||
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||
self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
|
||||
self.splitter = QSplitter(self.centralwidget)
|
||||
self.splitter.setObjectName(u"splitter")
|
||||
self.splitter.setOrientation(Qt.Orientation.Horizontal)
|
||||
self.frame = QFrame(self.splitter)
|
||||
self.frame.setObjectName(u"frame")
|
||||
sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth())
|
||||
self.frame.setSizePolicy(sizePolicy)
|
||||
self.frame.setMinimumSize(QSize(200, 0))
|
||||
self.frame.setFrameShape(QFrame.Shape.StyledPanel)
|
||||
self.frame.setFrameShadow(QFrame.Shadow.Raised)
|
||||
self.verticalLayout = QVBoxLayout(self.frame)
|
||||
self.verticalLayout.setObjectName(u"verticalLayout")
|
||||
self.verticalLayout.setContentsMargins(-1, -1, -1, 0)
|
||||
self.treeWidget = QTreeWidget(self.frame)
|
||||
__qtreewidgetitem = QTreeWidgetItem()
|
||||
__qtreewidgetitem.setText(1, u"2");
|
||||
__qtreewidgetitem.setText(0, u"1");
|
||||
self.treeWidget.setHeaderItem(__qtreewidgetitem)
|
||||
self.treeWidget.setObjectName(u"treeWidget")
|
||||
sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
|
||||
sizePolicy1.setHorizontalStretch(0)
|
||||
sizePolicy1.setVerticalStretch(0)
|
||||
sizePolicy1.setHeightForWidth(self.treeWidget.sizePolicy().hasHeightForWidth())
|
||||
self.treeWidget.setSizePolicy(sizePolicy1)
|
||||
self.treeWidget.setColumnCount(2)
|
||||
self.treeWidget.header().setHighlightSections(True)
|
||||
self.treeWidget.header().setStretchLastSection(True)
|
||||
|
||||
self.verticalLayout.addWidget(self.treeWidget)
|
||||
|
||||
self.frame_2 = QFrame(self.frame)
|
||||
self.frame_2.setObjectName(u"frame_2")
|
||||
self.frame_2.setFrameShadow(QFrame.Shadow.Raised)
|
||||
self.horizontalLayout_2 = QHBoxLayout(self.frame_2)
|
||||
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
||||
self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
|
||||
self.pushButton = QPushButton(self.frame_2)
|
||||
self.pushButton.setObjectName(u"pushButton")
|
||||
self.pushButton.setLayoutDirection(Qt.LayoutDirection.LeftToRight)
|
||||
icon4 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.MediaPlaybackStart))
|
||||
self.pushButton.setIcon(icon4)
|
||||
|
||||
self.horizontalLayout_2.addWidget(self.pushButton)
|
||||
|
||||
self.pushButton_2 = QPushButton(self.frame_2)
|
||||
self.pushButton_2.setObjectName(u"pushButton_2")
|
||||
self.pushButton_2.setAutoFillBackground(False)
|
||||
icon5 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.MediaSeekForward))
|
||||
self.pushButton_2.setIcon(icon5)
|
||||
|
||||
self.horizontalLayout_2.addWidget(self.pushButton_2)
|
||||
|
||||
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
||||
|
||||
self.horizontalLayout_2.addItem(self.horizontalSpacer)
|
||||
|
||||
self.pB_lade_aus_fn2 = QPushButton(self.frame_2)
|
||||
self.pB_lade_aus_fn2.setObjectName(u"pB_lade_aus_fn2")
|
||||
icon6 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.GoDown))
|
||||
self.pB_lade_aus_fn2.setIcon(icon6)
|
||||
|
||||
self.horizontalLayout_2.addWidget(self.pB_lade_aus_fn2)
|
||||
|
||||
|
||||
self.verticalLayout.addWidget(self.frame_2)
|
||||
|
||||
self.splitter.addWidget(self.frame)
|
||||
self.scrollArea = QScrollArea(self.splitter)
|
||||
self.scrollArea.setObjectName(u"scrollArea")
|
||||
sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum)
|
||||
sizePolicy2.setHorizontalStretch(0)
|
||||
sizePolicy2.setVerticalStretch(0)
|
||||
sizePolicy2.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth())
|
||||
self.scrollArea.setSizePolicy(sizePolicy2)
|
||||
self.scrollArea.setWidgetResizable(True)
|
||||
self.scrollAreaWidgetContents = QWidget()
|
||||
self.scrollAreaWidgetContents.setObjectName(u"scrollAreaWidgetContents")
|
||||
self.scrollAreaWidgetContents.setGeometry(QRect(0, 0, 54, 718))
|
||||
self.verticalLayout_2 = QVBoxLayout(self.scrollAreaWidgetContents)
|
||||
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
|
||||
self.label = QLabel(self.scrollAreaWidgetContents)
|
||||
self.label.setObjectName(u"label")
|
||||
|
||||
self.verticalLayout_2.addWidget(self.label)
|
||||
|
||||
self.label_2 = QLabel(self.scrollAreaWidgetContents)
|
||||
self.label_2.setObjectName(u"label_2")
|
||||
|
||||
self.verticalLayout_2.addWidget(self.label_2)
|
||||
|
||||
self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
|
||||
|
||||
self.verticalLayout_2.addItem(self.verticalSpacer)
|
||||
|
||||
self.scrollArea.setWidget(self.scrollAreaWidgetContents)
|
||||
self.splitter.addWidget(self.scrollArea)
|
||||
self.frame_3 = QFrame(self.splitter)
|
||||
self.frame_3.setObjectName(u"frame_3")
|
||||
self.frame_3.setFrameShape(QFrame.Shape.NoFrame)
|
||||
self.frame_3.setFrameShadow(QFrame.Shadow.Raised)
|
||||
self.verticalLayout_4 = QVBoxLayout(self.frame_3)
|
||||
self.verticalLayout_4.setObjectName(u"verticalLayout_4")
|
||||
self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
|
||||
self.frame_4 = QFrame(self.frame_3)
|
||||
self.frame_4.setObjectName(u"frame_4")
|
||||
self.frame_4.setFrameShape(QFrame.Shape.StyledPanel)
|
||||
self.frame_4.setFrameShadow(QFrame.Shadow.Raised)
|
||||
self.horizontalLayout_3 = QHBoxLayout(self.frame_4)
|
||||
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
|
||||
self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0)
|
||||
self.horizontalSpacer_4 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
||||
|
||||
self.horizontalLayout_3.addItem(self.horizontalSpacer_4)
|
||||
|
||||
self.label_6 = QLabel(self.frame_4)
|
||||
self.label_6.setObjectName(u"label_6")
|
||||
|
||||
self.horizontalLayout_3.addWidget(self.label_6)
|
||||
|
||||
self.alpha = QSlider(self.frame_4)
|
||||
self.alpha.setObjectName(u"alpha")
|
||||
self.alpha.setMinimum(-100)
|
||||
self.alpha.setMaximum(100)
|
||||
self.alpha.setOrientation(Qt.Orientation.Horizontal)
|
||||
|
||||
self.horizontalLayout_3.addWidget(self.alpha)
|
||||
|
||||
self.label_7 = QLabel(self.frame_4)
|
||||
self.label_7.setObjectName(u"label_7")
|
||||
|
||||
self.horizontalLayout_3.addWidget(self.label_7)
|
||||
|
||||
self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
||||
|
||||
self.horizontalLayout_3.addItem(self.horizontalSpacer_2)
|
||||
|
||||
self.label_5 = QLabel(self.frame_4)
|
||||
self.label_5.setObjectName(u"label_5")
|
||||
|
||||
self.horizontalLayout_3.addWidget(self.label_5)
|
||||
|
||||
self.zoom = QSlider(self.frame_4)
|
||||
self.zoom.setObjectName(u"zoom")
|
||||
self.zoom.setMinimum(25)
|
||||
self.zoom.setMaximum(300)
|
||||
self.zoom.setValue(100)
|
||||
self.zoom.setOrientation(Qt.Orientation.Horizontal)
|
||||
|
||||
self.horizontalLayout_3.addWidget(self.zoom)
|
||||
|
||||
self.horizontalSpacer_5 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
||||
|
||||
self.horizontalLayout_3.addItem(self.horizontalSpacer_5)
|
||||
|
||||
|
||||
self.verticalLayout_4.addWidget(self.frame_4)
|
||||
|
||||
self.scrollArea_2 = QScrollArea(self.frame_3)
|
||||
self.scrollArea_2.setObjectName(u"scrollArea_2")
|
||||
self.scrollArea_2.setWidgetResizable(True)
|
||||
self.scrollAreaWidgetContents_2 = QWidget()
|
||||
self.scrollAreaWidgetContents_2.setObjectName(u"scrollAreaWidgetContents_2")
|
||||
self.scrollAreaWidgetContents_2.setGeometry(QRect(0, 0, 649, 690))
|
||||
self.verticalLayout_3 = QVBoxLayout(self.scrollAreaWidgetContents_2)
|
||||
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
|
||||
self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
|
||||
self.label_3 = QLabel(self.scrollAreaWidgetContents_2)
|
||||
self.label_3.setObjectName(u"label_3")
|
||||
|
||||
self.verticalLayout_3.addWidget(self.label_3)
|
||||
|
||||
self.label_4 = QLabel(self.scrollAreaWidgetContents_2)
|
||||
self.label_4.setObjectName(u"label_4")
|
||||
|
||||
self.verticalLayout_3.addWidget(self.label_4)
|
||||
|
||||
self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2)
|
||||
|
||||
self.verticalLayout_4.addWidget(self.scrollArea_2)
|
||||
|
||||
self.splitter.addWidget(self.frame_3)
|
||||
|
||||
self.horizontalLayout.addWidget(self.splitter)
|
||||
|
||||
MainWindow.setCentralWidget(self.centralwidget)
|
||||
self.menubar = QMenuBar(MainWindow)
|
||||
self.menubar.setObjectName(u"menubar")
|
||||
self.menubar.setGeometry(QRect(0, 0, 1263, 33))
|
||||
self.menuProjekt = QMenu(self.menubar)
|
||||
self.menuProjekt.setObjectName(u"menuProjekt")
|
||||
self.menuThema = QMenu(self.menubar)
|
||||
self.menuThema.setObjectName(u"menuThema")
|
||||
MainWindow.setMenuBar(self.menubar)
|
||||
self.statusbar = QStatusBar(MainWindow)
|
||||
self.statusbar.setObjectName(u"statusbar")
|
||||
MainWindow.setStatusBar(self.statusbar)
|
||||
|
||||
self.menubar.addAction(self.menuProjekt.menuAction())
|
||||
self.menubar.addAction(self.menuThema.menuAction())
|
||||
self.menuProjekt.addAction(self.actionNeu)
|
||||
self.menuProjekt.addAction(self.action_ffnen)
|
||||
self.menuProjekt.addSeparator()
|
||||
self.menuProjekt.addAction(self.actionVorhandene_Projekte)
|
||||
self.menuProjekt.addSeparator()
|
||||
self.menuProjekt.addAction(self.actionEinstellungen)
|
||||
self.menuProjekt.addSeparator()
|
||||
self.menuProjekt.addAction(self.actionBeenden)
|
||||
|
||||
self.retranslateUi(MainWindow)
|
||||
self.actionBeenden.triggered.connect(MainWindow.close)
|
||||
|
||||
QMetaObject.connectSlotsByName(MainWindow)
|
||||
# setupUi
|
||||
|
||||
def retranslateUi(self, MainWindow):
|
||||
MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"DocuMentor", None))
|
||||
self.actionNeu.setText(QCoreApplication.translate("MainWindow", u"Neu ...", None))
|
||||
#if QT_CONFIG(shortcut)
|
||||
self.actionNeu.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+N", None))
|
||||
#endif // QT_CONFIG(shortcut)
|
||||
self.action_ffnen.setText(QCoreApplication.translate("MainWindow", u"\u00d6ffnen ...", None))
|
||||
#if QT_CONFIG(shortcut)
|
||||
self.action_ffnen.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+O", None))
|
||||
#endif // QT_CONFIG(shortcut)
|
||||
self.actionBeenden.setText(QCoreApplication.translate("MainWindow", u"Beenden", None))
|
||||
self.actionEinstellungen.setText(QCoreApplication.translate("MainWindow", u"Einstellungen ...", None))
|
||||
#if QT_CONFIG(shortcut)
|
||||
self.actionEinstellungen.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+S", None))
|
||||
#endif // QT_CONFIG(shortcut)
|
||||
self.actionVorhandene_Projekte.setText(QCoreApplication.translate("MainWindow", u"Vorhandene Projekte", None))
|
||||
self.pushButton.setText(QCoreApplication.translate("MainWindow", u"nur ge\u00e4nderte generieren", None))
|
||||
self.pushButton_2.setText(QCoreApplication.translate("MainWindow", u"Alle generieren", None))
|
||||
self.pB_lade_aus_fn2.setText(QCoreApplication.translate("MainWindow", u"lade aus FN2", None))
|
||||
self.label.setText("")
|
||||
self.label_2.setText("")
|
||||
self.label_6.setText(QCoreApplication.translate("MainWindow", u"Vorher (Referenz)", None))
|
||||
self.label_7.setText(QCoreApplication.translate("MainWindow", u"Nachher (Neu)", None))
|
||||
self.label_5.setText(QCoreApplication.translate("MainWindow", u"Zoom", None))
|
||||
self.label_3.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None))
|
||||
self.label_4.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None))
|
||||
self.menuProjekt.setTitle(QCoreApplication.translate("MainWindow", u"Projekt", None))
|
||||
self.menuThema.setTitle(QCoreApplication.translate("MainWindow", u"Thema", None))
|
||||
# retranslateUi
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
################################################################################
|
||||
## Form generated from reading UI file 'MainWinddow.ui'
|
||||
##
|
||||
## Created by: Qt User Interface Compiler version 6.9.2
|
||||
##
|
||||
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||
################################################################################
|
||||
|
||||
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
|
||||
QMetaObject, QObject, QPoint, QRect,
|
||||
QSize, QTime, QUrl, Qt)
|
||||
from PySide6.QtGui import (QAction, QBrush, QColor, QConicalGradient,
|
||||
QCursor, QFont, QFontDatabase, QGradient,
|
||||
QIcon, QImage, QKeySequence, QLinearGradient,
|
||||
QPainter, QPalette, QPixmap, QRadialGradient,
|
||||
QTransform)
|
||||
from PySide6.QtWidgets import (QApplication, QFrame, QHBoxLayout, QHeaderView,
|
||||
QLabel, QMainWindow, QMenu, QMenuBar,
|
||||
QPushButton, QScrollArea, QSizePolicy, QSlider,
|
||||
QSpacerItem, QSplitter, QStatusBar, QTreeWidget,
|
||||
QTreeWidgetItem, QVBoxLayout, QWidget)
|
||||
|
||||
class Ui_MainWindow(object):
|
||||
def setupUi(self, MainWindow):
|
||||
if not MainWindow.objectName():
|
||||
MainWindow.setObjectName(u"MainWindow")
|
||||
MainWindow.resize(1263, 774)
|
||||
self.actionNeu = QAction(MainWindow)
|
||||
self.actionNeu.setObjectName(u"actionNeu")
|
||||
icon = QIcon(QIcon.fromTheme(u"folder-new"))
|
||||
self.actionNeu.setIcon(icon)
|
||||
self.action_ffnen = QAction(MainWindow)
|
||||
self.action_ffnen.setObjectName(u"action_ffnen")
|
||||
icon1 = QIcon(QIcon.fromTheme(u"folder-open"))
|
||||
self.action_ffnen.setIcon(icon1)
|
||||
self.actionBeenden = QAction(MainWindow)
|
||||
self.actionBeenden.setObjectName(u"actionBeenden")
|
||||
icon2 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.ApplicationExit))
|
||||
self.actionBeenden.setIcon(icon2)
|
||||
self.actionEinstellungen = QAction(MainWindow)
|
||||
self.actionEinstellungen.setObjectName(u"actionEinstellungen")
|
||||
icon3 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.DocumentProperties))
|
||||
self.actionEinstellungen.setIcon(icon3)
|
||||
self.actionVorhandene_Projekte = QAction(MainWindow)
|
||||
self.actionVorhandene_Projekte.setObjectName(u"actionVorhandene_Projekte")
|
||||
self.actionVorhandene_Projekte.setEnabled(False)
|
||||
self.centralwidget = QWidget(MainWindow)
|
||||
self.centralwidget.setObjectName(u"centralwidget")
|
||||
self.horizontalLayout = QHBoxLayout(self.centralwidget)
|
||||
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||
self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
|
||||
self.splitter = QSplitter(self.centralwidget)
|
||||
self.splitter.setObjectName(u"splitter")
|
||||
self.splitter.setOrientation(Qt.Orientation.Horizontal)
|
||||
self.frame = QFrame(self.splitter)
|
||||
self.frame.setObjectName(u"frame")
|
||||
sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth())
|
||||
self.frame.setSizePolicy(sizePolicy)
|
||||
self.frame.setMinimumSize(QSize(200, 0))
|
||||
self.frame.setFrameShape(QFrame.Shape.StyledPanel)
|
||||
self.frame.setFrameShadow(QFrame.Shadow.Raised)
|
||||
self.verticalLayout = QVBoxLayout(self.frame)
|
||||
self.verticalLayout.setObjectName(u"verticalLayout")
|
||||
self.verticalLayout.setContentsMargins(-1, -1, -1, 0)
|
||||
self.treeWidget = QTreeWidget(self.frame)
|
||||
__qtreewidgetitem = QTreeWidgetItem()
|
||||
__qtreewidgetitem.setText(2, u"3");
|
||||
__qtreewidgetitem.setText(1, u"2");
|
||||
__qtreewidgetitem.setText(0, u"1");
|
||||
self.treeWidget.setHeaderItem(__qtreewidgetitem)
|
||||
self.treeWidget.setObjectName(u"treeWidget")
|
||||
sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
|
||||
sizePolicy1.setHorizontalStretch(0)
|
||||
sizePolicy1.setVerticalStretch(0)
|
||||
sizePolicy1.setHeightForWidth(self.treeWidget.sizePolicy().hasHeightForWidth())
|
||||
self.treeWidget.setSizePolicy(sizePolicy1)
|
||||
self.treeWidget.setColumnCount(3)
|
||||
self.treeWidget.header().setHighlightSections(True)
|
||||
self.treeWidget.header().setStretchLastSection(True)
|
||||
|
||||
self.verticalLayout.addWidget(self.treeWidget)
|
||||
|
||||
self.frame_2 = QFrame(self.frame)
|
||||
self.frame_2.setObjectName(u"frame_2")
|
||||
self.frame_2.setFrameShadow(QFrame.Shadow.Raised)
|
||||
self.horizontalLayout_2 = QHBoxLayout(self.frame_2)
|
||||
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
||||
self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
|
||||
self.pushButton = QPushButton(self.frame_2)
|
||||
self.pushButton.setObjectName(u"pushButton")
|
||||
self.pushButton.setLayoutDirection(Qt.LayoutDirection.LeftToRight)
|
||||
icon4 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.MediaPlaybackStart))
|
||||
self.pushButton.setIcon(icon4)
|
||||
|
||||
self.horizontalLayout_2.addWidget(self.pushButton)
|
||||
|
||||
self.pushButton_2 = QPushButton(self.frame_2)
|
||||
self.pushButton_2.setObjectName(u"pushButton_2")
|
||||
self.pushButton_2.setAutoFillBackground(False)
|
||||
icon5 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.MediaSeekForward))
|
||||
self.pushButton_2.setIcon(icon5)
|
||||
|
||||
self.horizontalLayout_2.addWidget(self.pushButton_2)
|
||||
|
||||
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
||||
|
||||
self.horizontalLayout_2.addItem(self.horizontalSpacer)
|
||||
|
||||
self.pB_lade_aus_fn2 = QPushButton(self.frame_2)
|
||||
self.pB_lade_aus_fn2.setObjectName(u"pB_lade_aus_fn2")
|
||||
icon6 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.GoDown))
|
||||
self.pB_lade_aus_fn2.setIcon(icon6)
|
||||
|
||||
self.horizontalLayout_2.addWidget(self.pB_lade_aus_fn2)
|
||||
|
||||
|
||||
self.verticalLayout.addWidget(self.frame_2)
|
||||
|
||||
self.splitter.addWidget(self.frame)
|
||||
self.scrollArea = QScrollArea(self.splitter)
|
||||
self.scrollArea.setObjectName(u"scrollArea")
|
||||
sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum)
|
||||
sizePolicy2.setHorizontalStretch(0)
|
||||
sizePolicy2.setVerticalStretch(0)
|
||||
sizePolicy2.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth())
|
||||
self.scrollArea.setSizePolicy(sizePolicy2)
|
||||
self.scrollArea.setWidgetResizable(True)
|
||||
self.scrollAreaWidgetContents = QWidget()
|
||||
self.scrollAreaWidgetContents.setObjectName(u"scrollAreaWidgetContents")
|
||||
self.scrollAreaWidgetContents.setGeometry(QRect(0, 0, 68, 728))
|
||||
self.verticalLayout_2 = QVBoxLayout(self.scrollAreaWidgetContents)
|
||||
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
|
||||
self.label = QLabel(self.scrollAreaWidgetContents)
|
||||
self.label.setObjectName(u"label")
|
||||
|
||||
self.verticalLayout_2.addWidget(self.label)
|
||||
|
||||
self.label_2 = QLabel(self.scrollAreaWidgetContents)
|
||||
self.label_2.setObjectName(u"label_2")
|
||||
|
||||
self.verticalLayout_2.addWidget(self.label_2)
|
||||
|
||||
self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
|
||||
|
||||
self.verticalLayout_2.addItem(self.verticalSpacer)
|
||||
|
||||
self.scrollArea.setWidget(self.scrollAreaWidgetContents)
|
||||
self.splitter.addWidget(self.scrollArea)
|
||||
self.frame_3 = QFrame(self.splitter)
|
||||
self.frame_3.setObjectName(u"frame_3")
|
||||
self.frame_3.setFrameShape(QFrame.Shape.NoFrame)
|
||||
self.frame_3.setFrameShadow(QFrame.Shadow.Raised)
|
||||
self.verticalLayout_4 = QVBoxLayout(self.frame_3)
|
||||
self.verticalLayout_4.setObjectName(u"verticalLayout_4")
|
||||
self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
|
||||
self.frame_4 = QFrame(self.frame_3)
|
||||
self.frame_4.setObjectName(u"frame_4")
|
||||
self.frame_4.setFrameShape(QFrame.Shape.StyledPanel)
|
||||
self.frame_4.setFrameShadow(QFrame.Shadow.Raised)
|
||||
self.horizontalLayout_3 = QHBoxLayout(self.frame_4)
|
||||
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
|
||||
self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0)
|
||||
self.horizontalSpacer_4 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
||||
|
||||
self.horizontalLayout_3.addItem(self.horizontalSpacer_4)
|
||||
|
||||
self.label_6 = QLabel(self.frame_4)
|
||||
self.label_6.setObjectName(u"label_6")
|
||||
|
||||
self.horizontalLayout_3.addWidget(self.label_6)
|
||||
|
||||
self.alpha = QSlider(self.frame_4)
|
||||
self.alpha.setObjectName(u"alpha")
|
||||
self.alpha.setMinimum(-100)
|
||||
self.alpha.setMaximum(100)
|
||||
self.alpha.setOrientation(Qt.Orientation.Horizontal)
|
||||
|
||||
self.horizontalLayout_3.addWidget(self.alpha)
|
||||
|
||||
self.label_7 = QLabel(self.frame_4)
|
||||
self.label_7.setObjectName(u"label_7")
|
||||
|
||||
self.horizontalLayout_3.addWidget(self.label_7)
|
||||
|
||||
self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
||||
|
||||
self.horizontalLayout_3.addItem(self.horizontalSpacer_2)
|
||||
|
||||
self.label_5 = QLabel(self.frame_4)
|
||||
self.label_5.setObjectName(u"label_5")
|
||||
|
||||
self.horizontalLayout_3.addWidget(self.label_5)
|
||||
|
||||
self.zoom = QSlider(self.frame_4)
|
||||
self.zoom.setObjectName(u"zoom")
|
||||
self.zoom.setMinimum(25)
|
||||
self.zoom.setMaximum(300)
|
||||
self.zoom.setValue(100)
|
||||
self.zoom.setOrientation(Qt.Orientation.Horizontal)
|
||||
|
||||
self.horizontalLayout_3.addWidget(self.zoom)
|
||||
|
||||
self.horizontalSpacer_5 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
||||
|
||||
self.horizontalLayout_3.addItem(self.horizontalSpacer_5)
|
||||
|
||||
|
||||
self.verticalLayout_4.addWidget(self.frame_4)
|
||||
|
||||
self.scrollArea_2 = QScrollArea(self.frame_3)
|
||||
self.scrollArea_2.setObjectName(u"scrollArea_2")
|
||||
self.scrollArea_2.setWidgetResizable(True)
|
||||
self.scrollAreaWidgetContents_2 = QWidget()
|
||||
self.scrollAreaWidgetContents_2.setObjectName(u"scrollAreaWidgetContents_2")
|
||||
self.scrollAreaWidgetContents_2.setGeometry(QRect(0, 0, 625, 700))
|
||||
self.verticalLayout_3 = QVBoxLayout(self.scrollAreaWidgetContents_2)
|
||||
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
|
||||
self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
|
||||
self.label_3 = QLabel(self.scrollAreaWidgetContents_2)
|
||||
self.label_3.setObjectName(u"label_3")
|
||||
|
||||
self.verticalLayout_3.addWidget(self.label_3)
|
||||
|
||||
self.label_4 = QLabel(self.scrollAreaWidgetContents_2)
|
||||
self.label_4.setObjectName(u"label_4")
|
||||
|
||||
self.verticalLayout_3.addWidget(self.label_4)
|
||||
|
||||
self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2)
|
||||
|
||||
self.verticalLayout_4.addWidget(self.scrollArea_2)
|
||||
|
||||
self.splitter.addWidget(self.frame_3)
|
||||
|
||||
self.horizontalLayout.addWidget(self.splitter)
|
||||
|
||||
MainWindow.setCentralWidget(self.centralwidget)
|
||||
self.menubar = QMenuBar(MainWindow)
|
||||
self.menubar.setObjectName(u"menubar")
|
||||
self.menubar.setGeometry(QRect(0, 0, 1263, 22))
|
||||
self.menuProjekt = QMenu(self.menubar)
|
||||
self.menuProjekt.setObjectName(u"menuProjekt")
|
||||
self.menuThema = QMenu(self.menubar)
|
||||
self.menuThema.setObjectName(u"menuThema")
|
||||
MainWindow.setMenuBar(self.menubar)
|
||||
self.statusbar = QStatusBar(MainWindow)
|
||||
self.statusbar.setObjectName(u"statusbar")
|
||||
MainWindow.setStatusBar(self.statusbar)
|
||||
|
||||
self.menubar.addAction(self.menuProjekt.menuAction())
|
||||
self.menubar.addAction(self.menuThema.menuAction())
|
||||
self.menuProjekt.addAction(self.actionNeu)
|
||||
self.menuProjekt.addAction(self.action_ffnen)
|
||||
self.menuProjekt.addSeparator()
|
||||
self.menuProjekt.addAction(self.actionVorhandene_Projekte)
|
||||
self.menuProjekt.addSeparator()
|
||||
self.menuProjekt.addAction(self.actionEinstellungen)
|
||||
self.menuProjekt.addSeparator()
|
||||
self.menuProjekt.addAction(self.actionBeenden)
|
||||
|
||||
self.retranslateUi(MainWindow)
|
||||
self.actionBeenden.triggered.connect(MainWindow.close)
|
||||
|
||||
QMetaObject.connectSlotsByName(MainWindow)
|
||||
# setupUi
|
||||
|
||||
def retranslateUi(self, MainWindow):
|
||||
MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"DocuMentor", None))
|
||||
self.actionNeu.setText(QCoreApplication.translate("MainWindow", u"Neu ...", None))
|
||||
#if QT_CONFIG(shortcut)
|
||||
self.actionNeu.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+N", None))
|
||||
#endif // QT_CONFIG(shortcut)
|
||||
self.action_ffnen.setText(QCoreApplication.translate("MainWindow", u"\u00d6ffnen ...", None))
|
||||
#if QT_CONFIG(shortcut)
|
||||
self.action_ffnen.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+O", None))
|
||||
#endif // QT_CONFIG(shortcut)
|
||||
self.actionBeenden.setText(QCoreApplication.translate("MainWindow", u"Beenden", None))
|
||||
self.actionEinstellungen.setText(QCoreApplication.translate("MainWindow", u"Einstellungen ...", None))
|
||||
#if QT_CONFIG(shortcut)
|
||||
self.actionEinstellungen.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+S", None))
|
||||
#endif // QT_CONFIG(shortcut)
|
||||
self.actionVorhandene_Projekte.setText(QCoreApplication.translate("MainWindow", u"Vorhandene Projekte", None))
|
||||
self.pushButton.setText(QCoreApplication.translate("MainWindow", u"nur ge\u00e4nderte generieren", None))
|
||||
self.pushButton_2.setText(QCoreApplication.translate("MainWindow", u"Alle generieren", None))
|
||||
self.pB_lade_aus_fn2.setText(QCoreApplication.translate("MainWindow", u"lade aus FN2", None))
|
||||
self.label.setText("")
|
||||
self.label_2.setText("")
|
||||
self.label_6.setText(QCoreApplication.translate("MainWindow", u"Vorher (Referenz)", None))
|
||||
self.label_7.setText(QCoreApplication.translate("MainWindow", u"Nachher (Neu)", None))
|
||||
self.label_5.setText(QCoreApplication.translate("MainWindow", u"Zoom", None))
|
||||
self.label_3.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None))
|
||||
self.label_4.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None))
|
||||
self.menuProjekt.setTitle(QCoreApplication.translate("MainWindow", u"Projekt", None))
|
||||
self.menuThema.setTitle(QCoreApplication.translate("MainWindow", u"Thema", None))
|
||||
# retranslateUi
|
||||
|
||||
|
||||
+753
-523
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user