[Sugar-devel] [PATCH] Fix for Ticket #1927
James Cameron
quozl at laptop.org
Wed May 5 17:43:14 EDT 2010
On Wed, May 05, 2010 at 08:29:13PM +0530, Anish Mangal wrote:
> It will flash for *atleast* 400 milliseconds. Since the "Run" process
> actually takes some time to execute, it will be colored for that
> duration.
The clear button persists in not flashing when I test it on XO-1.5.
I've dug deeper and found it is probably because self.save() is being
called, which is slow on an XO-1.5 since it is using SD.
The timer_cb() is being called before the screen is updated, and so the
button does not become colour highlighted.
A fix is to reorder the widget signals so that flash_cb() is called
before clearbutton_cb(). See patch below.
> > ... the availability of grab is not obvious.
>
> The correct way to address this would be to fix the sugar gtk theme.
Agreed. I mention it because it is a usability problem with Pippy once
it is patched. I don't mind how you solve it. I don't think it blocks
adoption of your patch.
> > Breaks compatibility with Sugar 0.84. ??"from sugar.graphics.toolbarbox
> > import ToolbarBox" reports "ImportError: No module named toolbarbox".
>
> Fixed. Can you please check again.
Checked, works fine on Sugar 0.84 now.
> > There's also a trivial trailing whitespace warning from git when the
> > patch is applied ... caused by one of the vectors in an SVG.
>
> Can you indicate the line number in the patch where the warning
> occurred. [...]
It no longer occurs, with your latest 863d691.
Here's the change I made to fix the clear button highlight:
--- a/pippy_app.py
+++ b/pippy_app.py
@@ -116,9 +116,9 @@ class PippyActivity(ViewSourceActivity):
clearicon_color.set_from_file("%s/icons/eraser_color.svg" % os.getcwd()
clearbutton = ToolButton(label=_("_Clear"))
clearbutton.set_icon_widget(clearicon_bw)
+ clearbutton.connect('clicked', self.clearbutton_cb)
clearbutton.connect('clicked', self.flash_cb, dict({'bw':clearicon_bw,
'color':clearicon_color}))
- clearbutton.connect('clicked', self.clearbutton_cb)
clearbutton.set_tooltip("Clear")
activity_toolbar.insert(clearbutton, 4)
--
James Cameron
http://quozl.linux.org.au/
More information about the Sugar-devel
mailing list