#include "support/gettext.h"
#include "support/lstrings.h"
-#include <boost/bind.hpp>
-
#include <algorithm>
using namespace std;
//
/////////////////////////////////////////////////////////////////////////
-ToolbarItem::ToolbarItem(Type type, FuncRequest const & func, docstring const & label)
- : type_(type), func_(func), label_(label)
+ToolbarItem::ToolbarItem(Type type, FuncRequest const & func,
+ docstring const & label)
+ : type_(type), func_(make_shared<FuncRequest>(func)), label_(label)
{
}
-ToolbarItem::ToolbarItem(Type type, string const & name, docstring const & label)
- : type_(type), label_(label), name_(name)
+ToolbarItem::ToolbarItem(Type type, string const & name,
+ docstring const & label)
+ : type_(type), func_(make_shared<FuncRequest>()), label_(label), name_(name)
{
}
void ToolbarInfo::add(ToolbarItem const & item)
{
items.push_back(item);
- items.back().func_.origin = FuncRequest::TOOLBAR;
+ items.back().func_->setOrigin(FuncRequest::TOOLBAR);
}
TO_EXPORTFORMATS,
TO_IMPORTFORMATS,
TO_UPDATEFORMATS,
- TO_VIEWFORMATS,
+ TO_VIEWFORMATS
};
struct LexerKeyword toolTags[] = {
case TO_IMPORTFORMATS:
case TO_UPDATEFORMATS:
case TO_VIEWFORMATS: {
- vector<Format const *> formats = (code == TO_IMPORTFORMATS) ?
- theConverters().importableFormats() :
- theConverters().exportableFormats(code != TO_EXPORTFORMATS);
+ FormatList formats;
+ if (code == TO_IMPORTFORMATS)
+ formats = theConverters().importableFormats();
+ else if (code == TO_EXPORTFORMATS)
+ formats = theConverters().exportableFormats(false);
+ else
+ formats = theConverters().exportableFormats(true);
sort(formats.begin(), formats.end());
- vector<Format const *>::const_iterator fit = formats.begin();
- vector<Format const *>::const_iterator end = formats.end();
- for (; fit != end ; ++fit) {
- if ((*fit)->dummy())
+ for (Format const * f : formats) {
+ if (f->dummy())
continue;
if (code != TO_IMPORTFORMATS &&
- !(*fit)->documentFormat())
+ !f->documentFormat())
continue;
- docstring const prettyname =
- from_utf8((*fit)->prettyname());
+ docstring const prettyname = f->prettyname();
docstring tooltip;
FuncCode lfun = LFUN_NOACTION;
switch (code) {
break;
case TO_IMPORTFORMATS:
lfun = LFUN_BUFFER_IMPORT;
- tooltip = _("Import %1$s ...");
+ tooltip = _("Import %1$s");
break;
case TO_UPDATEFORMATS:
lfun = LFUN_BUFFER_UPDATE;
tooltip = _("View %1$s");
break;
}
- FuncRequest func(lfun, (*fit)->name(),
+ FuncRequest func(lfun, f->name(),
FuncRequest::TOOLBAR);
add(ToolbarItem(ToolbarItem::COMMAND, func,
- bformat(tooltip, prettyname)));
+ bformat(tooltip, translateIfPossible(prettyname))));
}
break;
}
{
enum {
TO_TOOLBAR = 1,
- TO_ENDTOOLBARSET,
+ TO_ENDTOOLBARSET
};
struct LexerKeyword toolTags[] = {
flag = MATHMACROTEMPLATE;
else if (!compare_ascii_no_case(*cit, "review"))
flag = REVIEW;
+ else if (!compare_ascii_no_case(*cit, "minibuffer"))
+ flag = MINIBUFFER;
else if (!compare_ascii_no_case(*cit, "top"))
flag = TOP;
else if (!compare_ascii_no_case(*cit, "bottom"))
flag = RIGHT;
else if (!compare_ascii_no_case(*cit, "auto"))
flag = AUTO;
+ else if (!compare_ascii_no_case(*cit, "samerow"))
+ flag = SAMEROW;
+ else if (!compare_ascii_no_case(*cit, "ipa"))
+ flag = IPA;
else {
LYXERR(Debug::ANY,
"Toolbars::readToolbarSettings: unrecognised token:`"
}
toolbar_visibility_[name] = visibility;
- if (visibility >= MATH) {
+ if (visibility & ALLOWAUTO) {
if (ToolbarInfo const * ti = info(name))
const_cast<ToolbarInfo *>(ti)->gui_name +=
" (" + _("auto") + ")";