[sugar] [PATCH] Add indications for empty journal and empty search results

Eben Eliason eben.eliason
Tue Jun 17 09:18:16 EDT 2008


On Tue, Jun 17, 2008 at 3:36 AM, Tomeu Vizoso <tomeu at tomeuvizoso.net> wrote:
> What about creating the empty_box in a method? We don't really need to
> hold a reference to it in ListView, right? You could then pass the
> string as a parameter to that method, thus avoiding multiple repeated
> instances of translatable strings, that is something quite bad.

We could use a method.  I want to keep the door open to allowing other
changes apart from the string, in the future.  For instance, as the
commit message indicates, the different cases may have buttons with
different icons/actions in the future.  Perhaps I should just make
separate methods for the two states. What do you think?  Perhaps add
another to clear the message and restore the list as well?

> +        # Indicate when the Journal is empty
> +        if len(jobjects) == 0:
> +            self._empty_text.props.text = _('Your Journal is empty')
> +            self._canvas.set_root(self._empty_box)
> +            return
>
> Why it's not enough to set the box in refresh()?

I played with this for quite a while.  As it turns out, refresh never
gets called when the Journal is initialized.  Instead, setting up the
view causes _vadjustment_value_changed_cb to fire, in turn calling
_do_scroll directly and populating the view that way.  Without these
extra lines, the Journal wouldn't actually display the "I'm empty"
message when it is first focused, which is the main reason for that
particular message anyway.

Thanks!

- Eben



More information about the Sugar-devel mailing list