diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2006-12-13 21:36:05 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2006-12-13 21:36:05 (GMT) |
commit | e68f0e00e95416c696ecc08895b1a29463c989f8 (patch) | |
tree | e6f9b82880efecf155c1281bb3bdf95502e388af /sugar | |
parent | 474313ffdebb066e8e6891cfc362aa2edf3cf5c3 (diff) |
Added c&v and dnd support to the clipboard.
Diffstat (limited to 'sugar')
-rw-r--r-- | sugar/clipboard/Makefile.am | 2 | ||||
-rw-r--r-- | sugar/clipboard/clipboardservice.py (renamed from sugar/clipboard/ClipboardService.py) | 50 |
2 files changed, 37 insertions, 15 deletions
diff --git a/sugar/clipboard/Makefile.am b/sugar/clipboard/Makefile.am index dbfabe9..0d61c29 100644 --- a/sugar/clipboard/Makefile.am +++ b/sugar/clipboard/Makefile.am @@ -1,5 +1,5 @@ sugardir = $(pythondir)/sugar/clipboard sugar_PYTHON = \ __init__.py \ - ClipboardService.py + clipboardservice.py diff --git a/sugar/clipboard/ClipboardService.py b/sugar/clipboard/clipboardservice.py index 254d6b2..425a16d 100644 --- a/sugar/clipboard/ClipboardService.py +++ b/sugar/clipboard/clipboardservice.py @@ -1,6 +1,9 @@ +import logging import dbus import gobject +from sugar import util + DBUS_SERVICE = "org.laptop.Clipboard" DBUS_INTERFACE = "org.laptop.Clipboard" DBUS_PATH = "/org/laptop/Clipboard" @@ -9,7 +12,7 @@ class ClipboardService(gobject.GObject): __gsignals__ = { 'object-added': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, - ([str, str, str])), + ([str, str])), 'object-deleted': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([str])), 'object-state-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, @@ -49,24 +52,43 @@ class ClipboardService(gobject.GObject): # ClipboardService started up self._connect_clipboard_signals() - def _object_added_cb(self, name, mimeType, fileName): - self.emit('object-added', name, mimeType, fileName) + def _object_added_cb(self, object_id, name): + self.emit('object-added', object_id, name) - def _object_deleted_cb(self, fileName): - self.emit('object-deleted', fileName) + def _object_deleted_cb(self, object_id): + self.emit('object-deleted', object_id) - def _object_state_changed_cb(self, fileName, percent): - self.emit('object-state-changed', fileName, percent) - - def add_object(self, name, mimeType, fileName): - self._dbus_service.add_object(name, mimeType, fileName) + def _object_state_changed_cb(self, object_id, percent): + self.emit('object-state-changed', object_id, percent) - def delete_object(self, fileName): - self._dbus_service.delete_object(fileName) + def add_object(self, object_id, name): + self._dbus_service.add_object(object_id, name) + + def add_object_format(self, object_id, formatType, data, on_disk): + self._dbus_service.add_object_format(object_id, + formatType, + dbus.types.ByteArray(data), + on_disk) + + def delete_object(self, object_id): + self._dbus_service.delete_object(object_id) - def set_object_state(self, fileName, percent): - self._dbus_service.set_object_state(fileName, percent) + def set_object_state(self, object_id, percent): + self._dbus_service.set_object_state(object_id, percent) + def get_object_format_types(self, object_id): + return self._dbus_service.get_object_format_types(object_id) + + def get_object_data(self, object_id, formatType): + data = self._dbus_service.get_object_data(object_id, formatType) + + # FIXME: Take it out when using the 0.80 dbus bindings + s = "" + for i in data: + s += chr(i) + + return s + _clipboard_service = None def get_instance(): global _clipboard_service |