Commit graph

8489 commits

Author SHA1 Message Date
Astrobald 14c730a238 Update french translation & POTFILES 2023-04-13 22:52:46 -07:00
Astrobald c942fc308a Add "Custom Settings" string for gamescope
An easy way to add extra flags to gamescope.
2023-04-13 22:52:46 -07:00
Mathieu Comandon 9f9fedabf4 Adjust alpha of the whole badge 2023-04-13 20:57:03 -07:00
Mathieu Comandon 52b1f7932c Increase alpha of badge background 2023-04-13 20:50:14 -07:00
Mathieu Comandon 04757b2eb7 Remove 1 pixel offset from badge position 2023-04-13 17:27:32 -07:00
Mathieu Comandon 8ee26a7ec2 Restyle badges + make their position consistent 2023-04-13 17:20:51 -07:00
Mathieu Comandon 7e01dcb21d Sort imports 2023-04-13 16:48:37 -07:00
uniquestring 28b0e06753 Fix installer.schema.yml 2023-04-13 01:35:47 -07:00
Daniel Johnson b1e649eeae Simplify StoreItem platform lookup code 2023-04-13 01:34:19 -07:00
Daniel Johnson f3993be262 Add a cached property for the installed game data
We need to look it up twice, for the service and the runner, so we'll
cache it a little.

StoreItems are thrown away immediately, so stale data should not be a
problem here.
2023-04-13 01:34:19 -07:00
Daniel Johnson da335d4adc Add a changelog entry 2023-04-13 01:34:19 -07:00
Daniel Johnson 4250b0e479 Ugly - Dolphin platform detection needs to work with names or indices.
We get indices in the service game record, but names in the real PGA
installed game record.
2023-04-13 01:34:19 -07:00
Daniel Johnson f351fef976 Re-adjust icon size selection
Distinguishing Dolphin's little banners from icons is not quite as
obvious as I thought.
2023-04-13 01:34:19 -07:00
Daniel Johnson ceec8590f8 Support platform detection for Dolphin service games. 2023-04-13 01:34:19 -07:00
Daniel Johnson ce21c9e159 Defensive check against missing appid when looking up platforms 2023-04-13 01:34:19 -07:00
Daniel Johnson ebc97cff99 Do not require a restart fo the 'hide text under icons' feature
We need to rebuild the entire IconView to replace its cells, which is
annoying, but restarting Lutris is worse, so what are you going to do?
2023-04-13 01:34:19 -07:00
Daniel Johnson 5636f1547c Improved naming and some comments and cleanup
Also, just a bit of extra space between the media and the badges if
possible.
2023-04-13 01:34:19 -07:00
Daniel Johnson d8593aa518 Allow badges to be hidden and shown without a restart 2023-04-13 01:34:19 -07:00
Daniel Johnson 100bd3e0db Progressively larger badge icons for larger media
The larger icons render better and are more readable, so if there's room
 we may as well use some of it.
2023-04-13 01:34:19 -07:00
Daniel Johnson 2ccf6424f3 Let's not guess that platform representation for services I do not know 2023-04-13 01:34:19 -07:00
Daniel Johnson 5e2c9f9049 Provide settings to turn off the badges
A setting in preferences and an environment variable, like SHOW_MEDIA.
2023-04-13 01:34:19 -07:00
Daniel Johnson 90c635b2d6 Fix pylint complaint 2023-04-13 01:34:19 -07:00
Daniel Johnson 07c036e2dc Factor badge rendering and simplify alpha
Since we need to include the badges in the alpha, fading out the cached
surface won't do.

Instead, we render a group and then paint that with alpha, and it all
fades together.
2023-04-13 01:34:19 -07:00
Daniel Johnson 2133003af3 Lay out the platforms nicely in a vertical stack
Too bad the icons are rendering like crap
2023-04-13 01:34:19 -07:00
Daniel Johnson c5c4d2b659 Support multiple platforms for each game 2023-04-13 01:34:19 -07:00
Daniel Johnson 963a24fda0 Oops, fix dumb copy paste error 2023-04-13 01:34:19 -07:00
Daniel Johnson 28df9fc0c4 Rework the platform lookup
Using the DB directly is faster than constructing a Game object.

Also, if this fails we'll delegate to the Service object, and it can try
to figure out the platform.

