diff options
author | Eben Eliason <eben@sugar.(none)> | 2008-10-18 21:34:18 (GMT) |
---|---|---|
committer | Eben Eliason <eben@sugar.(none)> | 2008-10-18 21:34:18 (GMT) |
commit | f9cab470200731f826dfe849c3715991bf6ef879 (patch) | |
tree | 3993889c55fc9c11a926e103b55c47fe6d4ca461 | |
parent | b2f9aaf44396b5ce1243b612b2efdf14c919df39 (diff) |
Size and position clippings correctly when dragged.
-rw-r--r-- | src/jarabe/frame/clipboardicon.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/jarabe/frame/clipboardicon.py b/src/jarabe/frame/clipboardicon.py index ff182dc..718bd15 100644 --- a/src/jarabe/frame/clipboardicon.py +++ b/src/jarabe/frame/clipboardicon.py @@ -23,6 +23,7 @@ import gtk from sugar.graphics.radiotoolbutton import RadioToolButton from sugar.graphics.icon import Icon from sugar.graphics.xocolor import XoColor +from sugar.graphics import style from jarabe.frame import clipboard from jarabe.frame.clipboardmenu import ClipboardMenu @@ -114,10 +115,10 @@ class ClipboardIcon(RadioToolButton): self._icon.props.icon_name = 'application-octet-stream' child = self.get_child() + child.connect('drag-begin', self._drag_begin_cb) child.drag_source_set(gtk.gdk.BUTTON1_MASK, self._get_targets(), gtk.gdk.ACTION_COPY) - child.drag_source_set_icon_name(self._icon.props.icon_name) if cb_object.get_percent() == 100: self.props.sensitive = True @@ -136,6 +137,14 @@ class ClipboardIcon(RadioToolButton): gtk.CORNER_BOTTOM_LEFT) self._current_percent = cb_object.get_percent() + def _drag_begin_cb(self, widget, context): + # TODO: We should get the pixbuf from the icon, with colors, etc. + icon_theme = gtk.icon_theme_get_default() + pixbuf = icon_theme.load_icon(self._icon.props.icon_name, + style.STANDARD_ICON_SIZE, 0) + context.set_icon_pixbuf(pixbuf, pixbuf.props.width / 2, + pixbuf.props.height / 2) + def _notify_active_cb(self, widget, pspec): if self.props.active: self._put_in_clipboard() |