← Back to team overview

elementary-dev-community team mailing list archive

Dropping Granite.Widgets.HintedEntry

 

Hi all,

After some discussion in IRC yesterday (and previously) there was a
consensus that we should use GtkEntry's placeholder-text property that
exists in 3.0.
Granite.Widgets.HintedEntry did basically what placeholder-text does, with
the addition of italics, which Dan agreed aren't really helpful/necessary.

Therefore it makes sense to drop HintedEntry entirely from Granite.
However, Granite.Widgets.SearchBar -- the only child of HintedEntry --
should be retained.
This is because it adds a number of useful features the the standard entry:

- 'gtk-find' as primary icon
- 'edit-clear-symbolic' as secondary icon (with fallback)
- intelligently showing/hiding the secondary icon
- click the secondary icon to clear the entry
- new signal and configurable delay when the user has stopped typing --
useful for a search callback

So, it would make sense to keep SearchBar around and simply have it inherit
from HintedEntry, and keep the API exactly the same.

I have done this in a feature-branch here:
https://code.launchpad.net/~aroman/granite/entries-redux

The only really significant thing here is that we're dropping a widget
entirely. If there is support for it, I could add the HintedEntry back in
and simply use the placeholder-text property, and give it a deprecation
warning.

There are no public API changes to SearchBar (or HintedEntry if the above
is implemented)

Oh, and fwiw here's what it would look like to replacate what HintedEntry
does with Gtk.Entry in your code:

search_box = new Gtk.Entry ();
search_box.placeholder_text = _("Search Plugs");

So just one more line.

(Also note the wording -- the "Labeling" section has been added to the HIG.
Please look it over and make any changes that are appropriate:
http://elementaryos.org/docs/human-interface-guidelines/ui-toolkit-elements/search-fields
)

Thanks,
Avi

Follow ups