1
0
Fork 0
mirror of synced 2024-05-19 12:02:54 +12:00
Commit graph

355 commits

Author SHA1 Message Date
loathingKernel 4bb1fb10ee SteamGrades: Print an error message instead of the exception 2024-05-16 13:58:10 +03:00
loathingKernel 4497a1c712 Project: Use vdf package on all platforms
Useful on Windows too, to export games to Steam as "Non-Steam Game"
2024-05-16 13:32:00 +03:00
loathingKernel 1d8ae15ea9 SteamGrades: Fix exception when trying to get file timestamp
if the file does not exist.

At the same time fix some pylint warnings.
2024-05-16 13:15:48 +03:00
loathingKernel 0c848c41b0 WineResolver: Do not unset 'DISPLAY' when running silently
When unsetting DISPLAY, Wine hangs after executing a command, and doesn't
allow for other instances of wine to start, i.e. games do not launch, with
a cryptic error. This also fixes the previously observed issues with
`winepath.exe` and `reg.exe` never exiting.

This is likely due to the newly introduced Wayland driver. This behavior
can be observed when Wayland support is compiled into Wine and the wayland
driver is enabled in the prefix's registry. In this case, if running under
X11 and DISPLAY is not set, Wine will hang, and the process never returns.
2024-05-15 15:13:51 +03:00
loathingKernel 9ec349e2d1
WIP 2024-02-25 21:35:44 +02:00
loathingKernel 91af16b76d
Store: Exploratory changes for GraphQL API 2024-02-25 21:35:43 +02:00
loathingKernel 6b15c0f2cf
Store: Clean up store UI by using library widgets 2024-02-25 21:35:41 +02:00
loathingKernel f3d870cebb
ButtonLineEdit: Remove stylesheet, it doesn't seem to do anything 2024-02-24 13:12:00 +02:00
loathingKernel 1c027fc14a
Steam: Fix crash if Steam is not installed 2024-02-22 21:19:05 +02:00
loathingKernel 5bf353ec37
Rare: Replace QToolButton with QPushButton
QToolButton is not really designed to be used in the way we did and since
QPushButton supports having a menu attached to, we can replace tool buttons
in most cases.

* Fix the presentation of the TabButtonWidget by updating RareStyle's css

* Reduce the size of the top tab bar to save vertical space.

* Remove infoLabel property
2024-02-21 20:25:03 +02:00
loathingKernel 8dbce8e9f2
Rare: rename icon function to qta_icon 2024-02-21 13:30:41 +02:00
loathingKernel d16b3d5d68
Runners: rename proton to steam 2024-02-18 12:50:35 +02:00
loathingKernel 582b83c12b WIP 2024-02-12 21:52:08 +02:00
loathingKernel 7c3d5dc9e8 Library: Clean up how changing views works
* Pass python IntEnum objects instead ints for LibraryFilter/Order/View
  We only want to store them as integers to avoid QVariant gibberish

*
2024-02-12 21:52:08 +02:00
loathingKernel 52d2ca7cc7 Config: Re-arrange arguments to match the rest of the function signatures 2024-02-12 21:52:08 +02:00
loathingKernel 8a3bdbdd91 Rare: Improve translation handling
* Remove base Qt translations from repo, load translations from Qt itself
* Prefix translation `qm` files with `rare_`.
* Rename `translation_source.ts` to simply `source.ts`
* If the selected language matches the system local, remove the option from the configuration.
2024-02-12 21:52:08 +02:00
loathingKernel 284543a6d9 Rare: Decouple Rare's locale from legendary's
* Instead of using legendary's locale as fallback, use system't locale
as default.
* Do not hardcode language names and countries but use QLocale on
the translation filenames.
2024-02-12 21:52:08 +02:00
loathingKernel 8bde2c2c6d Rare: Import platform specific modules only on the relevant platforms 2024-02-12 21:52:07 +02:00
loathingKernel cd1743cb92 GameSettings: Re-strucure settings widgets
The default widgets only implement the settings for the `default` "app_name"
The game specific widgets sub-class the default widgets and implement
whatever they additionally need locally.

Remove multiple calls to save config and save when the game settings gets hidden.
2024-02-12 21:52:07 +02:00
loathingKernel af6d7c5055 Various WIP
* 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.
2024-02-12 21:52:07 +02:00
loathingKernel 36ad33b8f3 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.
2024-02-12 21:52:07 +02:00
loathingKernel 631e1b9b3c Runners: disable some pylint checks for vdf 2024-01-22 00:38:09 +02:00
loathingKernel d9bfdb91ce Runners: Import vdf only on Linux and FreeBSD 2024-01-22 00:16:40 +02:00
loathingKernel 99d0bca5fc ConfigHelper: Extend with specialized methods for environment variables and wine/proton prefixes 2024-01-19 12:12:33 +02:00
loathingKernel 50276384cc QtRequests: Use QNetworkAccessManager's queue 2024-01-18 16:44:05 +02:00
loathingKernel ce97ec9086 Paths: Check for membership 2023-12-31 20:32:01 +02:00
loathingKernel 1a7f89687b ConfigHelper: Fix an issue with wine prefix resolution
This probably should be split into separate wine and proton
discovery functions.
2023-12-24 21:08:26 +02:00
loathingKernel 83328f400d 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-24 21:08:26 +02:00
loathingKernel f6a372cc1f 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-24 21:08:26 +02:00
loathingKernel efe9031211 Proton: Add functions to find and integrate compatibilty tools and runtimes 2023-12-24 21:08:26 +02:00
loathingKernel 1f34ad4b13 ProtonSettings: Move proton search function into utils/proton.py 2023-12-24 21:08:26 +02:00
Stelios Tsampas b3bff4ef3f Paths: Apply the executable rename in pythonw too
Fixes launching the game launcher when Rare is installed through `pip`
on Windows.

Fixes: #339
2023-12-18 10:44:47 +02:00
loathingKernel 0ef2497afb
QtRequests: Handle multiple requests concurrently and use caching
It is still junky but less so. It allows us to use QNetworkRequest's
caching mechanism instead of doing so on our own per-case.
2023-12-12 12:41:18 +02:00
loathingKernel a33c4e5cf2
AccountWidget: Use ExitCodes enum everywhere instead of magic values 2023-12-10 14:22:28 +02:00
loathingKernel 5be24a4d89
SteamGrades: Use orjson instead of python's implementation 2023-12-10 14:21:39 +02:00
loathingKernel c21fddefb4
Utils: Delete deprecated CloudWorker. 2023-12-10 14:21:38 +02:00
loathingKernel 75a339d390
Flatpak: Don't export subprocess's env in flatpak's env 2023-12-10 14:21:38 +02:00
loathingKernel 193b5fba44
Paths: Expose Rare configuration directory 2023-12-10 14:21:38 +02:00
loathingKernel ba65ffa905
Wine,WineResolver: Add more logging 2023-12-10 14:21:37 +02:00
loathingKernel 9a941e3001
Wine: Set environment through flatpak-spawn arguments
Partially fixes #305
2023-12-10 14:21:37 +02:00
loathingKernel 4350591411
Wine: Run commands through flatpak-spawn when in flatpak
Partially fixes #305
2023-12-10 14:21:37 +02:00
loathingKernel ff2b9f2605
Rare: Update scripts to use the new entry point 2023-12-10 14:21:36 +02:00
loathingKernel bdbb61d3a6
Rare: Move the different applications into their respective folders 2023-12-10 14:21:36 +02:00
loathingKernel f672a678c9
Paths: Detect when running though python -m rare 2023-11-29 13:25:04 +02:00
loathingKernel c0ac23b21d
Ubisoft: Update Ubisoft redemption widget to use RareCore
* Load and populate Ubisoft information when the page is shown instead of startup.
* List all Ubisoft games, and differentiate based on whether they been redeemed.
2023-11-28 17:15:45 +02:00
loathingKernel 07cbcf52d0
Meta: Update links 2023-11-28 15:20:06 +02:00
ffqq f38c751d43 feat: add freebsd support 2023-07-16 10:03:59 +03:00
loathingKernel 1f06c87743
ImageManager: Few improvements
Check if there is a `keyImages` attribute before accessing it, and return
an empty list in case it isn't available. Fixes a recent crash with
`Prison Architect - eureka Update 1` DLC.

Exit early from `download_image` if the requested image is currently being
downloaded. This avoids multiple preparations and loading callbacks for
queued images.

Remove checking for supported OS when creating the icon. Now we create
icons in `icns` format for `Darwin` irregardless the fact we don't use them
for anything.
2023-06-05 01:33:11 +03:00
loathingKernel 737730583f ImageManager: Check if desktop icons are supported on current plaform
Before creating icons, check if desktop links are supported by Rare
on the current platform.

Fixes Dummerle/Rare#262
2023-05-14 22:13:12 +02:00
lennard f8b38e0cb8 Fix desktop shortcuts on windows 2023-05-03 12:32:12 +02:00