Commit graph

9991 commits

Author SHA1 Message Date
Daniel Johnson bd9c4327b6 Apply sorting to category-views also.
I think this code-path was relying on database sorting, which was a bug.
2024-02-23 13:44:21 -08:00
Daniel Johnson 921ec55c72 Remove the view-updated signal in favor of just calling update_store(). 2024-02-23 13:44:21 -08:00
Daniel Johnson 3722426941 Add the flag for multiple-runner-versions to Wine; this allows the right version to download during game installation.
Resolves #5302
2024-02-23 13:44:21 -08:00
Daniel Johnson 9d5ad0d674 Correct changed type information for UninstallGameDialog
The parent window was optional before, but now it is required, so it can be notified about game-removal.

Strictly speaking it needs to be a LutrisWindow, but I can't see how to statically test that with mypy.
2024-02-23 13:44:21 -08:00
Daniel Johnson 45fd28856b Fix my derpy type annotation errors. 2024-02-23 13:44:21 -08:00
Daniel Johnson fbbcf2dff7 Also require the delegate for Game.install(), and we are already providing it. 2024-02-23 13:44:21 -08:00
Daniel Johnson 342a1cb24f Switch the install_updates and install_dlc to use the InstallUIDelegate, and always provide it.
Also, increase pylint max-parents. This thing is not measuring the depth of the hierarchy- we're being penalized for multiple inheritance here.
2024-02-23 13:44:19 -08:00
Daniel Johnson 172e524ba7 Pass in the launch UI delegate explicitly for launch()
This would be better with asyncio; we could keep the InstallWindow or whatnot visible until the game starts.

As it is, we'll just use the LutrisWindow for this.
2024-02-23 13:43:46 -08:00
Daniel Johnson afacf82d07 Remove unused 'icons-changed' signal
Never fired, never connected.
2024-02-23 13:43:46 -08:00
Daniel Johnson c4125aad45 Remove the 'game-install-update' and 'game-install-dlc' signals in favor of direct method calls. 2024-02-23 13:43:46 -08:00
Daniel Johnson 45e7634e55 Replace 'game-install' signal with a straight method call.
Still using the default application object here.
2024-02-23 13:43:46 -08:00
Daniel Johnson 5081458f31 Remove 'game-stop' in favor of 'game-stopped' and the stop_game() method.
This means we have to filter the running-games list a bit more, since we don't guarantee a stopping game is removed from there before anything else.
2024-02-23 13:43:46 -08:00
Daniel Johnson 19ff134fb3 Replace the 'game-launch' signal with direct calls.
Mostly using the application to provide a default UI delegate.
2024-02-23 13:43:46 -08:00
Mathieu Comandon ee9738f320 Use DELETE method when deleting from remote 2024-02-23 13:43:46 -08:00
Mathieu Comandon 62afeeb2ad Get rid of game-removed signal, screw mypy 2024-02-23 13:43:45 -08:00
Mathieu Comandon ad82a5c778 Remove one more game-removed signal 2024-02-23 13:43:45 -08:00
Mathieu Comandon dee381c81e Big commit, continue implementing deletion from remote library, create path_cache module, start getting rid of game-removed signal 2024-02-23 13:43:45 -08:00
Mathieu Comandon d2dbf455e2 Remove special case for the Steam runner 2024-02-23 13:43:45 -08:00
Mathieu Comandon 02444ae019 Half assed python type hints won't let me do trivial stuff like renaming a property, what a bunch of useless crap. 2024-02-23 13:43:45 -08:00
Mathieu Comandon 7c53af2ff0 Half assed python type hints won't let me do trivial stuff like renaming a property, what a bunch of useless crap. 2024-02-23 13:43:45 -08:00
Mathieu Comandon 64d1f4436d Sneaky property EXPOSED\!\! 2024-02-23 13:43:45 -08:00
Mathieu Comandon b3871f93d5 Nested classes, not even once 2024-02-23 13:43:45 -08:00
Mathieu Comandon 71e654c7a6 Reformat 2024-02-23 13:43:45 -08:00
Mathieu Comandon 4c2ad3a1d8 Rename to remove_from_library_checkbox 2024-02-23 13:43:45 -08:00
Mathieu Comandon 7c61eb4184 Rename PGA_DB to DB_PATH 2024-02-23 13:43:45 -08:00
Mathieu Comandon c464ece487 Remove confusion about what the PGA is 2024-02-23 13:43:45 -08:00
Mathieu Comandon 3bfe0af614 Fix matching when incremental updates are used 2024-02-23 13:43:45 -08:00
Mathieu Comandon 32711d4dc9 Store timestamp of end of sync 2024-02-23 13:43:45 -08:00
Mathieu Comandon 8296f15cab Always add runner and platform labels in game bar 2024-02-23 13:43:45 -08:00
Mathieu Comandon a5e3ad5281 Improve year sorting 2024-02-23 13:43:45 -08:00
Mathieu Comandon 6cf55e7813 Totally fix sorting 2024-02-23 13:43:45 -08:00
Mathieu Comandon 351085947b Almost fix sort order 2024-02-23 13:43:45 -08:00
Mathieu Comandon 24fe69c40a Use read_bool_setting when appropriate 2024-02-23 13:43:45 -08:00
Mathieu Comandon 0526fdf30e Change terminology associated with sorting, remove sort_params which was justifying itself with statements that were borderline voodoo 2024-02-23 13:43:45 -08:00
Daniel Johnson 4f037ec86c Add checks to not apply "gpu" setting if it would be disabled. 2024-02-23 13:43:45 -08:00
Daniel Johnson 7981d1ebfc Disable the "GPUs" option when there is only one GPU.
In that case, 'Auto' seems to be the safe choice, and overriding it can break games. So we won't allow this.

