def itemOpen(self, link, executable=None, browseHint=True, state={}):
     if browseHint:
         myLink = copy.deepcopy(link)
         myLink.update(self.__store)
         self.__history.push(myLink, state)
         return True
     else:
         utils.showDocument(link, executable=executable, referrer=self.__history.currentItem().link())
         return False
	def __itemOpen(self, link, executable):
		store = self.viewWidget().store()
		if self.viewWidget().doc():
			ref = struct.DocLink(store, self.viewWidget().doc(), autoUpdate=False)
		elif self.viewWidget().rev():
			ref = struct.RevLink(store, self.viewWidget().rev())
		else:
			ref = None
		utils.showDocument(link, executable=executable, referrer=ref)
Example #3
0
 def itemOpen(self, link, executable=None, browseHint=True, state={}):
     if browseHint:
         myLink = copy.deepcopy(link)
         myLink.update(self.__store)
         self.__history.push(myLink, state)
         return True
     else:
         utils.showDocument(link,
                            executable=executable,
                            referrer=self.__history.currentItem().link())
         return False
Example #4
0
    def __fillMenu(self, menu, menuLink, store=None):
        menu.clear()
        c = struct.Folder(menuLink)
        listing = []
        for (title, link) in c.items():
            link.update()
            try:
                type = Connector().stat(link.rev()).type()
            except IOError:
                type = None

            if not type:
                continue

            if len(title) > 40:
                title = title[:40] + "..."

            listing.append(
                (title, link, Registry().conformes(type, "org.peerdrive.folder"), QtGui.QIcon(Registry().getIcon(type)))
            )

        listing = sorted(listing, cmp=Launchbox.__cmp)

        for (title, link, folder, icon) in listing:
            if folder:
                m = menu.addMenu(icon, title)
                m.aboutToShow.connect(lambda m=m, l=link: self.__fillMenu(m, l))
            else:
                a = menu.addAction(icon, title)
                a.triggered.connect(lambda x, l=link, r=menuLink: showDocument(l, referrer=r))

        menu.addSeparator()
        action = menu.addAction("Open")
        action.triggered.connect(lambda x, l=menuLink: showDocument(l))
        try:
            type = Connector().stat(menuLink.rev(), [menuLink.store()]).type()
            executables = Registry().getExecutables(type)
        except IOError:
            executables = []
        if len(executables) > 1:
            openMenu = menu.addMenu("Open with")
            for e in executables:
                action = openMenu.addAction(e)
                action.triggered.connect(lambda x, l=menuLink, e=e: showDocument(l, executable=e))
        menu.addSeparator()
        if store:
            action = menu.addAction(QtGui.QIcon("icons/unmount.png"), "Unmount")
            action.triggered.connect(lambda x, s=store: self.__unmount(s))
        action = menu.addAction("Properties")
        action.triggered.connect(lambda x, l=menuLink: showProperties(l))
Example #5
0
	def __fillMenu(self, menu, menuLink, store=None):
		menu.clear()
		c = struct.Folder(menuLink)
		listing = []
		for (title, link) in c.items():
			link.update()
			try:
				type = Connector().stat(link.rev()).type()
			except IOError:
				type = None

			if not type:
				continue

			if len(title) > 40:
				title = title[:40] + '...'

			listing.append((title, link, Registry().conformes(type,
				"org.peerdrive.folder"), QtGui.QIcon(Registry().getIcon(type))))

		listing = sorted(listing, cmp=Launchbox.__cmp)

		for (title, link, folder, icon) in listing:
			if folder:
				m = menu.addMenu(icon, title)
				m.aboutToShow.connect(lambda m=m, l=link: self.__fillMenu(m, l))
			else:
				a = menu.addAction(icon, title)
				a.triggered.connect(lambda x,l=link,r=menuLink: showDocument(l, referrer=r))

		menu.addSeparator()
		action = menu.addAction("Open")
		action.triggered.connect(lambda x,l=menuLink: showDocument(l))
		try:
			type = Connector().stat(menuLink.rev(), [menuLink.store()]).type()
			executables = Registry().getExecutables(type)
		except IOError:
			executables = []
		if len(executables) > 1:
			openMenu = menu.addMenu("Open with")
			for e in executables:
				action = openMenu.addAction(e)
				action.triggered.connect(lambda x,l=menuLink,e=e: showDocument(l, executable=e))
		menu.addSeparator()
		if store:
			action = menu.addAction(QtGui.QIcon("icons/unmount.png"), "Unmount")
			action.triggered.connect(lambda x,s=store: self.__unmount(s))
		action = menu.addAction("Properties")
		action.triggered.connect(lambda x,l=menuLink: showProperties(l))
Example #6
0
 def __open(self, item):
     row = self.row(item)
     rev = self.__revs[row]
     showDocument(connector.RevLink(self.__store, rev))
Example #7
0
 def __open(self, item):
     row = self.row(item)
     rev = self.__revs[row]
     showDocument(connector.RevLink(self.__store, rev))