X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FToolbarBackend.C;h=970829b1aa285dd0f0666597eba8a525ce29b2c1;hb=3ef684e752bb5afdbfdea51d4c3df4afe1461916;hp=eaf6a61dbe66fec6802f7e79557064a402652012;hpb=8c93f63b48a1b15d4f3e163b7305213f2f73879e;p=lyx.git diff --git a/src/ToolbarBackend.C b/src/ToolbarBackend.C index eaf6a61dbe..970829b1aa 100644 --- a/src/ToolbarBackend.C +++ b/src/ToolbarBackend.C @@ -23,10 +23,13 @@ #include "frontends/controllers/ControlMath.h" -using lyx::support::compare_ascii_no_case; -using lyx::support::getVectorFromString; -using lyx::support::libFileSearch; -using lyx::support::subst; + +namespace lyx { + +using support::compare_ascii_no_case; +using support::getVectorFromString; +using support::libFileSearch; +using support::subst; using std::endl; using std::make_pair; @@ -55,7 +58,7 @@ struct keyword_item toolTags[TO_LAST - 1] = { { "separator", TO_SEPARATOR } }; -} // end of anon namespace +} // namespace anon ToolbarBackend::ToolbarBackend() @@ -94,7 +97,7 @@ void ToolbarBackend::read(LyXLex & lex) switch (lex.lex()) { case TO_ADD: if (lex.next(true)) { - string const tooltip = _(lex.getString()); + docstring const tooltip = _(lex.getString()); lex.next(true); string const func_arg = lex.getString(); lyxerr[Debug::PARSER] @@ -183,6 +186,8 @@ void ToolbarBackend::readToolbars(LyXLex & lex) flag = MATH; else if (!compare_ascii_no_case(*cit, "table")) flag = TABLE; + else if (!compare_ascii_no_case(*cit, "review")) + flag = REVIEW; else if (!compare_ascii_no_case(*cit, "top")) flag = TOP; else if (!compare_ascii_no_case(*cit, "bottom")) @@ -204,30 +209,34 @@ void ToolbarBackend::readToolbars(LyXLex & lex) void ToolbarBackend::add(Toolbar & tb, - FuncRequest const & func, string const & tooltip) + FuncRequest const & func, docstring const & tooltip) { tb.items.push_back(make_pair(func, tooltip)); - tb.items.back().first.origin = FuncRequest::UI; + tb.items.back().first.origin = FuncRequest::TOOLBAR; } string const ToolbarBackend::getIcon(FuncRequest const & f) { - using lyx::frontend::find_xpm; + using frontend::find_xpm; string fullname; - if (f.action == LFUN_INSERT_MATH) { - if (!f.argument.empty()) - fullname = find_xpm(f.argument.substr(1)); - } else if (f.action == LFUN_MATH_DELIM) { - fullname = find_xpm(f.argument); - } else { + switch (f.action) { + case LFUN_MATH_INSERT: + if (!f.argument().empty()) + fullname = find_xpm(to_utf8(f.argument()).substr(1)); + break; + case LFUN_MATH_DELIM: + case LFUN_MATH_BIGDELIM: + fullname = find_xpm(to_utf8(f.argument())); + break; + default: string const name = lyxaction.getActionName(f.action); string xpm_name(name); - if (!f.argument.empty()) - xpm_name = subst(name + ' ' + f.argument, ' ', '_'); + if (!f.argument().empty()) + xpm_name = subst(name + ' ' + to_utf8(f.argument()), ' ', '_'); fullname = libFileSearch("images", xpm_name, "xpm"); @@ -245,6 +254,9 @@ string const ToolbarBackend::getIcon(FuncRequest const & f) lyxerr[Debug::GUI] << "Cannot find icon for command \"" << lyxaction.getActionName(f.action) - << '(' << f.argument << ")\"" << endl; + << '(' << to_utf8(f.argument()) << ")\"" << endl; return libFileSearch("images", "unknown", "xpm"); } + + +} // namespace lyx