connect thumbnail selection signal to main controller; enhance thumbnail handling with media ID

This commit is contained in:
2025-09-07 20:32:56 +02:00
parent 2072cd8c93
commit ab266c2767
4 changed files with 26 additions and 10 deletions

View File

@@ -3,7 +3,7 @@ from PySide6.QtWidgets import (
QLabel, QHBoxLayout
)
from PySide6.QtGui import QPixmap, QIcon
from PySide6.QtCore import Qt, QSize
from PySide6.QtCore import Qt, QSize, Signal
import sys
def make_thumbnail(image_path: str, size: QSize) -> QPixmap:
@@ -56,6 +56,8 @@ class ThumbnailItemWidget(QWidget):
class ThumbnailListWidget(QWidget):
selectedThumbnail = Signal(int) # sygnał z ID wybranego elementu
def __init__(self):
super().__init__()
layout = QVBoxLayout(self)
@@ -69,8 +71,9 @@ class ThumbnailListWidget(QWidget):
self.list_widget.itemPressed.connect(self.on_item_pressed)
def add_thumbnail(self, image_path: str, text: str):
def add_thumbnail(self, image_path: str, text: str, id: int):
item = QListWidgetItem()
item.setData(Qt.ItemDataRole.UserRole, id)
item.setSizeHint(QSize(192, 192)) # rozmiar „wiersza”
print(f"Adding thumbnail: {image_path} with text: {text}")
@@ -80,5 +83,7 @@ class ThumbnailListWidget(QWidget):
def on_item_pressed(self, item: QListWidgetItem):
row = self.list_widget.row(item)
print(f"Kliknięto miniaturę w wierszu: {row}")
id = item.data(Qt.ItemDataRole.UserRole)
print(f"Kliknięto miniaturę w wierszu: {row}, obiekt ID: {id}")
self.selectedThumbnail.emit(id)