diff --git a/keymapper/config.py b/keymapper/config.py index 2e2f66d9..1e15c83a 100644 --- a/keymapper/config.py +++ b/keymapper/config.py @@ -56,9 +56,22 @@ class _Config: del self._config['autoload'][device] def iterate_autoload_presets(self): - """get tuples of (device, preset).""" + """Get tuples of (device, preset).""" return self._config.get('autoload', {}).items() + def is_autoloaded(self, device, preset): + """Should this preset be loaded automatically?""" + # TODO test + autoload_map = self._config.get('autoload') + if autoload_map is None: + return False + + autoload_preset = autoload_map.get(device) + if autoload_preset is None: + return False + + return True + def load_config(self): """Load the config from the file system.""" self.clear_config() diff --git a/keymapper/gtk/window.py b/keymapper/gtk/window.py index 80273147..774db82c 100755 --- a/keymapper/gtk/window.py +++ b/keymapper/gtk/window.py @@ -364,6 +364,12 @@ class Window: ) key_list.insert(single_key_mapping, -1) + autoload_switch = self.get('preset_autoload_switch') + autoload_switch.set_active(config.is_autoloaded( + self.selected_device, + self.selected_preset + )) + self.get('preset_name_input').set_text('') self.add_empty()