Re: GtkTreeView column-chooser dialog



On Thu, 2003-03-06 at 18:50, Havoc Pennington wrote:
> What apps will use this? 

Most apps where you have a fair amount of information that you might or
might not want to see.  Besides the obvious example of the mail client,
a music player or an addressbook application will want to have this
feature.  Also Nautilus could allow reordering of the columns in the
list view.

> It seems like
> usually you'd want a thing like this as part of a larger prefs dialog
> or something.

No, normally you have either a "View -> Customize view..." menu, or even
check menu items somewhere in the View menu or a submenu of it.

One of the reasons why the OS X way is nice is that the selection of
what columns to show and the ordering are two separate things.  In some
apps, you are going to want to offer both capabilities, but in other
apps you might just want to allow reordering.

Also, the separation makes for the simplest UIs possible: you pick what
you want to see in a check list, you do the layout by dragging things
around.

> What if the feature were done with right-click menus on the column
> headers?
> 
>    Move Left
>    Move Right
>    Insert Column ->
>          Column Not Currently Showing 1
>          Column Not Currently Showing 2
>    Sort Ascending
>    Sort Descending

Nah, way too clunky.  It might be accessible, but it's annoying and
difficult to use.  Drag and drop is much more intuitive; it "just
works".

> That's accessible, and while somewhat hidden this feature probably
> *should* be somewhat hidden. 

No it should not.  It's a pretty standard feature that users expect from
certain apps.

> You could also do DND as a non-accessible
> shortcut (minus the huge red arrows).

Even if you make the UI dnd-based, nothing prevents you from providing a
fully keyboard accessible way to do the same thing.  Eg. keyboard-based
movement could be triggered by a keyboard combination, then you could
pick a column and move it with the cursor keys.

> This brings up the issue (again) of an API for saving transient state.
> You really kind of need one to make this convenient to use.

Yes.  And it should probably save both the columns and their size (which
is what we do in Evolution).

-- 
Ettore Perazzoli <ettore ximian com>

Attachment: signature.asc
Description: This is a digitally signed message part



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