feat(dialogs): rewrite Preview widget
This commit is contained in:
@ -3,7 +3,7 @@ import tempfile
|
|||||||
from typing import cast, TYPE_CHECKING
|
from typing import cast, TYPE_CHECKING
|
||||||
from PySide6.QtGui import QPixmap, QIcon
|
from PySide6.QtGui import QPixmap, QIcon
|
||||||
from PySide6.QtWidgets import (
|
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 PySide6.QtCore import Qt, QObject, Signal, QMimeDatabase, QTimer
|
||||||
from icoextract import IconExtractor, IconExtractorError
|
from icoextract import IconExtractor, IconExtractorError
|
||||||
@ -424,6 +424,7 @@ class AddGameDialog(QDialog):
|
|||||||
self.setWindowTitle(_("Edit Game") if edit_mode else _("Add Game"))
|
self.setWindowTitle(_("Edit Game") if edit_mode else _("Add Game"))
|
||||||
self.setModal(True)
|
self.setModal(True)
|
||||||
self.setFixedWidth(600)
|
self.setFixedWidth(600)
|
||||||
|
self.setFixedHeight(600)
|
||||||
self.setStyleSheet(self.theme.MAIN_WINDOW_STYLE + self.theme.MESSAGE_BOX_STYLE)
|
self.setStyleSheet(self.theme.MAIN_WINDOW_STYLE + self.theme.MESSAGE_BOX_STYLE)
|
||||||
|
|
||||||
layout = QFormLayout(self)
|
layout = QFormLayout(self)
|
||||||
@ -437,13 +438,13 @@ class AddGameDialog(QDialog):
|
|||||||
if game_name:
|
if game_name:
|
||||||
self.nameEdit.setText(game_name)
|
self.nameEdit.setText(game_name)
|
||||||
name_label = QLabel(_("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)
|
layout.addRow(name_label, self.nameEdit)
|
||||||
|
|
||||||
# Exe path
|
# Exe path
|
||||||
exe_label = QLabel(_("Path to Executable:"))
|
exe_label = QLabel(_("Path to Executable:"))
|
||||||
exe_label.setStyleSheet(
|
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 = QLineEdit(self)
|
||||||
self.exeEdit.setStyleSheet(self.theme.ADDGAME_INPUT_STYLE)
|
self.exeEdit.setStyleSheet(self.theme.ADDGAME_INPUT_STYLE)
|
||||||
@ -465,8 +466,7 @@ class AddGameDialog(QDialog):
|
|||||||
|
|
||||||
# Cover path
|
# Cover path
|
||||||
cover_label = QLabel(_("Custom Cover:"))
|
cover_label = QLabel(_("Custom Cover:"))
|
||||||
cover_label.setStyleSheet(
|
cover_label.setStyleSheet(self.theme.PARAMS_TITLE_STYLE)
|
||||||
self.theme.PARAMS_TITLE_STYLE + " QLabel { color: #ffffff; font-size: 14px; font-weight: bold; }")
|
|
||||||
|
|
||||||
self.coverEdit = QLineEdit(self)
|
self.coverEdit = QLineEdit(self)
|
||||||
self.coverEdit.setStyleSheet(self.theme.ADDGAME_INPUT_STYLE)
|
self.coverEdit.setStyleSheet(self.theme.ADDGAME_INPUT_STYLE)
|
||||||
@ -486,15 +486,23 @@ class AddGameDialog(QDialog):
|
|||||||
|
|
||||||
# Preview
|
# Preview
|
||||||
self.coverPreview = QLabel(self)
|
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 = QLabel(_("Cover Preview:"))
|
||||||
preview_label.setStyleSheet(self.theme.PARAMS_TITLE_STYLE + " QLabel { color: #ffffff; font-size: 14px; font-weight: bold; }")
|
preview_label.setStyleSheet(self.theme.PARAMS_TITLE_STYLE)
|
||||||
layout.addRow(preview_label, self.coverPreview)
|
preview_layout.addWidget(preview_label, alignment=Qt.AlignmentFlag.AlignLeft)
|
||||||
|
preview_layout.addWidget(self.coverPreview, stretch=1)
|
||||||
|
layout.addRow(preview_widget)
|
||||||
|
|
||||||
# Dialog buttons
|
# Dialog buttons
|
||||||
self.button_layout = QHBoxLayout()
|
self.button_layout = QHBoxLayout()
|
||||||
self.button_layout.setSpacing(10)
|
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.cancel_button = AutoSizeButton(_("Cancel"), icon=self.theme_manager.get_icon("cancel"))
|
||||||
self.select_button.setStyleSheet(self.theme.ACTION_BUTTON_STYLE)
|
self.select_button.setStyleSheet(self.theme.ACTION_BUTTON_STYLE)
|
||||||
self.cancel_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
|
||||||
LIBRARY_WIDGET_STYLE= """
|
LIBRARY_WIDGET_STYLE= """
|
||||||
|
Reference in New Issue
Block a user