Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEben Eliason <eben@sugar.(none)>2008-10-18 21:34:18 (GMT)
committer Eben Eliason <eben@sugar.(none)>2008-10-18 21:34:18 (GMT)
commitf9cab470200731f826dfe849c3715991bf6ef879 (patch)
tree3993889c55fc9c11a926e103b55c47fe6d4ca461 /src
parentb2f9aaf44396b5ce1243b612b2efdf14c919df39 (diff)
Size and position clippings correctly when dragged.
Diffstat (limited to 'src')
-rw-r--r--src/jarabe/frame/clipboardicon.py11
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()