The trick here is being able to add games to it, if you open it then go back to the LutrisWindow and remove some more games.
Doing this in turn can cause games already listed to become 'more deletable' since the game-directory that was shared with another game may now be deletable- if you are deleting all the relevant games.
At least this breaks up the big __init__ method we had here.
The frames around config options no longer disappear when they contain only one options; instead options appear in frames if they have a "section" option set for them, and not if they don't.
Some things don't, but if we want to put every option in a frame, we can do that now.
This fixes the bug where the Wine app-usage dialog can't be closed with its 'OK' button.
This commit moves on_response() up to the 'Dialog' base class and override it in a few places where this is required.
'response' is how dialogs close, 'delete-event' doesn't even fire for them, so I've removed this event handler from the dialogs.
It's very simple, without even cancellation, but we could stack up more than one of these to get a download... well, not really a queue yet, but a rack of progress bars.
I place this "Remove from Library" checkbox on the far right and show it always, but disabled for uninstall games. This is to make the controls line up better into columns, thought localization could still break this.
I also make removal from library the default, so the confusing double-delete behavior is non-default.
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.
This change makes the popover menus in the game bar look the same as
the ones in the header-bar, with the usual menu-y styling.
Because my OCD, that's why!
We don't need it. Cairo can fade banners without this, so it's just
used for 'missing media' cases. We only hit this case if the default
icon or banner is missing, and having a fallback image just for that
seems excessive.
We can fail to show the media in the config dialog
by setting the button's pixbuf to None just as well.
I have added a logger error if we even do hit this case, though.
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