add Preview widget to addGame window #20
| @@ -3,7 +3,7 @@ import tempfile | ||||
| from typing import cast, TYPE_CHECKING | ||||
| from PySide6.QtGui import QPixmap, QIcon | ||||
| from PySide6.QtWidgets import ( | ||||
|     QDialog, QLineEdit, QFormLayout, QHBoxLayout, QLabel, QVBoxLayout, QListWidget, QScrollArea, QWidget, QListWidgetItem | ||||
|     QDialog, QLineEdit, QFormLayout, QHBoxLayout, QLabel, QVBoxLayout, QListWidget, QScrollArea, QWidget, QListWidgetItem, QSizePolicy | ||||
| ) | ||||
| from PySide6.QtCore import Qt, QObject, Signal, QMimeDatabase, QTimer | ||||
| from icoextract import IconExtractor, IconExtractorError | ||||
| @@ -424,6 +424,7 @@ class AddGameDialog(QDialog): | ||||
|         self.setWindowTitle(_("Edit Game") if edit_mode else _("Add Game")) | ||||
|         self.setModal(True) | ||||
|         self.setFixedWidth(600) | ||||
|         self.setFixedHeight(600) | ||||
|         self.setStyleSheet(self.theme.MAIN_WINDOW_STYLE + self.theme.MESSAGE_BOX_STYLE) | ||||
|  | ||||
|         layout = QFormLayout(self) | ||||
| @@ -437,13 +438,13 @@ class AddGameDialog(QDialog): | ||||
|         if game_name: | ||||
|             self.nameEdit.setText(game_name) | ||||
|         name_label = QLabel(_("Game Name:")) | ||||
|         name_label.setStyleSheet(self.theme.PARAMS_TITLE_STYLE + " QLabel { color: #ffffff; font-size: 14px; font-weight: bold; }") | ||||
|         name_label.setStyleSheet(self.theme.PARAMS_TITLE_STYLE) | ||||
|         layout.addRow(name_label, self.nameEdit) | ||||
|  | ||||
|         # Exe path | ||||
|         exe_label = QLabel(_("Path to Executable:")) | ||||
|         exe_label.setStyleSheet( | ||||
|             self.theme.PARAMS_TITLE_STYLE + " QLabel { color: #ffffff; font-size: 14px; font-weight: bold; }") | ||||
|             self.theme.PARAMS_TITLE_STYLE) | ||||
|  | ||||
|         self.exeEdit = QLineEdit(self) | ||||
|         self.exeEdit.setStyleSheet(self.theme.ADDGAME_INPUT_STYLE) | ||||
| @@ -465,8 +466,7 @@ class AddGameDialog(QDialog): | ||||
|  | ||||
|         # Cover path | ||||
|         cover_label = QLabel(_("Custom Cover:")) | ||||
|         cover_label.setStyleSheet( | ||||
|             self.theme.PARAMS_TITLE_STYLE + " QLabel { color: #ffffff; font-size: 14px; font-weight: bold; }") | ||||
|         cover_label.setStyleSheet(self.theme.PARAMS_TITLE_STYLE) | ||||
|  | ||||
|         self.coverEdit = QLineEdit(self) | ||||
|         self.coverEdit.setStyleSheet(self.theme.ADDGAME_INPUT_STYLE) | ||||
| @@ -486,15 +486,23 @@ class AddGameDialog(QDialog): | ||||
|  | ||||
|         # Preview | ||||
|         self.coverPreview = QLabel(self) | ||||
|         self.coverPreview.setStyleSheet(self.theme.CONTENT_STYLE + " QLabel { color: #ffffff; }") | ||||
|         self.coverPreview.setAlignment(Qt.AlignmentFlag.AlignCenter) | ||||
|         self.coverPreview.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred) | ||||
|         preview_widget = QWidget(self) | ||||
|         preview_widget.setStyleSheet(self.theme.PREVIEW_WIDGET_STYLE) | ||||
|         preview_layout = QVBoxLayout(preview_widget) | ||||
|         preview_layout.setContentsMargins(0, 0, 0, 0) | ||||
|         preview_layout.setSpacing(0) | ||||
|         preview_label = QLabel(_("Cover Preview:")) | ||||
|         preview_label.setStyleSheet(self.theme.PARAMS_TITLE_STYLE + " QLabel { color: #ffffff; font-size: 14px; font-weight: bold; }") | ||||
|         layout.addRow(preview_label, self.coverPreview) | ||||
|         preview_label.setStyleSheet(self.theme.PARAMS_TITLE_STYLE) | ||||
|         preview_layout.addWidget(preview_label, alignment=Qt.AlignmentFlag.AlignLeft) | ||||
|         preview_layout.addWidget(self.coverPreview, stretch=1) | ||||
|         layout.addRow(preview_widget) | ||||
|  | ||||
|         # Dialog buttons | ||||
|         self.button_layout = QHBoxLayout() | ||||
|         self.button_layout.setSpacing(10) | ||||
|         self.select_button = AutoSizeButton(_("Select"), icon=self.theme_manager.get_icon("apply")) | ||||
|         self.select_button = AutoSizeButton(_("Apply"), icon=self.theme_manager.get_icon("apply")) | ||||
|         self.cancel_button = AutoSizeButton(_("Cancel"), icon=self.theme_manager.get_icon("cancel")) | ||||
|         self.select_button.setStyleSheet(self.theme.ACTION_BUTTON_STYLE) | ||||
|         self.cancel_button.setStyleSheet(self.theme.ACTION_BUTTON_STYLE) | ||||
|   | ||||
| @@ -410,6 +410,14 @@ CONTENT_STYLE = f""" | ||||
|     }} | ||||
| """ | ||||
|  | ||||
| PREVIEW_WIDGET_STYLE = f""" | ||||
|     QWidget {{ | ||||
|         margin-top: 3px; | ||||
|         background-color: {color_c}; | ||||
|         border-radius: {border_radius_a}; | ||||
|     }} | ||||
| """ | ||||
|  | ||||
| # СТИЛЬ ОСНОВНЫХ СТРАНИЦ | ||||
| # LIBRARY_WIDGET_STYLE | ||||
| LIBRARY_WIDGET_STYLE= """ | ||||
| @@ -487,7 +495,7 @@ COVER_FRAME_STYLE = f""" | ||||
| """ | ||||
|  | ||||
| # СКРУГЛЕНИЕ LABEL ПОД ОБЛОЖКУ | ||||
| COVER_LABEL_STYLE = "border-radius: 100px;" | ||||
| COVER_LABEL_STYLE = f"border-radius: {border_radius_b};" | ||||
|  | ||||
| # ВИДЖЕТ ДЕТАЛЕЙ (ТЕКСТ, ОПИСАНИЕ) | ||||
| DETAILS_WIDGET_STYLE = f"background: rgba(20,20,20,0.40); border-radius: {border_radius_b}; padding: 10px;" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user