4 Commits

Author SHA1 Message Date
Gitea Actions
be9ecf5db6 chore: update steam apps list 2025-07-01T00:01:15Z 2025-07-01 00:01:16 +00:00
131f0f2f58 chore(localization): update
Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
2025-07-01 00:16:17 +05:00
e1e3092870 feat(dialogs): rewrite Preview widget 2025-07-01 00:13:08 +07:00
8902751d09 fix: border-radius COVER_LABEL_STYLE 2025-06-30 20:36:12 +07:00
15 changed files with 4917 additions and 728 deletions

View File

@@ -197,7 +197,7 @@
},
{
"normalized_name": "rec room",
"status": "Broken"
"status": "Running"
},
{
"normalized_name": "world war 3",
@@ -221,7 +221,7 @@
},
{
"normalized_name": "zero hour",
"status": "Broken"
"status": "Running"
},
{
"normalized_name": "ironsight",
@@ -309,7 +309,7 @@
},
{
"normalized_name": "dirty bomb",
"status": "Broken"
"status": "Running"
},
{
"normalized_name": "empyrion galactic survival",
@@ -989,7 +989,7 @@
},
{
"normalized_name": "marauders",
"status": "Broken"
"status": "Running"
},
{
"normalized_name": "predecessor",
@@ -1101,7 +1101,7 @@
},
{
"normalized_name": "deceit 2",
"status": "Broken"
"status": "Running"
},
{
"normalized_name": "block n load 2",
@@ -1781,7 +1781,7 @@
},
{
"normalized_name": "splitgate 2",
"status": "Planned"
"status": "Running"
},
{
"normalized_name": "xera survival",
@@ -1897,7 +1897,7 @@
},
{
"normalized_name": "test drive unlimited solar crown",
"status": "Planned"
"status": "Running"
},
{
"normalized_name": "resident evil resistance",
@@ -3461,7 +3461,7 @@
},
{
"normalized_name": "crsed cuisine royale",
"status": "Supported"
"status": "Denied"
},
{
"normalized_name": "project nebula",
@@ -4329,7 +4329,7 @@
},
{
"normalized_name": "blindfire",
"status": "Broken"
"status": "Supported"
},
{
"normalized_name": "h hour world's elite",
@@ -4414,5 +4414,17 @@
{
"normalized_name": "ragnarok origin roo",
"status": "Running"
},
{
"normalized_name": "fantasy life i the girl who steals time",
"status": "Running"
},
{
"normalized_name": "la tale evolved",
"status": "Running"
},
{
"normalized_name": "carx street",
"status": "Broken"
}
]

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -1,4 +1,20 @@
[
{
"normalized_title": "settlement survival",
"slug": "settlement-survival"
},
{
"normalized_title": "the elder scrolls iv oblivion",
"slug": "the-elder-scrolls-iv-oblivion-remastered"
},
{
"normalized_title": "dead space 3",
"slug": "dead-space-3"
},
{
"normalized_title": "dead space 2",
"slug": "dead-space-2"
},
{
"normalized_title": "hades",
"slug": "hades"
@@ -99,10 +115,6 @@
"normalized_title": "hotshot racing",
"slug": "hotshot-racing"
},
{
"normalized_title": "s.t.a.l.k.e.r. anomaly g.a.m.m.a",
"slug": "s-t-a-l-k-e-r-anomaly-g-a-m-m-a"
},
{
"normalized_title": "golazo! 2",
"slug": "golazo-2"
@@ -1798,5 +1810,45 @@
{
"normalized_title": "atomic heart",
"slug": "atomic-heart"
},
{
"normalized_title": "genshin impact",
"slug": "genshin-impact"
},
{
"normalized_title": "battle.net",
"slug": "battle-net"
},
{
"normalized_title": "valorant",
"slug": "valorant"
},
{
"normalized_title": "русы против ящеров",
"slug": "rusy-protiv-yashherov"
},
{
"normalized_title": "last floor",
"slug": "last-floor"
},
{
"normalized_title": "fpv kamikaze drone",
"slug": "fpv-kamikaze-drone"
},
{
"normalized_title": "wild terra 2 new lands",
"slug": "wild-terra-2-new-lands"
},
{
"normalized_title": "armored warfare",
"slug": "armored-warfare"
},
{
"normalized_title": "warhammer 40 000 dawn of war",
"slug": "warhammer-40-000-dawn-of-war"
},
{
"normalized_title": "warhammer 40 000 space marine",
"slug": "warhammer-40-000-space-marine"
}
]

Binary file not shown.

View File

@@ -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)

View File

@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-06-28 09:04+0500\n"
"POT-Creation-Date: 2025-07-01 00:15+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: de_DE\n"
@@ -87,9 +87,6 @@ msgstr ""
msgid "Failed to open folder: {error}"
msgstr ""
msgid "Select Game Installation Folder"
msgstr ""
msgid "No folder selected"
msgstr ""
@@ -250,10 +247,10 @@ msgstr ""
msgid "Game Name:"
msgstr ""
msgid "Browse..."
msgid "Path to Executable:"
msgstr ""
msgid "Path to Executable:"
msgid "Browse..."
msgstr ""
msgid "Custom Cover:"
@@ -262,6 +259,9 @@ msgstr ""
msgid "Cover Preview:"
msgstr ""
msgid "Apply"
msgstr ""
msgid "Invalid image"
msgstr ""

View File