Resolves #5304 again.
2024-02-23 13:43:45 -08:00
Daniel Johnson dfca536623 "condition" and "error" will disable the option controls, but *not* the reset button.
This way if a bad setting is no longer editable, it will be possible to reset back to the default, which should be safe.
2024-02-23 13:43:45 -08:00
Daniel Johnson 69d2e870f5 Revert "Restore the old "dri_prime" system option."
This reverts commit 4af774ba67.
2024-02-23 13:43:45 -08:00
Daniel Johnson ff2f74f240 Revert "Reduce the scope of the restored 'dri_prime' option to just 'prime'"
This reverts commit 186ea5ab78.
2024-02-23 13:43:45 -08:00
Daniel Johnson 696c0e2a7c Revert "Remove Prime option"
This reverts commit 1304886fc7.
2024-02-23 13:43:45 -08:00
Mathieu Comandon f5373eaaa2 Remove Prime option 2024-02-23 13:43:45 -08:00
Mathieu Comandon 8fcc7f3fb3 Rename method 2024-02-23 13:43:45 -08:00
Daniel Johnson df325b3658 Reduce the scope of the restored 'dri_prime' option to just 'prime'
That's a slightly different 0.5.16 option, and it controls only the __NV_PRIME_RENDER_OFFLOAD __VK_LAYER_NV_optimus env-vars; I think __GLX_VENDOR_LIBRARY_NAME applies outside of this one feature.

This should allow the use of discrete GPUs- without the crashy env-var.
2024-02-23 13:43:45 -08:00
Daniel Johnson 4fdc8eb7b7 Restore the old "dri_prime" system option.
However, it now controls the new prime activation code, which works only with an explicit GPU choice, so I've added a warning about that.

There's no separate "prime" option; "dri_prime" can now handle both the NVidia and not-so-NVidia cases. I've not restored the 'optimus' options either.

This change means the __NV_PRIME_RENDER_OFFLOAD is not set by default, because that causes crashes on mono-GPU NVidia systems.

Resolves #5304
2024-02-23 13:43:45 -08:00
Daniel Johnson 5373278617 Release DB_LOCK even if an exception occurs executing a query. 2024-02-23 13:43:45 -08:00
Daniel Johnson ada86795a9 Cache the compositore start/stop commands.
This isn't for performance; we need to commands to be stable so when we restart the compositor, we're using the command we got when we stopped it.

But the compositor is not likely to change while we run, so a simple global cache should do fine.
2024-02-23 13:43:45 -08:00
Mathieu Comandon ff7998b9b0 Also limit games sent by the client in incremental updates 2024-02-23 13:43:45 -08:00
Mathieu Comandon c6c9956dfa Standardize data on both sides 2024-02-23 13:43:45 -08:00
Mathieu Comandon 2c1a2b2177 Implement incremental sync 2024-02-23 13:43:45 -08:00
Mathieu Comandon b773c03831 Improve adding games locally 2024-02-23 13:43:45 -08:00