support image drag & drop from firefox on linux

This commit is contained in:
Damien Elmes 2009-01-05 08:46:20 +09:00
parent 744e46f7fb
commit 3970aab5f8

View file

@ -591,10 +591,22 @@ class FactEdit(QTextEdit):
src.hasHtml()) src.hasHtml())
def insertFromMimeData(self, source): def insertFromMimeData(self, source):
pics = ("jpg", "jpeg", "png", "tif", "tiff", "gif")
audio = ("wav", "mp3", "ogg", "flac")
if source.hasText(): if source.hasText():
if not (unicode(source.text()).lower().startswith("http://") and txt = unicode(source.text())
source.hasImage()): if txt.lower().startswith("http://"):
# choose text unless this is a link with an image if not source.hasImage():
# firefox on linux just gives us a url
ext = txt.split(".")[-1].lower()
if ext in pics:
name = self._retrieveURL(txt, ext)
self.parent._addPicture(name, widget=self)
elif ext in audio:
name = self._retrieveURL(txt, ext)
self.parent._addSound(name, widget=self)
return
else:
self.insertPlainText(source.text()) self.insertPlainText(source.text())
return return
if source.hasImage(): if source.hasImage():
@ -611,10 +623,10 @@ class FactEdit(QTextEdit):
for url in source.urls(): for url in source.urls():
url = unicode(url.toString()) url = unicode(url.toString())
ext = url.split(".")[-1].lower() ext = url.split(".")[-1].lower()
if ext in ("jpg", "jpeg", "png", "tif", "tiff", "gif"): if ext in pics:
name = self._retrieveURL(url, ext) name = self._retrieveURL(url, ext)
self.parent._addPicture(name, widget=self) self.parent._addPicture(name, widget=self)
elif ext in ("wav", "mp3", "ogg", "flac"): elif ext in audio:
name = self._retrieveURL(url, ext) name = self._retrieveURL(url, ext)
self.parent._addSound(name, widget=self) self.parent._addSound(name, widget=self)
return return