loathingKernel
c9b8774422
GameInfoTabs: Disable metadata tabs when --debug
is not defined
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
db0724fba0
GameInfo: Use RareGame to keep the VerifyWorker running on a game and connect progress to the widget.
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
2923c09bad
GamesTab: Also scroll to top when filter changes.
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
ab596139af
RareCore: Add RareGames to a data structure in RareCore
...
This merges a few of the internal features of RareCore such us
RareGame filtering and thus game grouping based on attributes.
This is required to properly connect a single signal from RareCore to
the downloads tab for game installation. This also includes filtering
games based on updates and other attributes.
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
b0c4fb4212
GameUtils: Adapt to use RareGame
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
5d209e1805
GameWidgets: Split status label to two
...
The original status_label is used to reflect the state of the game,
the tooltip_label is used to reflect the action of the current hovered
widget.
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
4640f8af6f
RareGame: Add metadata loading into RareGame itself and adapt tray icon to use the same file structure
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +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
857b3a3cc0
WineResolver: Pass LegendaryCore
at instantiation
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
b73fc328d2
GameInfo: Use ui
member instead of double inheritance for the UI module
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
7b6a3e181a
Shared: Move GameUtils and CloudSaveUtils into rare.shared
...
Removed `rare.utils.legendary_utils`, the `uninstall_game` function
was moved to `rare.shared.game_utils` for now
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
96b80bc423
Library: Introduce new tile design from refactor_backend
...
Currently broken but Rare starts
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
ab858b87d3
InstallDialog: Fix title capitalization
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
672a283472
GameInfoTabs: Emit back signal instead of accessing parent when Esc
is pressed
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
e059db1984
LibraryWidget: Remove class variables
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
6eb4e19807
GameInfo: Adapt tab to handle uninstalled games too
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
4796fb5efa
GameSettings: Check if Igame
has save_path
attribute before using it
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
d7a5404517
VerifyWorker: Move to rare/shared/workers
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
c5e2893f64
UninstalledInfoTabs: Remove
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
a58e385f8b
GameInfo: Add all currently available tabs to GameInfo
...
Prepares for removal of dedicated UninstalledGameInfo tab
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
4239acea24
GameDlc: Replace double inheritance with UI member class
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
652968b6bf
RareGame: Introduce RareGame
from refactor_backend
branch
...
Shared: Move WineResolver to `rare/shared/workers`
PathSpec: Move to `rare/models`
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
lanmaster53
db1691b694
Fixed a bug that caused a UI crash on Mac-based systems. ( #267 )
2023-02-04 15:23:07 +01:00
lennard
e46ae0f91e
Fix "Offline" text in account widget
2023-01-08 20:41:02 +01:00
lennard
a90d6ba7c8
Fix too high download speed
2022-12-01 00:12:12 +01:00
loathingKernel
cb49e8b678
Integrations: EOS -> Epic Overlay
2022-11-04 02:44:45 +02:00
loathingKernel
b84d8a5c67
ImportSync: Rename to Integrations due to expanding their use.
2022-11-03 22:50:21 +02:00
loathingKernel
61749f9acd
EOSWidget/UbiActivationHelper: Move them from Settings to ImportSync
2022-11-03 22:34:50 +02:00
loathingKernel
da79519e80
GameListHeadBar: Combine the "Import" and "EGL Sync" buttons into a menu
...
The "EOS and Ubisoft" tab is currently empy
2022-11-03 14:53:58 +02:00
loathingKernel
891804ae37
AccountWidget: Remove dead signals after the offline mode fix
...
Signals, if they carry the same datatype, can be chained simply
with `signal.connect(othersignal)` without the need to use a `lambda`
expression and `emit()`
TabWidget: Fix error because the `exit_app` signal was called directly
2022-10-31 17:00:01 +02:00
loathingKernel
435d560b5c
InstallDialog: Update the collapsible widget to take a widget instead of a layout
...
This change makes it more inline with how QScrollArea operates on a central widget.
Other changes include using a QFrame instead of a QWidget as a base and
adding a QLabel for the title instead of the horizontal line.
The advanced options were split into their own separate widget. Right now
their class operates only as a container with the logic remaining in the
InstallDialog.
2022-10-31 16:59:55 +02:00
loathingKernel
5370355e5d
Lgndr: Restructure module to follow legendary's file hierarchy
...
Move overloaded class files into the folders following
legendary's structure. Move Rare's integration classes into
their own subfolder.
2022-10-29 14:50:18 +03:00
loathingKernel
e6ff2bb41e
ImportGroup: Enable the button when "Import DLCs" changes
2022-10-29 14:50:18 +03:00
loathingKernel
9fcb924ae8
Widgets: Correct CollapsibleWidget name
2022-10-29 14:50:18 +03:00
loathingKernel
47b474a31a
StyleSheets: Remove last use of custom noBorder
property
...
Instead, use `QFrame.NoFrame` as `FrameShape` to set `0px` border width.
2022-10-29 14:50:18 +03:00
lennard
ca45c62414
Fix offline mode
2022-10-29 12:23:50 +02:00
lennard
923aa1b90d
Migrate to legendary 0.20.30
2022-10-26 21:36:16 +02:00
lennard
97157646a1
Fix some translation strings
2022-10-23 22:52:49 +02:00
lennard
8e721cc324
Include Origin games in get_wine_prefixes()
2022-10-23 22:52:39 +02:00
loathingKernel
3291100709
InstallDialog: Set irrelevant widgets as disabled.
...
Do not hide irrelevant options, show them as disabled instea.
This like the install directory are still informational despite
not being editable.
Also homogenize variable and widget naming.
2022-10-23 21:36:44 +03:00
loathingKernel
c1a008dce1
MainWindow: Don't connect to the global exit signal
...
Instead of connecting to the global `exit_app` signal, pass the signals
through their respective widgets. Because signals are queued by
default, this ensures that slots are executed in the order they are
connected. Makes it cleaner to do cleanup procedures where they should
make sense, unlike the global signal, where it has to be inferred by
the widget instantiating order.
2022-10-23 16:08:27 +03:00
loathingKernel
3c413c4e1f
AccountWidget: Refuse to logout if there are active downloads
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-10-23 00:54:11 +03:00
loathingKernel
28b2b7ea9b
MainWindow: Handle active downloads when exiting through WM's close button.
...
When the closed through the WM's close button, `closeEvent()` is
used directly. In this case the dialog in the `on_exit_app`
slot was skipped.
There is a mishandled case. If coming from logout while there
is an active download (Yes to logout -> No to stop download)
we end up in a weird state which I haven't investigated yet.
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-10-23 00:01:30 +03:00
loathingKernel
ef65e8ce09
DownloadsTab: Show the update version of InstallDialog if it is an update
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-10-22 15:44:22 +03:00
loathingKernel
e9fab53aff
UninstallDialog: If the game has selectable downloads, default to keeping configuration
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-10-22 15:41:49 +03:00
Stelios Tsampas
53cab3ecb9
GameInfo: Add missing space
2022-10-19 17:53:37 +03:00
lennard
68868c6259
Set game to not running, if an error occurred
2022-10-18 21:26:48 +02:00
lennard
378d876c3b
Add Ukrainian language
2022-10-17 20:00:46 +02:00
lennard
ebd567e665
Disable pypresence settings if not installed
2022-09-27 21:55:57 +02:00
lennard
fbd16b99ae
Update translations
2022-09-27 21:48:44 +02:00
lennard
24774b07c0
Fix move game on Windows
2022-09-27 21:09:41 +02:00
Dummerle
5d24c672b2
Catch Permission errors, when disabling and enabling EOS overlay
2022-09-19 01:00:17 +02:00
loathingKernel
83551f9b9e
DownloadThread: Don't mark prerequisites as installed if the user selected not to install them
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-09-18 20:52:59 +03:00
Stelios Tsampas
0960cbbdd3
DownloadThread: args
is a string!
2022-09-18 15:07:42 +03:00
Stelios Tsampas
14eda1c246
DownloadThread: Weirdly setNativeArguments
doesn't exist despite the docs saying that is should be available on Windows
2022-09-18 12:52:15 +03:00
loathingKernel
e621955a22
RareSettings: Handle permission error when deleting logs
2022-09-13 12:38:43 +03:00
loathingKernel
f7e9375964
LaunchDialog: Make the split 75/25
2022-09-11 19:45:17 +03:00
loathingKernel
cf5fd415e5
LaunchDialog: Add a middle-ground solution for concurrent image downloads
2022-09-11 14:51:37 +03:00
loathingKernel
52108688d3
LaunchDialog: Use ElideLabel for progress information
2022-09-10 22:42:47 +03:00
Stelios Tsampas
7a1935335e
GameInfo: Work-around slowdown on widget update_game()
request
2022-09-10 19:04:40 +03:00
Stelios Tsampas
21ea2af8e1
App: Move timer initialization after LaunchDialog has finished
2022-09-10 18:07:32 +03:00
Stelios Tsampas
74a3d9458d
LaunchDialog: Show validation progress separately from download progress.
2022-09-10 17:27:37 +03:00
Stelios Tsampas
cc74767f0a
App: Move verification requirement check into launch dialog
2022-09-10 15:33:48 +03:00
Stelios Tsampas
afcb3f7e7a
GameLaunchHelper: Allow closing the window only if the application has exited or crashed
2022-09-08 16:02:17 +03:00
Stelios Tsampas
d5d795ce79
Paths: Query paths after the OrganizationName
and ApplicationName
have been set
...
At the point they were evaluated, `OrganizationName` and `ApplicationName` are unset
resulting in wrong paths. As a quick fix, explicitly set them to their later values
Per OS examples:
Windows:
before:
data: C:\Users\<user>\AppData\Local
cache: C:\Users\<user>\AppData\Local\cache
after:
data: C:\Users\<user>\AppData\Local\Rare\Rare
cache: C:\Users\<user>\AppData\Local\Rare\Rare\cache
2022-09-08 01:27:37 +03:00
loathingKernel
5029921b09
Move a bunch of class attributes to instance attributes
2022-09-07 18:21:50 +03:00
Dummerle
4f91c6b422
Move widgets and uninstalled_games attributes to __init__()
2022-09-05 22:46:44 +02:00
Dummerle
333bb40ad7
Fix wrong origin classification for ue plugins without assets
2022-09-05 20:50:10 +02:00
loathingKernel
1ebd0b18d8
Introduce a very basic RareCore to handle signletons and their cleanup.
2022-09-04 20:39:03 +03:00
loathingKernel
7020141148
LaunchDialog: Move update check before login()
2022-09-04 19:51:23 +03:00
loathingKernel
afcdc1dea1
App: Move legendary initialization to the singleton
...
App: Move tray to MainWindow
Shared: Add destructor for singleton instances
2022-09-04 01:14:43 +03:00
loathingKernel
0a89f0e0b8
Make launch
and alias for start
2022-09-02 13:17:05 +03:00
loathingKernel
48867a8656
DebugSettings: Add restart button, thanks Dummerle!
2022-09-02 00:31:10 +03:00
loathingKernel
3c5575fda9
LaunchDialog: Don't explicitly delete LoginDialog
2022-09-02 00:04:39 +03:00
loathingKernel
345ee443ed
ImportLogin: Only add the first part of the split
2022-09-02 00:02:20 +03:00
loathingKernel
b3348a1eca
ImportLogin: Check if programdata is set
2022-09-01 23:48:30 +03:00
loathingKernel
0388d4bf9d
ImportLogin: Fix failure to login using EGL data
2022-09-01 22:49:09 +03:00
loathingKernel
fb708ce5fd
LoginDialog: Update to legendary 0.20.28
2022-09-01 18:53:16 +03:00
loathingKernel
2c36ffcd51
Lgndr: Adjust for d8af06c936
2022-09-01 11:49:42 +03:00
loathingKernel
6941556265
InstallDialog: setup UI class as member instead of double inheritance
2022-08-31 17:42:40 +03:00
loathingKernel
b1c713be12
InstallDialog: Show silent dialog in case of error
...
InstallDialog: Default shortcut creation to Unchecked in the UI file
InstallDialog: Save and reuse last shortcut creation value
2022-08-31 17:41:12 +03:00
Dummerle
4e325eb3d8
Ignore some pylint errors
2022-08-30 01:33:08 +02:00
loathingKernel
a6d1cae8a8
Lgndr: Temporary fix for DLManager monkeypatching in Windows
2022-08-30 01:22:08 +02:00
loathingKernel
2f983d9b52
InstallDialog: Adjust collapsible widget
2022-08-28 22:07:26 +02:00
Dummerle
cb3f316bf0
Fix proton visibility on Windows
2022-08-27 12:47:17 +02:00
Dummerle
70a51902d2
Move move game stuff to external file
...
I know it's weird
2022-08-27 12:32:20 +02:00
Dummerle
3469946ee9
Install prereqs by default on windows
2022-08-27 12:32:20 +02:00
Dummerle
2797485e69
Fix reason for cloud save edit, if nothing wrong
2022-08-27 12:32:20 +02:00
Dummerle
da07d6b791
Move some options in install dialog to advanced options
2022-08-27 12:32:17 +02:00
loathingKernel
2b141c276f
InstallDialog: Fix dlm
keyword argument
2022-08-26 11:38:13 +03:00
loathingKernel
50a37be433
DownloadsTab: Remove dead code
2022-08-17 23:46:10 +03:00
loathingKernel
c40fef0595
Lgndr: Transfer what DownloadThread does to install_game_real
(not used yet)
...
DownloadThread: Refactor names to match Lgndr
2022-08-12 13:17:53 +03:00
loathingKernel
5e022e6d28
Lgndr: Rename a few fields to reflect legendary's names
2022-08-08 21:06:58 +03:00
loathingKernel
e97e9fe841
Downloads: Add skip_dlcs
and with_dlcs
arguments.
2022-08-08 17:26:38 +03:00
loathingKernel
3ee789a695
Update DownloadThread
2022-08-03 02:33:50 +03:00
loathingKernel
38dfdc8bc2
Lgndr: Remove LegendaryCLISingleton
...
Since `LegendaryCLI` isn't stateful, we can instantiate
it when needed
2022-08-02 10:42:38 +03:00
loathingKernel
5ac71e99f0
DownloadThread: Use clean_post_install
instead of local copy
...
InstallDialog: Handly empty `config_tags`
Lgndr: Cleanup
2022-08-02 10:42:38 +03:00
loathingKernel
e5c7b029ff
GameInfo: Offer to also update the game after a verification if there is one
2022-08-02 10:42:38 +03:00
loathingKernel
785aaf648e
GameInfo: Detect repair_and_update
requirement
...
If a game was partially installed and it was imported
through the import functionality, if `repair_and_update`
is specified it will report `0` download size if there
is no real update to be done. Fix it by detecting the
need for an update explicitly.
This will also force games that have failed verification
to also update while repairing them, fixing the
long-standing issue of repairing an older version of a
game and then doing the update in a separate step.
2022-08-02 10:42:38 +03:00
loathingKernel
3501741c03
DownloadsTab: invalidate and recreate update widgets on import
...
Previously on game import, multiple update widgets for the same game
were created in the downloads tab. Instead of checking if a widget
already exists, invalidate the delete the existing and add a new one
with the current information about the installed game.
2022-08-02 10:42:38 +03:00
loathingKernel
f375357a2c
Utils: fix unresolved references
2022-08-02 10:42:38 +03:00
loathingKernel
7408116deb
Lgndr: Don' use lambda with default argument
2022-08-02 10:42:38 +03:00
loathingKernel
3ecbae0564
Utils: Rename utils.py
to misc.py
to not confuse PyCharm checker
2022-08-02 10:42:38 +03:00
loathingKernel
f51563ea93
Models: Move installation related models into their own file
2022-08-02 10:42:38 +03:00
loathingKernel
7fba2259ed
LoginDialog: Fix crash due to messagebox parent
2022-08-02 10:42:38 +03:00
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
bbaff5f42c
Lgndr: Add re-implemented uinstall_game
...
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
2022-08-02 10:42:38 +03:00
loathingKernel
5c1ff81370
LegendarySettings: clean_manifests expects more 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
b4a1efa357
Lgndr: Add 'repair_and_update' argument in InstallOptionsModel
2022-08-02 10:42:38 +03:00
loathingKernel
aeb149a3e9
Lgndr: Use custom wrapped
decorator to wrap LegendaryCLI functions
...
Lgndr: Add `get_boolean_choice` to relevant args dataclasses
Lgndr: Move mock functions to `api_monkeys`
InstallDialog: Add status queue to prepare_overlay_install arguments, fixes missing download stats
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
197f915fb3
InstallOptionsModel: Rename fields to use the same names as Legendary's arguments
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
51c45015a4
InstallDialog: Remove unused arguments
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
99ab488820
Pass the correct status queue and monkeypatch run_real in prepare_download
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
Stelios Tsampas
e58d33ee5d
Create shim legendary classes for overloaded functions
2022-08-02 10:42:37 +03:00
Dummerle
e6fc2323f1
Do not exit console, when game exited
2022-08-01 01:22:37 +02:00
loathingKernel
e005423d0a
GameUtils: Remove functions moved to LaunchHelper
2022-07-11 23:07:00 +03:00
loathingKernel
43c8cf8b52
LaunchHelper: Move console into the game_launch_helper folder
...
LaunchHelper: Log stderr to the console
2022-07-11 22:18:26 +03:00
loathingKernel
406cfc136f
ImportGroup: Close file after reading app_name
2022-07-11 22:18:26 +03:00
Dummerle
165b289c4f
Remove extra information for eos overlay
2022-07-10 22:00:35 +02:00
Dummerle
87ea29d005
Fix appname error in game_info.py and error in postinstall
2022-07-10 01:18:19 +02: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
Dummerle
93c732401c
Fix error after uninstalling, if action in tray icon does not exist
2022-07-01 17:03:18 +02:00
Dummerle
35f4807a26
Fix Attribute error on too old Qt version
2022-06-29 21:45:15 +02:00
loathingKernel
1ad5413e02
LibraryWidget: Always update the progress label to work-around layout issue
2022-06-26 14:31:12 +03:00
loathingKernel
b8668854db
Move the installed and available games count to the head bar.
...
Moving them to the head bar makes the library containers
simpler structurally as there the library's frame can be removed.
Remove games_tab UI files as they were getting very thin,
what they contained is being setup manually instead
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-06-25 19:21:24 +03:00
Stelios Tsampas
61a2a6781d
Add window hint to keep minimize button while still disabling close button
...
Disable reject method for launch dialog
Don.t update the assets again for the 32bit and mac games by waiting for ImageWorker to finish
2022-06-24 11:29:41 +03:00
Dummerle
7cba799d21
Merge pull request #220 from loathingKernel/fixups
...
Bug fixes for merged features
2022-06-23 22:13:57 +02:00
Dummerle
583f75d235
Fix some errors
2022-06-23 22:01:14 +02:00
Dummerle
43369ae143
Revert "Add a restart function in debug settings to easier test game helper"
...
This reverts commit cbf51b6bb7
.
2022-06-23 20:11:09 +02:00
loathingKernel
367f6cf0eb
Add window buttons to Launch and Login Dialogs
2022-06-23 20:39:43 +03:00
loathingKernel
7dbe414b87
Pass edited files through black
2022-06-23 18:05:04 +03:00
loathingKernel
145bc5f540
Use SlidingStackedWidget for the login dialog.
...
Also fixes the login window missing dialog type hints for the window manager.
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-06-23 17:57:29 +03:00
loathingKernel
fe40dac368
Don't show the installing widget for Epic Overlay and DLCs
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-06-23 17:54:26 +03:00
Dummerle
d8a766e756
Fix missing icon font prefix for LTS distros
2022-06-22 20:06:38 +02:00
loathingKernel
9e394f9981
GamesTab: Create methods for repeated widget removal and deletion code segments
...
HeadBar: Compact the headbar, re-use ButtonLineEdit from shop for the search function
SelectViewWidget: Remove content margins and make widget naming consistent
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-06-22 20:00:00 +03:00
loathingKernel
5eb3ae7f80
Add SlidingStackedWidget from #196
2022-06-22 16:53:26 +03:00
Dummerle
b3843b095f
Merge pull request #215 from aznd/enhancements_moving_game
...
Small enhancements in moving game
2022-06-20 22:32:46 +02:00
loathingKernel
08ab130c5c
LibraryLayout from #196
...
Introduces the LibraryLayout from #196 .
This layout distributes the available space in either horizontal side and in-between the widgets.
Known issues: When searching for a game, it will re-align visible widgets, effectively centering the results.
This is because the search and grouping functions are interleaved. #196 handles it differently by adjusting
the opacity and re-ordering of the irrelevant widgets.
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-06-20 19:04:46 +03:00
aznd
9535885318
Change "Available space" text in pop up for uniformity
2022-06-20 16:13:34 +02:00
aznd
d51bba60db
Use shutil.disk_usage because statvfs not available outside of UNIX
2022-06-20 16:11:58 +02:00
Dummerle
d772c4000e
Merge pull request #213 from loathingKernel/image_widget
...
Add ImageWidget and LibraryWidget from #196
2022-06-19 22:53:11 +02:00
Dummerle
cbf51b6bb7
Add a restart function in debug settings to easier test game helper
2022-06-19 22:50:13 +02:00
Dummerle
87a110b62b
Fix missing game environment and add last played to game meta
2022-06-19 22:07:21 +02:00
loathingKernel
6335293eef
Add ImageWidget and LibraryWidget from #196
...
Add the Image and Library widgets from #196 . In this iteration they replace the image `QLabel` in the existing widgets.
The `PaintWidget` in the `InstallingWidget` has been replaced by the future `LibraryWidget` that has progress indication.
The `ImageWidget` was also used to replace the image `QLabel` in `GameInfo` and `GameDlc` widgets.
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-06-19 20:42:49 +03:00
loathingKernel
3a28f2f0a2
Implement image manager
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-06-19 17:12:59 +03:00
Dummerle
37ae6e2b6e
Fix most errors
2022-06-18 13:25:39 +02:00
Dummerle
8a9ef67d2f
Check for running games at startup
2022-06-13 22:59:35 +02:00
Dummerle
0bb1d0ef7e
Add communication system for game helper
2022-06-13 22:59:35 +02:00
Dummerle
c4617de206
Add offline and some other options and cleanup code
2022-06-13 22:59:34 +02:00
Dummerle
4d441c4068
Integrate helper with rare to launch games
2022-06-13 22:59:34 +02:00
Dummerle
feb45afc47
Fix eos overlay bug not showing installed correct
2022-06-13 21:37:26 +02:00
Dummerle
46614e4b1d
Merge pull request #199 from aznd/feature-move-across-drives
...
Update move game to support moving across different drives
2022-06-12 23:16:42 +02:00
Dummerle
89d7b62f92
Fix click on unreal engine assets
2022-06-12 00:20:16 +02:00
Dummerle
4db4dfa0da
Fix infinite loading bug in shop
2022-06-12 00:20:15 +02:00
aznd
ca25e9ad7c
MoveGameAcrossDrive: Implementation
2022-05-30 22:26:45 +02:00
Stelios Tsampas
06c89b459e
InstallDialog: Remove QMessageBox, use existing dedicated label
...
InstallInfoWorker: Reset excepthook to default
Also pass through black formatter
2022-05-27 13:26:01 +03:00
loathingKernel
3bf7b20fbc
InstallDialog: Add max shared memory override and download reordering options
...
Fixes : #206
2022-05-26 23:17:02 +03:00
aznd
ab55325591
Fix typo
2022-05-13 22:29:09 +02:00
loathingKernel
4ec42a1708
InstallDialog: Move worker signals inside worker class
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-05-05 15:25:28 +03:00
Stelios Tsampas
f91b3651ae
Console: Move Environment Variables UI to a file
...
Signed-off-by: Stelios Tsampas <loathingkernel@gmail.com>
2022-05-05 13:27:39 +03: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
f025047021
Add a check if qt found current screen. Fallback to primary screen
2022-05-03 23:08:22 +02:00
Dummerle
1ae1f81915
Fix Error, that origin games are not shown
2022-04-26 21:03:43 +02:00
Dummerle
c698aad5a9
Remove tray icon quick launch item, when game was uninstalled
2022-04-26 20:50:40 +02:00
Dummerle
d2436c0cda
Show waning text, if game has no metadata. Only launching offline
2022-04-25 23:32:32 +02:00
Dummerle
150fff348b
Fix Desktop shortcut and login dialog task bar icon + bump version
2022-04-25 23:32:26 +02:00
aznd
87c3534da4
Fix uninstall for third party launcher games ( #200 )
...
* Dont allow third party launcher games to be uninstalled
* Fix indentation
2022-04-23 17:03:03 +02:00
Dummerle
8b723f7fcc
Update install prequisites, which raised an error
2022-04-13 01:08:27 +02:00
aznd
7a82091285
Implement moving game installations ( #193 )
...
Implement moving game installations
2022-04-10 21:14:46 +02:00
Dummerle
57f10b7ec0
Fix game finished signal, if rare exited
2022-04-04 23:12:21 +02:00
MultisampledNight
e234656951
Use QStandardPaths everywhere needed
2022-03-31 21:58:18 +02:00
MultisampledNight
a73fb2e01b
Merge create_desktop_link and Rare's version
2022-03-31 21:58:18 +02:00
Stelios Tsampas
6249bd19bb
Remove py files for the settings widgets from the old location
2022-03-30 01:51:23 +03:00
Stelios Tsampas
303bd0fd20
A bunch of minor UI fixes
2022-03-29 00:36:42 +03:00
BuildTools
ee766b72a9
Add line space between processes in debug console
2022-03-28 21:11:22 +02:00
Dummerle
a978771d82
Update console and origin launch
2022-03-27 23:03:48 +02:00
Dummerle
8ac9a1c41f
Rewrite game launch code; Fix override_exe; auto renew session
2022-03-27 21:52:32 +02:00
Dummerle
bdbb840e32
Replace IndicatorEdit with PathEdit for pre-launch
2022-03-22 21:55:49 +01:00
Dummerle
7f44ca7985
Fix proton settings and bug in pre-launch
2022-03-22 21:48:20 +01:00
Dummerle
a98ffb766e
Fix question, if no save path exists and move env vars to default game settings
2022-03-22 20:40:23 +01:00
Dummerle
44e0bbb14a
Better text for pre launch command
2022-03-21 23:01:55 +01:00
Dummerle
b996aac3f7
Fix Wine Resolver, mangohud, pre launch,
2022-03-21 23:01:55 +01:00
Dummerle
89e1336940
Fix proton prefix settings, saving always
2022-03-21 23:01:55 +01:00
Dummerle
81da5faec9
Change Linux settings to default game settings
2022-03-21 23:01:53 +01:00
Dummerle
49c68917a7
Rename filter "All" to "All games"
2022-03-21 23:00:33 +01:00
Dummerle
d077e2bc24
Add pre_launch settings
2022-03-21 23:00:33 +01:00
Dummerle
1a84abcb2b
Move Proton Settings so separate file
2022-03-21 23:00:32 +01:00
Dummerle
c26a30d9c9
Add load meta settings for 32 bit and macos
2022-03-21 23:00:32 +01:00
Dummerle
6de9a4c15e
Merge pull request #180 from aznd/envvars
...
Implement environment variables
2022-03-21 22:53:20 +01:00
aznd
d528d82462
Fix crash when no keys exists
2022-03-21 22:40:02 +01:00
aznd
d3d269b16c
Append row
2022-03-20 22:28:47 +01:00
aznd
db3b409b18
Fix indexerror when trying to delete a env var that hasnt been saved to the config yet
2022-03-20 21:42:51 +01:00
aznd
12f0f0c806
Cover a new use case
2022-03-20 00:46:07 +01:00
aznd
be643eacb1
Fix segfault
2022-03-20 00:04:14 +01:00
aznd
937c306aa5
Add helper function for appending row and fix a bug
2022-03-19 23:23:36 +01:00
aznd
c84cc388fb
Implement env_vars
2022-03-19 16:57:56 +01:00
Stelios Tsampas
0718753e3f
Wrappers: Make widgets and the scrollarea smaller, adjust size on scrollbar visibility
2022-03-19 17:51:06 +02:00
Stelios Tsampas
c70e9e9b02
Avoid making window smaller than horizontal contents
2022-03-18 19:36:47 +02:00
Stelios Tsampas
cb852b6912
Align a bunch of stuff
2022-03-18 19:12:19 +02: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
aznd
c2a117e226
Delete comments and stub functions
2022-03-17 20:01:57 +01:00
aznd
9540c2c40f
Ask user what to do when env var already exists
2022-03-17 20:01:57 +01:00
aznd
8de1ca7c4e
Use filewatcher to update table when required and use different layout so user can use escape key in the env var table to go one index back
2022-03-17 20:01:57 +01:00
aznd
6929c04c72
Satisfy linter
2022-03-17 20:01:57 +01:00
aznd
0f03c06dab
Implement env_vars
2022-03-17 20:01:57 +01:00
Dummerle
324530171e
Change kinetic scroll exceptions to property
2022-03-17 19:51:19 +01:00
Dummerle
16fa26e1df
Fix crash for Fortnite extension pack
2022-03-16 17:47:18 +01:00
Dummerle
66ae7c614f
Show wrapper widget for proton and mangohud with disabled button
2022-03-14 17:23:55 +01:00
Dummerle
01e7e6c463
Some fixes in game_utils.py and fixed height for scroll area
2022-03-14 17:23:55 +01:00
Dummerle
abba02d59e
Fix drag and drop jitter
2022-03-14 17:23:54 +01:00
Dummerle
53f1f1802d
Add drag and drop to reorder wrappers
2022-03-14 17:23:54 +01:00
Dummerle
3beef49705
Add support for wrappers with spaces
2022-03-14 17:23:54 +01:00
Dummerle
59a59ddfcc
Rename settings_widgets + fix pylint error
2022-03-14 17:23:54 +01:00
Dummerle
53e4281774
Use QFrame for WrapperWidget and fix add_wrapper layout bug
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
Dummerle
cc92322d43
Update dxvk settings,to use new overlay settings
2022-03-14 17:23:54 +01:00
Dummerle
d1df48e837
Update Wrapper settings
2022-03-14 17:23:53 +01:00
Dummerle
66c29f5a2f
Some changes to prepare flatpak support
2022-03-14 17:23:53 +01:00
Dummerle
ebe1714f74
Add STEAM_COMPAT_CLIENT_INSTALL_PATH for proton to fix #186
2022-03-14 17:23:53 +01:00
Dummerle
8ba7791c82
Add kinetic scrolling and fix mouse wheel scrolling over combo boxes
2022-03-14 17:23:53 +01:00
Dummerle
36e84bce9f
Fix Discord RPC
2022-03-14 17:23:52 +01:00
Stelios Tsampas
063e7ddbaf
GameSettings: Convert to scrollarea ( #183 )
2022-03-14 17:23:52 +01:00
Dummerle
451371185f
Add Russian + update translations
2022-03-14 17:23:52 +01:00
MultisampledNight
9796175826
Fix crash upon opening game info while verifying
2022-02-26 14:46:04 +01:00
Stelios Tsampas
d6ef44b2f9
Rare: Implement global objects as functions that return a single instance
2022-02-25 20:22:45 +02:00
Dummerle
2e6890bfd9
Move appdata paths to utils/paths.py to avoid crashes, if PyQt5 does not exist (deb workflow)
2022-02-17 00:04:53 +01:00
Dummerle
5ea799bcdd
Update translations
2022-02-13 17:48:40 +01: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
Dummerle
733e784f97
Add check if executable exists on Windows
2022-02-05 16:45:20 +01:00
Dummerle
baa5df380b
Images from store are saved for runtime
2022-02-05 16:03:21 +01:00
Dummerle
e916301999
Add config_helper.py to automatically check sections and options
2022-02-05 14:48:50 +01:00
Dummerle
8f83b4adde
Add download option to create a shortcut after installation
2022-02-04 22:15:32 +01:00
MultisampledNight
43125e846a
Remove leftover + from f-string refactor
2022-02-04 20:58:05 +01: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