I've got support for deducing the platform from Lutris and GOG service
data.
2023-04-13 01:34:19 -07:00
Daniel Johnson ead2d88f71 First cut at platform badges on banners and such
Not in the list view- it has a column for this
2023-04-13 01:34:19 -07:00
Daniel Johnson c4b291504a Restore pylint warning!
I'm creating a conflict with a PR that @strider is reviewing right now!
2023-04-13 04:28:26 -04:00
Daniel Johnson 8e03ac5aca Placate flake8!
It's all about the whitespace. Because Python!

Also, silence a pylint whine. Who can write a class with < 1000 lines of
 code?
2023-04-13 04:22:44 -04:00
Artem Voynov d9572f8730 update ru
Произведено обновление локализации
2023-04-12 22:27:57 -07:00
Καραχάλιος-Στάγκας Αθανάσιος-Νεκτάριος c238ec5514 fixed greek translation 2023-04-12 22:27:12 -07:00
Καραχάλιος-Στάγκας Αθανάσιος-Νεκτάριος e1d6170613 updated greek translation 2023-04-12 22:27:12 -07:00
Καραχάλιος-Στάγκας Αθανάσιος-Νεκτάριος e653eed811 added greek translation 2023-04-12 22:27:12 -07:00
Καραχάλιος-Στάγκας Αθανάσιος-Νεκτάριος bd0731d115 added greek translation 2023-04-12 22:27:12 -07:00
Καραχάλιος-Στάγκας Αθανάσιος-Νεκτάριος fe509fbb93 added greek translation 2023-04-12 22:27:12 -07:00
Καραχάλιος-Στάγκας Αθανάσιος-Νεκτάριος 3585268852 added greek translation prt_01 2023-04-12 22:27:12 -07:00
omergundgr 41f83c8e91 tr language addons 2023-04-12 22:26:44 -07:00
Heimen Stoffels 73494f34a5 Updated Dutch translation 2023-04-12 22:26:27 -07:00
Daniel Johnson 7b10d04c5f Add a changelog entry
This is a bit sneaky; indeed this PR adds a checkbox, but the changelog
entry makes this sound like an entirely new feature.

Lutris has long had code to do this sort at all times, but 0.5.13
includes bug fixes to make it work reliably. The entry add a "we meant
to do that!" flavor to it.
2023-04-12 22:21:37 -07:00
Daniel Johnson e960b18447 Add a 'Sort Installed First' menu item
This defaults to 'on', and then we get the normal
installed-games-at-the-top behavior.

If you uncheck it, the installed games sort amongst all the others.

The other benefit here is that this gives users a visual clue about
what the sorting will be, and where their recently installed game is.
2023-04-12 22:21:37 -07:00
Mathieu Comandon fcbfc7af59 Set AppID to Steam shortcuts + make implementation closer to Heroic / Steam ROM Manager 2023-04-12 22:04:05 -07:00
Mathieu Comandon 2ad8869342 Extract function to return all Steam shortcuts 2023-04-12 19:58:59 -07:00
Daniel Johnson 9dbf27ed13 Remove leftover initialization
We can use a lazy scheme for the human names of runners. Safer and
faster.
2023-04-12 16:06:30 -07:00
Daniel Johnson 461a5a469b ... and fix a comment I overlooked. 2023-04-12 16:06:30 -07:00
Daniel Johnson 48def4c05d Remove now-unused RUNNER_PLATFORMS dictionary
We only care what platforms are used by games, not all of them.
2023-04-12 16:06:30 -07:00
Daniel Johnson da288d7799 Enforce the same ordering of services as before this PR
Platforms and runners are alphabetical, but services have a fixed order.

That order puts Lutris first. I think I see what's up here.
2023-04-12 16:06:30 -07:00
Daniel Johnson cb65db4f02 Fix warnings about using widgets that already have parents
These turn out to be the header rows, which generate this warning if
we re-use them on a different row, earlier than the one that currently
does.

So, we'll remove them from the current row that owns them before reuse.
2023-04-12 16:06:30 -07:00
Daniel Johnson 124b01abbf Rework sidebar row initialization to create far fewer rows.
We generate an enormous number of platforms (chiefly from MAME) and no
few runners. GTK is struggling with this and it affects how it performs
switching windows. It's not huge, but let's fix it.

This generates only needed rows. It never deletes a row, it only hides
them, since GTK is fragile here and gets confused. We still hide rows
instead of removing them.

However, this generates only rows for active runners, platforms and
services.
2023-04-12 16:06:30 -07:00
Daniel Johnson f35c37d930 Remove unsafe use of lru_cache
It's leaky to put @lru_cache on an instance method; it treats the
instance as part of the cache key and keeps it alive. Oops!
2023-04-12 03:35:19 -04:00