Skip to content

Commit

Permalink
The screen-reader will now also tell the menu's default shorcut keys,
Browse files Browse the repository at this point in the history
when it is selected.

For example instead of "File" it will now say "File Alt+F".
  • Loading branch information
andreituicu committed Aug 17, 2014
1 parent 24700da commit 7365cbd
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 0 deletions.
9 changes: 9 additions & 0 deletions mscore/musescore.cpp
Expand Up @@ -812,6 +812,7 @@ MuseScore::MuseScore()
// Menu Edit
//---------------------


menuEdit = mb->addMenu(tr("&Edit"));
menuEdit->setObjectName("Edit");
menuEdit->addAction(getAction("undo"));
Expand All @@ -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"));
Expand Down Expand Up @@ -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);
Expand All @@ -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
Expand Down
12 changes: 12 additions & 0 deletions mscore/shortcut.cpp
Expand Up @@ -243,8 +243,10 @@ QAction* Shortcut::action() const
s += ")";
_action->setToolTip(s);
}

if (_icon != Icons::Invalid_ICON)
_action->setIcon(*icons[int(_icon)]);

return _action;
}

Expand Down Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions mscore/shortcut.h
Expand Up @@ -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&);

Expand Down

0 comments on commit 7365cbd

Please sign in to comment.