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
Lgndr: Change the exception level to CRITICAL for core
LegendaryUtils: Use uninstall_game from our Lgndr
UninstallDialog: Update to return a tuple of values
App: Keep files if the install directory was lost
App: Run legendary's exit procedures on exit
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.
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
Also fixes the login window missing dialog type hints for the window manager.
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
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>
Remove borders from EGLSync lists.
Color install/uninstall buttons correctly in DLC tab
Adjust InstallDialog because the check function runs early now.
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.
Move GameInfo to its own file.
Use get_pixmap in GameDlcWidget to get the pixmap.
Remove unused function from RareSettings.
Convert About to FormLayout.
* Set the `WA_DeleteOnClose` attribute for the MainWindow.
* Handle the case where `programdata_path` exists but is empty.
* Emit a signal from `LaunchDialog` instead of using `exit()`.
* Remove `LoginThread` as it was never deleted and caused a `SIGSEGV` on exit.
* Handle termination and deletion of `SteamThread` and `ImageThread`.
* Rename `finished` to `completed`, to not override the inherited `finished` signal.
* Emit a signal from Account widget to do cleanup instead of immediately quitting.
* Add RareStyle qrc with the icons needed for comboboxes and spinboxes
* Add images as svg
* Refactor `styles` to `resources` since it contains more things now.
* Add stylesheet folders, each folder must contain a `stylesheet.qss` file.
* Don't use QResources, instead add an identifier in the qss url() which can
replaced later with the full path.
* Update RareStyle with SVG images for better quality.
InstallDialog now returns a InstallQueueItemModel ready
to be downloaded or queued.
Renamed a few model attributes to match legendary's names.
InstallDialog can be run silently for auto-downloads.
The addition of download_only option broke the download queue
due to different positional arguments and tuple indices. Since
using indices is awkward, models to represent the download
and each item in the queue itself were added.
* Fix race condition between the sdl checkboxes.
* Fix default tag not been included in the list of tags.
* Delete InstallDialog on close.
* Specify parent for InstallDialog.