1
0
Fork 0
mirror of synced 2024-09-29 08:51:43 +13:00
Commit graph

1718 commits

Author SHA1 Message Date
loathingKernel
14e842e886
Store WIP 2023-12-03 17:13:16 +02:00
loathingKernel
ecc036bd46
Shop: Use a single QGridLayout instead of left and right VBoxLayouts 2023-12-03 17:13:15 +02:00
loathingKernel
b43bd1081a
Store: Exploratory changes for GraphQL API 2023-12-03 17:13:15 +02:00
loathingKernel
8edaa1a34c
SideTabContainer: Set size policy for the container scrollarea container widget 2023-12-03 17:13:15 +02:00
loathingKernel
5bc27c948f
Store: Exploratory changes to the store page
Important changes:
* Refactored QtRequests to accept parameters for `GET` operations
* Infer response data type from content-type header
* Support caching to disk, a manager with this set prefers the cache
* Support multiple handlers for a single request (unused, possibly pointeless)

* Subclass `ShopImageWidget` for all widgets used in the shop
* Request a resized image instead of the original one
* Fix the search and browse functions
2023-12-03 17:13:15 +02:00
loathingKernel
9817170999
ShopGameInfo: Design it to me similar to GameInfo 2023-12-03 17:13:15 +02:00
loathingKernel
70b7926069
ShopImageWidget: Design it to me similar to IconGameWidget 2023-12-03 17:13:15 +02:00
loathingKernel
7a15ee8403
SearchResultItem: Use ShopImageWidget as a base 2023-12-03 17:13:14 +02:00
loathingKernel
2940ea7176
ShopWidget: Fix layouting again 2023-12-03 17:13:14 +02:00
loathingKernel
74ee9f8e20
ShopWidget: Cleanup shop layout 2023-12-03 17:13:14 +02:00
loathingKernel
29924630d3
Wishlist: Remove embedded title 2023-12-03 17:13:14 +02:00
loathingKernel
59826dcd76
QtRequestsManager: Use doc_type instead of type 2023-12-03 17:13:14 +02:00
loathingKernel
a6071b7377
Store: Use ElideLabel for requirements 2023-12-03 17:13:13 +02:00
loathingKernel
95a5cc1a4d
Store: Clean up store UI by using library widgets 2023-12-03 17:13:13 +02:00
loathingKernel
a3557a0b18
Wrappers/Proton/Wine WIP 2023-12-03 17:11:47 +02:00
loathingKernel
89df9806b5
Cleanup:
* Use `vars()` instead of directly accessing `__dict__`
* Remove `auto_update` from RareGame's metadata
* Correct check for updating the Steam App ID (We want to keep any changes from the user)
* Collect both Wine and Proton prefixes when removing overlay registry keys.
* Add few convenience functions in config_helper and paths.
2023-12-03 17:11:47 +02:00
loathingKernel
75c8e8d817
Downloads: Move auto-update change to Rare's settings instead of the game's metadata
The setting doesn't have a switch in the GUI yet, but the settings
feels like a better place for it.
2023-12-03 17:11:46 +02:00
loathingKernel
14e047ed62
RareGame: Use None for unset steam appid. 2023-12-03 17:11:46 +02:00
loathingKernel
9bd73f3440
SteamGrades: Return the Steam game ID with the grade and store it.
This allows compatibility tools that use the SteamAppId environment
variable to make decisions or apply fixes do their job more accurately.

Also use the stored variable to provide a link to protondb through
the grade label in GameInfo.

The steam grades now use the orjson library to load Steam's ~6MB
database faster.
2023-12-03 17:11:46 +02:00
loathingKernel
4827285dee
SteamGrades: Use orjson instead of python's implementation 2023-12-03 17:11:46 +02:00
loathingKernel
5485e97b32
ConfigHelper: Fix an issue with wine prefix resolution
This probably should be split into separate wine and proton
discovery functions.
2023-12-03 17:11:46 +02:00
loathingKernel
713573b762
RareCore: Move entitlements request into an independent worker
Yes, we are back at this. Entitlements are important to have early
as Ubisoft redemption requires them, and they don't depend on anything
else.

* Move config helper initialization into RareCore to make it available
earlier.
2023-12-03 17:11:45 +02:00
loathingKernel
801c07932d
Proton: Add functions to find and integrate compatibilty tools and runtimes 2023-12-03 17:11:45 +02:00
loathingKernel
4311fee2ea
ProtonSettings: Move proton search function into utils/proton.py 2023-12-03 17:11:45 +02:00
loathingKernel
47f153e7c2
Rare: Unset QT_QPA_PLATFORMTHEME at startup
It can mess up theming.
2023-12-03 17:11:45 +02:00
loathingKernel
c3c9b0f059
AccountWidget: Add a Quit button in the widget in case the system tray
is unavailable (for example running in a gamescope session)

