1
0
Fork 0
mirror of synced 2024-07-01 04:30:20 +12:00
Commit graph

56 commits

Author SHA1 Message Date
loathingKernel 17066f9a67 Rare: cherry-pick some of sourcery suggestions 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 58574c1977 Legendary: Do a smarter split 2024-01-29 16:20:59 +02:00
loathingKernel 3c43da1594 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.
2024-01-19 00:57:16 +02:00
loathingKernel 6d5b60a56e
LegendarySettings: Add path edit for macOS specific mac_install_dir option
Used only when installing macOS games on macOS, in any other OS
the setting is set to the same value as `install_dir`
2023-12-15 23:28:49 +02:00
loathingKernel 1677ea762c
FetchWorker: Fix issue with missing MacOS assets on MacOS
Using `LegendaryCore.get_game_and_dlc_list` with platform `Windows`
updated the assets only for the `Windows` builds of the games missing
`Win32` and `MacOS` assets on clean installs. This caused Rare to not
include MacOS install options on MacOS (duh!). This might also have been
the cause that users were unable to launch games, since they where only
offered the `Windows` build of the games (big duh!).

To fix this, fetch the assets for `Win32` and `MacOS` games before getting
the final list of games and dlcs based on the `Windows` platform.

In this regard, also re-use the existing options for getting metadata to
give the option to the user to include them when updating assets. Also add
an option to include Unreal engine assets which until now were fetched
unconditionally.

* Include Unreal: When the user option is `true` or debugging.
  Defaults to `false`
* Update Win32: When the user option is `true` or debugging.
  Defaults to `false`
* Update MacOS: Force on MacOS, when the option is `true` or debugging on
  other platforms. Defaults to `true` on MacOS and is disabled,
  `false` on others

Furthermore, respect legendary's `default_platform` config option and
set it in the config on new configurations. The new method in our
LegendaryCore monkey allows us to use that option in RareGame when doing
version checks on not installed games, and not defaulting to `Windows`.

Finally, set `install_platform_fallback` to false in a new config to
avoid unwanted side-effects.
2023-12-15 16:57:32 +02:00
loathingKernel 837b391350
PathEdit: Allow for the completer's root path to be set at runtime.
This allows to complete from relative paths, such use exe override

Fix constructor argument names to follow Qt's types.
Set the same filters as the dialog for the completer.
Use the completer's icon provider for the dialog.

Force Rare to use Qt's file dialog instead of the native one.
2023-03-15 22:49:18 +02:00
loathingKernel e55c40448c
Misc: rename get_size to format_size 2023-03-06 00:39:23 +02:00
loathingKernel 0e161eb4d2 Use Worker base class for runnables in legendary settings and ubisoft widget.
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-27 23:49:44 +02:00
loathingKernel 5938835249 ExtraWidgets: Remove IndicatorLineEdit and PathEdit and update imports 2023-02-18 17:29:41 +02:00
loathingKernel ecc1bd8d5c IndicatorLineEdit: Run edit callback function asynchronously
Execute the edit callback function in a thread. By executing it in a thread
we don't have to wait for longer validation procedures to finish to
continue updating the UI. This is most notable in the MoveGamePopUp
which is heavy on disk IO.

Because we cannot use special text formatting in a thread, the
indicator messages have been reworked while also becoming extensible.

A dictionary of extended reasons can be specified through the
`IndicatorLineEdit.extend_reasons()` method.

The dictionary has to follow the following format
```
python
{
	MyIndicatorReasons.REASON: self.tr("Reason message")
	MyIndicatorReasons.OTHER_REASON: self.tr("Other reason message")
}
```

In the above example `MyIndicatorReasons` is a subclass of `IndicatorReasons`
which should be specified as follows

