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()
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")
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")
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
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)