From 725e4027f29e000ba35cd1ccbcc77fa4037884ac Mon Sep 17 00:00:00 2001
From: kramo <93832451+kra-mo@users.noreply.github.com>
Date: Wed, 5 Apr 2023 10:13:22 +0200
Subject: [PATCH] Add option to import Steam games from Lutris
---
data/gtk/preferences.blp | 9 +++++++++
data/hu.kramo.Cartridges.gschema.xml | 3 +++
src/preferences.py | 7 +++++++
src/utils/lutris_parser.py | 2 +-
4 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/data/gtk/preferences.blp b/data/gtk/preferences.blp
index e2bf52f..23b406b 100644
--- a/data/gtk/preferences.blp
+++ b/data/gtk/preferences.blp
@@ -121,6 +121,7 @@ template PreferencesWindow : Adw.PreferencesWindow {
valign: center;
}
}
+
Adw.ActionRow {
title: _("Lutris Cache Location");
subtitle: _("Directory to use when importing game covers");
@@ -130,6 +131,14 @@ template PreferencesWindow : Adw.PreferencesWindow {
valign: center;
}
}
+
+ Adw.ActionRow {
+ title: _("Import Steam Games");
+
+ Switch lutris_steam_switch {
+ valign: center;
+ }
+ }
}
Adw.ExpanderRow heroic_expander_row {
diff --git a/data/hu.kramo.Cartridges.gschema.xml b/data/hu.kramo.Cartridges.gschema.xml
index 20d116a..910a03e 100644
--- a/data/hu.kramo.Cartridges.gschema.xml
+++ b/data/hu.kramo.Cartridges.gschema.xml
@@ -31,6 +31,9 @@
"~/.var/app/net.lutris.Lutris/cache/lutris"
+
+ false
+
true
diff --git a/src/preferences.py b/src/preferences.py
index 56eaae6..47ac7a6 100644
--- a/src/preferences.py
+++ b/src/preferences.py
@@ -101,6 +101,7 @@ class PreferencesWindow(Adw.PreferencesWindow):
lutris_expander_row = Gtk.Template.Child()
lutris_file_chooser_button = Gtk.Template.Child()
lutris_cache_file_chooser_button = Gtk.Template.Child()
+ lutris_steam_switch = Gtk.Template.Child()
heroic_expander_row = Gtk.Template.Child()
heroic_file_chooser_button = Gtk.Template.Child()
@@ -213,6 +214,12 @@ class PreferencesWindow(Adw.PreferencesWindow):
self.lutris_expander_row,
self.lutris_file_chooser_button,
)
+ self.schema.bind(
+ "lutris-import-steam",
+ self.lutris_steam_switch,
+ "active",
+ Gio.SettingsBindFlags.DEFAULT,
+ )
def set_cache_dir(_source, result, _unused):
try:
diff --git a/src/utils/lutris_parser.py b/src/utils/lutris_parser.py
index 270132a..aadf143 100644
--- a/src/utils/lutris_parser.py
+++ b/src/utils/lutris_parser.py
@@ -83,7 +83,7 @@ def lutris_parser(parent_widget):
# No need to unlink temp files as they disappear when the connection is closed
database_tmp_path.unlink(missing_ok=True)
- if schema.get_boolean("steam"):
+ if not schema.get_boolean("lutris-import-steam"):
rows = [row for row in rows if not row[3] == "steam"]
current_time = int(time())