From 1f973517163733881a3dd0e0cc374152df02f694 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=BCrgen=20Spitzm=C3=BCller?= Date: Wed, 24 Feb 2010 14:06:40 +0000 Subject: [PATCH] * Menus.cpp: - add accelerators to the language selector submenu (bug 6558) git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33555 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/qt4/Menus.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/frontends/qt4/Menus.cpp b/src/frontends/qt4/Menus.cpp index 8858030b63..542a384230 100644 --- a/src/frontends/qt4/Menus.cpp +++ b/src/frontends/qt4/Menus.cpp @@ -777,10 +777,21 @@ void MenuDefinition::expandLanguageSelector(Buffer const * buf) MenuItem item(MenuItem::Submenu, qt_("Language|L")); item.setSubmenu(MenuDefinition(qt_("Language"))); + QStringList accelerators; std::set::const_iterator const begin = languages.begin(); for (std::set::const_iterator cit = begin; cit != languages.end(); ++cit) { - MenuItem w(MenuItem::Command, qt_((*cit)->display()), + QString label = qt_((*cit)->display()); + // try to add an accelerator + for (int i = 0; i < label.size(); ++i) { + QString const ch = QString(label[i]); + if (!accelerators.contains(ch, Qt::CaseInsensitive)) { + label = label + toqstr("|") + ch; + accelerators.append(ch); + break; + } + } + MenuItem w(MenuItem::Command, label, FuncRequest(LFUN_LANGUAGE, (*cit)->lang())); item.submenu().addWithStatusCheck(w); } -- 2.39.5