1
0
Fork 0
mirror of synced 2024-06-29 03:31:06 +12:00
Commit graph

1693 commits

Author SHA1 Message Date
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
loathingKernel c56e7ce82c
RareGame: Moved some properties and methods to RareGameBase
These properties or methods were moved to RareGameBase
* `version`: For RareEosOverlay and maybe RareGameSlim
* `is_origin`: For RareGameSlim
* `install_path`: A partial Origin-unaware version
* `is_mac/is_win32`: For completeness

New methods
* `is_overlay`: For the download manager

Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-12-03 11:21:52 +02:00
loathingKernel a355339016
EGLSyncGroup: Resolve EGL manifest path on showEvent() 2023-12-03 11:21:51 +02:00
loathingKernel 8d0397415d
Lgndr: Add _login overload in core.py
Revert this commit once the new version of Legendary (`>0.20.33`) is released
2023-12-03 11:21:51 +02:00
loathingKernel 589290c6df
Workflows: minor updates 2023-12-01 15:25:12 +02:00
loathingKernel 7979563cb5
Lgndr: Undo bind_ip changes
Revert this commit once the new version of Legendary (`>0.20.33`) is released
2023-12-01 13:22:35 +02:00
loathingKernel 9aae822295
Lgndr: Import legendary changes 2023-12-01 13:21:44 +02:00
loathingKernel 32859715d3
Lgndr: Use perf_counter in download (Rare only) 2023-11-30 12:51:39 +02:00
loathingKernel f672a678c9
Paths: Detect when running though python -m rare 2023-11-29 13:25:04 +02:00
loathingKernel 3e7408ee8f
EGLSync: Update the widget when it is shown for the first time
* Don't hide irrelevant elements in Windows, disable them and use them as information
* Create the `Manifests` folder in ProgramData if its parent exists.
2023-11-29 13:16:52 +02:00
loathingKernel a87f34163a
Skip widget updates on spontaneous events.
Spontaneous are events external to the application such as the window
manager showing or hiding the application. We don't want to update on those.
2023-11-29 12:50:39 +02:00
loathingKernel c063f5f5b9
Library: Move image loading from RareCore to the GameWidget
Instead of loading images in the showEvent of the MainWindow,
load them in the showEvent of each widget. It seems to reduce
the startup stuttering this way. With some more work
we can only load the images for the widgets that are currently
visible and reduce the stutter even more.

At the same time, reduce the number of concurrent downloads
in the image manager and add a timeout so we won't halt.
The exception from the timeout is just logged at this point,
and the download is not requeued.
2023-11-29 12:50:02 +02:00
loathingKernel c05209578c
InstallDialog: Fix install dialog not calculating available space
After the PathEdit change that stopped it from emitting the
textChanged signal when instatiated, the available space
calculation wouldn't take place, so do it when the dialog
becomes visible.
2023-11-29 12:47:56 +02:00
loathingKernel ef07243677
IndicatorEdit: Set contents before connecting signals
Previously a lot of things would start running concurrently at
startup as we were setting up the UI. This removes a considerable
amount of perceived delay.

Note: there are better ways to make sure forms are populated when they
are viewed, such as each widget's `showEvent()`
2023-11-29 12:47:56 +02:00
loathingKernel 3b0c25e241
Widgets: Move PathInputDialog to rare/widget as a generic option
This widget is currently unused and could be deleted
2023-11-29 12:39:27 +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 05070919f3
GameWidget: Remove obsolete cloud saves code 2023-11-28 16:51:27 +02:00
loathingKernel 4726849403
LoadingWidget: Use @MultisampledNight 's animation
Thanks, UwU
2023-11-28 16:48:13 +02:00
loathingKernel d6809c287e
RareCore: Fix a problem with dialogs spawning multiple times.
RareCore was connecting RareGames to the same signals
multiple times when the library was refreshed.
2023-11-28 16:38:03 +02:00
loathingKernel 110ea51ed6
DxvkSettings: Add compiler config option 2023-11-28 16:38:02 +02:00
loathingKernel 083094bcfc
Downloads: Code clarity 2023-11-28 16:38:02 +02:00
loathingKernel f2c575e082
InstallDialog: Expose platforms in RareGame and use it
to populate the combobox
2023-11-28 16:38:02 +02:00
loathingKernel 43766c82a4
GameInfo: Enable Modify button only when the game has SDLs
Add icons to the DLC install/uninstall buttons
2023-11-28 16:38:02 +02:00
loathingKernel d53eb92e53
Login: Remove spacer 2023-11-28 16:38:02 +02:00
loathingKernel e4782b70ae
GameInfo: Add button icons 2023-11-28 16:38:02 +02:00
loathingKernel 301d070ab3
WrapperSettings: Show wrapper name in warning dialogs. 2023-11-28 16:38:01 +02:00