Fix the runner's label not changing to greyed out/normal state after
closing the Configure or Manage Versions dialogs, depending on the
runner being installed or not.
I'm temporarily hosting the new runtime for debugging.
Read the LUTRIS CHANGES file in the runtime archive for a list of
modifications on the base Steam runtime.
This change has 3 effects:
- The terminal won't inherit the game env (i.e. won't be run in the
runtime, which would be prone to incompatibilities).
- The terminal stays open when the game is quit.
- The code to run in a term is now in LutrisThread, so it's accessible
to other parts of the code, not only the game class.
- Extract call_widget_generator()
- Destroy-regenerate option widgets instead of resetting value when
reset button clicked (20 lines of hairy code saved, wooo!)
- Move methods around to their appropriate place
Actually it's not for files but for the "directory_chooser" option
type. The stock Gtk chooser doesn't show the folder if the given path
doesn't exist, which is bad for us. And the entry + browse button is
just better anyway: one less click to browse and allows to copy-paste
entire paths.
I have left the Gtk chooser for browsing files though. Not sure what's
better yet. At least this way it clearly differentiates file and
folder choosers.
Ok the term "config type" doesn't exist anymore :). Now it's "config
section", which is more explicit.
Other changes:
game > game_slug
runner > runner_slug
game_config > game_level
runner_config > runner_level
system > system_level
I sliced through a bigger bunch of changes to create this commit (for
clarity) but couldn't slice in an exactly meaningful way so there are
a couple places that only make sense with the next commit.
I'm making a clear semantical separation between config level and
option type. Previously, "config type" was the only name for both
things, which caused confusion and mistakes. Most notably, the config
module doesn't return cascaded values, only the raw values from the
given level. While the cascade is in place externally in the runner
module, it's not used in the config dialogs. I'm going to fix this in
a subsequent commit.