feat(dialogs): implement FileExplorer for cover image selection
Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
This commit is contained in:
@ -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."""
|
||||||
|
Reference in New Issue
Block a user