Commit graph

10378 commits

Author SHA1 Message Date
Mathieu Comandon 69f1a85e88 Set cover art as default 2024-09-08 23:20:23 -07:00
Mathieu Comandon 0a63a92b46 Default to dark theme 2024-09-08 23:03:15 -07:00
Daniel Johnson 3ec23ac521 Alter Umu integration to be able to find the 'umu-run' entry point if 'umu_run.py' is missing.
This should improve compatibility, but we still prefer 'umu_run.py' when found for now.
2024-09-04 04:55:12 -04:00
Daniel Johnson 85e66eb33c
Merge pull request #5549 from quantenzitrone/itchio-collections
Itch.io: use a collection in addition to bought games
2024-09-03 16:45:56 -04:00
Zitrone f3cd347040
itch.io: use collections
this implements fetching and caching of owned collections on itch.io

There are 3 possible options of which collections get shown:

1. if there is only one collection: use owned games and this collection
    - i think this is the most simple way, most users probably don't have
      loads of games sorted into multiple collections, but rather stick to
      the suggested "<username>'s collection"

2. if there is more than one collecion and at least one of them is titled
   "lutris": only the games from the "lutris" collections are shown
    - this is for more advanced configurations that also allows hiding owned games

3. if is more than one collection and none of them is titled "lutris":
   use only owned games, games from collections are not shown
    - this is the behaviour as before, because I'm unsure what else to do in this case
