Compare commits
3 Commits
4e5ccfc374
...
d7ab7dc7ce
Author | SHA1 | Date | |
---|---|---|---|
d7ab7dc7ce
|
|||
82a93abb7d
|
|||
25439889f7
|
@@ -10,6 +10,7 @@
|
||||
- Начальная поддержка EGS (Без EOS, скачивания игр и запуска игр из сторонних магазинов)
|
||||
- Автодополнение bash для комманды portprotonqt
|
||||
- Поддержка геймпадов в диалоге выбора игры
|
||||
- Быстрый запуск игры через контекстное меню
|
||||
|
||||
### Changed
|
||||
- Удалены сборки для Fedora 40
|
||||
|
@@ -20,9 +20,9 @@ Current translation status:
|
||||
|
||||
| Locale | Progress | Translated |
|
||||
| :----- | -------: | ---------: |
|
||||
| [de_DE](./de_DE/LC_MESSAGES/messages.po) | 0% | 0 of 182 |
|
||||
| [es_ES](./es_ES/LC_MESSAGES/messages.po) | 0% | 0 of 182 |
|
||||
| [ru_RU](./ru_RU/LC_MESSAGES/messages.po) | 100% | 182 of 182 |
|
||||
| [de_DE](./de_DE/LC_MESSAGES/messages.po) | 0% | 0 of 183 |
|
||||
| [es_ES](./es_ES/LC_MESSAGES/messages.po) | 0% | 0 of 183 |
|
||||
| [ru_RU](./ru_RU/LC_MESSAGES/messages.po) | 100% | 183 of 183 |
|
||||
|
||||
---
|
||||
|
||||
|
@@ -20,9 +20,9 @@
|
||||
|
||||
| Локаль | Прогресс | Переведено |
|
||||
| :----- | -------: | ---------: |
|
||||
| [de_DE](./de_DE/LC_MESSAGES/messages.po) | 0% | 0 из 182 |
|
||||
| [es_ES](./es_ES/LC_MESSAGES/messages.po) | 0% | 0 из 182 |
|
||||
| [ru_RU](./ru_RU/LC_MESSAGES/messages.po) | 100% | 182 из 182 |
|
||||
| [de_DE](./de_DE/LC_MESSAGES/messages.po) | 0% | 0 из 183 |
|
||||
| [es_ES](./es_ES/LC_MESSAGES/messages.po) | 0% | 0 из 183 |
|
||||
| [ru_RU](./ru_RU/LC_MESSAGES/messages.po) | 100% | 183 из 183 |
|
||||
|
||||
---
|
||||
|
||||
|
@@ -129,6 +129,11 @@ class ContextMenuManager:
|
||||
menu = QMenu(self.parent)
|
||||
menu.setStyleSheet(self.theme.CONTEXT_MENU_STYLE)
|
||||
|
||||
launch_action = menu.addAction(_("Launch Game"))
|
||||
launch_action.triggered.connect(
|
||||
lambda: self._launch_game(game_card)
|
||||
)
|
||||
|
||||
favorites = read_favorites()
|
||||
is_favorite = game_card.name in favorites
|
||||
favorite_action = menu.addAction(
|
||||
@@ -219,6 +224,40 @@ class ContextMenuManager:
|
||||
|
||||
menu.exec(game_card.mapToGlobal(pos))
|
||||
|
||||
def _launch_game(self, game_card):
|
||||
"""
|
||||
Launch a game using a validated exec_line, handling EGS games specifically.
|
||||
|
||||
Args:
|
||||
game_card: The GameCard instance containing game data.
|
||||
"""
|
||||
if not self._check_portproton():
|
||||
return
|
||||
if game_card.game_source == "epic":
|
||||
if not os.path.exists(self.legendary_path):
|
||||
self.signals.show_warning_dialog.emit(
|
||||
_("Error"),
|
||||
_("Legendary executable not found at {path}").format(path=self.legendary_path)
|
||||
)
|
||||
return
|
||||
# Construct EGS launch command
|
||||
wrapper = "flatpak run ru.linux_gaming.PortProton"
|
||||
start_sh_path = os.path.join(self.portproton_location, "data", "scripts", "start.sh")
|
||||
if self.portproton_location and ".var" not in self.portproton_location:
|
||||
wrapper = start_sh_path
|
||||
if not os.path.exists(start_sh_path):
|
||||
self.signals.show_warning_dialog.emit(
|
||||
_("Error"),
|
||||
_("start.sh not found at {path}").format(path=start_sh_path)
|
||||
)
|
||||
return
|
||||
exec_line = f'"{self.legendary_path}" launch {game_card.appid} --no-wine --wrapper "env START_FROM_STEAM=1 {wrapper}"'
|
||||
else:
|
||||
exec_line = self._get_exec_line(game_card.name, game_card.exec_line)
|
||||
if not exec_line:
|
||||
return
|
||||
self.parent.toggleGame(exec_line)
|
||||
|
||||
def add_egs_to_steam(self, game_name: str, app_name: str):
|
||||
"""
|
||||
Adds an EGS game to Steam using the egs_api.
|
||||
|
Binary file not shown.
@@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2025-07-01 00:15+0500\n"
|
||||
"POT-Creation-Date: 2025-07-01 15:54+0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: de_DE\n"
|
||||
@@ -26,6 +26,9 @@ msgstr ""
|
||||
msgid "PortProton is not found"
|
||||
msgstr ""
|
||||
|
||||
msgid "Launch Game"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove from Favorites"
|
||||
msgstr ""
|
||||
|
||||
@@ -66,6 +69,10 @@ msgstr ""
|
||||
msgid "Legendary executable not found at {path}"
|
||||
msgstr ""
|
||||
|
||||
#, python-brace-format
|
||||
msgid "start.sh not found at {path}"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
@@ -110,10 +117,6 @@ msgstr ""
|
||||
msgid "Removed '{game_name}' from favorites"
|
||||
msgstr ""
|
||||
|
||||
#, python-brace-format
|
||||
msgid "start.sh not found at {path}"
|
||||
msgstr ""
|
||||
|
||||
#, python-brace-format
|
||||
msgid "Launch game \"{name}\" with PortProton"
|
||||
msgstr ""
|
||||
|
Binary file not shown.
@@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2025-07-01 00:15+0500\n"
|
||||
"POT-Creation-Date: 2025-07-01 15:54+0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: es_ES\n"
|
||||
@@ -26,6 +26,9 @@ msgstr ""
|
||||
msgid "PortProton is not found"
|
||||
msgstr ""
|
||||
|
||||
msgid "Launch Game"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove from Favorites"
|
||||
msgstr ""
|
||||
|
||||
@@ -66,6 +69,10 @@ msgstr ""
|
||||
msgid "Legendary executable not found at {path}"
|
||||
msgstr ""
|
||||
|
||||
#, python-brace-format
|
||||
msgid "start.sh not found at {path}"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
@@ -110,10 +117,6 @@ msgstr ""
|
||||
msgid "Removed '{game_name}' from favorites"
|
||||
msgstr ""
|
||||
|
||||
#, python-brace-format
|
||||
msgid "start.sh not found at {path}"
|
||||
msgstr ""
|
||||
|
||||
#, python-brace-format
|
||||
msgid "Launch game \"{name}\" with PortProton"
|
||||
msgstr ""
|
||||
|
@@ -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-07-01 00:15+0500\n"
|
||||
"POT-Creation-Date: 2025-07-01 15:54+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"
|
||||
@@ -24,6 +24,9 @@ msgstr ""
|
||||
msgid "PortProton is not found"
|
||||
msgstr ""
|
||||
|
||||
msgid "Launch Game"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove from Favorites"
|
||||
msgstr ""
|
||||
|
||||
@@ -64,6 +67,10 @@ msgstr ""
|
||||
msgid "Legendary executable not found at {path}"
|
||||
msgstr ""
|
||||
|
||||
#, python-brace-format
|
||||
msgid "start.sh not found at {path}"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
@@ -108,10 +115,6 @@ msgstr ""
|
||||
msgid "Removed '{game_name}' from favorites"
|
||||
msgstr ""
|
||||
|
||||
#, python-brace-format
|
||||
msgid "start.sh not found at {path}"
|
||||
msgstr ""
|
||||
|
||||
#, python-brace-format
|
||||
msgid "Launch game \"{name}\" with PortProton"
|
||||
msgstr ""
|
||||
|
Binary file not shown.
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2025-07-01 00:15+0500\n"
|
||||
"PO-Revision-Date: 2025-07-01 00:15+0500\n"
|
||||
"POT-Creation-Date: 2025-07-01 15:54+0500\n"
|
||||
"PO-Revision-Date: 2025-07-01 15:54+0500\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: ru_RU\n"
|
||||
"Language-Team: ru_RU <LL@li.org>\n"
|
||||
@@ -27,6 +27,9 @@ msgstr "Ошибка"
|
||||
msgid "PortProton is not found"
|
||||
msgstr "PortProton не найден"
|
||||
|
||||
msgid "Launch Game"
|
||||
msgstr "Запустить игру"
|
||||
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Удалить из Избранного"
|
||||
|
||||
@@ -67,6 +70,10 @@ msgstr "Удалить из PortProton"
|
||||
msgid "Legendary executable not found at {path}"
|
||||
msgstr "Legendary не найден по пути {path}"
|
||||
|
||||
#, python-brace-format
|
||||
msgid "start.sh not found at {path}"
|
||||
msgstr "start.sh не найден по адресу {path}"
|
||||
|
||||
msgid "Success"
|
||||
msgstr "Успешно"
|
||||
|
||||
@@ -113,10 +120,6 @@ msgstr "'{game_name}' был(а) добавлен(а) в избранное"
|
||||
msgid "Removed '{game_name}' from favorites"
|
||||
msgstr "'{game_name}' был(а) удалён(а) из избранного"
|
||||
|
||||
#, python-brace-format
|
||||
msgid "start.sh not found at {path}"
|
||||
msgstr "start.sh не найден по адресу {path}"
|
||||
|
||||
#, python-brace-format
|
||||
msgid "Launch game \"{name}\" with PortProton"
|
||||
msgstr "Запустить игру \"{name}\" с помощью PortProton"
|
||||
|
Reference in New Issue
Block a user