On 06/09/2014 10:03 AM, Andrei Tuicu wrote:
Regarding your questions:
>Personally, I wouldn't care if clicking in Inspector (or MuseScore
>Connect) *did* transfer focus there completely. It's really only the
>toolbars where this definitely should not happen. So that's presumably
>another option.
Yes, it is an option, but Lasconic said that he doesn't want this to
happen.
True, but it's not clear any of had completely thought through the
different possibilities at the time of that discussion - how the
Inspector might different form the toolbars in this respect. This could
well be something you have to implement and play with (or let others
play with) to really get a sense of.
>But you are right that it would be nice to be able to navigate Inspector
>via keyboard even if initially entering it via clicking. Not sure, but I
>*think* this could be made to work. By default, I assume pressing Tab
>would put focus on the first toolbar button, but maybe the code could
>check to see if something else is "active" and instead transfer focus
>there. Andrei?
Here there are two solutions:
One is by default implemented by Qt, everything that has the TabFocus
policy will be added to the tab order. So if I just change the focus
policy for the inspector's elements to TabFocus, when tabbing, when
you get to the end of the toolbar, it will jump directly to the inspector.
The other is the one that we've talked about last week I think. A
shortcut that will change the focus from one subwindow to another so
when I start tabbing, it be limited to the elements of that subwindow
I think it is my turn to not have explained myself clearly :-). I think
I am talking about something different here.
I am talking about what happens if I first click a button in Inspector,
and then press Tab. If you set Inspector's elements to TabFocus, then
clicking an Inspector button won't transfer focus there. That's fine.
But what if the very next thing I do is press Tab? Your current
proposal would presumably to exactly what would have happened if I had
not pressed an Inspector button first - focus will move to the first
toolbar button. That's because at the moment the user presses Tab, the
focus is still in the score subwindow. What I am suggesting is that the
code for Tab could perhaps, if possible, check to see if the user had
"recently" pressed a button (we'll call it "X"), and if so, move focus
to the next button in the tab order ("Y"), *even though focus is not
actually on button X but was actually in the score subwindow). In other
words, if there is a concept of an "active" button, have the Tab key
start focus with the next button after the active button, rather than
the first toolbar.
*In addition* to this, yes, it would nice to have Ctrl+Tab or some other
command move to the next subwindow *once you've already moved focus to a
toolbar or subwindow*. But I'm not talking about what happens after you
transfer focus to the subwindow; I'm talking about what the very first
press of Tab actually does.
BTW, regarding the "in addition" comment - I don't actually to *limit*
tab to only working within the current subwindow. In other words, the
default behavior of Qt is fine - when you reach the end of one
subwindow, move on to the next. That's fine, I think. I just want a
*quicker* way to move to the next subwindow without having to first go
through everything in the current one.
The Windows guidelines for Keyboard UI navigation[0] say the following:
# The TAB key moves the input focus to the next area of an active pane
only if it is not used by any other controls within the window.
# The CTRL+TAB shortcut keys or F6 function key moves the input focus to
the next pane or palette.
# The CTRL+F6 combination moves the input focus to the next window in a
group of related windows or between multiple-document interface (MDI)
windows.
Ah, thanks for the reference. I thought as much regarding Ctrl+Tab, but
that was based more on gut feel & memory of experience than on actually
knowing a specific guideline.
Since CTRL+TAB is used for changing from one tab of score to another,
CTRL+F6 is the next best thing.
As far as I am concerned, Ctrl+Tab should be no different than other
shortcuts here. *If focus is currently in a score tab*, then indeed,
Ctrl+Tab would move to the other. But *if focus is in the toolbar*,
then Ctrl+Tab should move to the Inspector. I guess this is a bit
inconsistent in that it suggests Ctrl+tab should also take you out of
the second score tab and onto the toolbar, and I guess that could be OK
too. In other words, Ctrl+Tab could cycle between ScoreTab1, ScoreTab2,
Toolbar, Inspector, MuseScore Connect, Palette (eventually) and then
back to ScoreTab1. With Shift+Ctrl+Tab moving backwards through that
same cycle. But if the guidelines don't forbid it, I think I'd rather
have two difference cycles. If you start in a score tab, then Ctrl+Tab
just cycles between them. If you start in a Toolbar or other subwindow,
then Ctrl+Tab cycles Toolbar - Inspector - MuseScore Connect. And the
way to move between the two cycles would be Tab - unless the same
guidelines recommend something different.
On the other hand, this might be another area where it makes sense to
implement and play with before deciding.
Marc
------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://www.hpccsystems.com
_______________________________________________
Mscore-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mscore-developer