Files
xsl-validator/src/ui/AppSettings.ui
T

778 lines
24 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Dialog</class>
<widget class="QDialog" name="Dialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>833</width>
<height>526</height>
</rect>
</property>
<property name="windowTitle">
<string>Programm Einstellungen</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTabWidget" name="tabSettings">
<property name="enabled">
<bool>true</bool>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<property name="elideMode">
<enum>Qt::TextElideMode::ElideRight</enum>
</property>
<widget class="QWidget" name="tabXsls">
<attribute name="title">
<string>XSL-Ordner</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QTableWidget" name="tableXsls">
<property name="columnCount">
<number>2</number>
</property>
<column/>
<column/>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>1</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="addXsl">
<property name="text">
<string>Hinzufügen</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListAdd"/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="removeXsl">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Entfernen</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListRemove"/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabJavaVm">
<attribute name="title">
<string>Java VM</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QTableWidget" name="tableJavaVms">
<property name="columnCount">
<number>2</number>
</property>
<column/>
<column/>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="addJavaVm">
<property name="text">
<string>Hinzufügen</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListAdd"/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="removeJavaVm">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Entfernen</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListRemove"/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabSaxon">
<attribute name="title">
<string>Saxon</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QTableWidget" name="tableSaxons">
<property name="columnCount">
<number>3</number>
</property>
<column/>
<column/>
<column/>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_4">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="addSaxon">
<property name="text">
<string>Hinzufügen</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListAdd"/>
</property>
</widget>
</item>
<item>
2025-06-18 18:27:27 +02:00
<widget class="QPushButton" name="removeSaxon">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Entfernen</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListRemove"/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabApacheFop">
<attribute name="title">
<string>Apache FOP</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QTableWidget" name="tableApacheFops">
<property name="columnCount">
<number>3</number>
</property>
<column/>
<column/>
<column/>
</widget>
</item>
<item>
<widget class="QFrame" name="frame">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="addApacheFop">
<property name="text">
<string>Hinzufügen</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListAdd"/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="removeApacheFop">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Entfernen</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListRemove"/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabDiffPdf">
<attribute name="title">
<string>Diff-PDF</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QTableWidget" name="tableDiffPdfs">
<property name="columnCount">
<number>4</number>
</property>
<column/>
<column/>
<column/>
<column/>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_5">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="addDiffPdf">
<property name="text">
<string>Hinzufügen</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListAdd"/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="removeDiffPdf">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Entfernen</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListRemove"/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
2025-07-17 19:12:41 +02:00
<widget class="QWidget" name="tabPostgreSql">
<attribute name="title">
2025-07-17 19:12:41 +02:00
<string>PostgreSQL</string>
</attribute>
2025-07-17 19:12:41 +02:00
<layout class="QVBoxLayout" name="verticalLayout_8">
<item>
2025-07-17 19:12:41 +02:00
<widget class="QTableWidget" name="tablePostgreSqlDbs">
<property name="columnCount">
2025-07-17 19:12:41 +02:00
<number>5</number>
</property>
<column/>
<column/>
<column/>
<column/>
<column/>
</widget>
</item>
<item>
2025-07-17 19:12:41 +02:00
<widget class="QFrame" name="frame_7">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
2025-07-17 19:12:41 +02:00
<layout class="QHBoxLayout" name="horizontalLayout_7">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
2025-07-17 19:12:41 +02:00
<widget class="QPushButton" name="addPostgreSql">
<property name="text">
<string>Hinzufügen</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListAdd"/>
</property>
</widget>
</item>
<item>
2025-07-17 19:12:41 +02:00
<widget class="QPushButton" name="removePostgreSql">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Entfernen</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListRemove"/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
2025-07-17 19:12:41 +02:00
<widget class="QWidget" name="tabPdfProject">
2025-06-22 18:12:27 +02:00
<attribute name="title">
2025-07-17 19:12:41 +02:00
<string>PDF-Projekte</string>
2025-06-22 18:12:27 +02:00
</attribute>
2025-07-17 19:12:41 +02:00
<layout class="QVBoxLayout" name="verticalLayout_7">
2025-06-22 18:12:27 +02:00
<item>
2025-07-17 19:12:41 +02:00
<widget class="QTableWidget" name="tablePdfProjects">
2025-06-22 18:12:27 +02:00
<property name="columnCount">
2025-07-17 19:12:41 +02:00
<number>7</number>
2025-06-22 18:12:27 +02:00
</property>
<column/>
<column/>
<column/>
<column/>
<column/>
2025-07-17 19:12:41 +02:00
<column/>
<column/>
2025-06-22 18:12:27 +02:00
</widget>
</item>
<item>
2025-07-17 19:12:41 +02:00
<widget class="QFrame" name="frame_6">
2025-06-22 18:12:27 +02:00
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
2025-07-17 19:12:41 +02:00
<layout class="QHBoxLayout" name="horizontalLayout_6">
2025-06-22 18:12:27 +02:00
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
2025-07-17 19:12:41 +02:00
<widget class="QPushButton" name="addProject">
2025-06-22 18:12:27 +02:00
<property name="text">
<string>Hinzufügen</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListAdd"/>
</property>
</widget>
</item>
<item>
2025-07-17 19:12:41 +02:00
<widget class="QPushButton" name="removeProject">
2025-06-22 18:12:27 +02:00
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Entfernen</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListRemove"/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabPerformance">
<attribute name="title">
<string>Performance</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_9">
<item>
<widget class="QGroupBox" name="groupBoxWorker">
<property name="title">
<string>ThreadPoolExecutor Einstellungen</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_10">
<item>
<widget class="QLabel" name="labelWorkerCount">
<property name="text">
<string>Anzahl paralleler Worker für Transformationen:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBoxWorkerCount">
<property name="toolTip">
<string>Anzahl der parallelen Worker-Threads für Transformationen (Standard: 8)</string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>32</number>
</property>
<property name="value">
<number>8</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBoxSaxonPool">
<property name="title">
<string>SaxonWorkerPool Einstellungen</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_11">
<item>
<widget class="QCheckBox" name="checkBoxUseSaxonPool">
<property name="toolTip">
<string>Aktiviert persistente JVM-Prozesse für Saxon-Transformationen.
Vorteile: Bis zu 10x schneller durch Eliminierung von JVM-Startup-Overhead
Nachteile: Benötigt JDK (javac) - funktioniert nicht mit JRE allein
Deaktivieren Sie diese Option, wenn:
• Sie nur ein JRE (keine JDK) installiert haben
• Sie Probleme mit dem Worker-Pool haben
• Sie die Funktion testen möchten</string>
</property>
<property name="text">
<string>SaxonWorkerPool verwenden (empfohlen)</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayoutXsltVersion">
<item>
<widget class="QLabel" name="labelXsltVersion">
<property name="text">
<string>XSLT-Version:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBoxXsltVersion">
<property name="toolTip">
<string>Wählen Sie die XSLT-Version für Saxon-Transformationen:
XSLT 1.0 (JAXP): Verwendet die JAXP Transformer API
• Nur für XSLT 1.0 vollständig spezifiziert
• Kann bei XSLT 2.0/3.0 zu fehlerhaften Ausgaben führen
XSLT 2.0/3.0 (s9api): Verwendet die Saxon s9api
• Vollständige Unterstützung für XSLT 2.0 und 3.0
• Empfohlen für moderne XSLT-Stylesheets</string>
</property>
<item>
<property name="text">
<string>XSLT 1.0 (JAXP)</string>
</property>
</item>
<item>
<property name="text">
<string>XSLT 2.0/3.0 (s9api) - Empfohlen</string>
</property>
</item>
</widget>
</item>
<item>
<spacer name="horizontalSpacerXsltVersion">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="labelSaxonPoolInfo">
<property name="text">
<string>&lt;i&gt;Hinweis: SaxonWorkerPool benötigt ein JDK (Java Development Kit).&lt;br&gt;Mit JRE allein werden Transformationen im Fallback-Modus ausgeführt.&lt;/i&gt;</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBoxFopPool">
<property name="title">
<string>FopWorkerPool Einstellungen</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_12">
<item>
<widget class="QCheckBox" name="checkBoxUseFopPool">
<property name="toolTip">
<string>Aktiviert persistente JVM-Prozesse für Apache FOP PDF-Generierung.
Vorteile: Bis zu 10x schneller durch Eliminierung von JVM-Startup-Overhead
Nachteile: Benötigt JDK (javac) - funktioniert nicht mit JRE allein
Deaktivieren Sie diese Option, wenn:
• Sie nur ein JRE (keine JDK) installiert haben
• Sie Probleme mit dem Worker-Pool haben
• Sie die Funktion testen möchten</string>
</property>
<property name="text">
<string>FopWorkerPool verwenden (empfohlen)</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="labelFopPoolInfo">
<property name="text">
<string>&lt;i&gt;Hinweis: FopWorkerPool benötigt ein JDK (Java Development Kit).&lt;br&gt;Mit JRE allein werden PDFs im Fallback-Modus generiert.&lt;/i&gt;</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label">
<property name="mouseTracking">
<bool>true</bool>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:700; font-style:italic;&quot;&gt;Hinweis: Änderungen in diesem Dialog sind unter Umständen erst nach neu start der Anwendung wirksam.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacerPerformance">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
</property>
<property name="centerButtons">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>Dialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>257</x>
<y>377</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>Dialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>325</x>
<y>377</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>