Repository: lutris/lutris

Issue:
Runners can be configured when not yet installed, but not after removal
### Bug description

When you go into the Preferences dialog, Runners section, all the runners may be configured even if not installed. But  if you remove one, it's configure button disappears.

### How to Reproduce

Go into Preferences, select "Runners". Now, pick a runner and remove it. The configure button for that runner will disappear.

I think that is correct- but notice that all the other uninstalled runners have configure buttons. See the media attached. That can't be right.

### Expected behavior

I expect that the configure button will appear only for installed runners in the first place.

### Log output

```shell
INFO     2021-12-24 07:12:16,550 [startup.check_driver:53]:Using NVIDIA drivers 470.86 for x86_64
INFO     2021-12-24 07:12:16,550 [startup.check_driver:57]:GPU: NVIDIA GeForce RTX 3060
INFO     2021-12-24 07:12:16,550 [startup.check_driver:73]:GPU: 10DE:2503 196E:1377 (nvidia drivers)
DEBUG    2021-12-24 07:12:16,725 [lutriswindow.update_store:451]:Showing 25 games
DEBUG    2021-12-24 07:12:20,443 [application.show_window:259]:Showing window <class 'lutris.gui.config.preferences_dialog.PreferencesDialog'>{}
DEBUG    2021-12-24 07:12:26,667 [application.on_app_window_destroyed:276]:Removed window <class 'lutris.gui.config.preferences_dialog.PreferencesDialog'>{}
INFO     2021-12-24 07:12:28,505 [application.do_shutdown:631]:Shutting down Lutris

Hmm, using the master branch to repro produces less logging!
```


### System Information

```shell
[System]
OS:              Pop!_OS 21.10 impish
Arch:            x86_64
Kernel:          5.15.8-76051508-generic
Desktop:         GNOME
Display Server:  x11

[CPU]
Vendor:          AuthenticAMD
Model:           AMD Ryzen 7 5800X 8-Core Processor
Physical cores:  8
Logical cores:   16

[Memory]
RAM:             31.4 GB
Swap:            0.0 GB

[Graphics]
Vendor:          NVIDIA Corporation
OpenGL Renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL Version:  4.6.0 NVIDIA 470.86
OpenGL Core:     4.6.0 NVIDIA 470.86
OpenGL ES:       OpenGL ES 3.2 NVIDIA 470.86
Vulkan:          Supported
```


### Media (optional)

![Screenshot from 2021-12-24 07-06-15](https://user-images.githubusercontent.com/6507403/147351426-da379253-2415-47bf-8ca3-711c33b63236.png)


### Checklist:

- [X] I'm not asking for support with a game or the wine runner.
- [X] I have followed the above mentioned guides and have all the graphics and wine dependencies installed.
- [X] I have checked for existing issues that describe my problem prior to opening this one.
- [X] I understand that improperly formatted bug reports may be closed without explanation.


Discussion:

Resolving patch:
diff --git a/lutris/gui/config/runner_box.py b/lutris/gui/config/runner_box.py
--- a/lutris/gui/config/runner_box.py
+++ b/lutris/gui/config/runner_box.py
@@ -56,10 +56,11 @@ def __init__(self, runner_name):
         self.configure_button = Gtk.Button.new_from_icon_name("preferences-system-symbolic", Gtk.IconSize.BUTTON)
         self.configure_button.set_margin_right(12)
         self.configure_button.connect("clicked", self.on_configure_clicked)
-        self.configure_button.show()
         self.pack_start(self.configure_button, False, False, 0)
         if not self.runner.is_installed():
             self.runner_label_box.set_sensitive(False)
+        else:
+            self.configure_button.show()
         self.action_alignment = Gtk.Alignment.new(0.5, 0.5, 0, 0)
         self.action_alignment.show()
         self.action_alignment.add(self.get_action_button())


Test patch: