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()
Exemple #4
0
    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))