@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-06-28 09:04+0500\n"
"POT-Creation-Date: 2025-07-01 00:15+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: es_ES\n"
@@ -87,9 +87,6 @@ msgstr ""
msgid "Failed to open folder: {error}"
msgstr ""
msgid "Select Game Installation Folder"
msgstr ""
msgid "No folder selected"
msgstr ""
@@ -250,10 +247,10 @@ msgstr ""
msgid "Game Name:"
msgstr ""
msgid "Browse..."
msgid "Path to Executable:"
msgstr ""
msgid "Path to Executable:"
msgid "Browse..."
msgstr ""
msgid "Custom Cover:"
@@ -262,6 +259,9 @@ msgstr ""
msgid "Cover Preview:"
msgstr ""
msgid "Apply"
msgstr ""
msgid "Invalid image"
msgstr ""

View File

@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PortProtonQt 0.1.1\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-06-28 09:04+0500\n"
"POT-Creation-Date: 2025-07-01 00:15+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -85,9 +85,6 @@ msgstr ""
msgid "Failed to open folder: {error}"
msgstr ""
msgid "Select Game Installation Folder"
msgstr ""
msgid "No folder selected"
msgstr ""
@@ -248,10 +245,10 @@ msgstr ""
msgid "Game Name:"
msgstr ""
msgid "Browse..."
msgid "Path to Executable:"
msgstr ""
msgid "Path to Executable:"
msgid "Browse..."
msgstr ""
msgid "Custom Cover:"
@@ -260,6 +257,9 @@ msgstr ""
msgid "Cover Preview:"
msgstr ""
msgid "Apply"
msgstr ""
msgid "Invalid image"
msgstr ""

View File

@@ -9,18 +9,17 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-06-28 09:04+0500\n"
"PO-Revision-Date: 2025-06-28 09:05+0500\n"
"POT-Creation-Date: 2025-07-01 00:15+0500\n"
"PO-Revision-Date: 2025-07-01 00:15+0500\n"
"Last-Translator: \n"
"Language-Team: ru_RU <LL@li.org>\n"
"Language: ru_RU\n"
"Language-Team: ru_RU <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 "
"&& (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Generated-By: Babel 2.17.0\n"
"X-Generator: Poedit 3.6\n"
msgid "Error"
msgstr "Ошибка"
@@ -73,11 +72,11 @@ msgstr "Успешно"
#, python-brace-format
msgid ""
"'{game_name}' was added to Steam. Please restart Steam for changes to take "
"effect."
"'{game_name}' was added to Steam. Please restart Steam for changes to "
"take effect."
msgstr ""
"'{game_name}' был(а) добавлен(а) в Steam. Пожалуйста, перезапустите Steam, "
"чтобы изменения вступили в силу."
"'{game_name}' был(а) добавлен(а) в Steam. Пожалуйста, перезапустите "
"Steam, чтобы изменения вступили в силу."
#, python-brace-format
msgid "Executable not found for game: {game_name}"
@@ -91,9 +90,6 @@ msgstr "Открыта папка для '{game_name}'"
msgid "Failed to open folder: {error}"
msgstr "Не удалось открыть папку для игры: {error}"
msgid "Select Game Installation Folder"
msgstr "Выберите папку установки игры"
msgid "No folder selected"
msgstr "Не выбрана ни одна папка"
@@ -184,11 +180,11 @@ msgstr "Подтвердите удаление"
#, python-brace-format
msgid ""
"Are you sure you want to delete '{game_name}'? This will remove the .desktop "
"file and custom data."
"Are you sure you want to delete '{game_name}'? This will remove the "
".desktop file and custom data."
msgstr ""
"Вы уверены, что хотите удалить '{game_name}'? Это приведёт к удалению файла ."
"desktop и пользовательских данных."
"Вы уверены, что хотите удалить '{game_name}'? Это приведёт к удалению "
"файла .desktop и пользовательских данных."
#, python-brace-format
msgid "Failed to delete .desktop file: {error}"
@@ -230,11 +226,11 @@ msgstr "Не удалось добавить '{game_name}' в Steam: {error}"
#, python-brace-format
msgid ""
"'{game_name}' was removed from Steam. Please restart Steam for changes to take "
"effect."
"'{game_name}' was removed from Steam. Please restart Steam for changes to"
" take effect."
msgstr ""
"'{game_name}' был(а) удалён(а) из Steam. Пожалуйста, перезапустите Steam, чтобы "
"изменения вступили в силу."
"'{game_name}' был(а) удалён(а) из Steam. Пожалуйста, перезапустите Steam,"
" чтобы изменения вступили в силу."
#, python-brace-format
msgid "Failed to remove game '{game_name}' from Steam: {error}"
@@ -258,18 +254,21 @@ msgstr "Добавить игру"
msgid "Game Name:"
msgstr "Имя игры:"
msgid "Browse..."
msgstr "Обзор..."
msgid "Path to Executable:"
msgstr "Путь к исполняемому файлу:"
msgid "Browse..."
msgstr "Обзор..."
msgid "Custom Cover:"
msgstr "Обложка:"
msgid "Cover Preview:"
msgstr "Предпросмотр обложки:"
msgid "Apply"
msgstr "Применить"
msgid "Invalid image"
msgstr "Недопустимое изображение"
@@ -477,7 +476,8 @@ msgstr "Подтвердите удаление"
msgid "Are you sure you want to reset all settings? This action cannot be undone."
msgstr ""
"Вы уверены, что хотите сбросить все настройки? Это действие нельзя отменить."
"Вы уверены, что хотите сбросить все настройки? Это действие нельзя "
"отменить."
msgid "Settings reset. Restarting..."
msgstr "Настройки сброшены. Перезапуск..."
@@ -622,3 +622,4 @@ msgstr "мин."
msgid "sec."
msgstr "сек."

View File

@@ -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;"