Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2006-12-13 21:36:05 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2006-12-13 21:36:05 (GMT)
commite68f0e00e95416c696ecc08895b1a29463c989f8 (patch)
treee6f9b82880efecf155c1281bb3bdf95502e388af /sugar
parent474313ffdebb066e8e6891cfc362aa2edf3cf5c3 (diff)
Added c&v and dnd support to the clipboard.
Diffstat (limited to 'sugar')
-rw-r--r--sugar/clipboard/Makefile.am2
-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