Commit graph

8276 commits

Author SHA1 Message Date
schnusch
cc255cc928 Merge branch 'master' into winetricks-path 2023-01-02 20:05:54 +01:00
schnusch
7937cbb595 add winetricks to wine terminal 2023-01-02 20:05:09 +01:00
Daniel Johnson
97f58242e1 Merge branch 'master' of https://github.com/lutris/lutris 2023-01-02 09:39:39 -05:00
Daniel Johnson
13df9d1367 Use a GtkStack for the LutrisWindow views
So, now the scroll bars are updates when you switch.

But still allocate each view when first used. There's still some waste here if you switch back and forth between grid and list views, but it should not be too bad.

Resolves #3881
2023-01-02 09:39:36 -05:00
Mathieu Comandon
a38ab873fa Remove end year from copyright statements 2023-01-02 05:48:11 -08:00
geajack@github.com
8e3a9c1a7c Add margin above image buttons 2023-01-01 18:40:45 +00:00
geajack@github.com
55856f320e Tidy code slightly 2023-01-01 18:40:45 +00:00
geajack@github.com
69076e9ae1 Add space between images and reset buttons 2023-01-01 18:40:45 +00:00
geajack@github.com
fbc8de5555 Make image delete buttons smaller
Without this, they take up the same width of the image.
2023-01-01 18:40:45 +00:00
geajack@github.com
05bfbad6ca Make image buttons all the same height 2023-01-01 18:40:45 +00:00
geajack@github.com
4a742b73c6 Use edit-undo-symbolic for "reset option" buttons
edit-clear looked a bit weird on some themes.

See https://github.com/lutris/lutris/issues/4681
2023-01-01 18:18:21 +00:00
geajack@github.com
554c8b20ff Display image delete buttons below images,
not to side.
2023-01-01 18:18:08 +00:00
Daniel Johnson
ee3133f1e9 Remove uses of save_config parameter.
Resolves #4692
2023-01-01 11:40:39 -05:00
Daniel Johnson
b5879ee4d2 When a game stops, update 'lastplayed' only, no other fields
This prevents changes made in other windows being reverted.

If what you changed was to unintsall the game, reverting that does not
really do anythign sensible. Better to leave it as it was.
2023-01-01 08:56:58 -05:00
Daniel Johnson
0b6b9011ce Add an explanator comment about copytree 2023-01-01 06:27:55 -05:00
Daniel Johnson
6ac6461378 Revert usage of copytree; that thing copies too much, we don't want the permission to come along.
Resolves #4643
2023-01-01 06:23:12 -05:00
Daniel Johnson
96412fe4aa Fix collateral damage from changes to FileChooserEnter changed signal
The widget is now the chooser itself, which is what we want- but we have
to remove some some hacks we had around the old behaviour.

Resolves #4691
2023-01-01 05:25:54 -05:00
Jack
563c827f3b Change "Install Windows game" button to better reflect intent 2023-01-01 01:42:20 +00:00
Daniel Johnson
43ed411b5b Provide error handling for the add games window.
Resolves #4643
2022-12-31 19:34:31 -05:00
Daniel Johnson
cf66c17638 When uninstalling games, clear their log buffers and close the log windows
Resolves #4686
2022-12-31 16:49:20 -05:00
Daniel Johnson
b7f883383a Fancier runtime update
Do not show the update dialog if there are no updates to run, and fix
the is_updating check to use a static field, so it could actually work.
2022-12-31 04:59:46 -05:00
Daniel Johnson
54fc9a0220 Provide an error when double-clicking a Lutris game which has no installers. 2022-12-30 11:54:55 -05:00
Daniel Johnson
c6b1c3a663 Must update the sidebar when the installer installs a missing runner 2022-12-30 11:25:41 -05:00
Daniel Johnson
9b318edeeb Suspenders and a belt for FileChooserEntry
Gtk.Entry does not always fire 'changed' when it ought to,
so we will do extra checks.
2022-12-30 08:04:11 -05:00
Daniel Johnson
2bd88064cb Use lazy initialization for configuration and preferences
Because I'm tired of waiting that extra .5 seconds.

The widgets of each page will not we populated when  you visit that page
saving time if you don't visit them all, and spreading out the init
time even if you do.

This should also make errors that occur setting up a page less
consequential.
2022-12-29 19:33:34 -05:00
Daniel Johnson
04c6ca6342 Improved FileChooserEntry mechanics
Let's not expand ~/ and file:// stuff while the user is editing.