* Do not show the launch window while instantiating the application. This
probably was causing numerous issues because it was running outside of
the applications event loop. This also fixes the exit button on the login
dialog requiring `sys.exit()` to quit Rare. Now it goes through the
proper cleanup procedures.

* Make slot and signal names more uniform

* Fix a problem with RareCore connecting RareGames to the same signals
multiple times when the library was refreshed.
2023-12-03 17:11:45 +02:00
loathingKernel
8d46a3e353
RareEosOverlay: Protect against invalid prefixes 2023-12-03 17:11:45 +02:00
loathingKernel
1caa53071b
ConfigHelper: Add generic functions to query config options with fallback
* Extend `get_wine_prefix` and `get_wine_prefixes` to take Proton prefixes
into account.
2023-12-03 17:11:44 +02:00
loathingKernel
f0c3cfec19
RareGame: Use the callable directly instead of a lambda
to create workers.
2023-12-03 17:11:44 +02:00
loathingKernel
239e4c9d88
Utils: Delete deprecated CloudWorker. 2023-12-03 17:11:44 +02:00
loathingKernel
66dcf5ff10
EOSGroup: Add the option to select which overlay installation to enable 2023-12-03 17:11:44 +02:00
loathingKernel
5319da4bdb
RareCore: Add options to exclude non-asset games and entitlements from startup
* Add options in settings to not request non-asset games and entitlements.

This greatly improves startup time but reduces functionality a bit. Both
options are disabled by default.

* Remove the old options to exclude Win32 and Mac games as they were no longer relevant.

* Add a performance context manager to log execution time when used.

* Fixed an issue with UbisoftGroup where multiple threads would spawn.
2023-12-03 17:11:44 +02:00
loathingKernel
9d02fec6f8
Rare: Small fixes and typos
* Default to closing to tray to respect the default setting
* On Windows, resolve the save path immediately if we don't alraedy know it
2023-12-03 17:11:43 +02:00
loathingKernel
7b33e4876e
EosGroup: Remake the UI and integrate with Rare's facilities
* Uninstalling the Overlay now goes through the same procedure as
uninstalling any other game.

* The available prefixes are now listed instead of hiding them inside
a combo box.

* Each listing works indepedently to enable/disable the Overlay for the prefix
2023-12-03 17:11:42 +02:00
loathingKernel
bbeeb42455
RareGame: RareEosOverlay now implements its procedures internally.
The new methods are the following
* `has_update`: to check for updates
* `is_enabled`: checks if the overlay is enabled (on wine platform, on prefix)
* `enable`: enables the overlay (on wine platforms, on prefix, for app_name)
* `disable`: disables the overlay (on wine platforms, on prefix, for app_name)
* `install`: Install using Rare's existing facilities
* `uninstall`: Uninstall using Rare's existing facilities
2023-12-03 17:10:56 +02:00
loathingKernel
f101c6d7cd
ConfigHelper: Add wine related functions
`get_wine_prefixes`: Returns all prefixes defined in legendary's configuration
`get_wine_prefix`: Returns wine prefix associated with a game
2023-12-03 17:10:56 +02:00
loathingKernel
43919b9e97
MainWindow: Untie exit procedure from offline argument 2023-12-03 17:10:55 +02:00
loathingKernel
97c74445f6
EOSGroup: Use UI membership instead of double inheritance 2023-12-03 17:10:54 +02:00
loathingKernel
2fe3bdbe92
RareLauncher: Fix crash when a false app_name argument is supplied 2023-12-03 17:09:47 +02:00
loathingKernel
0246774415
Wine,WineResolver: Add more logging 2023-12-03 17:09:47 +02:00
loathingKernel
45ad3e2632
Wine: Set environment through flatpak-spawn arguments
Partially fixes #305
2023-12-03 17:09:47 +02:00
loathingKernel
909c3cbdc1
Workflows: Fix deb action 2023-12-03 17:09:47 +02:00
loathingKernel
57b7783287
Rare: Update scripts to use the new entry point 2023-12-03 17:09:46 +02:00
loathingKernel
52fbaad1e1
GameInfo: Add tags groupbox 2023-12-03 17:09:46 +02:00
loathingKernel
e6c1051f4d
Rare: Move the different applications into their respective folders 2023-12-03 17:09:46 +02:00
loathingKernel
e7dd3b0d59
Wine: Run commands through flatpak-spawn when in flatpak
Partially fixes #305
2023-12-03 17:09:46 +02:00
loathingKernel
6460e8724e
RareLauncher: Enable terminate and kill buttons 2023-12-03 17:09:45 +02:00
loathingKernel
70af132da1
EOSGroup: Check for 'user.reg' file to validate prefix path 2023-12-03 17:01:05 +02:00
Stelios Tsampas
c7efe3615a
Merge pull request #312 from loathingKernel/fixups
https://github.com/RareDevs/Rare/pull/312#issue-2002162120
2023-12-03 11:45:14 +02:00
loathingKernel
842bd27e8c
Rare: Release 1.10.4 2023-12-03 11:21:52 +02:00