diff --git a/mscore/musescore.cpp b/mscore/musescore.cpp index 1a5f2b705094..73dc0b245a96 100644 --- a/mscore/musescore.cpp +++ b/mscore/musescore.cpp @@ -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()) { + menu->setAccessibleName(menu->objectName()); + menu->setAccessibleDescription(Shortcut::getMenuShortcutString(menu)); + } + setCentralWidget(envelope); // load cascading instrument templates diff --git a/mscore/shortcut.cpp b/mscore/shortcut.cpp index e79a1499b7ec..03a04a954c6c 100644 --- a/mscore/shortcut.cpp +++ b/mscore/shortcut.cpp @@ -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 diff --git a/mscore/shortcut.h b/mscore/shortcut.h index 736e6b973e38..8ec72375c7e5 100644 --- a/mscore/shortcut.h +++ b/mscore/shortcut.h @@ -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&);