feat(dialogs): implement FileExplorer for cover image selection

Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
This commit is contained in:
2025-06-26 14:07:21 +05:00
parent 3f0e7487df
commit afad92d967

View File

@ -464,15 +464,25 @@ class AddGameDialog(QDialog):
self.updatePreview() self.updatePreview()
def browseCover(self): def browseCover(self):
fileNameAndFilter = QFileDialog.getOpenFileName( """Открывает файловый менеджер для выбора изображения обложки"""
self, try:
_("Select Cover Image"), file_explorer = FileExplorer(self)
"", file_explorer.file_signal.file_selected.connect(self.onCoverSelected)
"Images (*.png *.jpg *.jpeg *.bmp)"
) if self.parent():
fileName = fileNameAndFilter[0] center_point = self.parent().geometry().center()
if fileName: file_explorer.move(center_point - file_explorer.rect().center())
self.coverEdit.setText(fileName)
file_explorer.show()
except Exception as e:
logger.error(f"Error in browseCover: {e}")
def onCoverSelected(self, file_path):
"""Обработчик выбора файла обложки в FileExplorer"""
if file_path and os.path.splitext(file_path)[1].lower() in ('.png', '.jpg', '.jpeg', '.bmp'):
self.coverEdit.setText(file_path)
else:
logger.warning(f"Selected file is not a valid image: {file_path}")
def updatePreview(self): def updatePreview(self):
"""Update the cover preview image.""" """Update the cover preview image."""