The screen-reader will now also tell the menu's default shorcut keys,

when it is selected.

For example instead of "File" it will now say "File Alt+F".
This commit is contained in:
Andrei Tuicu 2014-04-29 18:30:14 +03:00
parent 24700da2b9
commit 7365cbd736
3 changed files with 23 additions and 0 deletions

View file

@ -812,6 +812,7 @@ MuseScore::MuseScore()
// Menu Edit
//---------------------
menuEdit = mb->addMenu(tr("&Edit"));
menuEdit->setObjectName("Edit");
menuEdit->addAction(getAction("undo"));
@ -837,6 +838,7 @@ MuseScore::MuseScore()
menuMeasure->addAction(getAction("join-measure"));
menuEdit->addMenu(menuMeasure);
menuEdit->addSeparator();
QMenu* menuVoices = new QMenu(tr("&Voices"));
menuVoices->addAction(getAction("voice-x12"));
@ -1084,6 +1086,7 @@ MuseScore::MuseScore()
menuHelp->addSeparator();
QAction *aboutAction = new QAction(tr("&About"), 0);
aboutAction->setMenuRole(QAction::AboutRole);
connect(aboutAction, SIGNAL(triggered()), this, SLOT(about()));
menuHelp->addAction(aboutAction);
@ -1110,6 +1113,12 @@ MuseScore::MuseScore()
menuHelp->addSeparator();
menuHelp->addAction(getAction("resource-manager"));
//accessibility for menus
foreach (QMenu* menu, mb->findChildren<QMenu*>()) {
menu->setAccessibleName(menu->objectName());
menu->setAccessibleDescription(Shortcut::getMenuShortcutString(menu));
}
setCentralWidget(envelope);
// load cascading instrument templates

View file

@ -243,8 +243,10 @@ QAction* Shortcut::action() const
s += ")";
_action->setToolTip(s);
}
if (_icon != Icons::Invalid_ICON)
_action->setIcon(*icons[int(_icon)]);
return _action;
}
@ -275,6 +277,16 @@ QString Shortcut::keysToString() const
return s;
}
//---------------------------------------------------------
// getMenuShortcutString
//---------------------------------------------------------
QString Shortcut::getMenuShortcutString(const QMenu *menu)
{
int shortcutKeyPosition = menu->title().indexOf('&') + 1;
return QString("Alt+") + menu->title().at(shortcutKeyPosition);
}
//---------------------------------------------------------
// compareKeys
// return true if keys are equal

View file

@ -173,6 +173,8 @@ class Shortcut {
bool compareKeys(const Shortcut&) const;
QString keysToString() const;
static QString getMenuShortcutString(const QMenu* menu);
void write(Ms::Xml&) const;
void read(Ms::XmlReader&);