loathingKernel
8dd58dc5e9
EGLSync: Subclass EGLSyncListGroup
and EGLSyncListItem
...
Subclass `EGLSyncListGroup` and `EGLSyncListItem` into import/export
specific classes. This way we don't have to specify the type of
operation at instatiation and improves code clarity and intention.
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:07 +02:00
loathingKernel
0d4b75d399
GameProcess: Make it a persistent member of RareGame
...
The `GameProcess` class now acts as a persistent member of `RareGame`
that can be re-used for launching games. Its signals are handled and
repeated by `RareGame`.
Implements launching directly into `RareGame`
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
08c7ae89e9
Utils: Don't import singletons in rare.utils.misc
to avoid uninitialized used and cyclical dependencies
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
599db2629f
TrayIcon: Update the list of recent games after a game has exited
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
7fbd941c98
GameProcess: Move GameProcess out of GameUtils and into its own file under rare/shared
...
In the same vain, move `rare/game_launch_helper/message_models` into `rare/modes` since it is used in both the server and the client side.
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
426be3e403
TrayIcon: Use RareCore to query last played games.
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
36e650dfe0
RareGame: Cache metadata json. Small speed-up at startup
...
Consistency is achieved by always updating the shared metadata dictionary
before writing it to the disk.
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
d4a367715d
GameUtils: Use correct type for signal
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
c7a70a9a75
CloudSaveUtils: Transition to RareGame
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel
79bae4374d
GameInfo: Transition to RareGame
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
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
b0242106e7
SideTabContainer: Don't override QWidget::scroll()
method
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
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