[mythtv] [mythtv-commits] mythtv/master commit: 0e84bfed2 by Michael T. Dean (sphery)
Michael T. Dean
mtdean at thirdcontact.com
Sat Sep 17 22:32:09 UTC 2011
On 09/17/2011 05:27 PM, George Nassas wrote:
> On 2011-09-16, at 3:41 PM, Robert McNamara wrote:
>
>> For the record, we're not taking a vote
>
> Still, it's odd that it took nine days before someone even obliquely
> admitted that the blunder was intentional. Hmph.
Well, somebody has been busy with real life and knew he wouldn't have
time to have this argument--again. And, in truth, all the complaining
on the list about a topic that's been discussed to death has really
sapped any motivation I would have had to work on MythTV in the short
term, anyway.
I still don't have time for an argument, so I'll quickly rehash what
reasons I can think of now for this change. Feel free to search the
lists for all the other arguments in all the other threads from the past.
a) Hard-coding a mapping of LEFT=BACK and RIGHT=SELECT into the code
ignores the flexibility of UI creation in MythUI. This is why arrow key
acceleration doesn't work in Terra and any other horizontally-arranged
themes. This means that different themes will work
differently--regardless of user key mappings--due to different layouts.
b) The partial support we had for arrow key acceleration meant that
LEFT/RIGHT worked in some places and not in others--even to the extent
that it worked for only some controls in some dialogs.***
c) Even if we try to query the dialog or menu to determine whether it's
using a horizontal or vertical layout (and then use LEFT/RIGHT or
UP/DOWN--whichever doesn't move to the next item--as substitutes for
BACK/SELECT), this means that we can't have any arrow-key acceleration
in themes that use grid layouts.
d) This matches the approach we're using in the rest of the UI, where
we're undoing hard-coded "accelerator" bindings and requiring users to
manually bind keys to appropriate actions. For example, the use of
number keys to quickly access various actions is being removed.
e) Many, many more reasons that I can't think of right now why Arrow-key
accelerator functionality was /already/ removed from the rest of
MythTV. (Note that this change only removes the last vestiges of the
functionality--things that were left in place, likely because no one
else wanted to have this argument, again.)
(Please) See, also, all the (many) threads going back to the 0.21-0.22
development time for more posts where these issues were discussed and
the many proposed solutions were found to be insufficient (which is why
most of the arrow-key acceleration had already been removed).
So, if you really want it back, feel free to write code to add support
for QtScript scripting into mythui themes. Then, if after testing the
code, we're convinced that the implementation has more benefits (my
thumb doesn't have to move as much) than disadvantages (navigation and
crontrol of different themes work differently depending on the theme
designer's whims, and regardless of the user's defined key mappings), we
can include the capability that will allow themers to create advanced UI
controls. (And, really, even if the QtScript support doesn't get used
to allow themers to control navigation, it will still be useful for
other things, such as animations and even advanced, custom EPG layouts.)
I'll admit that the OSD menu is not ideal, now, because we're not using
a screen stack for the OSD, like we do in the rest of MythTV, so when we
pop up a "sub-menu" and you hit BACK, the entire OSD is
dismissed--rather than the most recent item in the stack. Therefore, I
will be converting the OSD to use a screen stack, which will allow
normal SELECT/BACK navigation--the same as we use in all the rest of
MythTV. Once complete, you will be able to enter a sub-menu with SELECT
(as you can now), but you will also be able to dismiss /only/ that
sub-menu with BACK (rather than dismissing the entire OSD--including the
sub-menu, the menu, and any other OSD containers on screen, such as
INFO, etc.). In other words, the changes in master are not done--it's
unstable and in development. :) That said, I'll be extremely busy with
work for the next 5 weeks, so won't have it complete for at least 4
weeks--assuming what little free time I'll have is spent working on
MythTV code and not arguing on the list.
Mike
*** This was the most annoying part for me, recently--and the reason I
finally pushed this change. I have actually always enabled the
Arrow-key accelerators setting ever since I began using MythTV, and I
felt it was generally useful. However, lately, I will bring up dialogs
and try to use LEFT/RIGHT, only to find they won't work in this dialog
or on this item, only to have to then use SELECT or BACK (meaning I've
now spent >2x the time, and hit 2x the keys to perform an action). The
fact that I--a MythTV developer, and frequent MythTV user--can't
remember where LEFT/RIGHT work and where they don't work as a
replacement for SELECT/BACK says to me that the UX is broken. We need
consistency, and since there's currently no other plan that will give us
consistency across the entire UI and across all themes (regardless of
layout), we're starting, here, with a consistent lack of any kind of
support for it.
More information about the mythtv-dev
mailing list