Ejemplo n.º 1
0
    def setSelection(self, selection):
        """
			Set our current value to 'selection'
			@param selection: The new entry that this bone should reference
			@type selection: dict
		"""
        self.selection = selection
        if selection:
            NetworkService.request(
                self.destModule,
                "view/node/" + selection["dest"]["key"],
                successHandler=self.onSelectionDataAvailable,
                cacheable=True)
            self.selectionTxt["value"] = translate("Loading...")

            if utils.getImagePreview(self.selection) is not None:
                self.previewImg["src"] = utils.getImagePreview(self.selection)
                self.previewImg["style"]["display"] = ""
            else:
                self.previewImg["style"]["display"] = "none"
        else:
            self.selectionTxt["value"] = ""
            self.previewImg["style"]["display"] = "none"

        self.updateButtons()
Ejemplo n.º 2
0
    def setFile(self, file):
        self.currentFile = file

        preview = utils.getImagePreview(file, cropped=True,
                                        size=self.size) if file else None

        if preview:
            self.downloadOnly = self.isImage = True

        else:
            self.isImage = False
            self.downloadOnly = True

            if file:
                preview = "icons/filetypes/file.svg"
                mime = file.get("mimetype")
                if mime:
                    for icon in [
                            "bmp", "doc", "gif", "jpg", "pdf", "png", "tiff",
                            "image", "audio", "video", "zip"
                    ]:
                        if icon in mime:
                            preview = "icons/filetypes/%s.svg" % icon
                            self.downloadOnly = False
                            break

        if preview:
            self["style"]["background-image"] = "url('%s')" % preview
        else:
            self["style"]["background-image"] = None

        if self.currentFile:
            self.addClass("is-clickable")
        else:
            self.removeClass("is-clickable")
Ejemplo n.º 3
0
    def __init__(self, modul, data, structure, *args, **kwargs):
        super(LeafFileWidget, self).__init__(modul, data, structure, *args,
                                             **kwargs)

        if utils.getImagePreview(data):
            self.prependChild(html5.Img(utils.getImagePreview(data)))

        if "mimetype" in data.keys():
            try:
                ftype, fformat = data["mimetype"].split("/")
                self["class"].append("type_%s" % ftype)
                self["class"].append("format_%s" % fformat.replace("+", "_"))
            except:
                pass

        self["class"].append("file")
        self.sinkEvent("onDragOver", "onDragLeave")
Ejemplo n.º 4
0
	def __init__(self, *args, **kwargs):
		super(TreeDirMultiSelectionBoneEntry, self).__init__(*args, **kwargs)
		self["class"].append("fileentry")

		src = utils.getImagePreview(self.data)

		if src is not None:
			img = html5.Img()
			img["src"] = src
			img["class"].append("previewimg")
			self.appendChild(img)

			# Move the img in front of the lbl
			self.element.removeChild(img.element)
			self.element.insertBefore(img.element, self.element.children.item(0))

		#Remove the editbutton. This won't work on directories; but we maybe need this for other modules?!
		self.removeChild(self.editBtn)
		self.editBtn = None
Ejemplo n.º 5
0
    def __init__(self, preview, *args, **kwargs):
        super(FileImagePopup, self).__init__(title=preview.currentFile.get(
            "name", translate("Unnamed Image")),
                                             className="image-viewer",
                                             *args,
                                             **kwargs)
        self.sinkEvent("onClick")
        self.preview = preview

        img = html5.Img()
        img["src"] = utils.getImagePreview(preview.currentFile, size=None)
        self.appendChild(img)

        div = html5.Div()
        self.appendChild(div)

        btn = html5.ext.Button(translate("Download"), self.onDownloadBtnClick)
        btn.addClass("icon", "download")
        div.appendChild(btn)

        btn = html5.ext.Button(translate("Close"), self.onClick)
        btn.addClass("btn_no")
        div.appendChild(btn)