[sugar] frame redesign
Simon Schampijer
simon at schampijer.de
Wed Mar 19 12:05:46 EDT 2008
Hi Tomeu, Eben,
I went through the last commits until 'Remove activities.defaults, not
used any more'. I will go through the rest as well. Here are my thoughts:
*** Pulse activity icons in the ring during launch
commit 3670fda59103c32fcbe8b28a9f8e77a75ac15d31
pylint:
- src/model/homemodel.py: Unused import dbus (maybe you can remove
that when you fix something in that file)
- 139: Line too long (81/80)
- 198: Line too long (81/80)
_get_color() could be a function since it does not access the actual
object. Probably ok in this case.
W:211:ActivityIcon: Use of "property" on an old style class
W:215:ActivityIcon: Use of "property" on an old style class
Why do we 'wrap' the get_version method here with the property construct?
*** Made background colors of zoom spheres white, for consistency
commit c5b776bcf27b4f6e638fac3658437a3c194e7ddd
- src/view/BuddyIcon.py
- no semicolon
*** Fixed scale and placement of a single icon in the ring
commit ef75cabea665c436fc40cee887462931462d6bbf
- what do the '**' instead of '*' mean ?
*** Store favorite activities in the profile dir.
commit 3b5131e4b16eb5a83278de3787a5b1f4763ae566
- no need to import os.path as well we import os already
*** General Errors
src.view.home.activitiesring:
E: 75:ActivitiesRing.__activity_added_cb: Undefined variable 'info'
- should probably be activity_info
src.view.home.activitieslist
W: 20: Unused import gtk
* General Thoughts
What is the advantage from simplejson over json. The home page says:
simplejson is API compatible with json-py, but is more easily
extensible, has better unicode support, is probably also faster, and is
MIT licensed (json-py is LGPL/GPL). Should we recommend people using
simplejson?
Nice work,
Simon
Marco Pesenti Gritti wrote:
> On Sat, Mar 1, 2008 at 5:32 PM, Tomeu Vizoso <tomeu at tomeuvizoso.net> wrote:
>> > 0ad5327f664e49ce7e32fee4deb307165c5e7732
>> >
>> > + if new_level == ShellModel.ZOOM_MESH:
>> > + self._mesh_button.props.active = True
>> > + elif new_level == ShellModel.ZOOM_FRIENDS:
>> > + self._groups_button.props.active = True
>> > + elif new_level == ShellModel.ZOOM_HOME:
>> > + self._home_button.props.active = True
>> > + elif new_level == ShellModel.ZOOM_ACTIVITY:
>> > + self._activity_button.props.active = True
>> >
>> > I think we should start using the new style gobject properties in new code.
>>
>> You mean 'self._activity_button.active = True' should work? It doesn't
>> work here with 2.14.0.
>
> Hmmm we should take a closer look at this then, i.e. see what is
> supposed to work and if it actually does.
>
>> > There will be conflicts with the Tray vs Toolbar thing in the previous one.
>> >
>> > af16fc5b4c2b15bee68656867355883146f07030
>> > d61258768b33d8bb646c6bdf159ad46bc9059f19
>> >
>> > What problems do you have there? I'll just note that sometimes it's easier
>> > to use toggle buttons then radio, not sure if this is the case.
>>
>> The problem is that shell_model.props.zoom_level is saying
>> ShellModel.ZOOM_ACTIVITY when it is really ShellModel.ZOOM_HOME, so
>> the radio button is wrong at start time.
>>
>> I don't like much how the model stores the zoom level and the view has
>> a setter that does something else when changing levels. Perhaps we
>> should set and get from the model, and the view could listen for a
>> signal and take screenshots, etc.
>
>
> The problem is that part of the zoom logic is handled by the window
> manager, part by sugar. I don't remember the details but I know I was
> not very happy with that logic and that it was buggy in some cases.
>
>
>> + # TODO: setting box_width and hippo.PACK_EXPAND looks like a
>> hack to me.
>> + # Why hippo cannot respect the request size of these controls?
>> +
>> zoom_toolbar = ZoomToolbar(self._shell)
>> - panel.append(hippo.CanvasWidget(widget=zoom_toolbar),
>> hippo.PACK_EXPAND)
>> + panel.append(hippo.CanvasWidget(widget=zoom_toolbar,
>> + box_width=4*style.GRID_CELL_SIZE))
>> zoom_toolbar.show()
>>
>> + activities_tray = ActivitiesTray(self._shell)
>>
>> + panel.append(hippo.CanvasWidget(widget=activities_tray),
>> + hippo.PACK_EXPAND)
>> + activities_tray.show()
>>
>> If I don't set box_width and hippo.PACK_EXPAND, both the toolbar and
>> the tray appear with their minimum sizes (the toolbar shows a drop
>> down arrow and the tray shoes the two arrows). Why is hippo just
>> respecting the minimum size for the widgets and not using all the
>> available space?
>
> Because of this and your note about pack_end below, I think it's
> probably easier to just get rid of hippo in the frame than debugging
> it, since that's on the plan anyway.
>
>> Thanks a lot for the review. I'm about to commit the home view work,
>> can you give it a look as well?
>
> I will.
>
> Marco
> _______________________________________________
> Sugar mailing list
> Sugar at lists.laptop.org
> http://lists.laptop.org/listinfo/sugar
More information about the Sugar
mailing list