[sugar] frame redesign

Marco Pesenti Gritti mpgritti at gmail.com
Mon Mar 3 08:39:26 EST 2008


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


More information about the Sugar mailing list