def on_runners_activate(self, _widget, _data=None): """Callback when manage runners is activated.""" RunnersDialog()
def _init_actions(self): Action = namedtuple( 'Action', ('callback', 'type', 'enabled', 'default', 'accel')) Action.__new__.__defaults__ = (None, None, True, None, None) actions = { 'browse-games': Action(lambda *x: open_uri('https://lutris.net/games/')), 'register-account': Action(lambda *x: open_uri('https://lutris.net/user/register/')), 'disconnect': Action(self.on_disconnect), 'connect': Action(self.on_connect), 'synchronize': Action(lambda *x: self.sync_library()), 'sync-local': Action(lambda *x: self.open_sync_dialog()), 'add-game': Action(self.on_add_game_button_clicked), 'view-game-log': Action(self.on_view_game_log_activate), 'stop-game': Action(self.on_game_stop, enabled=False), 'start-game': Action(self.on_game_run, enabled=False), 'remove-game': Action(self.on_remove_game, enabled=False), 'preferences': Action(self.on_preferences_activate), 'manage-runners': Action(lambda *x: RunnersDialog()), 'about': Action(self.on_about_clicked), 'show-installed-only': Action(self.on_show_installed_state_change, type='b', default=self.filter_installed, accel='<Primary>h'), 'show-installed-first': Action(self.on_show_installed_first_state_change, type='b', default=self.show_installed_first), 'view-type': Action(self.on_viewtype_state_change, type='s', default=self.current_view_type), 'icon-type': Action(self.on_icontype_state_change, type='s', default=self.icon_type), 'use-dark-theme': Action(self.on_dark_theme_state_change, type='b', default=self.use_dark_theme), 'show-tray-icon': Action(self.on_tray_icon_toggle, type='b', default=self.show_tray_icon), 'show-side-bar': Action(self.on_sidebar_state_change, type='b', default=self.sidebar_visible, accel='F9'), } self.actions = {} app = self.props.application for name, value in actions.items(): if not value.type: action = Gio.SimpleAction.new(name) action.connect('activate', value.callback) else: default_value = None param_type = None if value.default is not None: default_value = GLib.Variant(value.type, value.default) if value.type != 'b': param_type = default_value.get_type() action = Gio.SimpleAction.new_stateful(name, param_type, default_value) action.connect('change-state', value.callback) self.actions[name] = action if value.enabled is False: action.props.enabled = False self.add_action(action) if value.accel: app.add_accelerator(value.accel, 'win.' + name)
def on_manage_runners(self, *args): return RunnersDialog(transient_for=self)