1
0
Fork 0
mirror of synced 2024-06-29 03:31:06 +12:00
Commit graph

181 commits

Author SHA1 Message Date
loathingKernel 4063195b4d DownloadsTab: Refactor downloads tab
When updates are queued, they are removed from the update's list. An exceptions is made
when the queued item comes from repairing (without updating), in which case the update is
disabled for the runtime.

A queued item can be either removed (if it is an update it will be added back to the
updates groups) or forced to be updated now. If a queued item is forced, the currently
running item will be added to the front of the queue. Downloads will be queued if
there is no active download but there is a queue already.

The download thread is now responsible for emitting the progress to `RareGame`

InstallDialog: Pass `RareGame` and `InstallOptionsModel` only as arguments.
The `update`, `repair` and `silent` arguments are already part of `InstallOptionsModel`
`RareGame` is used to query information about the game.

InstallInfoWorker: Pass only `InstallOptionsModel` as argument
Emit `InstallQueueItemModel` as result, to re-use the worker when queuing stopped games

RareGame: Query and store metadata property about entitlement grant date
RareGame: Add `RareEosOverlay` class that imitates `RareGame` to handle the overlay

LibraryWidgetController: Remove dead signal routing code, these signals are handled by `RareGame`
Directly parent library widgets instead of reparenting them

GameWidgets: Remove unused signals

EOSGroup: Set install location based on preferences and use EOSOverlayApp from legendary

GamesTab: Connect the `progress` signals of dlcs to the base game's signals
GamesTab: Remove dead code

GlobalSignals: Remove `ProgresSignals`