We'll do it on activation of loss of focus though.
2022-12-29 15:19:15 -05:00
Daniel Johnson
652018634f Generalize "file://" handling to all FileChooserEntrys
This means FileChooserEntry  needs its own 'changed' event,
since the underlying entry can fire twice now.

Resolves #4674
2022-12-29 07:05:25 -05:00
Daniel Johnson
675756ae89 Use 'discard' when set item may already be absent 2022-12-29 06:42:20 -05:00
Daniel Johnson
3497d90f3a Stop Lutris CLI if a game just fails to start entirely. 2022-12-28 05:25:16 -05:00
Daniel Johnson
604a8c3323 Work around bug with signal return types in older GNOME 2022-12-28 05:20:59 -05:00
Daniel Johnson
8a99c1026c Provide flag to indicate cancellation 2022-12-27 08:56:24 -05:00
Daniel Johnson
cd427ef5c8 Remove redundant property sets. 2022-12-27 08:49:41 -05:00
Daniel Johnson
2bb7a28275 Rename one 'IntallerLabel' to 'MarkupLabel'
It's confusing to have two label classes with the same name, and this one is
not 'common'- it's only for InstallerWindow, and only for markup.
2022-12-27 08:43:51 -05:00
Daniel Johnson
11fff99b18 Do not show 'steam shortcut' commands when there's no Steam VDF path. 2022-12-27 07:30:03 -05:00
Daniel Johnson
5a367a86e8 Remove unnessary #noqa
This function is no longer considered 'too complex'
2022-12-27 03:44:52 -08:00
Daniel Johnson
6e4b7740d9 Provide a warning when WINE is missing when games run from the command line. 2022-12-27 03:44:52 -08:00
Daniel Johnson
2c735a7de1 Restore pylint unnecessary-dunder-call
This also was me using an older flake8. We want it back.
2022-12-27 03:44:52 -08:00
Daniel Johnson
6e050999b7 Supply a missing name change
No more plain 'ui_delegate'!
2022-12-27 03:44:52 -08:00
Daniel Johnson
5cf3952002 Fix pylint whitespace issue 2022-12-27 03:44:52 -08:00
Daniel Johnson
72ca67961f Split game-error into two signals
One to be connected, and one for the emission-hook.

The issue is that if I want to handle a particlar Game's errors specially (for the command
line), I can't stop the emission hook from going off first.

Instead, game-error can be connected and game-unhandled-error is raised
 if that is not handled (it usually is not)

 This way, command line commands can report errors on the command line.
2022-12-27 03:44:52 -08:00
Daniel Johnson
d8c4a604fd Rename 'ui_delegate' parameters
The way these guys flow around, it needs to be clearer which is which
lest they meet in a dark alley somewhere.
2022-12-27 03:44:52 -08:00
Daniel Johnson
0ed573b825 Move the installers WINE warning into the delegate. 2022-12-27 03:44:52 -08:00
Daniel Johnson
2486dda044 Provide a common function to build Lutris URLs.
This will urlencode everything, which is imported for launch config names.
2022-12-27 03:44:52 -08:00
Daniel Johnson
b5d03bb4f1 Support launch configurations when generating shortcuts
Just from the menu; when installers generate shortcuts
they still get the primary config.
2022-12-27 03:44:52 -08:00
Daniel Johnson
725368a8dc Add support for launch configs with lutris: URLs
The URLs can now have a 3-part path, like this:
"lutris:rungame/fear/F.E.A.R. Extraction Point"

The third part- which can only exist if the action is also present- is the name of a launch config. We use the config name as there's no launch config "slug" to use.

I also added unquoting to the URL, so "F.E.A.R.%20Extraction Point" will work too.
2022-12-27 03:44:52 -08:00
Daniel Johnson
6fce6d5d45 Various odds and ends should get their delegates from the applicatioin.
This way, if a LutrisWindow is open, it can handle the UI.
2022-12-27 03:44:52 -08:00
Daniel Johnson
44eba7a7d8 Hook up a delegate for the installer window also. 2022-12-27 03:44:52 -08:00
Daniel Johnson
5d36dd2a21 Ah, this no-self-use thing was because I had an old flake8. Removed from pylintrc. 2022-12-27 03:44:52 -08:00
Daniel Johnson
3c98433968 Also put the 'do you want to install runner' in the delegate 2022-12-27 03:44:52 -08:00
Daniel Johnson
519c8062ac Hook up the delegate for the runner-run command 2022-12-27 03:44:52 -08:00