1
0
Fork 0
mirror of synced 2024-07-04 22:21:21 +12:00
Commit graph

58 commits

Author SHA1 Message Date
loathingKernel ee5adce18b Implement LgndrIndirectLogger to return the last logged message from LegendaryAPI
The indirect return is stored in a `LgndrIndirectStatus` object that provides checking and unpacking features

Lgndr: `LgndrInstallGameArgs.install_tag` default to None
Lgndr: add default `move` method.
Lgndr: monkeypatch `dlm.status_queue` after preparing a download to reduce `InstallQueueItemModel`
InstallOptionsModel: implement `as_install_kwargs` to pass only relevant arguments to `LgndrInstallGameArgs` in InstallDialog
InstallOptionsModel: rename `sdl_list` to `install_tag` as they were the same thing
LegendaryUtils: Update to use `LgndrIndirectStatus`
UninstallDialog: Add option to keep configuration decoupled from keeping game data
GameUtils: Add messagebox to show error messages from legendary after uninstalling a game
InstallDialog: Update to use `LgndrIndirectStatus`
InstallDialog: Update selectable download handling to match legendary's
DownloadThread: Remove multiple instance variables, instead reference them directly from `InstallQueueItemModel` instance
ImportGroup: Replace `info_label` with an `ElideLabel` for displaying long messages
ImportGroup: Don't translate message strings in the `ImportWorker`
GameInfo: Call `repair()` if needed after verification instead of handling it locally
GamesTab: Fix string matching for capitalized strings and scroll to top on when searching
2022-08-02 10:42:38 +03:00
loathingKernel 28531eec38 Lgndr: Add logger monkey class
The class acts as an intermediate between the logger and the function call
It keeps the last message that was sent to the logger. The instance of the
class can be returned as a return value from the LegendaryCLI methods to
provide return status and the message related to it.

The level at which it considers the logged message as an error is configurable.
By default it considers logging.ERROR and above as faulty return values
2022-08-02 10:42:38 +03:00
loathingKernel 2bf41f20d1 Lgndr: Match the arguments of legendary's get_boolean_choice 2022-08-02 10:42:38 +03:00
loathingKernel d05f74b286 ImportGroup: Add option to import DLCs 2022-08-02 10:42:38 +03:00
loathingKernel 14087a3c6c Lgndr: Add default implementation for get_boolean_choice that returns False 2022-08-02 10:42:38 +03:00
loathingKernel 545d77ef07 Lgndr: Expose 'resolve_aliases' for outside usage 2022-08-02 10:42:38 +03:00
loathingKernel 3aae3887f6 Lgndr: Create argument models for consistent function arguments and cleaner implementation.
Lgndr: Prefix files that aren't part of legendary with 'api_'
Lgndr: Return statistics from 'verify_game' instead of parsing the exception
VerifyWorker: Add 'error' signal for exceptions.
2022-08-02 10:42:38 +03:00
loathingKernel 883bd268ff Mirror Legendary classes structure in the shim.
Lgndr: Move code segments copied from `prepare_download` back to their original location in `install_game`
Lgndr: Add the LgndrLogHandler at initialization instead of every function.
Lgndr: Move `verify_game` to its original place in `LegendaryCLI`
Lgndr: Change the way DLManager is patched into LegendaryCore proper
Shared: Add singleton for LegendaryCLI, LegendaryCoreSignleton returns core from LegendaryCLI
VerifyWorker: Update to use `verify_game` from `LegendaryCLI` directly
PreLaunchThread: Initialize LegendaryCLI to get LegendaryCore from it
InstallDialog: Update `prepare_install` argument names
2022-08-02 10:42:38 +03:00
loathingKernel 3892f4a594 ImportGroup: Update the shim stuff for the import worker 2022-08-02 10:42:38 +03:00
loathingKernel 2c2f44c97c Use a loggin handler in stead of monkeypatching for raising LgndrException 2022-08-02 10:42:38 +03:00
loathingKernel ad81546b35 Adjust EGLSyncGroup to use LgndrException 2022-08-02 10:42:38 +03:00
loathingKernel c302775acd Remove dead code from EGLSyncGroup 2022-08-02 10:42:38 +03:00
Stelios Tsampas 04a76ed2ff Include PoC implementation of LegendaryCLI for the import_game method 2022-08-02 10:42:38 +03:00
loathingKernel 406cfc136f ImportGroup: Close file after reading app_name 2022-07-11 22:18:26 +03:00
loathingKernel 0d6c9a8505 ImportGroup: Show messagebox when importing multiple games (scanning install folder)
I moved around a few things because the separate lists felt like they
would make the handling a bit complicated.
2022-07-02 22:19:40 +03:00
loathingKernel 76cd33054a EGLSyncListGroup: Move message box outside of thread to prevent "parent in other thread" crash 2022-07-02 11:48:33 +03:00
Dummerle 667ca0ecb6
Move import games to separate thread 2022-07-01 17:43:25 +02:00
Stelios Tsampas 1c296474c5 Add a bunch of accumulated fixes.
Shared: Require an argument to initialize the each singleton, if it is called uninitialized, raise a RuntimeError
InstallDialog: Use QCheckBox label for the information text and remove the layout
LaunchDialog: Minor code clarity improvements
Console: add a Dialog with the process's environment variables
GameUtils: Inherit the system's environment and not a clean one
ImportGroup: Add the ability to automatically import all games in a folder
RareStyle: Use rgb values, remove hex codes and rgba values
IndicatorLineEdit/PathEdit: Infer object names from class name, don't override layout method
Models: Type fields as Optional (`Union[<something>, None]`)
Paths: Use pathlib for everything

