def __init__(self, parent): StatusElement.__init__(self, parent) self.error_icon = Image("launcher:res/16/error.png") self.warning_icon = Image("launcher:res/16/warning_3.png") self.notice_icon = Image("launcher:res/16/information.png") self.icons = [ self.error_icon, self.warning_icon, self.notice_icon, ] self.coordinates = [] self.warnings = [] self.game_notice = "" self.variant_notice = "" self.variant_warning = "" self.variant_error = "" self.joy_emu_conflict = "" self.using_joy_emu = False self.kickstart_file = "" self.x_kickstart_file_sha1 = "" self.update_available = "" self.__error = "" self.x_missing_files = "" self.download_page = "" self.download_file = "" self.amiga_model = "" self.amiga_model_calculated = "" self.chip_memory = "" self.chip_memory_calculated = 0 self.outdated_plugins = [] self.custom_config = set() self.custom_uae_config = set() self.settings_config_keys = set() plugin_manager = PluginManager.instance() for plugin in plugin_manager.plugins(): if plugin.outdated: self.outdated_plugins.append(plugin.name) ConfigBehavior(self, [ "x_game_notice", "x_variant_notice", "x_variant_warning", "x_variant_error", "x_joy_emu_conflict", "amiga_model", "x_kickstart_file_sha1", "kickstart_file", "download_page", "download_file", "x_missing_files", "__error", "chip_memory", "jit_compiler"]) SettingsBehavior(self, ["__update_available"]) LauncherConfig.add_listener(self) for key in JOYSTICK_KEYS: self.on_config(key, LauncherConfig.get(key)) for key in LauncherConfig.keys(): if LauncherConfig.is_custom_uae_option(key): self.on_config(key, LauncherConfig.get(key)) elif LauncherConfig.is_custom_option(key): self.on_config(key, LauncherConfig.get(key)) LauncherSettings.add_listener(self) for key in LauncherSettings.keys(): if LauncherConfig.is_config_only_option(key): self.on_setting(key, LauncherSettings.get(key))
def on_config(self, key, value): config = get_config(self) if key in JOYSTICK_KEYS: prev_value = self.using_joy_emu devices = DeviceManager.get_devices_for_ports(config) for device in devices: if device.id == "keyboard": self.using_joy_emu = True break else: self.using_joy_emu = False if prev_value != self.using_joy_emu: self.rebuild_warnings_and_refresh() elif key.startswith("__"): pass # elif LauncherConfig.is_implicit_option(key): # pass elif LauncherConfig.is_custom_uae_option(key): changed = False if value: if key not in self.custom_uae_config: self.custom_uae_config.add(key) changed = True else: if key in self.custom_uae_config: self.custom_uae_config.remove(key) changed = True if changed: self.rebuild_warnings_and_refresh() elif LauncherConfig.is_custom_option(key): changed = False if value: if key not in self.custom_config: self.custom_config.add(key) changed = True else: if key in self.custom_config: self.custom_config.remove(key) changed = True if changed: self.rebuild_warnings_and_refresh()
def on_config(self, key, value): if key in JOYSTICK_KEYS: prev_value = self.using_joy_emu devices = DeviceManager.get_devices_for_ports(LauncherConfig) for device in devices: if device.id == "keyboard": self.using_joy_emu = True break else: self.using_joy_emu = False if prev_value != self.using_joy_emu: self.rebuild_warnings_and_refresh() elif key.startswith("__"): pass # elif LauncherConfig.is_implicit_option(key): # pass elif LauncherConfig.is_custom_uae_option(key): changed = False if value: if key not in self.custom_uae_config: self.custom_uae_config.add(key) changed = True else: if key in self.custom_uae_config: self.custom_uae_config.remove(key) changed = True if changed: self.rebuild_warnings_and_refresh() elif LauncherConfig.is_custom_option(key): changed = False if value: if key not in self.custom_config: self.custom_config.add(key) changed = True else: if key in self.custom_config: self.custom_config.remove(key) changed = True if changed: self.rebuild_warnings_and_refresh()
def __init__(self, parent): StatusElement.__init__(self, parent) self.error_icon = Image("launcher:res/16x16/error.png") self.warning_icon = Image("launcher:res/16x16/warning_3.png") self.notice_icon = Image("launcher:res/16x16/information.png") self.icons = [self.error_icon, self.warning_icon, self.notice_icon] self.coordinates = [] self.warnings = [] self.game_notice = "" self.variant_notice = "" self.variant_warning = "" self.variant_error = "" self.joy_emu_conflict = "" self.using_joy_emu = False self.kickstart_file = "" self.x_kickstart_file_sha1 = "" self.update_available = "" self.__error = "" self.x_missing_files = "" self.download_page = "" self.download_file = "" self.platform = "" self.amiga_model = "" self.amiga_model_calculated = "" self.chip_memory = "" self.chip_memory_calculated = 0 self.outdated_plugins = [] self.custom_config = set() self.custom_uae_config = set() self.settings_config_keys = set() plugin_manager = PluginManager.instance() for plugin in plugin_manager.plugins(): if plugin.outdated: self.outdated_plugins.append(plugin.name) ConfigBehavior( self, [ "x_game_notice", "x_variant_notice", "x_variant_warning", "x_variant_error", "x_joy_emu_conflict", "amiga_model", "x_kickstart_file_sha1", "kickstart_file", "download_page", "download_file", "x_missing_files", "__error", "chip_memory", "jit_compiler", "platform", ], ) SettingsBehavior(self, ["__update_available"]) LauncherConfig.add_listener(self) for key in JOYSTICK_KEYS: self.on_config(key, LauncherConfig.get(key)) for key in LauncherConfig.keys(): if LauncherConfig.is_custom_uae_option(key): self.on_config(key, LauncherConfig.get(key)) elif LauncherConfig.is_custom_option(key): self.on_config(key, LauncherConfig.get(key)) LauncherSettings.add_listener(self) for key in LauncherSettings.keys(): if LauncherConfig.is_config_only_option(key): self.on_setting(key, LauncherSettings.get(key))