2024-09-03 21:53:39 +02:00
Zitrone 739f075a10
small fix for developing on NixOS
adds a small condititon before finding a system-wide wine istallation because `/usr/lib` doesn't exist on NixOS
2024-09-03 21:53:27 +02:00
Daniel Johnson fa88d9be60 Add further text and links to ErrorDialog also. 2024-09-02 11:51:11 -07:00
Daniel Johnson 73cf11eeb6 Also include the log in the ErrorDialog's details 2024-09-02 11:51:11 -07:00
Daniel Johnson 49bcd1ca3f Include the log file from the current run in the error details. 2024-09-02 11:51:11 -07:00
Daniel Johnson b10d21bef0 Move logging code so we _always_ log scripting errors. 2024-09-02 11:51:11 -07:00
Daniel Johnson 80acfe24c4 Change to an improved message for the error page, with links to GitHub and Discord. 2024-09-02 11:51:11 -07:00
Daniel Johnson 37cd44fe79 Add a Copy to Clipboard button to the error page 2024-09-02 11:51:11 -07:00
Daniel Johnson 8b6f50e838 Add the traceback to the error page we display in the installer window.
This isn't the complete log, but the traceback is the most useful thing, and we display it in the ErrorDialog already.
2024-09-02 11:51:11 -07:00
Mathieu Comandon 5442251b8e Default Flathub installs to --user (Closes #5581) 2024-09-02 09:09:40 -07:00
Daniel Johnson 740942f1b9 Tolerate non-UTF8 encodings in /proc better; we generally only need the ASCII parts, which usually do look like ASCII, so we can ignore undecodable stuff.
Resolves #5571
2024-08-29 04:57:31 -04:00
Daniel Johnson 0849c10878 Improve message for 'runner needs to be installed' 2024-08-24 06:04:36 -04:00
Daniel Johnson 2bd88dc41d Add an improved error message if you try to install a non-installable runner or runner version.
This comes up for Wine; there are things like the system Wine that you can't install because they must be part of your distribution.

This should help with #5575
2024-08-24 05:55:37 -04:00
Daniel Johnson f56289e257 Add a "visible" option flag and use it to hide various settings that only work on X11 if you aren't on X11.
This is in support of #4882
2024-08-20 18:11:52 -06:00
Mathieu Comandon ea28991896 Gosh WTAF 2024-08-11 13:39:57 -07:00
Zitrone 6c9e01d124 remove last ruff format error and update workflow to fail on unformatted files 2024-08-11 13:55:26 -06:00
Mathieu Comandon a7d7dab8ef Move default user agent to settings module 2024-08-11 12:52:52 -07:00
Daniel Johnson b0c2c9e677 Fix NoneType (and other typing errors) in GOG service code.
Added lots of type annotations to find some of these.

Also, moved some exception handling to a higher point. We'll still try to load extras without DLC if the DLC isn't accessible, but in other contexts failure to reach GOG will let an exception out, to be reported to the user.

What it won't do it turn these into None returns.
2024-08-11 10:25:04 -04:00
Daniel Johnson c45cf364fe Handle Amazon games that have no ASIN by not deduplicating them; we use the ID in any case, not the ASIN.
Skip games with no ID.

 Resolves #5562
2024-08-10 08:16:50 -04:00
Daniel Johnson 7ead527a62 Satisfy ruff on cosmetics.
Hmm.

"Buff for ruff"?
"Tough out the ruff"?
"Right what once went ruff"?

I dunno. Commit message needs work.
2024-08-03 10:21:24 -04:00
Daniel Johnson a5766bc56d
Merge pull request #5555 from JassonCordones/master
Improve error handling
2024-08-03 10:17:42 -04:00
Jasson 42269db1d0 removed casts missed in the previous commit 2024-08-03 10:07:52 -04:00
Jasson 265badfd88 made changed discussed in review 2024-08-03 10:02:20 -04:00
Jasson 845f414147 Improve error handling 2024-08-02 22:29:53 -04:00
Daniel Johnson 80d1bfd6db When a value is missing, we don't expect it to be found in the combo-box, so there should be no '(invalid)' item.
Resolves #5551
2024-07-31 18:20:32 -04:00
PAKO25 85082abc80 fix
Some checks failed
Static Analysis / Ruff (push) Has been cancelled
Static Analysis / Mypy (push) Has been cancelled
2024-07-22 10:55:09 -06:00
Daniel Johnson cb8603e1c0 Buggy behavior when installing a .PNG media that is not replacing an existing one- it's not an error for the file to be missing; so this commit handles that error, corrects default PNG handling, and adds some type annotations.
Some checks are pending
Static Analysis / Ruff (push) Waiting to run
Static Analysis / Mypy (push) Waiting to run
Resolves #5541
2024-07-21 14:39:45 -04:00
Daniel Johnson eb0ac36ba1 Early exit from iterator should just return, not return a list. 2024-07-21 14:32:38 -04:00
Daniel Johnson f42546c046 If an option in Configuration is set to a no-longer-valid choice, we'll include it in the combo-box with an " (invalid)" suffix
Some checks failed
Static Analysis / Ruff (push) Has been cancelled
Static Analysis / Mypy (push) Has been cancelled
Resolves #5505
2024-07-16 16:39:20 -04:00
현월 65f74a0f02 Updated Korean Translation
Some checks failed
Static Analysis / Mypy (push) Has been cancelled
Static Analysis / Ruff (push) Has been cancelled
2024-07-15 10:54:44 -07:00
Daniel Johnson c23dbcc72e Fix bugged handling of ValueError in the file browse button. 2024-07-13 15:57:03 -04:00
Daniel Johnson 43737cecb6 Handle ValueError from shlex.split in the UI.
We don't want to crash because the user entered unbalanced quotes in the configuration dialog. He'll probably fix that.
2024-07-13 15:52:04 -04:00
Daniel Johnson e1e4fd2efd Fix a hang when parsing searches with awkwardly placed quotes 2024-07-13 09:07:28 -04:00
Daniel Johnson 120e57c128 Rework the tokenizer to use lists, not generators, for easier debugging. 2024-07-13 08:32:49 -04:00
Daniel Johnson 296d48fe33 Add 'd3d8.dll' to DXVK's managed DLL list, since I hear it's being added to DXVK soon. 2024-07-07 14:46:03 -04:00
Daniel Johnson fb28a9c273 Re-arrange the env-vars for game startup so we can get at the game and apply updates for Umu after all env-vars are set.
This lets us set the GAMEID, but only if the user didn't configure this himself, and propagate HOST_LC_ALL after it's been set up.
2024-07-04 16:12:48 -04:00
Daniel Johnson cb007e5705 Also use the "umu-run" executable to identify an Umu path, since we look for that too. 2024-07-04 15:25:38 -04:00
Daniel Johnson bff6c8ffef Further consolidate the Proton/Umu env-vars so they are more consistent. 2024-07-04 15:00:06 -04:00
Daniel Johnson e410f43b79 Remove no-longer-required override; Wine's get_executable() result is usable. 2024-07-04 14:43:14 -04:00
Daniel Johnson 79d78a291e Consolidate all the code for PROTONPATH together so we select a consistent value for this.
GE_PROTON_LATEST will use "GE-Latest", to be that little bit more bleeding edge, but it should be easily changed.
2024-07-04 14:42:36 -04:00
Daniel Johnson 1c8a78b62a Umu/Proton rationalization.
This splits the functions up between proton paths and proton versions, where the GE_PROTON_LATEST version uses the Umu path. This means checking for that path, looking for the filename umu_run.py.

Even 'ordinary' Proton installs make use of Umu to create prefixes, with the PROTONPATH used to redirect it to the right Proton.

This lets us install, run, and stop games with Umu directly (GE_PROTON_LATEST), with a specific Proton, and with a normal Wine.
2024-07-04 14:23:52 -04:00
Daniel Johnson 220d58d677 Correct error message and variable names in the Amazon service 2024-07-04 13:33:54 -04:00
Daniel Johnson ac2406845b Further UMU fixes
I rearranged the code in wineexec() and made a few other tweaks so we can create prefixes with "GE-Proton (Latest)".

To do this I had it recognizing any path ending in "/umu_run.py" as being Proton; this is probably not good enough, but it seems to help.
2024-07-02 18:47:47 -04:00
Joshua Benuck 886110464f Use animus distribution service 2024-07-02 09:08:25 -07:00
Daniel Johnson 8d6b1a0576 Move all preference panel init to 'populate' methods that are called on selecting them; this leaves the rest of the preferences dialog usable even if one panel crashes when initialized this way.
Should help with #5526
2024-06-30 15:49:06 -04:00
Daniel Johnson 696219fef1 Improved error messages for when trashing fails. Mark them localizable too. 2024-06-29 09:07:21 -04:00