Пример #1
0
 def on_runners_activate(self, _widget, _data=None):
     """Callback when manage runners is activated."""
     RunnersDialog()
Пример #2
0
    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)
Пример #3
0
 def on_manage_runners(self, *args):
     return RunnersDialog(transient_for=self)