RareCore: Mangle internal signleton's names

Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:07 +02:00
loathingKernel 1470aa9eb3 DownloadsTab: Add UI files for new widgets 2023-02-04 17:38:07 +02:00
loathingKernel d3bee28443 Ui: Delete QtCore.QMetaObject.connectSlotsByName from UI python files
Since pyuic5 doesn't handle `connectSlotByName=False` in ui files
use sed in `misc/ui2py.sh` to remove those lines

Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:07 +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 a6d1cae8a8 Lgndr: Temporary fix for DLManager monkeypatching in Windows 2022-08-30 01:22:08 +02: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 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 06e5901aab ImportGroup: properly name the hlayout 2022-07-11 22:18:26 +03: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 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
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 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
Dummerle 5593ab80ca
Update translations 2022-06-12 00:20:16 +02:00
loathingKernel 3bf7b20fbc InstallDialog: Add max shared memory override and download reordering options
Fixes: #206
2022-05-26 23:17:02 +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
aznd 7a82091285
Implement moving game installations (#193)
Implement moving game installations
2022-04-10 21:14:46 +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
Dummerle 81da5faec9
Change Linux settings to default game settings 2022-03-21 23:01:53 +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
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 0f03c06dab Implement env_vars 2022-03-17 20:01:57 +01:00
Dummerle 66ae7c614f
Show wrapper widget for proton and mangohud with disabled button 2022-03-14 17:23:55 +01:00
Dummerle 53f1f1802d
Add drag and drop to reorder wrappers 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
Stelios Tsampas 063e7ddbaf
GameSettings: Convert to scrollarea (#183) 2022-03-14 17:23:52 +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 8f83b4adde
Add download option to create a shortcut after installation 2022-02-04 22:15:32 +01:00
Dummerle d801a145ab
Add update button, to update EOS overlay 2022-01-24 16:56:13 +01:00
Dummerle 0cea43f0d1
Add Epic Overlay Settings in Legendary Settings + Update Legendary submodule 2022-01-24 16:56:12 +01:00
Dummerle 021dedc3d6
Add refresh game meta button 2021-12-27 16:33:56 +01:00
Dummerle 1d4fd38d89
Add override launch executable in game settings 2021-12-19 23:43:43 +01:00
Dummerle e2fe157e13
Add Ubisoft activation in legendary settings 2021-12-12 01:46:38 +01:00
Dummerle 026d5374a3
Add Multiplatform support for MacOS and Win32 2021-12-05 19:47:03 +01:00
Stelios Tsampas ffba574dbf
GameDlc/GameSettings: Adjust scrollarea margins to fit the scrollbar 2021-12-05 02:34:21 +02:00
Stelios Tsampas 29cc9088eb
GameDlcWidget: Make the image label adjust to the widget size 2021-12-05 02:34:17 +02:00
Stelios Tsampas 4071536f84
DownloadsTab: Add static labels to current download stats 2021-12-01 16:29:22 +02:00
Stelios Tsampas 3aed7bd79c
DownloadsTab: Rename ui files to convey what they are 2021-12-01 15:33:39 +02:00
Stelios Tsampas ff39393374
DownloadsTab: Move ui to the correct location 2021-12-01 15:32:15 +02:00
Dummerle 709eb30674
Final commit for 1.7.0 2021-11-29 17:34:45 +01:00
Dummerle 8d4f25b8c2
More Fixes and cleanup:
- downloads: fix delete_later() and set installed widget and dl progress on same value
- about: use qt requests, to avoid long startups
- fix offline mode bugs
- set TextLabels in Store invisible
- fix origin launch
- remove unused files
2021-11-28 00:50:02 +01:00
Dummerle d52abfdb99
More fixes 2021-11-22 21:14:50 +01:00
Dummerle 4c9ef8acd8
Many fixes:
- store: updated epic api + many other fixes
- installing widget has now no border
- disable startmenu and desktop link on unsupported os
2021-11-22 20:02:58 +01:00
Stelios Tsampas 0debd4f2ea
GameSettings: Adjust right margin to not attach to the scrollbar. 2021-11-22 20:57:41 +02:00
Stelios Tsampas 31e767f0c0
GameSettings: Put linux specific settings in a scrollarea 2021-11-22 19:35:26 +02:00
Stelios Tsampas c3defd3a9d
GameSettings: Make cloud save box less messy. 2021-11-21 18:08:43 +02:00
Stelios Tsampas 185ce73da2
GameSettings: Move cloud saves above linux settings 2021-11-21 17:40:46 +02:00
Stelios Tsampas 8ec321b41f
EGLSync: Descriptive names 2021-11-21 17:18:36 +02:00
Dummerle efa4722475
some translation fixes 2021-11-17 23:02:37 +01:00
Dummerle 8b8c3a1f64
Rebasing cloud_save_update with main 2021-11-17 22:59:28 +01:00
Dummerle b0125ba020
Many optimizations, bug fixes and other small fixes 2021-11-13 00:34:35 +01:00
Stelios Tsampas 458e233327
Rename ImportSync files to indicate what the underlying widget is.
Split Import/Export lists to separate widgets to reduce code duplication.

Signed-off-by: Stelios Tsampas <loathingkernel@gmail.com>
2021-11-13 00:34:32 +01:00
Stelios Tsampas d8f39857db
Add directory watcher to monitor egl_programdata folder for changes.
Clear known manifests when changing directory
Run egl_sync() after importing or exporting
Arrange Importable and Exportable lists vertically

Signed-off-by: Stelios Tsampas <loathingkernel@gmail.com>
2021-11-13 00:34:32 +01:00
Stelios Tsampas d0c676d44a
Disable irrelevant widgets depending on case in EGLSync 2021-11-13 00:34:32 +01:00
Stelios Tsampas 9e86c3a59b
Check egl_path_edt for proper folder path
Make estimated text selectable
2021-11-13 00:34:32 +01:00
Stelios Tsampas 5afe4d875f
Change workflow in EGLSync.
EGLSync is enabled when a correct manifest or wine prefix
folder is specified.
If the path is removed, sync is disabled. (--unlink)
Automatic sync is controlled by a chechbox. It doesn't sync
on first activation for now.
`Sync once` is removed because it can be serviced
by `Select all` -> `Import`/`Export`

Still work in progress.
2021-11-13 00:34:32 +01:00
Stelios Tsampas 7156490952
Add initial implementation of WineResolver
Remove borders from EGLSync lists.
Color install/uninstall buttons correctly in DLC tab
Adjust InstallDialog because the check function runs early now.
2021-11-13 00:34:31 +01:00
Stelios Tsampas 5bed54350d
Add ImportSyncTabs
Move ImportWidget to the ImportSyncTabs.
Move EGLSyncWidget to the ImportSyncTabs.
2021-11-13 00:34:31 +01:00
Dummerle 1eac418195
Update translations 2021-10-24 02:19:51 +02:00
Stelios Tsampas b7edcc062b Rename debug and RPC files for less verbosity
Rename `get_possible_langs` to `get_translations`
2021-10-10 20:47:26 +03:00
Stelios Tsampas 463443796d Adjust BrowserLogin to use IndicatorLineEdit
Adjust Locale in `LegendarySettings` to use `IndicatorLineEdit`
Adjust `InstallDialog` to conform with new `PathEdit` `edit_func` specification

This commit temporarily removes `EGLSync` from `LegendarySettings`
as it is being worked on.
2021-10-10 20:47:26 +03:00
Dummerle 57ee0ddd0c Revert "Remove border from dlc tab"
This reverts commit 7db26a743c.
2021-10-04 21:51:39 +02:00
Dummerle 7db26a743c Remove border from dlc tab 2021-10-04 20:32:22 +02:00
Dummerle 1fe1614d16 Remove some unused translations 2021-10-03 22:18:38 +02:00
Dummerle a143971385 Update Games list to ui file 2021-09-26 16:43:56 +02:00
Dummerle b7af237935 Disable game action buttons on Origin Games 2021-09-18 16:50:13 +02:00
Dummerle bb4f08691a Fix set locale to legendary locale + reformatting 2021-09-13 20:24:09 +02:00
Dummerle c1338b7526 Add locale settings 2021-09-13 19:46:50 +02:00
Dummerle c07992b982 Fix some memory leaks and some other errors 2021-09-12 23:28:54 +02:00
Stelios Tsampas 228c3ab03e Move EGL Sync page into the main LegendarySettings page and make it useful. (WIP)
Move GameInfo to its own file.
Use get_pixmap in GameDlcWidget to get the pixmap.
Remove unused function from RareSettings.
Convert About to FormLayout.
2021-09-12 14:23:40 +03:00
Stelios Tsampas 7a9daad2b1 Add more download options in legedary settings tab 2021-09-11 16:08:50 +03:00
Stelios Tsampas 35cbd21bb7 Fix memory leaks in DLC tab. 2021-09-11 00:57:43 +03:00
Stelios Tsampas 45dc4b8e7c Adjust for one-line PathEdit
Make Console font monospaced.
Revert changes in Rare settings because they weren't working.
Replace a few GridLayouts with FormLayouts
2021-09-11 00:57:43 +03:00
Dummerle 648fd6fd7f Add price to game widget 2021-09-05 21:52:47 +02:00
Dummerle f8560b206f Add socail links to game info 2021-09-05 21:25:57 +02:00
Dummerle 59cf52ec77 Fix error with lang_label 2021-09-05 20:38:00 +02:00
Dummerle f7f7f83101
Merge branch 'main' into dev 2021-09-04 22:49:08 +02:00
Dummerle b8be750c6c Add non asset games in gamelist 2021-09-01 19:41:01 +02:00
Dummerle 83ad8f0982 Icon color depends on theme 2021-08-28 16:01:36 +02:00
Dummerle be8ce667eb Some fixes 2021-08-25 22:08:24 +02:00
Dummerle cc54474e75 Add Wishlist tab in store 2021-08-25 20:25:10 +02:00
Dummerle 8fbf0bcacf Merge Browse and free games in one tab 2021-08-25 00:01:53 +02:00
Dummerle a63a46ded5 Fix some merge bugs 2021-08-23 16:55:21 +02:00
Dummerle c212904cc0
Merge branch 'shop' into update_shop 2021-08-22 22:43:08 +02:00
Dummerle df5da90292 New api core for store requests 2021-08-22 22:22:17 +02:00
Dummerle ff0ba4c544 Add wishlist offers in Store 2021-08-18 22:17:14 +02:00
Dummerle 4cfe2bf336 merge branches 2021-08-16 22:50:31 +02:00
Dummerle e1c6e03812 Add a debug console for games 2021-08-13 22:51:36 +02:00
Dummerle 59a7359e19 Set cache_dir and data_dir in one place (xdg) 2021-08-08 00:49:27 +02:00
Stelios Tsampas ff3aa1929c Handle install and uninstall colors in qss. Make tab_bar more consistent 2021-06-24 20:08:22 +03:00