Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar

This commit is contained in:
Marco Pesenti Gritti 2007-03-18 13:53:33 +01:00
commit e60e86c06a
2 changed files with 18 additions and 2 deletions

View File

@ -114,7 +114,14 @@ class ClipboardIcon(CanvasIcon):
formats = obj['FORMATS']
if len(formats) > 0:
path = cb_service.get_object_data(self._object_id, formats[0])
if os.path.exists(path):
# FIXME: would be better to check for format.onDisk
try:
path_exists = os.path.exists(path)
except TypeError:
path_exists = False
if path_exists:
activityfactory.create_with_uri(self._activity, path)
else:
logging.debug("Clipboard item file path %s didn't exist" % path)

View File

@ -30,6 +30,7 @@ from view.frame.framepopupcontext import FramePopupContext
from model.ShellModel import ShellModel
from sugar.graphics import animator
from sugar.graphics import units
from sugar.clipboard import clipboardservice
MODE_NONE = 0
MODE_MOUSE = 1
@ -156,6 +157,9 @@ class Frame(object):
screen = gtk.gdk.screen_get_default()
screen.connect('size-changed', self._size_changed_cb)
cb_service = clipboardservice.get_instance()
cb_service.connect_after('object-added', self._clipboard_object_added_cb)
self._key_listener = _KeyListener(self)
self._mouse_listener = _MouseListener(self)
@ -298,6 +302,11 @@ class Frame(object):
def _size_changed_cb(self, screen):
self._update_position()
def _clipboard_object_added_cb(self, cb_service, object_id, name):
if not self.visible:
self.show()
gobject.timeout_add(2000, lambda: self.hide())
def _popup_context_activated_cb(self, popup_context):
self._mouse_listener.mouse_enter()