Commit graph

10030 commits

Author SHA1 Message Date
Mathieu Comandon 00652b9653 Improve prefix cleaner 2024-04-07 00:43:01 -07:00
Mathieu Comandon 3d0f6bddcc Return target directory 2024-04-06 22:01:42 -07:00
Mathieu Comandon 8ca5136bb7 Don't raise an error when initial path doesn't exist in game.move 2024-04-06 21:58:54 -07:00
Daniel Johnson 50ee3af168 Change the version warning ignore link into a less obtrusive close-button, with a style to make it fit as well as possible.
It still makes the notification bar a bit taller, but it's not too bad.

The warning dialog remains.
2024-04-05 04:54:31 -04:00
Daniel Johnson 3a7fb94df6 Add the multi-select categories and old-Lutris notification to the change log. 2024-04-04 19:50:09 -04:00
Daniel Johnson ceb0ba06cb Add a comment explaining the policy here. 2024-04-04 19:48:06 -04:00
Daniel Johnson 2bd05d8ebc Add a question dialog if the user tries to ignore the version thing. 2024-04-04 19:43:40 -04:00
Daniel Johnson 08d5623aa3 Oops - restore the real Lutris version. 2024-04-04 19:41:29 -04:00
Daniel Johnson 381298adc8 When we aren't updating the runtime, we'll check the version against the saved versions.json instead (if there is none, we won't check- but that would be very strange) 2024-04-04 19:35:21 -04:00
Daniel Johnson d8ec4ad7a8 Beef up the version notification with a link to the Lutris.net site. 2024-04-04 19:31:58 -04:00
Daniel Johnson 6ea9114689 Record the 'Ignore' selection as a version - so you can only ignore an out of date client until the next version. 2024-04-04 19:23:19 -04:00
Daniel Johnson 68b5ddce17 Add a notification banner that appears if you are using an older client than what Lutris.net says you should have.
This triggers when we check component updates, so every six hours. That's not really a very good policy, but it's a start.
2024-04-04 19:17:16 -04:00
Daniel Johnson 7b67e6231a Faster deduplication; use natural sorting for category names in the dialog, and also in the sidebar. Also, natural sorting for games in the category-games dialog.
Some more commenting too.
2024-04-04 15:44:04 -07:00
Daniel Johnson f70bf499b7 Comments, remove visibility of '.hidden' category in the dialog. 2024-04-04 15:44:04 -07:00
Daniel Johnson 3f324c5ce0 Restore the ability to have single-game category windows (so you can compare side by side).
If you multi-select, we will have a single common multi-category dialog. This can lead to overlap, where a game categories are in two windows. This doesn't seem to cause any real problems.

Also, move the game count into a subtitle so it fits better.
2024-04-04 15:44:04 -07:00
Daniel Johnson 7014502412 Add a warning if you are editing categories for multiple games.
This is in case you do not realize the dialog is for >1 game; it will warn even if only one is being changed. If you are viewing 1 game and change it, no warning since that is the expected case.
2024-04-04 15:44:04 -07:00
Daniel Johnson f861db3c0a Provide a callback to initialize the edit-games-dialog before it is shown, to avoid the checkbox checking animation.
Still can't be an __init__ argument with the games- we need to add games to an already open window.
2024-04-04 15:44:04 -07:00
Daniel Johnson b24b0b72fc Tidy up the edit game category implementation and fix some obsolete GTK things in it. 2024-04-04 15:44:04 -07:00
Daniel Johnson 946fe2b342 Revise the edit-game-categories dialog so games are incrementally added
This way if you try to use the Categories command while the window is open, it can just adopt additional games.

Though without a game list, it's hard to know what the dialog will actually do.
2024-04-04 15:44:04 -07:00
Daniel Johnson e5bff4e2af Support multiple games in the edit-game-categories dialog.
When a category is applied to some but not all selected games, an indeterminate checkbox shows. Click it and it becomes determinate (and checked).

On save, any remaining indeterminate categories are skipped, but we work out what categories are to be added or removed for each game in turn.

Resolves #5372
2024-04-04 15:44:04 -07:00
Daniel Johnson ad5c35a65e Change the terminology from "Log in" to "Login".
Not the way I would spell it, but I can't spell anyway.
2024-04-04 15:43:44 -07:00
Daniel Johnson 973ece5a33 Change from buttons to hyperlinks
This saves space and keeps the splash graphics better lined up.
2024-04-04 15:43:44 -07:00
Daniel Johnson 4c702c254a Add a "Turn on Library Sync" button to the notification bar.
We do not sync by default, but once you log in this will prompt you to do so. This will turn on the setting and start a full library sync
2024-04-04 15:43:44 -07:00
Daniel Johnson 3015ca60d4 Go back to using a link to Lutris.net, but use CSS to remove the link color (which rendered it unreadable) 2024-04-04 15:43:44 -07:00
Daniel Johnson e0c81d7024 Show the log-in notification only with the splash, not if you have games or if you have games, but they are filtered away. 2024-04-04 15:43:44 -07:00
Daniel Johnson 4975ce4030 Move away from using LutrisService
It looks like we're moving away from this in favor of some modules; I'll do what the AccountsBox is doing.
2024-04-04 15:43:44 -07:00
Daniel Johnson ee70fba51a Hide and show the notification bar when you log into or out of Lutris. 2024-04-04 15:43:44 -07:00
Daniel Johnson bed49c83e4 Hide and show the notification bar on service login/logout, and hook up the Login button 2024-04-04 15:43:44 -07:00
Daniel Johnson 507561d1d3 Create a notification bar to log in.
First cut, always visible, buttons don't work. But it's the spirit of the thing!
2024-04-04 15:43:44 -07:00
Daniel Johnson a4211eaf1c More subtle logic for the Wine update.
We'll load the latest Wine if you have the 'runners/wine' directory, but not if you do not.

The 'Update' button provided in preferences now pre-creates this directory if it is missing, enabling the update to proceed.
2024-04-04 18:36:26 -04:00
Daniel Johnson 526cebd1fb Runner updates should be less choosy - you can have a runner without yet having its directory (it can be coming from flatpak or be part of your distro)
So, we should be able to install versions of the runner without a pre-existing runner dir, or with one that is empty.
2024-04-04 18:02:02 -04:00
R1kaB3rN b8d651fedb Target Proton-GE (Latest)
Co-authored-by: Mathieu Comandon <strycore@gmail.com>
2024-04-04 12:06:32 -07:00
R1kaB3rN 065afac87f Kill wineserver via UMU Proton
- Kills the wineserver process associated with the running prefix via the `wineserver` command in the UMU-Proton directory instead of wineboot which had lead to unreliable results
2024-04-04 12:06:32 -07:00
ferrreo d51aa8ac8a Fix "table games has no column named hidden" error
When the hidden column was removed from the games table in schema.py the setting of the column value was never removed from installer.py

This meant on a fresh Lutris install user's cannot install games and are met with "table games has no column named hidden" errors.

This cleans up that incorrect setting of the column value.
2024-04-04 10:29:12 -07:00
Daniel Johnson 1117bf204a Add bragging to the changelog, but also some more 'critial bug' items. 2024-04-04 06:35:22 -04:00
Mathieu Comandon fa04547243 Initial changelog for 0.5.17 2024-04-03 14:23:31 -07:00
Mathieu Comandon 10c0354a90 Get rid of legacy.get_game_launcher, all installers on the website have been fixed 2024-04-03 13:46:40 -07:00
Mathieu Comandon cb17de4c8e Download media on manually added games 2024-04-03 04:20:16 -07:00
Mathieu Comandon 04c6d0da10 Don't raise error when Proton path not found, return nothing 2024-04-02 19:23:02 -07:00
Mathieu Comandon 8d5543d45c Fortnite mention can be removed since we no longer show the installers 2024-04-02 19:07:00 -07:00
Mathieu Comandon 5a3e2cd711 Updates for installer moderation 2024-04-02 19:05:35 -07:00
Mathieu Comandon bfe9b67747 Docstrings + handle category creation on updates 2024-04-02 18:32:18 -07:00
Mathieu Comandon eba3a88cc2 changed = True isn't needed here 2024-04-02 06:09:37 -07:00
Mathieu Comandon 3bc822a80b Updates for category sync 2024-04-02 06:06:15 -07:00
Mathieu Comandon acd7257a2b Category sync for newly created games 2024-04-02 05:39:04 -07:00
Mathieu Comandon 749c6ec06d Start refactoring LybrarySyncer (+ rebase with last commit) 2024-04-02 05:12:38 -07:00
Daniel Johnson a95ff285dc Make LibrarySyncer.is_sync a global variable again.
It really needs to be, or it's just useless - resulting in a UI error and potentially multiple threads syncing at once.

The problem is that _IS_LOCAL_LIBRARY_SYNCING is now a mutable global, and in Python this is treacherous. 'from x import G' copies G into scope, which is bad news for a global like this.

 'import x' followed by 'x.G' works, but this is real dark corner, so I've added a global function just to read the global variable; it reads the original, not a copy, even if you copy the function reference into scope with 'from x import f'.

 So this works without making LibrarySyncer a singleton.
2024-04-02 04:43:37 -04:00
Mathieu Comandon e2c68e1b41 Create LibrarySyncer class 2024-04-02 00:14:51 -07:00
Mathieu Comandon 7a10f9e2d2 Update version of ruff in Makefile 2024-04-01 23:52:18 -07:00
Mathieu Comandon eba175cbc5 Format code with newer Ruff version 2024-04-01 23:43:34 -07:00