SwitchCaptions,
/** Commands to separate environments. */
EnvironmentSeparators,
+ /** Commands to separate environments (context menu version). */
+ EnvironmentSeparatorsContext,
/** This is the list of quotation marks available */
SwitchQuotes
};
void expandLanguageSelector(Buffer const * buf);
void expandArguments(BufferView const *, bool switcharg = false);
void expandCaptions(Buffer const * buf, bool switchcap = false);
- void expandEnvironmentSeparators(BufferView const *);
+ void expandEnvironmentSeparators(BufferView const *, bool contextmenu = false);
void expandQuotes(BufferView const *);
///
ItemList items_;
md_captions,
md_switchcaptions,
md_env_separators,
+ md_env_separatorscontext,
md_switchquotes
};
{ "elements", md_elements },
{ "end", md_endmenu },
{ "environmentseparators", md_env_separators },
+ { "environmentseparatorscontext", md_env_separatorscontext },
{ "exportformat", md_exportformat },
{ "exportformats", md_exportformats },
{ "floatinsert", md_floatinsert },
add(MenuItem(MenuItem::EnvironmentSeparators));
break;
+ case md_env_separatorscontext:
+ add(MenuItem(MenuItem::EnvironmentSeparatorsContext));
+ break;
+
case md_switchquotes:
add(MenuItem(MenuItem::SwitchQuotes));
break;
set<string>::const_iterator it = grp.begin();
set<string>::const_iterator end = grp.end();
add(MenuItem(MenuItem::Command, qt_("No Group"),
- FuncRequest(LFUN_SET_GRAPHICS_GROUP)));
+ FuncRequest(LFUN_GRAPHICS_SET_GROUP)));
for (; it != end; ++it) {
addWithStatusCheck(MenuItem(MenuItem::Command, toqstr(*it) + '|',
- FuncRequest(LFUN_SET_GRAPHICS_GROUP, *it)));
+ FuncRequest(LFUN_GRAPHICS_SET_GROUP, *it)));
}
}
if (languages_buffer.size() < 2)
return;
- std::set<Language const *, sortLanguageByName> languages;
+ std::set<Language const *, sortLanguageByName> langs;
std::set<Language const *>::const_iterator const beg =
languages_buffer.begin();
for (std::set<Language const *>::const_iterator cit = beg;
cit != languages_buffer.end(); ++cit) {
- languages.insert(*cit);
+ langs.insert(*cit);
}
MenuItem item(MenuItem::Submenu, qt_("Language|L"));
QStringList accelerators;
if (morelangs.contains('|'))
accelerators.append(morelangs.section('|', -1));
- std::set<Language const *, sortLanguageByName>::const_iterator const begin = languages.begin();
+ std::set<Language const *, sortLanguageByName>::const_iterator const begin = langs.begin();
for (std::set<Language const *, sortLanguageByName>::const_iterator cit = begin;
- cit != languages.end(); ++cit) {
+ cit != langs.end(); ++cit) {
QString label = qt_((*cit)->display());
// try to add an accelerator
bool success = false;
add(MenuItem(MenuItem::Command, toqstr(lbl), FuncRequest(action)));
continue;
}
- // fall through
+ break;
case MenuItem::ExportFormats:
if (!f->inExportMenu())
continue;
for (int ii = 1; cit != end; ++cit, ++ii) {
docstring label = cit->second;
- CitationStyle cs = citeStyleList[ii - 1];
- cs.forceUpperCase &= force;
- cs.hasStarredVersion &= star;
+ CitationStyle ccs = citeStyleList[ii - 1];
+ ccs.forceUpperCase &= force;
+ ccs.hasStarredVersion &= star;
addWithStatusCheck(MenuItem(MenuItem::Command, toqstr(label),
FuncRequest(LFUN_INSET_MODIFY,
- "changetype " + from_utf8(citationStyleToString(cs)))));
+ "changetype " + from_utf8(citationStyleToString(ccs)))));
}
if (cs.hasStarredVersion) {
if (amps > 0) {
if (amps > 1)
starred = subst(starred, from_ascii("&&"), from_ascii("<:amp:>"));
- size_t n = starred.find('&');
+ size_t nn = starred.find('&');
char_type accel = char_type();
- if (n != docstring::npos && n < starred.size() - 1)
- accel = starred[n + 1];
+ if (nn != docstring::npos && nn < starred.size() - 1)
+ accel = starred[nn + 1];
starred = subst(starred, from_ascii("&"), from_ascii(""));
if (amps > 1)
starred = subst(starred, from_ascii("<:amp:>"), from_ascii("&&"));
}
-void MenuDefinition::expandEnvironmentSeparators(BufferView const * bv)
+void MenuDefinition::expandEnvironmentSeparators(BufferView const * bv,
+ bool contextmenu)
{
if (!bv)
return;
break;
}
if (par.layout().isEnvironment()) {
- docstring label = bformat(_("Prepend New Environment (%1$s)"),
- translateIfPossible(curlayout));
+ docstring label = contextmenu ?
+ bformat(_("Insert Separated %1$s Above"),
+ translateIfPossible(curlayout)) :
+ bformat(_("Separated %1$s Above"),
+ translateIfPossible(curlayout));
add(MenuItem(MenuItem::Command, toqstr(label),
FuncRequest(LFUN_ENVIRONMENT_SPLIT,
from_ascii("before"))));
- label = bformat(_("Append New Environment (%1$s)"),
- translateIfPossible(curlayout));
- add(MenuItem(MenuItem::Command, toqstr(label),
- FuncRequest(LFUN_ENVIRONMENT_SPLIT)));
+ label = contextmenu ?
+ bformat(_("Insert Separated %1$s Below"),
+ translateIfPossible(curlayout)):
+ bformat(_("Separated %1$s Below"),
+ translateIfPossible(curlayout));
+ // We use command-alternatives here since this is how the binding is defined
+ // (otherwise, the binding is not displayed in the menu)
+ if (getStatus(FuncRequest(LFUN_ENVIRONMENT_SPLIT)).enabled())
+ add(MenuItem(MenuItem::Command, toqstr(label),
+ FuncRequest(LFUN_COMMAND_ALTERNATIVES,
+ from_ascii("environment-split ; environment-split previous"))));
}
else if (!prevlayout.empty()) {
- docstring const label =
- bformat(_("Append New Environment (%1$s)"),
+ docstring const label = contextmenu ?
+ bformat(_("Insert Separated %1$s Below"),
+ translateIfPossible(prevlayout)) :
+ bformat(_("Separated %1$s Below"),
translateIfPossible(prevlayout));
- add(MenuItem(MenuItem::Command, toqstr(label),
- FuncRequest(LFUN_ENVIRONMENT_SPLIT,
- from_ascii("previous"))));
+ // We use command-alternatives here since this is how the binding is defined
+ // (otherwise, the binding is not displayed in the menu)
+ if (getStatus(FuncRequest(LFUN_ENVIRONMENT_SPLIT)).enabled())
+ add(MenuItem(MenuItem::Command, toqstr(label),
+ FuncRequest(LFUN_COMMAND_ALTERNATIVES,
+ from_ascii("environment-split ; environment-split previous"))));
}
if (!outerlayout.empty()) {
- docstring const label =
- bformat(_("Append New Parent Environment (%1$s)"),
- translateIfPossible(outerlayout));
+ docstring label;
+ if (contextmenu) {
+ label = (outerlayout == curlayout) ?
+ bformat(_("Insert Separated Outer %1$s Below"),
+ translateIfPossible(outerlayout)) :
+ bformat(_("Insert Separated %1$s Below"),
+ translateIfPossible(outerlayout));
+ } else {
+ label = (outerlayout == curlayout) ?
+ bformat(_("Separated Outer %1$s Below"),
+ translateIfPossible(outerlayout)) :
+ bformat(_("Separated %1$s Below"),
+ translateIfPossible(outerlayout));
+ }
add(MenuItem(MenuItem::Command, toqstr(label),
FuncRequest(LFUN_ENVIRONMENT_SPLIT,
from_ascii("outer"))));
tomenu.expandEnvironmentSeparators(bv);
break;
+ case MenuItem::EnvironmentSeparatorsContext:
+ tomenu.expandEnvironmentSeparators(bv, true);
+ break;
+
case MenuItem::SwitchQuotes:
tomenu.expandQuotes(bv);
break;
continue;
}
- Menu * menu = new Menu(view, m->submenuname(), true);
- menu->setTitle(label(*m));
+ Menu * menuptr = new Menu(view, m->submenuname(), true);
+ menuptr->setTitle(label(*m));
#if defined(Q_OS_MAC) && (defined(QT_MAC_USE_COCOA) || (QT_VERSION >= 0x050000))
// On Mac OS with QT/cocoa, the menu is not displayed if there is no action
// so we create a temporary one here
- QAction * action = new QAction(menu);
- menu->addAction(action);
+ QAction * action = new QAction(menuptr);
+ menuptr->addAction(action);
#endif
- qmb->addMenu(menu);
+ qmb->addMenu(menuptr);
- d->name_map_[view][name] = menu;
+ d->name_map_[view][name] = menuptr;
}
}