Esempio n. 1
0
 def on_browse_files(self, widget):
     game = Game(self.view.selected_game)
     path = game.get_browse_dir()
     if path and os.path.exists(path):
         open_uri('file://' + path)
     else:
         dialogs.NoticeDialog("Can't open %s \nThe folder doesn't exist." %
                              path)
Esempio n. 2
0
 def on_browse_files(self, _widget):
     """Callback to open a game folder in the file browser"""
     game = Game(self.view.selected_game)
     path = game.get_browse_dir()
     if path and os.path.exists(path):
         open_uri('file://%s' % path)
     else:
         dialogs.NoticeDialog("Can't open %s \nThe folder doesn't exist." %
                              path)
Esempio n. 3
0
 def on_browse_files(self, widget):
     game = Game(self.view.selected_game)
     path = game.get_browse_dir()
     if path and os.path.exists(path):
         open_uri('file://' + path)
     else:
         dialogs.NoticeDialog(
             "Can't open %s \nThe folder doesn't exist." % path
         )
Esempio n. 4
0
 def on_runner_open_clicked(self, widget):
     open_uri('file://' + settings.RUNNER_DIR)
Esempio n. 5
0
 def on_view_game(self, _widget):
     """Callback to open a game on lutris.net"""
     game = Game(self.view.selected_game)
     open_uri('https://lutris.net/games/%s' % game.slug)
Esempio n. 6
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)
Esempio n. 7
0
 def on_view_game(self, widget):
     game = Game(self.view.selected_game)
     open_uri('https://lutris.net/games/' + game.slug)
Esempio n. 8
0
 def on_runner_open_clicked(widget):
     open_uri('file://' + settings.RUNNER_DIR)
Esempio n. 9
0
 def on_open_downloads_clicked(_widget):
     open_uri("http://lutris.net")
Esempio n. 10
0
 def on_open_downloads_clicked(self, _widget):
     open_uri("http://lutris.net")
Esempio n. 11
0
 def on_view_game(self, widget):
     game = Game(self.view.selected_game)
     open_uri('https://lutris.net/games/' + game.slug)
Esempio n. 12
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'),
            '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-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)