From f7a4fa6a176a8cc4d44710fbdc453483e8fc7453 Mon Sep 17 00:00:00 2001 From: Boris Yumankulov Date: Thu, 10 Jul 2025 22:01:49 +0500 Subject: [PATCH] chore(docs): move TODOs from README to TODO.md Signed-off-by: Boris Yumankulov --- README.md | 73 ------------------------------------------------------- TODO.md | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 73 deletions(-) create mode 100644 TODO.md diff --git a/README.md b/README.md index d647246..a028dfd 100644 --- a/README.md +++ b/README.md @@ -4,79 +4,6 @@

Удобный графический интерфейс для управления и запуска игр из PortProton, Steam и Epic Games Store. Оно объединяет библиотеки игр в единый центр для лёгкой навигации и организации. Лёгкая структура и кроссплатформенная поддержка обеспечивают цельный игровой опыт без необходимости использования нескольких лаунчеров. Интеграция с PortProton упрощает запуск Windows-игр на Linux с минимальной настройкой.

-## В планах - -- [X] Адаптировать структуру проекта для поддержки инструментов сборки -- [X] Добавить возможность управления с геймпада -- [ ] Добавить возможность управления с тачскрина -- [X] Добавить возможность управления с мыши и клавиатуры -- [X] Добавить систему тем [Документация](documentation/theme_guide) -- [X] Вынести все константы, такие как уровень закругления карточек, в темы (частично выполнено) -- [X] Добавить метаданные для тем (скриншоты, описание, домашняя страница и автор) -- [ ] Продумать систему вкладок вместо текущей -- [ ] [Добавить сессию Gamescope, аналогичную той, что используется в SteamOS](https://git.linux-gaming.ru/Boria138/gamescope-session-portprotonqt) -- [X] Разобраться почему теряется часть стилей в Gamescope -- [ ] Разработать адаптивный дизайн (за эталон берётся Steam Deck с разрешением 1280×800) -- [ ] Переделать скриншоты для соответствия [гайдлайнам Flathub](https://docs.flathub.org/docs/for-app-authors/metainfo-guidelines/quality-guidelines#screenshots) -- [X] Получать описания и названия игр из базы данных Steam -- [X] Получать обложки для игр из SteamGridDB или CDN Steam -- [X] Оптимизировать работу со Steam API для ускорения времени запуска -- [X] Улучшить функцию поиска в Steam API для исправления некорректного определения ID (например, Graven определялся как ENGRAVEN или GRAVENFALL, Spore — как SporeBound или Spore Valley) -- [ ] Убрать логи Steam API в релизной версии, так как они замедляют выполнение кода -- [X] Решить проблему с ограничением Steam API в 50 тысяч игр за один запрос (иногда нужные игры не попадают в выборку и остаются без обложки) -- [X] Избавиться от вызовов yad -- [X] Реализовать собственный механизм запрета ухода в спящий режим вместо использования механизма PortProton (оставлено для [PortProton 2.0](https://github.com/Castro-Fidel/PortProton_2.0)) -- [X] Реализовать собственный системный трей вместо использования трея PortProton -- [X] Добавить экранную клавиатуру в поиск (реализация собственной клавиатуры слишком затратна, поэтому используется встроенная в DE клавиатура: Maliit в KDE, gjs-osk в GNOME, Squeekboard в Phosh, клавиатура SteamOS и т.д.) -- [X] Добавить сортировку карточек по различным критериям (доступны: по недавности, количеству наигранного времени, избранному или алфавиту) -- [X] Добавить индикацию запуска приложения -- [X] Достигнуть паритета функциональности с Ingame -- [ ] Достигнуть паритета функциональности с PortProton -- [X] Добавить возможность изменения названия, описания и обложки через файлы `.local/share/PortProtonQT/custom_data/exe_name/{desc,name,cover}` -- [X] Добавить встроенное переопределение названия, описания и обложки, например, по пути `portprotonqt/custom_data` [Документация](documentation/metadata_override/) -- [X] Добавить переводы в переопределения -- [ ] Придумать как переопределять launcher.exe -- [X] Добавить в карточку игры сведения о поддержке геймпада -- [X] Добавить в карточки данные с ProtonDB -- [X] Добавить в карточки данные с AreWeAntiCheatYet -- [X] Продублировать бейджи с карточки на страницу с деталями игры -- [X] Добавить парсинг ярлыков из Steam -- [X] Добавить парсинг ярлыков из EGS -- [ ] Избавиться от бинарника legendary -- [X] Добавить запуск игр из EGS -- [ ] Добавить скачивание игр из EGS -- [ ] Добавить поддержку запуска сторонних игр из EGS -- [ ] Добавить авторизацию в EGS через WebView вместо ручного ввода -- [X] Получать описания для игр из EGS через их [API](https://store-content.ak.epicgames.com/api) -- [X] Получать slug через GraphQL [запрос](https://launcher.store.epicgames.com/graphql) -- [X] Добавить на карточку бейдж, указывающий, что игра из Steam -- [X] Добавить поддержку версий Steam для Flatpak и Snap -- [X] Отображать данные о самом последнем пользователе Steam, а не первом попавшемся -- [X] Исправить склонения в детальном выводе времени, например, не «3 часов назад», а «3 часа назад» -- [X] Добавить перевод через gettext [Документация](documentation/localization_guide) -- [X] Отображать описания игр и другие данные на языке системы -- [X] Добавить недокументированные параметры конфигурации в GUI (time_detail_level, games_sort_method, games_display_filter) -- [X] Добавить систему избранного для карточек -- [X] Заменить все `print` на `logging` -- [ ] Привести все логи к единому языку -- [X] Уменьшить количество подстановок в переводах -- [X] Стилизовать все элементы без стилей (QMessageBox, QSlider, QDialog) -- [X] Убрать жёсткую привязку путей к стрелочкам QComboBox в `styles.py` -- [X] Исправить частичное применение тем на лету -- [X] Исправить наложение подписей скриншотов при первом перелистывании в полноэкранном режиме -- [ ] Добавить поддержку GOG (?) -- [X] Определиться с названием (PortProtonQt или PortProtonQT или вообще третий вариант) -- [ ] Добавить данные с HowLongToBeat на страницу с деталями игры (?) -- [X] Добавить виброотдачу на геймпаде при запуске игры -- [X] Исправить некорректную работу слайдера увеличения размера карточек([Последствия регрессии после этого коммита](https://github.com/Boria138/PortProtonQt/commit/aebdd60b5537280f06a922ff80469cd4ab27bc63) -- [X] Исправить баг с наложением карточек друг на друга при изменении фильтра отображения ([Последствия регрессии после этого коммита](https://github.com/Boria138/PortProtonQt/commit/aebdd60b5537280f06a922ff80469cd4ab27bc63)) -- [X] Скопировать логику управления с D-pad на стрелки с клавиатуры -- [ ] Доделать светлую тему -- [ ] Добавить подсказки к управлению с геймпада -- [ ] Добавить загрузку звуков в темы например для добавления звука запуска в тему и тд -- [X] Добавить миниатюры к выбору файлов в диалоге добавления игры -- [X] Добавить быстрый доступ к смонтированным дискам к выбору файлов в диалоге добавления игры - ### Установка (devel) ```sh diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..c1a721e --- /dev/null +++ b/TODO.md @@ -0,0 +1,69 @@ +- [X] Адаптировать структуру проекта для поддержки инструментов сборки +- [X] Добавить возможность управления с геймпада +- [ ] Добавить возможность управления с тачскрина +- [X] Добавить возможность управления с мыши и клавиатуры +- [X] Добавить систему тем [Документация](documentation/theme_guide) +- [X] Вынести все константы, такие как уровень закругления карточек, в темы (частично выполнено) +- [X] Добавить метаданные для тем (скриншоты, описание, домашняя страница и автор) +- [ ] Продумать систему вкладок вместо текущей +- [X] [Добавить сессию Gamescope, аналогичную той, что используется в SteamOS](https://git.linux-gaming.ru/Boria138/gamescope-session-portprotonqt) +- [X] Разобраться почему теряется часть стилей в Gamescope +- [ ] Разработать адаптивный дизайн (за эталон берётся Steam Deck с разрешением 1280×800) +- [ ] Переделать скриншоты для соответствия [гайдлайнам Flathub](https://docs.flathub.org/docs/for-app-authors/metainfo-guidelines/quality-guidelines#screenshots) +- [X] Получать описания и названия игр из базы данных Steam +- [X] Получать обложки для игр из SteamGridDB или CDN Steam +- [X] Оптимизировать работу со Steam API для ускорения времени запуска +- [X] Улучшить функцию поиска в Steam API для исправления некорректного определения ID (например, Graven определялся как ENGRAVEN или GRAVENFALL, Spore — как SporeBound или Spore Valley) +- [ ] Убрать логи Steam API в релизной версии, так как они замедляют выполнение кода +- [X] Решить проблему с ограничением Steam API в 50 тысяч игр за один запрос (иногда нужные игры не попадают в выборку и остаются без обложки) +- [X] Избавиться от вызовов yad +- [X] Реализовать собственный механизм запрета ухода в спящий режим вместо использования механизма PortProton (оставлено для [PortProton 2.0](https://github.com/Castro-Fidel/PortProton_2.0)) +- [X] Реализовать собственный системный трей вместо использования трея PortProton +- [X] Добавить экранную клавиатуру в поиск (реализация собственной клавиатуры слишком затратна, поэтому используется встроенная в DE клавиатура: Maliit в KDE, gjs-osk в GNOME, Squeekboard в Phosh, клавиатура SteamOS и т.д.) +- [X] Добавить сортировку карточек по различным критериям (доступны: по недавности, количеству наигранного времени, избранному или алфавиту) +- [X] Добавить индикацию запуска приложения +- [X] Достигнуть паритета функциональности с Ingame +- [ ] Достигнуть паритета функциональности с PortProton +- [X] Добавить возможность изменения названия, описания и обложки через файлы `.local/share/PortProtonQT/custom_data/exe_name/{desc,name,cover}` +- [X] Добавить встроенное переопределение названия, описания и обложки, например, по пути `portprotonqt/custom_data` [Документация](documentation/metadata_override/) +- [X] Добавить переводы в переопределения +- [X] Добавить в карточку игры сведения о поддержке геймпада +- [X] Добавить в карточки данные с ProtonDB +- [X] Добавить в карточки данные с AreWeAntiCheatYet +- [X] Продублировать бейджи с карточки на страницу с деталями игры +- [X] Добавить парсинг ярлыков из Steam +- [X] Добавить парсинг ярлыков из EGS +- [ ] Избавиться от бинарника legendary +- [X] Добавить запуск игр из EGS +- [ ] Добавить скачивание игр из EGS +- [ ] Добавить поддержку запуска сторонних игр из EGS +- [ ] Добавить авторизацию в EGS через WebView вместо ручного ввода +- [X] Получать описания для игр из EGS через их [API](https://store-content.ak.epicgames.com/api) +- [X] Получать slug через GraphQL [запрос](https://launcher.store.epicgames.com/graphql) +- [X] Добавить на карточку бейдж, указывающий, что игра из Steam +- [X] Добавить поддержку версий Steam для Flatpak и Snap +- [X] Отображать данные о самом последнем пользователе Steam, а не первом попавшемся +- [X] Исправить склонения в детальном выводе времени, например, не «3 часов назад», а «3 часа назад» +- [X] Добавить перевод через gettext [Документация](documentation/localization_guide) +- [X] Отображать описания игр и другие данные на языке системы +- [X] Добавить недокументированные параметры конфигурации в GUI (time_detail_level, games_sort_method, games_display_filter) +- [X] Добавить систему избранного для карточек +- [X] Заменить все `print` на `logging` +- [ ] Привести все логи к единому языку +- [X] Уменьшить количество подстановок в переводах +- [X] Стилизовать все элементы без стилей (QMessageBox, QSlider, QDialog) +- [X] Убрать жёсткую привязку путей к стрелочкам QComboBox в `styles.py` +- [X] Исправить частичное применение тем на лету +- [X] Исправить наложение подписей скриншотов при первом перелистывании в полноэкранном режиме +- [ ] Добавить поддержку GOG (?) +- [X] Определиться с названием (PortProtonQt или PortProtonQT или вообще третий вариант) +- [ ] Добавить данные с HowLongToBeat на страницу с деталями игры (?) +- [X] Добавить виброотдачу на геймпаде при запуске игры +- [X] Исправить некорректную работу слайдера увеличения размера карточек([Последствия регрессии после этого коммита](https://github.com/Boria138/PortProtonQt/commit/aebdd60b5537280f06a922ff80469cd4ab27bc63) +- [X] Исправить баг с наложением карточек друг на друга при изменении фильтра отображения ([Последствия регрессии после этого коммита](https://github.com/Boria138/PortProtonQt/commit/aebdd60b5537280f06a922ff80469cd4ab27bc63)) +- [X] Скопировать логику управления с D-pad на стрелки с клавиатуры +- [ ] Доделать светлую тему +- [ ] Добавить подсказки к управлению с геймпада +- [ ] Добавить загрузку звуков в темы например для добавления звука запуска в тему и тд +- [X] Добавить миниатюры к выбору файлов в диалоге добавления игры +- [X] Добавить быстрый доступ к смонтированным дискам к выбору файлов в диалоге добавления игры