Signed-off-by: Stelios Tsampas <loathingkernel@gmail.com>
2022-05-05 13:27:39 +03:00
Dummerle b996aac3f7
Fix Wine Resolver, mangohud, pre launch, 2022-03-21 23:01:55 +01:00
Dummerle d077e2bc24
Add pre_launch settings 2022-03-21 23:00:33 +01:00
Stelios Tsampas 717945d729 SideTabWidget: Add container widget with a title and a scrollarea as the master widget for each tab 2022-03-18 18:03:14 +02:00
Dummerle 66ae7c614f
Show wrapper widget for proton and mangohud with disabled button 2022-03-14 17:23:55 +01:00
Stelios Tsampas d6ef44b2f9
Rare: Implement global objects as functions that return a single instance 2022-02-25 20:22:45 +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 4820719bef
Fix #151 2021-12-27 00:37:13 +01:00
Stelios Tsampas 8f89eb6e88
Rare: pass through Black formatter 2021-12-27 00:37:13 +01:00
Dummerle a9ce9df758
Fix Show an error message after import failed. Fix DLC error 2021-12-05 19:47:06 +01:00
Dummerle 026d5374a3
Add Multiplatform support for MacOS and Win32 2021-12-05 19:47:03 +01:00
Dummerle 1abcf16583
Add update in dl tab, when imported game, with available update 2021-11-30 23:15:00 +01:00
Dummerle b60fb43568
Some fixes and optimization 2021-11-29 01:23:33 +01:00
Dummerle db177e162f Some fixes for windows 2021-11-25 21:54:34 +01:00
Stelios Tsampas bcae6cb7fd
EGLSync: Don't test input in egl_path_edit on Windows 2021-11-21 18:59:37 +02:00
Stelios Tsampas e6b67f50f7
EGLSync: Skip egl_path_edit on Windows 2021-11-21 18:57:56 +02:00
Stelios Tsampas a25149346c
EGLSync: Use direct reference to shared.core 2021-11-21 17:18:37 +02:00
Stelios Tsampas 3a464acba7
EGLSync: Refine error reporting from wine resolver. 2021-11-21 17:18:37 +02:00
Stelios Tsampas 81bc1007d2
EGLSync: Naming 2021-11-21 17:18:37 +02:00
Stelios Tsampas 8ec321b41f
EGLSync: Descriptive names 2021-11-21 17:18:36 +02:00
Dummerle 3acc13e9b6
Many fixes 2021-11-17 23:02:36 +01:00
Dummerle f67b45fac3
Add german qt translations file + some fixes 2021-11-13 00:56:03 +01:00
Dummerle b0125ba020
Many optimizations, bug fixes and other small fixes 2021-11-13 00:34:35 +01:00
Stelios Tsampas af2cacca90
EGLSync: Handle return codes from import/export.
EGLSync: Re-enable list if it still have items after automatic sync.
2021-11-13 00:34:34 +01:00
Stelios Tsampas 1b1f5bcf84
Import: Formatting. 2021-11-13 00:34:34 +01:00
Stelios Tsampas 21eb49aee8
EGLSync: Disable the file watcher because it can fail if EGL is running at the same time 2021-11-13 00:34:34 +01:00
Stelios Tsampas 96144d9da5
Use the tree view for the AppNameCompleter
* IndicatorLineEdit: Add hint label
* EGLSync: Send a list of app_names to update the game list.
* EGLSync: Show message with WINEPREFIX is unset in settings.
* WineResolver: Return empty string when WINEPREFIX is unset.
2021-11-13 00:34:33 +01:00
Stelios Tsampas 5a0646cb87
Add Completer for app_name in ImportGroup. 2021-11-13 00:34:33 +01:00
Stelios Tsampas 4c3d9925e7
Do implicit sync with EGL when automatic sync is checked.
Update game list only on import.
Make WineResolver a QRunnable.
Add some prefix discovery to PathSpec.

Signed-off-by: Stelios Tsampas <loathingkernel@gmail.com>
2021-11-13 00:34:33 +01:00
Stelios Tsampas 7cbcfe09a3
Enable/Disable export/import buttons based on selection
Signed-off-by: Stelios Tsampas <loathingkernel@gmail.com>
2021-11-13 00:34:33 +01:00
Stelios Tsampas f2401af6de
Remove mistargeted connection to update_gamelist 2021-11-13 00:34:33 +01:00
Stelios Tsampas 1312be94f5
Fix missed function signature
Signed-off-by: Stelios Tsampas <loathingkernel@gmail.com>
2021-11-13 00:34:32 +01:00