[mythtv] Ticket #7826: allow buttontree to customize individual column widths and layouts
ron at ronfrazier.net
Mon Jan 25 01:29:56 UTC 2010
> It was intentional that column widths were equal because of the nature of
> tree. The values in list 3 (4,5) will appear in list 1 when you've moved
> deep enough, you are also make assumptions about the layout of everyone's
> files or the different filters that may have been applied.
> Lets say you've customised the widths to fit the following file system -
> "TV > Series > Episode Name", a narrow list on the left just big enough to
> accommodate TV, a slightly wider list in the middle for series name and a
> very wide list on the right for the long episode titles. Now lets imagine
> that a user of the resulting theme in fact has the following filesystem -
> "Frederick's Home Videos > Summer holiday in Australia Jun 2004 > Day One
> > The Airport.mpg", they see "Fr.. > Summer Holiday i... > Day One
> If we auto-calculated the width of the list on the basis of it's content
> it _may_ work better, but static sizing of column widths to fit one
> particular dataset isn't workable. Indeed there are places like mythmovies
> where the use of the tree widget are inappropriate and it would have been
> better to use separate, unlinked, lists.
> I'm inclined to close as 'won't fix' for the reasons given, I don't think
> enough thought has been given to tree depths greater than the visible
> number of lists or the unpredictable nature of the content which make
> unequal widths impractical. Feel free to discuss on the -dev list.
I find the unequal sized columns works very well. Can you necessarily
see every character in every column? Perhaps not, depending on what
your tree structure is. Personally, it's fine for me, since my folders
tend to be like "TV Show > Show Name > Season # > [episode #] - Name
That Could Be Really Really Long" (but I know my personal case isn't
the point). I think your example of "Fr.. > Summer Holiday" is
extreme to the absurd. Presumably, in a sane theme design no column
would be as small as 3 characters. In the theme I've customized for
myself, the first 2 columns are about 30 characters, and the third
column is about twice that (and I've also been experimenting with a 2
column layout of about 40 and 80 chars). If 30 characters isn't enough
for you to distinguish the rows apart, I'd suspect you have a very
specific case of overly identical folder names. I don't want to say
nobody would have it, because I'm certain there's someone that could
fit every example, but I think it would be in quite the minority.
Beside that, even if you CAN'T distinguish entries in one of the
smaller columns, it's not necessarily a problem. If you have the case
of where the rightmost column is largest, with 1 or 2 smaller columns
to the left, then as you navigate deeper, you see the full names in
the right column, select the one you want and scroll right. The name
you now selected is moved over to one of the smaller columns. In the
extreme case where you now can't tell one from the others, it's not
necessarily a problem for 2 reasons:
1) You have already picked your entry from that column...you are now
focused on the next level down in the folder hierarchy, and that's
probably where seeing the extra characters is most useful (not for
showing you what you've already chosen).
2) If you'd like to be reminded of which folder you've chosen but
can't tell by looking in the list, there is already the breadcrumb
feature that can be added to the theme to deal with that (and indeed,
I've got that in my personal theme too).
Furthermore, to compensate for the smaller columns, you can also
choose to make the font in those columns smaller (my patch allows full
customization of individual columns...not just widths).
The point for me is, I like to see more info and more screen space
dedicated to the rightmost column because that's where I spend >90% of
the time when I'm in the watch video screen.
As far as the idea you had for automatically adjusting column widths,
I'm not keen on that idea at all. One of my pet peeves is UI design
where elements tend to jump around (which is what you'd get when
columns resize to fit content). I find it very distracting.
More information about the mythtv-dev