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,
|
apache_fop_dir: Path,
|
||||||
diff_pdf_path: Path,
|
diff_pdf_path: Path,
|
||||||
diff_pdf_params: list[str],
|
diff_pdf_params: list[str],
|
||||||
xsl_id: tuple | None = None
|
xsl_id: tuple | None = None,
|
||||||
):
|
):
|
||||||
"""
|
"""
|
||||||
Initialisiert einen Transformations-Job.
|
Initialisiert einen Transformations-Job.
|
||||||
@@ -92,6 +92,7 @@ class TransformationJob:
|
|||||||
|
|
||||||
# Apache FOP Binaries (plattformabhängig)
|
# Apache FOP Binaries (plattformabhängig)
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
if sys.platform == "win32":
|
if sys.platform == "win32":
|
||||||
self.fop_cmd = self.apache_fop_dir / "fop.cmd"
|
self.fop_cmd = self.apache_fop_dir / "fop.cmd"
|
||||||
else:
|
else:
|
||||||
@@ -158,11 +159,13 @@ class TransformationJob:
|
|||||||
|
|
||||||
# Sammle alle JAR-Dateien im Saxon-Verzeichnis für den Classpath
|
# Sammle alle JAR-Dateien im Saxon-Verzeichnis für den Classpath
|
||||||
import glob
|
import glob
|
||||||
|
|
||||||
saxon_dir = self.saxon_jar_path.parent
|
saxon_dir = self.saxon_jar_path.parent
|
||||||
all_jars = glob.glob(str(saxon_dir / "*.jar"))
|
all_jars = glob.glob(str(saxon_dir / "*.jar"))
|
||||||
|
|
||||||
# Verwende alle JARs im Classpath (getrennt durch : auf Linux/Mac, ; auf Windows)
|
# Verwende alle JARs im Classpath (getrennt durch : auf Linux/Mac, ; auf Windows)
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
classpath_separator = ";" if sys.platform == "win32" else ":"
|
classpath_separator = ";" if sys.platform == "win32" else ":"
|
||||||
classpath = classpath_separator.join(all_jars)
|
classpath = classpath_separator.join(all_jars)
|
||||||
|
|
||||||
@@ -187,14 +190,16 @@ class TransformationJob:
|
|||||||
cmd_line,
|
cmd_line,
|
||||||
capture_output=True,
|
capture_output=True,
|
||||||
text=True,
|
text=True,
|
||||||
timeout=120 # 2 Minuten Timeout
|
timeout=120, # 2 Minuten Timeout
|
||||||
)
|
)
|
||||||
|
|
||||||
if result.returncode == 0:
|
if result.returncode == 0:
|
||||||
logger.info(f"Saxon-Transformation erfolgreich: {self.xml_file.name}")
|
logger.info(f"Saxon-Transformation erfolgreich: {self.xml_file.name}")
|
||||||
return True, "Erfolgreich"
|
return True, "Erfolgreich"
|
||||||
else:
|
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)
|
logger.error(error_msg)
|
||||||
return False, error_msg
|
return False, error_msg
|
||||||
|
|
||||||
@@ -230,10 +235,13 @@ class TransformationJob:
|
|||||||
# Apache FOP Kommandozeile
|
# Apache FOP Kommandozeile
|
||||||
cmd_line = [
|
cmd_line = [
|
||||||
str(self.fop_cmd),
|
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",
|
"-r",
|
||||||
"-fo", str(self.temp_fo),
|
"-fo",
|
||||||
"-pdf", str(self.new_pdf),
|
str(self.temp_fo),
|
||||||
|
"-pdf",
|
||||||
|
str(self.new_pdf),
|
||||||
]
|
]
|
||||||
|
|
||||||
# Entferne leere Config-Parameter wenn fop.xconf nicht existiert
|
# Entferne leere Config-Parameter wenn fop.xconf nicht existiert
|
||||||
@@ -248,7 +256,7 @@ class TransformationJob:
|
|||||||
cmd_line,
|
cmd_line,
|
||||||
capture_output=True,
|
capture_output=True,
|
||||||
text=True,
|
text=True,
|
||||||
timeout=180 # 3 Minuten Timeout
|
timeout=180, # 3 Minuten Timeout
|
||||||
)
|
)
|
||||||
|
|
||||||
# Temporäre FO-Datei löschen
|
# Temporäre FO-Datei löschen
|
||||||
@@ -264,6 +272,7 @@ class TransformationJob:
|
|||||||
if not self.ref_pdf.exists():
|
if not self.ref_pdf.exists():
|
||||||
try:
|
try:
|
||||||
import shutil
|
import shutil
|
||||||
|
|
||||||
shutil.copy2(self.new_pdf, self.ref_pdf)
|
shutil.copy2(self.new_pdf, self.ref_pdf)
|
||||||
logger.info(f"Ref-PDF erstellt: {self.ref_pdf}")
|
logger.info(f"Ref-PDF erstellt: {self.ref_pdf}")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@@ -320,7 +329,7 @@ class TransformationJob:
|
|||||||
cmd_compare,
|
cmd_compare,
|
||||||
capture_output=True,
|
capture_output=True,
|
||||||
text=True,
|
text=True,
|
||||||
timeout=60 # 1 Minute Timeout
|
timeout=60, # 1 Minute Timeout
|
||||||
)
|
)
|
||||||
|
|
||||||
if result.returncode == 0:
|
if result.returncode == 0:
|
||||||
@@ -355,7 +364,7 @@ class TransformationJob:
|
|||||||
cmd_diff,
|
cmd_diff,
|
||||||
capture_output=True,
|
capture_output=True,
|
||||||
text=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():
|
if result_diff.returncode == 0 or self.diff_pdf.exists():
|
||||||
@@ -392,6 +401,7 @@ class TransformationJob:
|
|||||||
result = {
|
result = {
|
||||||
"success": False,
|
"success": False,
|
||||||
"xml_file": str(self.xml_file),
|
"xml_file": str(self.xml_file),
|
||||||
|
"xsl_id": self.xsl_id,
|
||||||
"steps": {},
|
"steps": {},
|
||||||
"duration": None,
|
"duration": None,
|
||||||
"new_pdf": str(self.new_pdf) if self.new_pdf.exists() else None,
|
"new_pdf": str(self.new_pdf) if self.new_pdf.exists() else None,
|
||||||
|
|||||||
+11
-6
@@ -64,7 +64,7 @@
|
|||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="columnCount">
|
<property name="columnCount">
|
||||||
<number>2</number>
|
<number>3</number>
|
||||||
</property>
|
</property>
|
||||||
<attribute name="headerHighlightSections">
|
<attribute name="headerHighlightSections">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
@@ -82,6 +82,11 @@
|
|||||||
<string notr="true">2</string>
|
<string notr="true">2</string>
|
||||||
</property>
|
</property>
|
||||||
</column>
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">3</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
@@ -171,8 +176,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>54</width>
|
<width>68</width>
|
||||||
<height>718</height>
|
<height>728</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
@@ -349,8 +354,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>649</width>
|
<width>625</width>
|
||||||
<height>690</height>
|
<height>700</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
@@ -396,7 +401,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>1263</width>
|
<width>1263</width>
|
||||||
<height>33</height>
|
<height>22</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QMenu" name="menuProjekt">
|
<widget class="QMenu" name="menuProjekt">
|
||||||
|
|||||||
+301
-300
@@ -1,300 +1,301 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
## Form generated from reading UI file 'MainWinddow.ui'
|
## Form generated from reading UI file 'MainWinddow.ui'
|
||||||
##
|
##
|
||||||
## Created by: Qt User Interface Compiler version 6.9.1
|
## Created by: Qt User Interface Compiler version 6.9.2
|
||||||
##
|
##
|
||||||
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
|
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
|
||||||
QMetaObject, QObject, QPoint, QRect,
|
QMetaObject, QObject, QPoint, QRect,
|
||||||
QSize, QTime, QUrl, Qt)
|
QSize, QTime, QUrl, Qt)
|
||||||
from PySide6.QtGui import (QAction, QBrush, QColor, QConicalGradient,
|
from PySide6.QtGui import (QAction, QBrush, QColor, QConicalGradient,
|
||||||
QCursor, QFont, QFontDatabase, QGradient,
|
QCursor, QFont, QFontDatabase, QGradient,
|
||||||
QIcon, QImage, QKeySequence, QLinearGradient,
|
QIcon, QImage, QKeySequence, QLinearGradient,
|
||||||
QPainter, QPalette, QPixmap, QRadialGradient,
|
QPainter, QPalette, QPixmap, QRadialGradient,
|
||||||
QTransform)
|
QTransform)
|
||||||
from PySide6.QtWidgets import (QApplication, QFrame, QHBoxLayout, QHeaderView,
|
from PySide6.QtWidgets import (QApplication, QFrame, QHBoxLayout, QHeaderView,
|
||||||
QLabel, QMainWindow, QMenu, QMenuBar,
|
QLabel, QMainWindow, QMenu, QMenuBar,
|
||||||
QPushButton, QScrollArea, QSizePolicy, QSlider,
|
QPushButton, QScrollArea, QSizePolicy, QSlider,
|
||||||
QSpacerItem, QSplitter, QStatusBar, QTreeWidget,
|
QSpacerItem, QSplitter, QStatusBar, QTreeWidget,
|
||||||
QTreeWidgetItem, QVBoxLayout, QWidget)
|
QTreeWidgetItem, QVBoxLayout, QWidget)
|
||||||
|
|
||||||
class Ui_MainWindow(object):
|
class Ui_MainWindow(object):
|
||||||
def setupUi(self, MainWindow):
|
def setupUi(self, MainWindow):
|
||||||
if not MainWindow.objectName():
|
if not MainWindow.objectName():
|
||||||
MainWindow.setObjectName(u"MainWindow")
|
MainWindow.setObjectName(u"MainWindow")
|
||||||
MainWindow.resize(1263, 774)
|
MainWindow.resize(1263, 774)
|
||||||
self.actionNeu = QAction(MainWindow)
|
self.actionNeu = QAction(MainWindow)
|
||||||
self.actionNeu.setObjectName(u"actionNeu")
|
self.actionNeu.setObjectName(u"actionNeu")
|
||||||
icon = QIcon(QIcon.fromTheme(u"folder-new"))
|
icon = QIcon(QIcon.fromTheme(u"folder-new"))
|
||||||
self.actionNeu.setIcon(icon)
|
self.actionNeu.setIcon(icon)
|
||||||
self.action_ffnen = QAction(MainWindow)
|
self.action_ffnen = QAction(MainWindow)
|
||||||
self.action_ffnen.setObjectName(u"action_ffnen")
|
self.action_ffnen.setObjectName(u"action_ffnen")
|
||||||
icon1 = QIcon(QIcon.fromTheme(u"folder-open"))
|
icon1 = QIcon(QIcon.fromTheme(u"folder-open"))
|
||||||
self.action_ffnen.setIcon(icon1)
|
self.action_ffnen.setIcon(icon1)
|
||||||
self.actionBeenden = QAction(MainWindow)
|
self.actionBeenden = QAction(MainWindow)
|
||||||
self.actionBeenden.setObjectName(u"actionBeenden")
|
self.actionBeenden.setObjectName(u"actionBeenden")
|
||||||
icon2 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.ApplicationExit))
|
icon2 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.ApplicationExit))
|
||||||
self.actionBeenden.setIcon(icon2)
|
self.actionBeenden.setIcon(icon2)
|
||||||
self.actionEinstellungen = QAction(MainWindow)
|
self.actionEinstellungen = QAction(MainWindow)
|
||||||
self.actionEinstellungen.setObjectName(u"actionEinstellungen")
|
self.actionEinstellungen.setObjectName(u"actionEinstellungen")
|
||||||
icon3 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.DocumentProperties))
|
icon3 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.DocumentProperties))
|
||||||
self.actionEinstellungen.setIcon(icon3)
|
self.actionEinstellungen.setIcon(icon3)
|
||||||
self.actionVorhandene_Projekte = QAction(MainWindow)
|
self.actionVorhandene_Projekte = QAction(MainWindow)
|
||||||
self.actionVorhandene_Projekte.setObjectName(u"actionVorhandene_Projekte")
|
self.actionVorhandene_Projekte.setObjectName(u"actionVorhandene_Projekte")
|
||||||
self.actionVorhandene_Projekte.setEnabled(False)
|
self.actionVorhandene_Projekte.setEnabled(False)
|
||||||
self.centralwidget = QWidget(MainWindow)
|
self.centralwidget = QWidget(MainWindow)
|
||||||
self.centralwidget.setObjectName(u"centralwidget")
|
self.centralwidget.setObjectName(u"centralwidget")
|
||||||
self.horizontalLayout = QHBoxLayout(self.centralwidget)
|
self.horizontalLayout = QHBoxLayout(self.centralwidget)
|
||||||
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||||
self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
|
self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
|
||||||
self.splitter = QSplitter(self.centralwidget)
|
self.splitter = QSplitter(self.centralwidget)
|
||||||
self.splitter.setObjectName(u"splitter")
|
self.splitter.setObjectName(u"splitter")
|
||||||
self.splitter.setOrientation(Qt.Orientation.Horizontal)
|
self.splitter.setOrientation(Qt.Orientation.Horizontal)
|
||||||
self.frame = QFrame(self.splitter)
|
self.frame = QFrame(self.splitter)
|
||||||
self.frame.setObjectName(u"frame")
|
self.frame.setObjectName(u"frame")
|
||||||
sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred)
|
sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred)
|
||||||
sizePolicy.setHorizontalStretch(0)
|
sizePolicy.setHorizontalStretch(0)
|
||||||
sizePolicy.setVerticalStretch(0)
|
sizePolicy.setVerticalStretch(0)
|
||||||
sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth())
|
sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth())
|
||||||
self.frame.setSizePolicy(sizePolicy)
|
self.frame.setSizePolicy(sizePolicy)
|
||||||
self.frame.setMinimumSize(QSize(200, 0))
|
self.frame.setMinimumSize(QSize(200, 0))
|
||||||
self.frame.setFrameShape(QFrame.Shape.StyledPanel)
|
self.frame.setFrameShape(QFrame.Shape.StyledPanel)
|
||||||
self.frame.setFrameShadow(QFrame.Shadow.Raised)
|
self.frame.setFrameShadow(QFrame.Shadow.Raised)
|
||||||
self.verticalLayout = QVBoxLayout(self.frame)
|
self.verticalLayout = QVBoxLayout(self.frame)
|
||||||
self.verticalLayout.setObjectName(u"verticalLayout")
|
self.verticalLayout.setObjectName(u"verticalLayout")
|
||||||
self.verticalLayout.setContentsMargins(-1, -1, -1, 0)
|
self.verticalLayout.setContentsMargins(-1, -1, -1, 0)
|
||||||
self.treeWidget = QTreeWidget(self.frame)
|
self.treeWidget = QTreeWidget(self.frame)
|
||||||
__qtreewidgetitem = QTreeWidgetItem()
|
__qtreewidgetitem = QTreeWidgetItem()
|
||||||
__qtreewidgetitem.setText(1, u"2");
|
__qtreewidgetitem.setText(2, u"3");
|
||||||
__qtreewidgetitem.setText(0, u"1");
|
__qtreewidgetitem.setText(1, u"2");
|
||||||
self.treeWidget.setHeaderItem(__qtreewidgetitem)
|
__qtreewidgetitem.setText(0, u"1");
|
||||||
self.treeWidget.setObjectName(u"treeWidget")
|
self.treeWidget.setHeaderItem(__qtreewidgetitem)
|
||||||
sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
|
self.treeWidget.setObjectName(u"treeWidget")
|
||||||
sizePolicy1.setHorizontalStretch(0)
|
sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
|
||||||
sizePolicy1.setVerticalStretch(0)
|
sizePolicy1.setHorizontalStretch(0)
|
||||||
sizePolicy1.setHeightForWidth(self.treeWidget.sizePolicy().hasHeightForWidth())
|
sizePolicy1.setVerticalStretch(0)
|
||||||
self.treeWidget.setSizePolicy(sizePolicy1)
|
sizePolicy1.setHeightForWidth(self.treeWidget.sizePolicy().hasHeightForWidth())
|
||||||
self.treeWidget.setColumnCount(2)
|
self.treeWidget.setSizePolicy(sizePolicy1)
|
||||||
self.treeWidget.header().setHighlightSections(True)
|
self.treeWidget.setColumnCount(3)
|
||||||
self.treeWidget.header().setStretchLastSection(True)
|
self.treeWidget.header().setHighlightSections(True)
|
||||||
|
self.treeWidget.header().setStretchLastSection(True)
|
||||||
self.verticalLayout.addWidget(self.treeWidget)
|
|
||||||
|
self.verticalLayout.addWidget(self.treeWidget)
|
||||||
self.frame_2 = QFrame(self.frame)
|
|
||||||
self.frame_2.setObjectName(u"frame_2")
|
self.frame_2 = QFrame(self.frame)
|
||||||
self.frame_2.setFrameShadow(QFrame.Shadow.Raised)
|
self.frame_2.setObjectName(u"frame_2")
|
||||||
self.horizontalLayout_2 = QHBoxLayout(self.frame_2)
|
self.frame_2.setFrameShadow(QFrame.Shadow.Raised)
|
||||||
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
self.horizontalLayout_2 = QHBoxLayout(self.frame_2)
|
||||||
self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
|
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
||||||
self.pushButton = QPushButton(self.frame_2)
|
self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
|
||||||
self.pushButton.setObjectName(u"pushButton")
|
self.pushButton = QPushButton(self.frame_2)
|
||||||
self.pushButton.setLayoutDirection(Qt.LayoutDirection.LeftToRight)
|
self.pushButton.setObjectName(u"pushButton")
|
||||||
icon4 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.MediaPlaybackStart))
|
self.pushButton.setLayoutDirection(Qt.LayoutDirection.LeftToRight)
|
||||||
self.pushButton.setIcon(icon4)
|
icon4 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.MediaPlaybackStart))
|
||||||
|
self.pushButton.setIcon(icon4)
|
||||||
self.horizontalLayout_2.addWidget(self.pushButton)
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.pushButton)
|
||||||
self.pushButton_2 = QPushButton(self.frame_2)
|
|
||||||
self.pushButton_2.setObjectName(u"pushButton_2")
|
self.pushButton_2 = QPushButton(self.frame_2)
|
||||||
self.pushButton_2.setAutoFillBackground(False)
|
self.pushButton_2.setObjectName(u"pushButton_2")
|
||||||
icon5 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.MediaSeekForward))
|
self.pushButton_2.setAutoFillBackground(False)
|
||||||
self.pushButton_2.setIcon(icon5)
|
icon5 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.MediaSeekForward))
|
||||||
|
self.pushButton_2.setIcon(icon5)
|
||||||
self.horizontalLayout_2.addWidget(self.pushButton_2)
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.pushButton_2)
|
||||||
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
|
||||||
|
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
||||||
self.horizontalLayout_2.addItem(self.horizontalSpacer)
|
|
||||||
|
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")
|
self.pB_lade_aus_fn2 = QPushButton(self.frame_2)
|
||||||
icon6 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.GoDown))
|
self.pB_lade_aus_fn2.setObjectName(u"pB_lade_aus_fn2")
|
||||||
self.pB_lade_aus_fn2.setIcon(icon6)
|
icon6 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.GoDown))
|
||||||
|
self.pB_lade_aus_fn2.setIcon(icon6)
|
||||||
self.horizontalLayout_2.addWidget(self.pB_lade_aus_fn2)
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.pB_lade_aus_fn2)
|
||||||
|
|
||||||
self.verticalLayout.addWidget(self.frame_2)
|
|
||||||
|
self.verticalLayout.addWidget(self.frame_2)
|
||||||
self.splitter.addWidget(self.frame)
|
|
||||||
self.scrollArea = QScrollArea(self.splitter)
|
self.splitter.addWidget(self.frame)
|
||||||
self.scrollArea.setObjectName(u"scrollArea")
|
self.scrollArea = QScrollArea(self.splitter)
|
||||||
sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum)
|
self.scrollArea.setObjectName(u"scrollArea")
|
||||||
sizePolicy2.setHorizontalStretch(0)
|
sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum)
|
||||||
sizePolicy2.setVerticalStretch(0)
|
sizePolicy2.setHorizontalStretch(0)
|
||||||
sizePolicy2.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth())
|
sizePolicy2.setVerticalStretch(0)
|
||||||
self.scrollArea.setSizePolicy(sizePolicy2)
|
sizePolicy2.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth())
|
||||||
self.scrollArea.setWidgetResizable(True)
|
self.scrollArea.setSizePolicy(sizePolicy2)
|
||||||
self.scrollAreaWidgetContents = QWidget()
|
self.scrollArea.setWidgetResizable(True)
|
||||||
self.scrollAreaWidgetContents.setObjectName(u"scrollAreaWidgetContents")
|
self.scrollAreaWidgetContents = QWidget()
|
||||||
self.scrollAreaWidgetContents.setGeometry(QRect(0, 0, 54, 718))
|
self.scrollAreaWidgetContents.setObjectName(u"scrollAreaWidgetContents")
|
||||||
self.verticalLayout_2 = QVBoxLayout(self.scrollAreaWidgetContents)
|
self.scrollAreaWidgetContents.setGeometry(QRect(0, 0, 68, 728))
|
||||||
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
|
self.verticalLayout_2 = QVBoxLayout(self.scrollAreaWidgetContents)
|
||||||
self.label = QLabel(self.scrollAreaWidgetContents)
|
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
|
||||||
self.label.setObjectName(u"label")
|
self.label = QLabel(self.scrollAreaWidgetContents)
|
||||||
|
self.label.setObjectName(u"label")
|
||||||
self.verticalLayout_2.addWidget(self.label)
|
|
||||||
|
self.verticalLayout_2.addWidget(self.label)
|
||||||
self.label_2 = QLabel(self.scrollAreaWidgetContents)
|
|
||||||
self.label_2.setObjectName(u"label_2")
|
self.label_2 = QLabel(self.scrollAreaWidgetContents)
|
||||||
|
self.label_2.setObjectName(u"label_2")
|
||||||
self.verticalLayout_2.addWidget(self.label_2)
|
|
||||||
|
self.verticalLayout_2.addWidget(self.label_2)
|
||||||
self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
|
|
||||||
|
self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
|
||||||
self.verticalLayout_2.addItem(self.verticalSpacer)
|
|
||||||
|
self.verticalLayout_2.addItem(self.verticalSpacer)
|
||||||
self.scrollArea.setWidget(self.scrollAreaWidgetContents)
|
|
||||||
self.splitter.addWidget(self.scrollArea)
|
self.scrollArea.setWidget(self.scrollAreaWidgetContents)
|
||||||
self.frame_3 = QFrame(self.splitter)
|
self.splitter.addWidget(self.scrollArea)
|
||||||
self.frame_3.setObjectName(u"frame_3")
|
self.frame_3 = QFrame(self.splitter)
|
||||||
self.frame_3.setFrameShape(QFrame.Shape.NoFrame)
|
self.frame_3.setObjectName(u"frame_3")
|
||||||
self.frame_3.setFrameShadow(QFrame.Shadow.Raised)
|
self.frame_3.setFrameShape(QFrame.Shape.NoFrame)
|
||||||
self.verticalLayout_4 = QVBoxLayout(self.frame_3)
|
self.frame_3.setFrameShadow(QFrame.Shadow.Raised)
|
||||||
self.verticalLayout_4.setObjectName(u"verticalLayout_4")
|
self.verticalLayout_4 = QVBoxLayout(self.frame_3)
|
||||||
self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
|
self.verticalLayout_4.setObjectName(u"verticalLayout_4")
|
||||||
self.frame_4 = QFrame(self.frame_3)
|
self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
|
||||||
self.frame_4.setObjectName(u"frame_4")
|
self.frame_4 = QFrame(self.frame_3)
|
||||||
self.frame_4.setFrameShape(QFrame.Shape.StyledPanel)
|
self.frame_4.setObjectName(u"frame_4")
|
||||||
self.frame_4.setFrameShadow(QFrame.Shadow.Raised)
|
self.frame_4.setFrameShape(QFrame.Shape.StyledPanel)
|
||||||
self.horizontalLayout_3 = QHBoxLayout(self.frame_4)
|
self.frame_4.setFrameShadow(QFrame.Shadow.Raised)
|
||||||
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
|
self.horizontalLayout_3 = QHBoxLayout(self.frame_4)
|
||||||
self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0)
|
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
|
||||||
self.horizontalSpacer_4 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
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.horizontalLayout_3.addItem(self.horizontalSpacer_4)
|
||||||
self.label_6 = QLabel(self.frame_4)
|
|
||||||
self.label_6.setObjectName(u"label_6")
|
self.label_6 = QLabel(self.frame_4)
|
||||||
|
self.label_6.setObjectName(u"label_6")
|
||||||
self.horizontalLayout_3.addWidget(self.label_6)
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.label_6)
|
||||||
self.alpha = QSlider(self.frame_4)
|
|
||||||
self.alpha.setObjectName(u"alpha")
|
self.alpha = QSlider(self.frame_4)
|
||||||
self.alpha.setMinimum(-100)
|
self.alpha.setObjectName(u"alpha")
|
||||||
self.alpha.setMaximum(100)
|
self.alpha.setMinimum(-100)
|
||||||
self.alpha.setOrientation(Qt.Orientation.Horizontal)
|
self.alpha.setMaximum(100)
|
||||||
|
self.alpha.setOrientation(Qt.Orientation.Horizontal)
|
||||||
self.horizontalLayout_3.addWidget(self.alpha)
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.alpha)
|
||||||
self.label_7 = QLabel(self.frame_4)
|
|
||||||
self.label_7.setObjectName(u"label_7")
|
self.label_7 = QLabel(self.frame_4)
|
||||||
|
self.label_7.setObjectName(u"label_7")
|
||||||
self.horizontalLayout_3.addWidget(self.label_7)
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.label_7)
|
||||||
self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
|
||||||
|
self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
||||||
self.horizontalLayout_3.addItem(self.horizontalSpacer_2)
|
|
||||||
|
self.horizontalLayout_3.addItem(self.horizontalSpacer_2)
|
||||||
self.label_5 = QLabel(self.frame_4)
|
|
||||||
self.label_5.setObjectName(u"label_5")
|
self.label_5 = QLabel(self.frame_4)
|
||||||
|
self.label_5.setObjectName(u"label_5")
|
||||||
self.horizontalLayout_3.addWidget(self.label_5)
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.label_5)
|
||||||
self.zoom = QSlider(self.frame_4)
|
|
||||||
self.zoom.setObjectName(u"zoom")
|
self.zoom = QSlider(self.frame_4)
|
||||||
self.zoom.setMinimum(25)
|
self.zoom.setObjectName(u"zoom")
|
||||||
self.zoom.setMaximum(300)
|
self.zoom.setMinimum(25)
|
||||||
self.zoom.setValue(100)
|
self.zoom.setMaximum(300)
|
||||||
self.zoom.setOrientation(Qt.Orientation.Horizontal)
|
self.zoom.setValue(100)
|
||||||
|
self.zoom.setOrientation(Qt.Orientation.Horizontal)
|
||||||
self.horizontalLayout_3.addWidget(self.zoom)
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.zoom)
|
||||||
self.horizontalSpacer_5 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
|
||||||
|
self.horizontalSpacer_5 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
||||||
self.horizontalLayout_3.addItem(self.horizontalSpacer_5)
|
|
||||||
|
self.horizontalLayout_3.addItem(self.horizontalSpacer_5)
|
||||||
|
|
||||||
self.verticalLayout_4.addWidget(self.frame_4)
|
|
||||||
|
self.verticalLayout_4.addWidget(self.frame_4)
|
||||||
self.scrollArea_2 = QScrollArea(self.frame_3)
|
|
||||||
self.scrollArea_2.setObjectName(u"scrollArea_2")
|
self.scrollArea_2 = QScrollArea(self.frame_3)
|
||||||
self.scrollArea_2.setWidgetResizable(True)
|
self.scrollArea_2.setObjectName(u"scrollArea_2")
|
||||||
self.scrollAreaWidgetContents_2 = QWidget()
|
self.scrollArea_2.setWidgetResizable(True)
|
||||||
self.scrollAreaWidgetContents_2.setObjectName(u"scrollAreaWidgetContents_2")
|
self.scrollAreaWidgetContents_2 = QWidget()
|
||||||
self.scrollAreaWidgetContents_2.setGeometry(QRect(0, 0, 649, 690))
|
self.scrollAreaWidgetContents_2.setObjectName(u"scrollAreaWidgetContents_2")
|
||||||
self.verticalLayout_3 = QVBoxLayout(self.scrollAreaWidgetContents_2)
|
self.scrollAreaWidgetContents_2.setGeometry(QRect(0, 0, 625, 700))
|
||||||
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
|
self.verticalLayout_3 = QVBoxLayout(self.scrollAreaWidgetContents_2)
|
||||||
self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
|
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
|
||||||
self.label_3 = QLabel(self.scrollAreaWidgetContents_2)
|
self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
|
||||||
self.label_3.setObjectName(u"label_3")
|
self.label_3 = QLabel(self.scrollAreaWidgetContents_2)
|
||||||
|
self.label_3.setObjectName(u"label_3")
|
||||||
self.verticalLayout_3.addWidget(self.label_3)
|
|
||||||
|
self.verticalLayout_3.addWidget(self.label_3)
|
||||||
self.label_4 = QLabel(self.scrollAreaWidgetContents_2)
|
|
||||||
self.label_4.setObjectName(u"label_4")
|
self.label_4 = QLabel(self.scrollAreaWidgetContents_2)
|
||||||
|
self.label_4.setObjectName(u"label_4")
|
||||||
self.verticalLayout_3.addWidget(self.label_4)
|
|
||||||
|
self.verticalLayout_3.addWidget(self.label_4)
|
||||||
self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2)
|
|
||||||
|
self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2)
|
||||||
self.verticalLayout_4.addWidget(self.scrollArea_2)
|
|
||||||
|
self.verticalLayout_4.addWidget(self.scrollArea_2)
|
||||||
self.splitter.addWidget(self.frame_3)
|
|
||||||
|
self.splitter.addWidget(self.frame_3)
|
||||||
self.horizontalLayout.addWidget(self.splitter)
|
|
||||||
|
self.horizontalLayout.addWidget(self.splitter)
|
||||||
MainWindow.setCentralWidget(self.centralwidget)
|
|
||||||
self.menubar = QMenuBar(MainWindow)
|
MainWindow.setCentralWidget(self.centralwidget)
|
||||||
self.menubar.setObjectName(u"menubar")
|
self.menubar = QMenuBar(MainWindow)
|
||||||
self.menubar.setGeometry(QRect(0, 0, 1263, 33))
|
self.menubar.setObjectName(u"menubar")
|
||||||
self.menuProjekt = QMenu(self.menubar)
|
self.menubar.setGeometry(QRect(0, 0, 1263, 22))
|
||||||
self.menuProjekt.setObjectName(u"menuProjekt")
|
self.menuProjekt = QMenu(self.menubar)
|
||||||
self.menuThema = QMenu(self.menubar)
|
self.menuProjekt.setObjectName(u"menuProjekt")
|
||||||
self.menuThema.setObjectName(u"menuThema")
|
self.menuThema = QMenu(self.menubar)
|
||||||
MainWindow.setMenuBar(self.menubar)
|
self.menuThema.setObjectName(u"menuThema")
|
||||||
self.statusbar = QStatusBar(MainWindow)
|
MainWindow.setMenuBar(self.menubar)
|
||||||
self.statusbar.setObjectName(u"statusbar")
|
self.statusbar = QStatusBar(MainWindow)
|
||||||
MainWindow.setStatusBar(self.statusbar)
|
self.statusbar.setObjectName(u"statusbar")
|
||||||
|
MainWindow.setStatusBar(self.statusbar)
|
||||||
self.menubar.addAction(self.menuProjekt.menuAction())
|
|
||||||
self.menubar.addAction(self.menuThema.menuAction())
|
self.menubar.addAction(self.menuProjekt.menuAction())
|
||||||
self.menuProjekt.addAction(self.actionNeu)
|
self.menubar.addAction(self.menuThema.menuAction())
|
||||||
self.menuProjekt.addAction(self.action_ffnen)
|
self.menuProjekt.addAction(self.actionNeu)
|
||||||
self.menuProjekt.addSeparator()
|
self.menuProjekt.addAction(self.action_ffnen)
|
||||||
self.menuProjekt.addAction(self.actionVorhandene_Projekte)
|
self.menuProjekt.addSeparator()
|
||||||
self.menuProjekt.addSeparator()
|
self.menuProjekt.addAction(self.actionVorhandene_Projekte)
|
||||||
self.menuProjekt.addAction(self.actionEinstellungen)
|
self.menuProjekt.addSeparator()
|
||||||
self.menuProjekt.addSeparator()
|
self.menuProjekt.addAction(self.actionEinstellungen)
|
||||||
self.menuProjekt.addAction(self.actionBeenden)
|
self.menuProjekt.addSeparator()
|
||||||
|
self.menuProjekt.addAction(self.actionBeenden)
|
||||||
self.retranslateUi(MainWindow)
|
|
||||||
self.actionBeenden.triggered.connect(MainWindow.close)
|
self.retranslateUi(MainWindow)
|
||||||
|
self.actionBeenden.triggered.connect(MainWindow.close)
|
||||||
QMetaObject.connectSlotsByName(MainWindow)
|
|
||||||
# setupUi
|
QMetaObject.connectSlotsByName(MainWindow)
|
||||||
|
# setupUi
|
||||||
def retranslateUi(self, MainWindow):
|
|
||||||
MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"DocuMentor", None))
|
def retranslateUi(self, MainWindow):
|
||||||
self.actionNeu.setText(QCoreApplication.translate("MainWindow", u"Neu ...", None))
|
MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"DocuMentor", None))
|
||||||
#if QT_CONFIG(shortcut)
|
self.actionNeu.setText(QCoreApplication.translate("MainWindow", u"Neu ...", None))
|
||||||
self.actionNeu.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+N", None))
|
#if QT_CONFIG(shortcut)
|
||||||
#endif // QT_CONFIG(shortcut)
|
self.actionNeu.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+N", None))
|
||||||
self.action_ffnen.setText(QCoreApplication.translate("MainWindow", u"\u00d6ffnen ...", None))
|
#endif // QT_CONFIG(shortcut)
|
||||||
#if QT_CONFIG(shortcut)
|
self.action_ffnen.setText(QCoreApplication.translate("MainWindow", u"\u00d6ffnen ...", None))
|
||||||
self.action_ffnen.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+O", None))
|
#if QT_CONFIG(shortcut)
|
||||||
#endif // QT_CONFIG(shortcut)
|
self.action_ffnen.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+O", None))
|
||||||
self.actionBeenden.setText(QCoreApplication.translate("MainWindow", u"Beenden", None))
|
#endif // QT_CONFIG(shortcut)
|
||||||
self.actionEinstellungen.setText(QCoreApplication.translate("MainWindow", u"Einstellungen ...", None))
|
self.actionBeenden.setText(QCoreApplication.translate("MainWindow", u"Beenden", None))
|
||||||
#if QT_CONFIG(shortcut)
|
self.actionEinstellungen.setText(QCoreApplication.translate("MainWindow", u"Einstellungen ...", None))
|
||||||
self.actionEinstellungen.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+S", None))
|
#if QT_CONFIG(shortcut)
|
||||||
#endif // QT_CONFIG(shortcut)
|
self.actionEinstellungen.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+S", None))
|
||||||
self.actionVorhandene_Projekte.setText(QCoreApplication.translate("MainWindow", u"Vorhandene Projekte", None))
|
#endif // QT_CONFIG(shortcut)
|
||||||
self.pushButton.setText(QCoreApplication.translate("MainWindow", u"nur ge\u00e4nderte generieren", None))
|
self.actionVorhandene_Projekte.setText(QCoreApplication.translate("MainWindow", u"Vorhandene Projekte", None))
|
||||||
self.pushButton_2.setText(QCoreApplication.translate("MainWindow", u"Alle generieren", None))
|
self.pushButton.setText(QCoreApplication.translate("MainWindow", u"nur ge\u00e4nderte generieren", None))
|
||||||
self.pB_lade_aus_fn2.setText(QCoreApplication.translate("MainWindow", u"lade aus FN2", None))
|
self.pushButton_2.setText(QCoreApplication.translate("MainWindow", u"Alle generieren", None))
|
||||||
self.label.setText("")
|
self.pB_lade_aus_fn2.setText(QCoreApplication.translate("MainWindow", u"lade aus FN2", None))
|
||||||
self.label_2.setText("")
|
self.label.setText("")
|
||||||
self.label_6.setText(QCoreApplication.translate("MainWindow", u"Vorher (Referenz)", None))
|
self.label_2.setText("")
|
||||||
self.label_7.setText(QCoreApplication.translate("MainWindow", u"Nachher (Neu)", None))
|
self.label_6.setText(QCoreApplication.translate("MainWindow", u"Vorher (Referenz)", None))
|
||||||
self.label_5.setText(QCoreApplication.translate("MainWindow", u"Zoom", None))
|
self.label_7.setText(QCoreApplication.translate("MainWindow", u"Nachher (Neu)", None))
|
||||||
self.label_3.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None))
|
self.label_5.setText(QCoreApplication.translate("MainWindow", u"Zoom", None))
|
||||||
self.label_4.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None))
|
self.label_3.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None))
|
||||||
self.menuProjekt.setTitle(QCoreApplication.translate("MainWindow", u"Projekt", None))
|
self.label_4.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None))
|
||||||
self.menuThema.setTitle(QCoreApplication.translate("MainWindow", u"Thema", None))
|
self.menuProjekt.setTitle(QCoreApplication.translate("MainWindow", u"Projekt", None))
|
||||||
# retranslateUi
|
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