Re: GtkComboBox design issues



> The behavior you explained seems pretty sane to me.

I also like this behavior, and it's what I'm pushing for in
Evolution's mail composer to/cc/bcc entries.

In particular, I prefer the drop-down list to the old IE style,
because if the user ignores it, it will ignore him back. Unless you
make some move to explicitly activate one of the completions, the
entry behaves exactly like a non-completing entry would. Whereas with
the old IE behavior, the user has to be aware that it will sometimes
fill in text without his having told it to. (In a web browser, this is
merely annoying. In a mailer, having it autocomplete to the wrong
address without the user noticing could be pretty bad.)

> I'd kind of rather it only disappear when there are no
> autocompletes, right now it seems to disappear whenever you press a
> key only to reappear after a short timeout. How does IE6 do that? Do
> the autocompletes disappear on any key press?

I think it should update the list of completions, but do so without
flickering the list. My suggestion for Evolution (from
http://bugzilla.helixcode.com/show_bug.cgi?id=673) was:

  You type stuff. When the list of matches gets shorter than a certain
  length, pop up the list, in some order. If you keep typing, it keeps
  updating the list. If you get to the point where there are no matches,
  the pop-up goes away. If you hit Tab or otherwise move the focus, the
  pop-up goes away. You can hit Return to select the top match, or
  Up/Down + Return to select another match. Or use the mouse. Perhaps
  when there is only one match, the pop-up shows that in the first line
  and "(Press Return to complete this address)" in the second line.
  Perhaps ESC makes the pop-up go away for the duration of the current
  address regardless of how many potential matches there are.

The Return and ESC bindings may not make sense in the general case.
(In the Evolution composer, both keys would normally be meaningless in
this context.) I think having some keys to do those would be good
though, and I don't think the "complete" key should be Tab. (Tab
should behave the same way it would if the widget wasn't
auto-completing: it should move to the next focusable widget, and in
particular should NOT move the focus to the drop-down completion
list.)

> There are some somewhat tricky implementation issues here. It adds a
> second dropdown - there's the normal combo dropdown, and the
> autocompletions dropdown with only the currently-possible completions.

I think the autocompletion thing may be more of a GtkEntry thing than
a GtkComboBox thing. (Using Evolution as an example again, you
obviously don't want to have a combo box with a pop-up menu of
everyone in your addressbook, but once the user starts typing, you do
want to suggest completions.) I think it would be nice to have this
functionality be part of GtkEntry, and have GtkComboBox just make the
appropriate gtk_entry_ calls on its entry to set completion up to work
the way that makes sense for a combo box.

-- Dan




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]