예제 #1
0
    def _request_action(self, filename, directory):
        groupname = self.app.get_groupname(filename)

        appselect = AppSelector(None, groupname)
        appselect.exec_()

        if appselect.action:
            action = appselect.action

            if appselect.make_default:
                self.config.default_action[groupname] = action
                #self.app.filetypes.set_default_action(action)

            recent_apps = self.config.recent_apps[groupname]
            #recent_apps = self.app.filetypes.get_recent_apps(filename)
            if action not in recent_apps:
                recent_apps.insert(0, appselect.action)
                #if len(recent_apps) > 5:
                    #recent_apps.pop(-1)

            appselect.action.create_qaction(self).trigger() #.run(
예제 #2
0
            except IOError, e:
                self.main_window.maintab.new_tab()
                logger['persistence'].debug("No sessionfile")
            else:
                logger['persistence'].debug("Loaded session")
        else:
            self.main_window.maintab.new_tab()

        if not self.options.disable_sessions:
            self.aboutToQuit.connect(self.serialize)
        self.aboutToQuit.connect(self.save_config)

        self.main_window.show()

        # Load menu async since it takes ages to load
        AppSelector.load_menu()

    def init_directories(self):
        for dirname in [
            '',
            'thumbs',
            'thumbs/small',
            'thumbs/large',
            'sessions',
            'named_sessions']:
            try:
                self.appdir.joinpath(dirname).mkdir()
            except OSError, exc:
                if exc.errno == errno.EEXIST:
                    pass
                else: