Clipboard fixes.
This commit is contained in:
parent
f0e18ba785
commit
130f59efdc
@ -1,5 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
import logging
|
import logging
|
||||||
|
import urlparse
|
||||||
|
|
||||||
import typeregistry
|
import typeregistry
|
||||||
|
|
||||||
@ -58,7 +59,8 @@ class Format:
|
|||||||
|
|
||||||
def destroy(self):
|
def destroy(self):
|
||||||
if self._on_disk:
|
if self._on_disk:
|
||||||
os.remove(self._data.replace('file://', ''))
|
uri = urlparse.urlparse(self._data)
|
||||||
|
os.remove(uri.path)
|
||||||
|
|
||||||
def get_type(self):
|
def get_type(self):
|
||||||
return self._type
|
return self._type
|
||||||
|
@ -598,7 +598,6 @@ class UriListFileType(FileType):
|
|||||||
if len(uris) == 1:
|
if len(uris) == 1:
|
||||||
uri = urlparse.urlparse(uris[0])
|
uri = urlparse.urlparse(uris[0])
|
||||||
ext = posixpath.splitext(uri[2])[1]
|
ext = posixpath.splitext(uri[2])[1]
|
||||||
logging.debug(ext)
|
|
||||||
# FIXME: Bad hack, the type registry should treat text/uri-list as a special case.
|
# FIXME: Bad hack, the type registry should treat text/uri-list as a special case.
|
||||||
if ext in ['.jpg', '.jpeg', '.gif', '.png', '.svg']:
|
if ext in ['.jpg', '.jpeg', '.gif', '.png', '.svg']:
|
||||||
return True
|
return True
|
||||||
|
@ -87,15 +87,15 @@ class ClipboardBox(hippo.CanvasBox):
|
|||||||
if len(uris) > 1:
|
if len(uris) > 1:
|
||||||
raise NotImplementedError('Multiple uris in text/uri-list still not supported.')
|
raise NotImplementedError('Multiple uris in text/uri-list still not supported.')
|
||||||
uri = urlparse.urlparse(uris[0])
|
uri = urlparse.urlparse(uris[0])
|
||||||
path, file_name = os.path.split(uri[2])
|
path, file_name = os.path.split(uri.path)
|
||||||
|
|
||||||
# Copy the file, as it will be deleted when the dnd operation finishes.
|
# Copy the file, as it will be deleted when the dnd operation finishes.
|
||||||
new_file_path = os.path.join(path, 'cb' + file_name)
|
new_file_path = os.path.join(path, 'cb' + file_name)
|
||||||
shutil.copyfile(uri[2], new_file_path)
|
shutil.copyfile(uri.path, new_file_path)
|
||||||
|
|
||||||
cb_service.add_object_format(object_id,
|
cb_service.add_object_format(object_id,
|
||||||
selection.type,
|
selection.type,
|
||||||
uri[0] + "://" + new_file_path,
|
"file://" + new_file_path,
|
||||||
on_disk=True)
|
on_disk=True)
|
||||||
else:
|
else:
|
||||||
cb_service.add_object_format(object_id,
|
cb_service.add_object_format(object_id,
|
||||||
|
Loading…
Reference in New Issue
Block a user