[sugar] Merging sugar-toolkit changes from tomeu repository

Tomeu Vizoso tomeu
Mon Mar 31 13:18:11 EDT 2008


On Fri, Mar 28, 2008 at 10:55 PM, Marco Pesenti Gritti
<mpgritti at gmail.com> wrote:
> On Fri, Mar 28, 2008 at 9:52 PM, Marco Pesenti Gritti
>  <mpgritti at gmail.com> wrote:
>  > On Fri, Mar 28, 2008 at 8:13 PM, Tomeu Vizoso <tomeu at tomeuvizoso.net> wrote:
>
> >  >  >  +    def set_tooltip(self, tooltip):
>  >  >  >  +        if self._tooltip != tooltip:
>  >  >  >  +            self._tooltip = tooltip
>  >  >  >  +            if tooltip and self.palette is None:
>  >  >  >  +                self.palette = Palette(tooltip)
>  >  >  >  +            elif self.palette:
>  >  >  >  +                self.palette.set_primary_text(tooltip)
>  >  >  >
>  >  >  >  Is the if at the top really necessary? I can't think of use cases
>  >  >  >  where we would be hitting it.
>  >  >  >  Also I'd replace the palette if you set_tooltip and a Palette already exist.
>  >  >
>  >  >  How so?
>  >
>  >  Are you trying to optimize the change tooltip use case there?
>  >
>  >  What about this logic:
>  >
>  >  * palette != None and tooltip == None -> replace the palette
>  >  * palette != None and tooltip != None -> replace primary text
>  >
>  >  (It would require to set tooltip to None on set_palette, but that make sense)
>  >
>  >  The semantic is going to be a bit unclear there in any case and we
>  >  should document it. But if I set_palette(fancy_dialog_like_palette)
>  >  and then set_tooltip, I'd expect a tooltip to appear, not the primary
>  >  text of my fancy palette to be changed.
>
>  Btw it seem like it would be fairly easy to factor out this logic to
>  toolbutton.setup_tooltip()

Looks good?

    def set_tooltip(self, tooltip):
        """ Set a simple palette with just a single label.
        """
        if self.palette is None or self._tooltip is None:
            self.palette = Palette(tooltip)
        elif self.palette is not None:
            self.palette.set_primary_text(tooltip)

        self._tooltip = tooltip

        # Set label, shows up when toolbar overflows
        gtk.ToolButton.set_label(self, tooltip)

Do you think it is worth to put into a toolbutton.setup_tooltip() func?

Thanks,

Tomeu



More information about the Sugar-devel mailing list