X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FMenus.cpp;h=8de4f83257d98e75c7508b816216b44b04262085;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=2e380722ed7c60a8078e0067403a9d305d2d20df;hpb=722d8c757b27e9ee64c2d7a8f087b1f0ab1c068c;p=lyx.git diff --git a/src/frontends/qt4/Menus.cpp b/src/frontends/qt4/Menus.cpp index 2e380722ed..8de4f83257 100644 --- a/src/frontends/qt4/Menus.cpp +++ b/src/frontends/qt4/Menus.cpp @@ -741,6 +741,16 @@ void MenuDefinition::expandSpellingSuggestions(BufferView const * bv) } if (i >= 10) add(item); + if (i > 0) + add(MenuItem(MenuItem::Separator)); + docstring arg = wl.word() + " " + from_ascii(wl.lang_code()); + if (!wl.lang_variety().empty()) + arg += from_ascii("-") + from_ascii(wl.lang_variety()); + add(MenuItem(MenuItem::Command, qt_("Add to personal dictionary|c"), + FuncRequest(LFUN_SPELLING_ADD, arg))); + add(MenuItem(MenuItem::Command, qt_("Ignore all|I"), + FuncRequest(LFUN_SPELLING_IGNORE, arg))); + } @@ -781,7 +791,8 @@ void MenuDefinition::expandDocuments() QString label = toqstr(b->fileName().displayName(20)); if (!b->isClean()) label += "*"; - bool const shown = guiApp->currentView()->workArea(*b); + bool const shown = guiApp->currentView() + ? guiApp->currentView()->workArea(*b) : false; int ii = shown ? vis : invis; if (ii < 10) label = QString::number(ii) + ". " + label + '|' + QString::number(ii); @@ -851,6 +862,17 @@ void MenuDefinition::expandFormats(MenuItem::Kind kind, Buffer const * buf) } sort(formats.begin(), formats.end(), &compareFormat); + bool const view_update = (kind == MenuItem::ViewFormats + || kind == MenuItem::UpdateFormats); + + QString smenue; + if (view_update) + smenue = (kind == MenuItem::ViewFormats ? + qt_("View (Other Formats)|F") + : qt_("Update (Other Formats)|p")); + MenuItem item(MenuItem::Submenu, smenue); + item.setSubmenu(MenuDefinition(smenue)); + Formats::const_iterator fit = formats.begin(); Formats::const_iterator end = formats.end(); for (; fit != end ; ++fit) { @@ -878,8 +900,15 @@ void MenuDefinition::expandFormats(MenuItem::Kind kind, Buffer const * buf) break; case MenuItem::ViewFormats: case MenuItem::UpdateFormats: - if ((*fit)->name() == buf->getDefaultOutputFormat()) + if ((*fit)->name() == buf->getDefaultOutputFormat()) { + docstring lbl = (kind == MenuItem::ViewFormats ? + bformat(_("View [%1$s]|V"), qstring_to_ucs4(label)) + : bformat(_("Update [%1$s]|U"), qstring_to_ucs4(label))); + MenuItem w(MenuItem::Command, toqstr(lbl), + FuncRequest(action, (*fit)->name())); + add(w); continue; + } case MenuItem::ExportFormats: if (!(*fit)->documentFormat()) continue; @@ -891,13 +920,24 @@ void MenuDefinition::expandFormats(MenuItem::Kind kind, Buffer const * buf) if (!shortcut.isEmpty()) label += '|' + shortcut; - if (buf) - addWithStatusCheck(MenuItem(MenuItem::Command, label, - FuncRequest(action, (*fit)->name()))); - else - add(MenuItem(MenuItem::Command, label, - FuncRequest(action, (*fit)->name()))); + if (view_update) { + if (buf) + item.submenu().addWithStatusCheck(MenuItem(MenuItem::Command, label, + FuncRequest(action, (*fit)->name()))); + else + item.submenu().add(MenuItem(MenuItem::Command, label, + FuncRequest(action, (*fit)->name()))); + } else { + if (buf) + addWithStatusCheck(MenuItem(MenuItem::Command, label, + FuncRequest(action, (*fit)->name()))); + else + add(MenuItem(MenuItem::Command, label, + FuncRequest(action, (*fit)->name()))); + } } + if (view_update) + add(item); } @@ -1241,12 +1281,12 @@ void MenuDefinition::expandIndicesContext(Buffer const * buf, bool listof) p["type"] = cit->shortcut(); string const data = InsetCommand::params2string("index_print", p); addWithStatusCheck(MenuItem(MenuItem::Command, toqstr(cit->index()), - FuncRequest(LFUN_NEXT_INSET_MODIFY, data))); + FuncRequest(LFUN_INSET_MODIFY, data))); } else { docstring label = _("Index Entry"); label += " (" + cit->index() + ")"; addWithStatusCheck(MenuItem(MenuItem::Command, toqstr(label), - FuncRequest(LFUN_NEXT_INSET_MODIFY, + FuncRequest(LFUN_INSET_MODIFY, from_ascii("changetype ") + cit->shortcut()))); } } @@ -1287,7 +1327,7 @@ void MenuDefinition::expandCiteStyles(BufferView const * bv) CiteStyle cst = citeStyleList[ii - 1]; cs.style = cst; addWithStatusCheck(MenuItem(MenuItem::Command, toqstr(label), - FuncRequest(LFUN_NEXT_INSET_MODIFY, + FuncRequest(LFUN_INSET_MODIFY, "changetype " + from_utf8(citationStyleToString(cs))))); } } @@ -1821,9 +1861,6 @@ void Menus::updateMenu(Menu * qmenu) if (qmenu->d->name.isEmpty()) return; - // Here, We make sure that theLyXFunc points to the correct LyXView. - theLyXFunc().setLyXView(qmenu->d->view); - if (!d->hasMenu(qmenu->d->name)) { qmenu->addAction(qt_("No Action Defined!")); LYXERR(Debug::GUI, "\tWARNING: non existing menu: "