1
0
Fork 0
mirror of synced 2024-07-02 21:20:54 +12:00
Commit graph

1065 commits

Author SHA1 Message Date
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
Dummerle afc919421c
Do not run test workflow on every commit + fix small desktop link on windows 2022-04-26 21:13:37 +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 01a513d844
Do not start rare with --desktop-shortcut option 2022-04-18 11:45:14 +02:00
Dummerle bea6311df5
Catch error, if re-login fails 2022-04-13 01:08:28 +02:00
Dummerle 613de928a6
Add a log to non debug mode, to get python version and os 2022-04-13 01:08:28 +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 48562f6527
Use pathlib for resources path, to fix FileNotFoundError 2022-04-10 14:24:41 +02:00
Dummerle 0bb74197ce
Remove version and codename from paths.py 2022-04-04 23:25:38 +02:00
Dummerle 5b8bb411ee
Don't create resources folder in paths.py 2022-04-04 23:21:23 +02:00
Dummerle 57f10b7ec0
Fix game finished signal, if rare exited 2022-04-04 23:12:21 +02:00
Dummerle 97214d5267
Optimize steam grades 2022-04-04 21:02:01 +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
MultisampledNight 30361eb4bb
Use QStandardPaths instead of guessing ~/Desktop 2022-03-31 21:58:15 +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 3c148d8093
Add wrapper for PahEdit edit function to accept "~" as $HOME 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