loathingKernel
6d41a1994f
ExtraWidgets: Fix some typing and style issues
...
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
41be89cbb5
Update translations
2023-01-31 19:27:59 +01:00
lennard
afea6a663a
Make error text in install dialog selectable
2023-01-27 15:51:00 +01:00
lennard
f210d7df60
Bump version
2023-01-22 21:14:18 +01:00
lennard
7d0ac98a7c
Add a workaround for Fall Guys
2023-01-09 18:12:44 +01:00
lennard
e46ae0f91e
Fix "Offline" text in account widget
2023-01-08 20:41:02 +01:00
lennard
16775fb661
Bump version
2022-12-08 21:33:31 +01:00
ondrej.ivanko
de236ea397
fix ValueError: 'mutable default X for field indirect_status is not allowed: use default_factory'
2022-12-05 20:09:17 +01:00
lennard
a90d6ba7c8
Fix too high download speed
2022-12-01 00:12:12 +01:00
lennard
f31d9424bc
Bump version
2022-11-04 22:09:28 +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
692ffa99bc
CollapsibleWidget: Resize the widget when contents change
...
Currently this is achieved by toggling the checked state twice
in a programmatic way. This ensures correct animations until
a better solution is found.
In addition, now both CollapsibleFrame and CollapsibleGroupBox
inherit their common methods from the abstract class CollapsibleBase.
2022-11-03 21:23:48 +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
ae43fd7ea3
StyleSheets: Apply padding to QGroupBox
2022-10-29 14:50:18 +03:00
loathingKernel
eae2bdaa8a
StyleSheets: Add padding to checkable QGroupBox to align it
2022-10-29 14:50:18 +03: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
a5c8d92e24
Application: set HiDPi scaling attribute
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
e208daf545
Fix wrong import from migration
2022-10-26 21:57:04 +02:00
lennard
923aa1b90d
Migrate to legendary 0.20.30
2022-10-26 21:36:16 +02:00
lennard
59f134f815
Bump version
2022-10-23 22:58:38 +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
b6786171ae
Fix game launch on windows
2022-10-18 23:02:38 +02: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
4cadc263e6
Fix --skip-update-check option for launch helper
2022-10-01 00:45:22 +02:00
lennard
a55ad96fbc
bump version
2022-09-27 22:22:07 +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
780bd798a9
Rename rare code name to new name
2022-09-27 21:10:44 +02:00
lennard
24774b07c0
Fix move game on Windows
2022-09-27 21:09:41 +02:00
lennard
829da4f93b
Bump version
2022-09-19 23:10:03 +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
2f5da4e628
GameLaunchHelper: actually exit when game has finished
2022-09-16 17:33:26 +03:00
loathingKernel
1137d75e79
Lgndr: Update to legendary 0.20.29
2022-09-16 15:26:31 +03:00
loathingKernel
7d2e1ddac2
Lgndr: Keep legendary's logger name
2022-09-13 12:38:43 +03:00
loathingKernel
e621955a22
RareSettings: Handle permission error when deleting logs
2022-09-13 12:38:43 +03:00
Stelios Tsampas
9d28680804
Build: enable console output on windows if it is a test build
2022-09-13 12:38:43 +03:00
Dummerle
e45f392652
Bump version
2022-09-12 17:23:09 +02: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
cbf4c38564
Redirect stdout
and stderr
to os.devnull
if we are in a frozen GUI application form
2022-09-10 22:05:00 +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
c3e192cbbe
Add requirements-full.txt with everything
2022-09-09 20:49:30 +03:00
loathingKernel
b7b96f79b2
Apply fix for "403 Client Error" by applying pending https://github.com/derrod/legendary/pull/477
2022-09-08 20:43:03 +03:00
loathingKernel
c8586d2beb
Always return the absolute path to the exectuble
2022-09-08 20:25:55 +03:00
loathingKernel
70328d6472
Console: Minimize instead of keeping open if game is running
...
DesktopShortcuts: Normalize StartWMClasss with application name
2022-09-08 16:57:43 +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
8d9f02eab5
Initialize logging in RareApp and log both Rare and GameLaunchHelper
2022-09-08 15:33:36 +03:00
Stelios Tsampas
e4638c2fa3
Console: Center window on show()
2022-09-08 13:34:47 +03:00
Stelios Tsampas
c6b9f5c64f
Fix shortcut creation on windows
2022-09-08 13:16:15 +03:00
Stelios Tsampas
7ebeee0d1e
App: Log both to file and to stderr
2022-09-08 02:13:10 +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
Stelios Tsampas
377fd486dc
stupid quotes
2022-09-07 20:46:56 +03:00
Stelios Tsampas
6a2af0be7c
Quote executable path for Windows
2022-09-07 19:19:14 +03:00
loathingKernel
5029921b09
Move a bunch of class attributes to instance attributes
2022-09-07 18:21:50 +03:00
Dummerle
26e8a235cc
Bump version
2022-09-05 22:55:50 +02: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
Dummerle
0d43f1103d
Include source directory, when running from source
2022-09-05 20:18:40 +02:00
Dummerle
4a28fd3d0d
Fix config_helper.py
2022-09-04 22:49:43 +02:00
loathingKernel
aa9cf4c5b5
GameLaunchHelper: Remove LegendaryCoreSingleton usage
2022-09-04 21:40:41 +03: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
4951743bbf
ConfigHelper: Protect name space from globals
2022-09-02 17:53:56 +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
dfb388a9ba
App: Do a bit more cleanup to avoid crashes
2022-09-02 00:20:04 +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
98489297f1
Bump version and update some dependencies
2022-08-30 23:12:15 +02: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
Dummerle
002bf908e6
Update translation_source.ts
2022-08-28 22:07:39 +02:00
loathingKernel
2f983d9b52
InstallDialog: Adjust collapsible widget
2022-08-28 22:07:26 +02:00
Dummerle
a71bb1fe91
Add missing dependencies to pyproject.toml
2022-08-27 13:43:55 +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
625066d2da
Fix two small errors in game launch helper
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
b15a5b7007
Fix game launching if compiled with Nuitka
2022-08-18 02:24:51 +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
dffd768934
Re-add dlc arguments
2022-08-08 21:32:31 +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
c388f99c46
Lgndr: Move generic function implementations to api_monkeys
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
8bbb42a045
Lgndr: cleanup
2022-08-02 10:42:38 +03:00
loathingKernel
654f734975
Lgndr: Update test get_boolean_choice to the arguments of its counterpart
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
99cb7f46fd
ImportGroup: Set the wordwrap option for the information label
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
9df3355200
LegendaryUtils: Remove dead re-implemented functions
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
7aded95a1f
Lgndr: Monkeypatch modified DLManager into LegendaryCore at module import
2022-08-02 10:42:38 +03:00
loathingKernel
caffd9c51d
Lgndr: Return result from resolve_aliases (woops)
2022-08-02 10:42:38 +03:00
loathingKernel
9acfd7a67f
Lgndr: Follow comment pattern
2022-08-02 10:42:38 +03:00
loathingKernel
53fba8c705
Lgndr: Set 'estimate' to 0 before it can be calculated
2022-08-02 10:42:38 +03:00
loathingKernel
10b845c0aa
Lgndr: Save the manifest if it was downloaded while verifying
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
d4bf783018
Update core to the submodule rebase
2022-08-02 10:42:38 +03:00
loathingKernel
fd2c094dc2
Add override for prepare_overlay_install()
2022-08-02 10:42:38 +03:00
loathingKernel
9af4e7ead8
Specify correct return type for prepare_download()
and disable formatting for copied code segments
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
78fb13830e
Set logging level instead of disabling it in DLManager
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
9698bf445b
Re-enable logging in DLManager correctly
2022-08-02 10:42:38 +03:00
loathingKernel
82015f21d4
Fix ordering in InstallDownloadModel to match 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
loathingKernel
d4718f823f
Use custom exception to overload log.error
and log.fatal
in egl_import
and egl_export
2022-08-02 10:42:38 +03:00
loathingKernel
3ec8973de8
Update shim UIUpdate and DLManager to the cleanup changes from the submodule
2022-08-02 10:42:38 +03:00
loathingKernel
a9954a98f6
LegendaryCore: Re-use super's prepare_download()
instead of copying it.
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
Stelios Tsampas
f4743d99b6
Remove submodules
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
4139797eff
ImageManager: Also test if 'game.metadata' has 'keyImages'
2022-07-28 22:20:06 +03:00
loathingKernel
e005423d0a
GameUtils: Remove functions moved to LaunchHelper
2022-07-11 23:07:00 +03:00
loathingKernel
ef88a913f9
LaunchHelper: Add terminate and kill button in the console (visible only in windows for now)
2022-07-11 22:18:26 +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
loathingKernel
06e5901aab
ImportGroup: properly name the hlayout
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
Dummerle
ef5e814f64
Fix bug, hwn launching origin games
2022-07-07 23:56: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
2f43431589
Do not remove config, when deleting a game, but keep files
2022-07-01 17:42:41 +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
Dummerle
59032e3577
Merge pull request #224 from aznd/fix_restart_func
...
Fix get_rare_executable func for macOS
2022-06-27 22:06:27 +02:00
aznd
576b4571cf
Fix get_rare_executable func for macOS
2022-06-27 16:53:19 +02:00
Dummerle
52765be01a
Fix console and game exit when rare closed
2022-06-27 00:53:28 +02:00
aznd
19ac7e6c50
Don't double delete the dir
2022-06-26 17:27:35 +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
dace98b567
Add debug console for games and use same QApplication base for Rare and helper
2022-06-23 21:26:08 +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
loathingKernel
ff09475cac
ImageManager: Handle broken image.cache
2022-06-21 01:05:39 +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
7073a6ad7a
Merge pull request #212 from loathingKernel/theming
...
Split resources into base and themes to make diffs lighter
2022-06-19 00:49:14 +02:00
Dummerle
d288ed3b78
Immediately stop helper after launching an origin game to avoid zombie processes
2022-06-18 23:55:35 +02:00
loathingKernel
99f3303db1
Resources: Split stylesheets from base resources
...
Stylesheets: Each stylesheet specifies its own resources file
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-06-19 00:01:56 +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
b3d7f5ba92
Add system environment to processes
2022-06-13 22:59:34 +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
54f82aa4b5
Basic working helper process
2022-06-13 22:59:34 +02:00
Dummerle
9bfa841ef5
Add game helper to launch games in a detached process
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
260eac6a33
Update legendary
2022-06-12 00:20:16 +02:00
Dummerle
5593ab80ca
Update translations
2022-06-12 00:20:16 +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
c53d31380e
update legendary to fix webview login
2022-05-02 21:34:39 +02:00