1
0
Fork 0
mirror of synced 2024-07-02 21:20:54 +12:00
Commit graph

28 commits

Author SHA1 Message Date
loathingKernel 17066f9a67 Rare: cherry-pick some of sourcery suggestions 2024-02-12 21:52:07 +02:00
loathingKernel dfa60aa99f
ImportGroup: Add platform selection when importing games.
If we are importing multiple games, default to importing the native platform
if the game supports it, otherwise fallback to the Windows platform
2023-12-17 01:20:07 +02:00
loathingKernel 5f5e471169
RareGameBase: Add default_platform property
This property reports the default platform to use for a game based
on legendary's configuration and if they platform is available in the
game's assets.

Using that property we can make better choices on what platform to operate
on without user intervention. Currently we use it to infer the platform
in when installing, importing, and calculating game versions.
2023-12-16 14:02:53 +02:00
loathingKernel 0bd34af720
ImportGroup: calculate correct install dir when importing game 2023-12-16 01:28:37 +02:00
loathingKernel db588ed4e2
Use legendary's installation directory inference 2023-12-16 00:40:15 +02:00
loathingKernel cada2ae985
ImportWorker: Use default platform when importing, fallback to Windows if there is no assets for the platform 2023-12-15 17:56:33 +02:00
loathingKernel b5a18f2858
ImportGroup: Properly find the row when inserting path_edit and app_name_edit 2023-12-12 01:23:18 +02:00
loathingKernel 38cc1f34a2
ImportGroup: Update the form when each time it is shown
Reduces startup time and outdated information in the completer/checks.
2023-12-10 23:43:46 +02:00
loathingKernel e1c1d01958
ImportGroup: Use get_boolean_choice factory insteand of lambda 2023-12-10 22:44:19 +02:00
loathingKernel df0f7603f2
ImportGroup: Don't enable the Import Game button if import is running 2023-12-10 22:12:17 +02:00
loathingKernel 7218f0b696
ImportGroup: Add force import option.
When checked, the check for missing files will be skipped, allowing
for games missing too many files or their executable to be imported.
2023-05-07 16:33:08 +03:00
loathingKernel 184be66662
ImportGame: Pass app_name through the signal to resolve some information
Not working particularly well, since setting the path tries to auto-detect
the `app_name`, but it doesn't break anything either.
2023-05-03 17:27:36 +03:00
lennard 672bc814ba Fix import game 2023-05-03 12:32:12 +02:00
loathingKernel fee1f34451
ImportGroup: Rename button slot 2023-03-13 12:29:33 +02:00
loathingKernel e263523a76
ImportGroup: Constrain QStackedWidget from resizing when changing contents
Fix its size to the import button's size.
2023-03-13 00:58:16 +02:00
loathingKernel 5748d0e6ee
RareCore: Manage initialization in RareCore instead of LaunchDialog
This is the last change of the `backend_refactor` branch. This makes
`RareCore` the centerpiece of Rare by moving initialization before the UI
is brought up. RareCore is now in control of creating and querying `RareGame`
objects, re-introducing the ability (incomplete) to refresh the games library.
As a result, ApiResults has been removed.

Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-03-07 17:11:21 +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 34a13ea3b2 ApiResults: Mirror the way RareCore from refactor_backend handles non asset items
`LegendaryCore.get_non_asset_library_items()` returns the same tuple
for `game_list, dlc_dict` as for regular games with assets, so
keep the result for API completeness, since `RareGame` can handle those
games properly.
2023-02-07 13:04:33 +02:00
loathingKernel 90021e34f2 RareGame: Add enqueue and dequeue signals
They are used to insert and remove updates from downloads when
the installation of a game changes through `RareGame.set_installed`.
They piggy-back the signals with the same names in `GlobalSignals`

When importing a game from EGL, also check
2023-02-04 17:38:07 +02:00
loathingKernel 0830c17ee5 ImportGroup: Add progress reporting in the form 2023-02-04 17:38:07 +02:00
loathingKernel c219f347d1 ImportGroup: Fix missing text due to ElideLabel change 2023-02-04 17:38:07 +02:00
loathingKernel cf5332004a Add name inference based on type in widget_object_name 2023-02-04 17:38:07 +02:00
loathingKernel 65c56bd366 ImportGroup: Handle each imported game as soon as it ready
Emit and handle the each imported game with the progress signal.
The result signal still handles showing the summary of the
process to the user
2023-02-04 17:38:07 +02:00
loathingKernel 620e8f721c ImportGroup: Adjust for RareGame 2023-02-04 17:38:07 +02:00
loathingKernel 9ca39d94ab GlobalSignals: Reorganize signals into groups
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel 83df445de9 GlobalSignals: Fix signal names in EGLSyncGroup and ImportGroup
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel b84d8a5c67 ImportSync: Rename to Integrations due to expanding their use. 2022-11-03 22:50:21 +02:00
Renamed from rare/components/tabs/games/import_sync/import_group.py (Browse further)