#include "TocBackend.h"
#include "ToolbarBackend.h"
+#include "frontends/Application.h"
+
#include "support/filetools.h"
#include "support/lstrings.h"
#include "support/convert.h"
} // namespace anon
-// This is the global menu definition
-MenuBackend menubackend;
-
-
MenuItem::MenuItem(Kind kind)
: kind_(kind), optional_(false)
{}
}
-docstring const MenuItem::binding(bool forgui) const
+docstring const MenuItem::binding() const
{
if (kind_ != Command)
return docstring();
}
-bool Menu::searchFunc(FuncRequest & func, stack<docstring> & names)
+bool Menu::searchFunc(FuncRequest & func, stack<docstring> & names) const
{
const_iterator m = begin();
const_iterator m_end = end();
return true;
} else if (m->kind() == MenuItem::Submenu) {
names.push(m->label());
- Menu submenu = menubackend.getMenu(m->submenuname());
+ Menu submenu = theApp()->menuBackend().getMenu(m->submenuname());
if (submenu.searchFunc(func, names))
return true;
else
if ((*fit)->dummy())
continue;
docstring label = from_utf8((*fit)->prettyname());
+ docstring const shortcut = from_utf8((*fit)->shortcut());
switch (kind) {
case MenuItem::ImportFormats:
BOOST_ASSERT(false);
break;
}
- if (!(*fit)->shortcut().empty())
- label += char_type('|') + from_utf8((*fit)->shortcut());
+ // FIXME: if we had proper support for translating the
+ // format names defined in configure.py, there would
+ // not be a need to check whether the shortcut is
+ // correct. If we add it uncondiitonally, it would
+ // create useless warnings on bad shortcuts
+ if (!shortcut.empty() && contains(label, shortcut))
+ label += char_type('|') + shortcut;
if (buf)
tomenu.addWithStatusCheck(MenuItem(MenuItem::Command, label,