UI: PDF-Thumbnails kompakt und zentriert anzeigen
- Thumbnails horizontal zentriert im ScrollArea-Layout - Layout-Spacing auf 5px reduziert für kompakte Darstellung - Seitennummer-Labels auf 18px Höhe begrenzt - Ränder um Layout und Labels entfernt - Expandierenden Spacer am Ende hinzugefügt, damit Thumbnails oben bleiben - Verbesserte Übersichtlichkeit der Thumbnail-Navigation
This commit is contained in:
@@ -16,7 +16,7 @@ from pathlib import Path
|
|||||||
|
|
||||||
from PySide6.QtCore import Qt, QSize, QUrl
|
from PySide6.QtCore import Qt, QSize, QUrl
|
||||||
from PySide6.QtGui import QCursor, QPixmap, QPainter, QDesktopServices
|
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
|
from PySide6.QtPdf import QPdfDocument
|
||||||
|
|
||||||
|
|
||||||
@@ -343,6 +343,10 @@ class PdfViewerMixin:
|
|||||||
self._clear_layout(self.ui.verticalLayout_2)
|
self._clear_layout(self.ui.verticalLayout_2)
|
||||||
self._clear_layout(self.ui.verticalLayout_3)
|
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
|
# Dicts zurücksetzen
|
||||||
self.thumbnail_to_page = {}
|
self.thumbnail_to_page = {}
|
||||||
self.pdf_documents = {}
|
self.pdf_documents = {}
|
||||||
@@ -413,11 +417,14 @@ class PdfViewerMixin:
|
|||||||
thumbnail.setPixmap(diff_pixmap.scaledToWidth(200, Qt.TransformationMode.SmoothTransformation))
|
thumbnail.setPixmap(diff_pixmap.scaledToWidth(200, Qt.TransformationMode.SmoothTransformation))
|
||||||
thumbnail.setCursor(QCursor(Qt.CursorShape.PointingHandCursor))
|
thumbnail.setCursor(QCursor(Qt.CursorShape.PointingHandCursor))
|
||||||
thumbnail.setMouseTracking(True)
|
thumbnail.setMouseTracking(True)
|
||||||
|
thumbnail.setAlignment(Qt.AlignmentFlag.AlignCenter)
|
||||||
self.ui.verticalLayout_2.addWidget(thumbnail)
|
self.ui.verticalLayout_2.addWidget(thumbnail)
|
||||||
|
|
||||||
# Seitennummer für Thumbnail anzeigen
|
# Seitennummer für Thumbnail anzeigen
|
||||||
thumbnail_info = QLabel(f"Seite {page_num + 1}")
|
thumbnail_info = QLabel(f"Seite {page_num + 1}")
|
||||||
thumbnail_info.setAlignment(Qt.AlignmentFlag.AlignCenter)
|
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)
|
self.ui.verticalLayout_2.addWidget(thumbnail_info)
|
||||||
|
|
||||||
# Beziehung zwischen Thumbnail und Seitennummer speichern
|
# Beziehung zwischen Thumbnail und Seitennummer speichern
|
||||||
@@ -426,6 +433,10 @@ class PdfViewerMixin:
|
|||||||
# Click-Event für das Thumbnail einrichten
|
# Click-Event für das Thumbnail einrichten
|
||||||
thumbnail.mousePressEvent = lambda event, t=thumbnail: self.on_thumbnail_clicked(event, t)
|
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)
|
# Erstelle das Vollbild-Label für die rechte Spalte (falls noch nicht vorhanden)
|
||||||
if self.fullsize_label is None:
|
if self.fullsize_label is None:
|
||||||
self.fullsize_label = QLabel()
|
self.fullsize_label = QLabel()
|
||||||
|
|||||||
Reference in New Issue
Block a user