void GuiApplication::initGlobalMenu()
{
if (global_menubar_)
- menus().fillMenuBar(global_menubar_, 0);
+ menus().fillMenuBar(global_menubar_, 0, true);
}
theLyXFunc().setLyXView(this);
// Fill up the menu bar.
- guiApp->menus().fillMenuBar(menuBar(), this);
+ guiApp->menus().fillMenuBar(menuBar(), this, true);
setCentralWidget(d.stack_widget_);
}
-void Menus::fillMenuBar(QMenuBar * qmb, GuiView * view)
+void Menus::fillMenuBar(QMenuBar * qmb, GuiView * view, bool initial)
{
- // Clear all menubar contents before filling it.
- qmb->clear();
-
+ if (initial) {
#ifdef Q_WS_MACX
- // setup special mac specific menu item
- d->macxMenuBarInit(view, qmb);
+ // setup special mac specific menu item
+ d->macxMenuBarInit(view, qmb);
#endif
+ } else {
+ // Clear all menubar contents before filling it.
+ qmb->clear();
+ }
LYXERR(Debug::GUI, "populating menu bar" << fromqstr(d->menubar_.name()));
bool searchMenu(FuncRequest const & func,
std::vector<docstring> & names) const;
///
- void fillMenuBar(QMenuBar * qmb, GuiView * view);
+ void fillMenuBar(QMenuBar * qmb, GuiView * view, bool initial = false);
/// \return a top-level submenu given its name.
Menu * menu(QString const & name, GuiView & view);