Feature: Buttons zum Öffnen von Ref- und New-PDFs im System-Viewer

Neue Buttons im PDF-Vergleichs-Viewer:
- "Vorher (Referenz)" Button öffnet Referenz-PDF im System-PDF-Viewer
- "Nachher (Neu)" Button öffnet neue PDF im System-PDF-Viewer
- Beide Buttons sind initial deaktiviert
- Automatische Aktivierung beim Laden von Diff-PDFs
- Automatische Deaktivierung beim Leeren des Viewers

Implementierung:
- Neue Instanzvariablen: current_ref_pdf_path, current_new_pdf_path
- Handler-Methoden: _on_view_ref_pdf_clicked(), _on_view_new_pdf_clicked()
- QDesktopServices.openUrl() für plattformunabhängiges Öffnen
- Fehlerbehandlung und Logging

UI-Änderungen:
- Buttons in MainWinddow.ui hinzugefügt (view_ref_pdf, view_new_pdf)
- MainWinddow_ui.py automatisch generiert

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-02 20:11:56 +01:00
parent b29fa633cb
commit d914e9b06a
3 changed files with 92 additions and 12 deletions
+17 -8
View File
@@ -169,10 +169,11 @@ class Ui_MainWindow(object):
self.horizontalLayout_3.addItem(self.horizontalSpacer_4)
self.label_6 = QLabel(self.frame_4)
self.label_6.setObjectName(u"label_6")
self.view_ref_pdf = QPushButton(self.frame_4)
self.view_ref_pdf.setObjectName(u"view_ref_pdf")
self.view_ref_pdf.setEnabled(False)
self.horizontalLayout_3.addWidget(self.label_6)
self.horizontalLayout_3.addWidget(self.view_ref_pdf)
self.alpha = QSlider(self.frame_4)
self.alpha.setObjectName(u"alpha")
@@ -182,10 +183,11 @@ class Ui_MainWindow(object):
self.horizontalLayout_3.addWidget(self.alpha)
self.label_7 = QLabel(self.frame_4)
self.label_7.setObjectName(u"label_7")
self.view_new_pdf = QPushButton(self.frame_4)
self.view_new_pdf.setObjectName(u"view_new_pdf")
self.view_new_pdf.setEnabled(False)
self.horizontalLayout_3.addWidget(self.label_7)
self.horizontalLayout_3.addWidget(self.view_new_pdf)
self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
@@ -224,6 +226,7 @@ class Ui_MainWindow(object):
self.scrollArea_2 = QScrollArea(self.frame_3)
self.scrollArea_2.setObjectName(u"scrollArea_2")
self.scrollArea_2.setEnabled(True)
self.scrollArea_2.setFrameShape(QFrame.Shape.NoFrame)
self.scrollArea_2.setFrameShadow(QFrame.Shadow.Raised)
self.scrollArea_2.setWidgetResizable(True)
@@ -287,9 +290,15 @@ class Ui_MainWindow(object):
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.view_ref_pdf.setText(QCoreApplication.translate("MainWindow", u"Vorher (Referenz)", None))
#if QT_CONFIG(tooltip)
self.alpha.setToolTip(QCoreApplication.translate("MainWindow", u"Doppelklick um diesen Slider auf Mitte zu stellen", None))
#endif // QT_CONFIG(tooltip)
self.view_new_pdf.setText(QCoreApplication.translate("MainWindow", u"Nachher (Neu)", None))
self.label_5.setText(QCoreApplication.translate("MainWindow", u"Zoom", None))
#if QT_CONFIG(tooltip)
self.zoom.setToolTip(QCoreApplication.translate("MainWindow", u"Doppelklick um den Zoom zur\u00fcckzusetzen", None))
#endif // QT_CONFIG(tooltip)
self.accept_changes.setText(QCoreApplication.translate("MainWindow", u"\u2705 \u00c4nderungen \u00fcbernehmen", None))
self.menuProjekt.setTitle(QCoreApplication.translate("MainWindow", u"Projekt", None))
self.menuThema.setTitle(QCoreApplication.translate("MainWindow", u"Thema", None))