```
python
MyIndicatorReasons(IndicatorReasons):
	REASON = auto()
	OTHER_REASON = auto()
```
2023-02-18 14:37:37 +02:00
loathingKernel 61749f9acd EOSWidget/UbiActivationHelper: Move them from Settings to ImportSync 2022-11-03 22:34:50 +02:00
loathingKernel 3ecbae0564 Utils: Rename utils.py to misc.py to not confuse PyCharm checker 2022-08-02 10:42:38 +03:00
loathingKernel 5c1ff81370 LegendarySettings: clean_manifests expects more values 2022-08-02 10:42:38 +03:00
Dummerle c26a30d9c9
Add load meta settings for 32 bit and macos 2022-03-21 23:00:32 +01:00
Dummerle 59a59ddfcc
Rename settings_widgets + fix pylint error 2022-03-14 17:23:54 +01:00
Dummerle 58c9e69231
Add MangoHud Settings + move some settings widgets to extra folder 2022-03-14 17:23:54 +01:00
Stelios Tsampas d6ef44b2f9
Rare: Implement global objects as functions that return a single instance 2022-02-25 20:22:45 +02:00
Stelios Tsampas fa686c5166
LegendarySettings: Add EosWidget directly in the left layout 2022-02-07 22:10:18 +02:00
Stelios Tsampas 8ac8822194
LegendarySettings: Add Ubisoft and EOS widget to the left layout only 2022-02-07 20:15:17 +02:00
aznd 9b59707a10
Unify strings formatting (#158)
* Part 1: Unifying strings

* Part 2: Unifying strings

* Part 3: Unifying strings

* Fix missing close bracket

* Remove unneeded str()
2022-02-01 22:29:34 +01:00
Dummerle 25c04d2812
Add Reasons to IndicatorLineEdit as tooltip 2022-01-24 16:56:14 +01:00
Dummerle 0cea43f0d1
Add Epic Overlay Settings in Legendary Settings + Update Legendary submodule 2022-01-24 16:56:12 +01:00
Dummerle 021dedc3d6
Add refresh game meta button 2021-12-27 16:33:56 +01:00
Stelios Tsampas 8f89eb6e88
Rare: pass through Black formatter 2021-12-27 00:37:13 +01:00
Dummerle cc95d231b6
Move Ubisoft logic to external class 2021-12-13 20:53:21 +01:00
Dummerle e2fe157e13
Add Ubisoft activation in legendary settings 2021-12-12 01:46:38 +01:00
Dummerle f5f1a889c6
Fix many bugs: store, game launch with confirmation; changed some info to debug logs; regenerate placeholder.ts 2021-11-19 23:58:07 +01:00
Stelios Tsampas 7156490952
Add initial implementation of WineResolver
Remove borders from EGLSync lists.
Color install/uninstall buttons correctly in DLC tab
Adjust InstallDialog because the check function runs early now.
2021-11-13 00:34:31 +01:00
Dummerle a5f26c8a23 Rename shared.legendary_core to core 2021-10-14 23:18:13 +02:00
Stelios Tsampas e9c0cab47b Woops forgot some adjustments 2021-10-11 11:41:01 +03:00
Dummerle c9b9ab6814 Fix some typing errors for python 3.8 2021-10-10 22:08:31 +02:00
Stelios Tsampas 463443796d Adjust BrowserLogin to use IndicatorLineEdit
Adjust Locale in `LegendarySettings` to use `IndicatorLineEdit`
Adjust `InstallDialog` to conform with new `PathEdit` `edit_func` specification

This commit temporarily removes `EGLSync` from `LegendarySettings`
as it is being worked on.
2021-10-10 20:47:26 +03:00
Dummerle 3bf6692760 Add shared.py 2021-10-07 20:19:24 +02:00
Dummerle b951c1af5f Fix locale and update pylint test 2021-09-14 17:56:55 +02:00
Dummerle 1bb33d911c You can now launch and link origin games 2021-09-13 22:27:37 +02:00
Dummerle bb4f08691a Fix set locale to legendary locale + reformatting 2021-09-13 20:24:09 +02:00
Dummerle c1338b7526 Add locale settings 2021-09-13 19:46:50 +02:00
Stelios Tsampas 228c3ab03e Move EGL Sync page into the main LegendarySettings page and make it useful. (WIP)
Move GameInfo to its own file.
Use get_pixmap in GameDlcWidget to get the pixmap.
Remove unused function from RareSettings.
Convert About to FormLayout.
2021-09-12 14:23:40 +03:00
Stelios Tsampas 7a9daad2b1 Add more download options in legedary settings tab 2021-09-11 16:08:50 +03:00
Dummerle d11cc7abf3 add legendary submodule and rename custom_legendary to legendary in imports 2021-09-06 21:10:18 +02:00
Dummerle 134c06a726 Update translation and remove notify-py as dependency 2021-09-01 22:12:27 +02:00
Dummerle a5997f62ab replace os.name with platform.system() to differentiate between mac and linux 2021-06-20 21:55:31 +02:00
Dummerle e0916a0fa6 fix some bugs 2021-05-19 21:20:35 +02:00
Dummerle df5e83352a Add egl sync options 2021-05-19 21:09:14 +02:00
Dummerle 3934b18050 Add structure for egl-sync 2021-05-19 13:33:16 +02:00
Stelios Tsampas fc8b8bad37 Move .ui and the corresponding .py files into the rare directory under ui for clarity 2021-05-18 01:57:20 +03:00
Stelios Tsampas 8c882177e1 Make PathEdit more self-contained 2021-05-18 01:57:20 +03:00
Stelios Tsampas 748d51f31f Improve PathEdit a bit more
Add placeholder text
Remove some unused variables
Open dialog starting from path if set
2021-05-18 01:57:20 +03:00