diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2007-04-11 14:14:58 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2007-04-11 14:14:58 (GMT) |
commit | fcb57779a275e8a3343b71f991c23cb98f5c1e7a (patch) | |
tree | 4b3e4f685804207cca26bb17e38333615ded1e9d /sugar/clipboard | |
parent | 73f2577397dce7bcccc19c66dc8b3a0d227a62af (diff) |
Start reworking the cliboard services to use the types registry.
Diffstat (limited to 'sugar/clipboard')
-rw-r--r-- | sugar/clipboard/clipboardservice.py | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/sugar/clipboard/clipboardservice.py b/sugar/clipboard/clipboardservice.py index c7d68e4..17f6998 100644 --- a/sugar/clipboard/clipboardservice.py +++ b/sugar/clipboard/clipboardservice.py @@ -4,9 +4,6 @@ import gobject NAME_KEY = 'NAME' PERCENT_KEY = 'PERCENT' -ICON_KEY = 'ICON' -PREVIEW_KEY = 'PREVIEW' -ACTIVITY_KEY = 'ACTIVITY' FORMATS_KEY = 'FORMATS' DBUS_SERVICE = "org.laptop.Clipboard" @@ -14,14 +11,15 @@ DBUS_INTERFACE = "org.laptop.Clipboard" DBUS_PATH = "/org/laptop/Clipboard" class ClipboardService(gobject.GObject): - __gsignals__ = { - 'object-added': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, - ([str, str])), + 'object-added': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, + ([str, str])), + 'object-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, + ([str, str, gobject.TYPE_PYOBJECT])), 'object-deleted': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, - ([str])), + ([str])), 'object-state-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, - ([str, str, int, str, str, str])), + ([str, int])), } def __init__(self): @@ -54,6 +52,8 @@ class ClipboardService(gobject.GObject): self._object_deleted_cb) self._dbus_service.connect_to_signal('object_state_changed', self._object_state_changed_cb) + self._dbus_service.connect_to_signal('object_changed', + self._object_changed_cb) self._connected = True bus.remove_signal_receiver(self._nameOwnerChangedHandler) @@ -66,13 +66,15 @@ class ClipboardService(gobject.GObject): def _object_added_cb(self, object_id, name): self.emit('object-added', str(object_id), name) + def _object_changed_cb(self, object_id, values): + self.emit('object-changed', str(object_id), + values[NAME_KEY], values[FORMATS_KEY]) + def _object_deleted_cb(self, object_id): self.emit('object-deleted', str(object_id)) def _object_state_changed_cb(self, object_id, values): - self.emit('object-state-changed', str(object_id), values[NAME_KEY], - values[PERCENT_KEY], values[ICON_KEY], values[PREVIEW_KEY], - values[ACTIVITY_KEY]) + self.emit('object-state-changed', str(object_id), values[PERCENT_KEY]) def add_object(self, name): return str(self._dbus_service.add_object(name)) |