diff --git a/src/ui/mixins/pdf_viewer.py b/src/ui/mixins/pdf_viewer.py index eb1ac47..7c61fda 100644 --- a/src/ui/mixins/pdf_viewer.py +++ b/src/ui/mixins/pdf_viewer.py @@ -16,7 +16,7 @@ from pathlib import Path from PySide6.QtCore import Qt, QSize, QUrl from PySide6.QtGui import QCursor, QPixmap, QPainter, QDesktopServices -from PySide6.QtWidgets import QLabel, QMessageBox +from PySide6.QtWidgets import QLabel, QMessageBox, QSpacerItem, QSizePolicy from PySide6.QtPdf import QPdfDocument @@ -343,6 +343,10 @@ class PdfViewerMixin: self._clear_layout(self.ui.verticalLayout_2) self._clear_layout(self.ui.verticalLayout_3) + # Setze kompaktes Spacing für Thumbnail-Layout + self.ui.verticalLayout_2.setSpacing(5) # Minimaler Abstand zwischen Widgets + self.ui.verticalLayout_2.setContentsMargins(0, 0, 0, 0) # Keine Ränder + # Dicts zurücksetzen self.thumbnail_to_page = {} self.pdf_documents = {} @@ -413,11 +417,14 @@ class PdfViewerMixin: thumbnail.setPixmap(diff_pixmap.scaledToWidth(200, Qt.TransformationMode.SmoothTransformation)) thumbnail.setCursor(QCursor(Qt.CursorShape.PointingHandCursor)) thumbnail.setMouseTracking(True) + thumbnail.setAlignment(Qt.AlignmentFlag.AlignCenter) self.ui.verticalLayout_2.addWidget(thumbnail) # Seitennummer für Thumbnail anzeigen thumbnail_info = QLabel(f"Seite {page_num + 1}") thumbnail_info.setAlignment(Qt.AlignmentFlag.AlignCenter) + thumbnail_info.setMaximumHeight(18) # Kompakte Höhe + thumbnail_info.setContentsMargins(0, 0, 0, 0) # Keine Ränder self.ui.verticalLayout_2.addWidget(thumbnail_info) # Beziehung zwischen Thumbnail und Seitennummer speichern @@ -426,6 +433,10 @@ class PdfViewerMixin: # Click-Event für das Thumbnail einrichten thumbnail.mousePressEvent = lambda event, t=thumbnail: self.on_thumbnail_clicked(event, t) + # Füge expandierenden Spacer am Ende hinzu, damit Thumbnails oben bleiben + spacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) + self.ui.verticalLayout_2.addItem(spacer) + # Erstelle das Vollbild-Label für die rechte Spalte (falls noch nicht vorhanden) if self.fullsize_label is None: self.fullsize_label = QLabel()