[sugar] control panel review
Tomeu Vizoso
tomeu at tomeuvizoso.net
Wed Jun 4 05:31:51 EDT 2008
On Tue, Jun 3, 2008 at 11:42 PM, Simon Schampijer <simon at schampijer.de> wrote:
> Hi Tomeu,
>
> thanks very much for your detailed review - it was very useful! I am fine
> with most of your comments and changed the code accordingly. I made inline
> comments for the items.
>
> So I would re-base my changes on latest HEAD now and push if you are ok?
Ok with me. In the future, I hope we can land things like this in
small pieces, I think it plays better with the review process. A few
remaining comments:
>> for module in modules:
>> method = getattr(module, 'set_' + key, None)
>> if method:
>> print method.__doc__
>> sys.exit()
>> print _("sugar-control-panel: key=%s not an available option"
>> % key)
>> What if different modules have the same method?
>
> Do we really have this issue? I think/hope we don't have more than one
> module which
> has for example the method set_color.
Yes, I agree that the model structure requires that modules don't have
duplicated methods, but what will happen when someone codes a new
module and strange things happen? Can we make this error more clear?
Maybe keep iterating and displaying a warning if there's another
method with the same name in other module?
>> {'optionname': {'view', 'model', 'button', 'keywords', 'icon'}
>> }
>> In python, would be {'optionname': ['view', 'model', 'button',
>> 'keywords', 'icon'] }
>
> It is a dictionary options with the keys 'optionname' which has the keys
> 'view',
> 'model'...
You meant the values 'view', 'model', ...?
>>> {'optionname': {'view', 'model', 'button', 'keywords', 'icon'} }
File "<stdin>", line 1
{'optionname': {'view', 'model', 'button', 'keywords', 'icon'} }
^
SyntaxError: invalid syntax
>> if tmp in self._options:
>> This means we cannot have one section just with command line support?
>
> Oh we can have one section just with command line support. You do so by
> providing
> only the module and not the view class.
But _get_options() will only setup in self._options options that are
present on a view module, right? Btw, if the function is called
_get_something, it should probably return an array instead of setting
a private member variable.
>> view/aboutme.py
>>
>> class EventIcon(gtk.EventBox):
>> What's the reason of existence of this class?
>
> I could have used a hippo.CanvasIcon but I thought we wanted to get rid of
> hippo code where possible. Maybe we should move it to the toolkit so it can
> be used in other places as well?
What has CanvasIcon to do here? Icon is not enough?
Thanks,
Tomeu
More information about the Sugar
mailing list