X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FToolbarBackend.cpp;h=a406cb48ab25691453095343bb5f001bdf0874a6;hb=6c977615633e5e132494b9a7fa778588210f9c95;hp=948a5ae9a12305df7cd4636be81872cb95c9ea8d;hpb=574b28db65f6e4ea6afe9c303becf552914d17ab;p=lyx.git diff --git a/src/ToolbarBackend.cpp b/src/ToolbarBackend.cpp index 948a5ae9a1..a406cb48ab 100644 --- a/src/ToolbarBackend.cpp +++ b/src/ToolbarBackend.cpp @@ -14,34 +14,27 @@ #include "ToolbarBackend.h" #include "FuncRequest.h" #include "Lexer.h" -#include "debug.h" -#include "gettext.h" #include "LyXAction.h" #include "support/lstrings.h" +#include "support/debug.h" +#include "support/gettext.h" + #include + #include -#include "frontends/controllers/ControlMath.h" +using namespace std; +using namespace lyx::support; namespace lyx { -using support::compare_ascii_no_case; -using support::getVectorFromString; - -using std::endl; -using std::make_pair; -using std::string; -using std::vector; -using std::find_if; - - namespace { -class ToolbarNamesEqual : public std::unary_function { +class ToolbarNamesEqual +{ public: - ToolbarNamesEqual(string const & name) - : name_(name) {} + ToolbarNamesEqual(string const & name) : name_(name) {} bool operator()(ToolbarInfo const & tbinfo) const { return tbinfo.name == name_; @@ -63,7 +56,7 @@ ToolbarItem::ToolbarItem(Type type, FuncRequest const & func, docstring const & ToolbarItem::ToolbarItem(Type type, string const & name, docstring const & label) - : type_(type), name_(name), label_(label) + : type_(type), label_(label), name_(name) { } @@ -92,7 +85,7 @@ ToolbarInfo & ToolbarInfo::read(Lexer & lex) TO_ICONPALETTE, TO_LAST }; - + struct keyword_item toolTags[TO_LAST - 1] = { { "end", TO_ENDTOOLBAR }, { "iconpalette", TO_ICONPALETTE }, @@ -106,8 +99,8 @@ ToolbarInfo & ToolbarInfo::read(Lexer & lex) //consistency check if (compare_ascii_no_case(lex.getString(), "toolbar")) { - lyxerr << "ToolbarInfo::read: ERROR wrong token:`" - << lex.getString() << '\'' << endl; + LYXERR0("ToolbarInfo::read: ERROR wrong token:`" + << lex.getString() << '\''); } lex.next(true); @@ -118,8 +111,8 @@ ToolbarInfo & ToolbarInfo::read(Lexer & lex) // FIXME what to do here? if (!lex) { - lyxerr << "ToolbarInfo::read: Malformed toolbar " - "description " << lex.getString() << endl; + LYXERR0("ToolbarInfo::read: Malformed toolbar " + "description " << lex.getString()); return *this; } @@ -137,9 +130,8 @@ ToolbarInfo & ToolbarInfo::read(Lexer & lex) docstring const tooltip = translateIfPossible(lex.getDocString()); lex.next(true); string const func_arg = lex.getString(); - LYXERR(Debug::PARSER) - << "ToolbarInfo::read TO_COMMAND func: `" - << func_arg << '\'' << endl; + LYXERR(Debug::PARSER, "ToolbarInfo::read TO_COMMAND func: `" + << func_arg << '\''); FuncRequest func = lyxaction.lookupFunc(func_arg); @@ -149,12 +141,12 @@ ToolbarInfo & ToolbarInfo::read(Lexer & lex) case TO_MINIBUFFER: add(ToolbarItem(ToolbarItem::MINIBUFFER, - FuncRequest(kb_action(ToolbarItem::MINIBUFFER)))); + FuncRequest(FuncCode(ToolbarItem::MINIBUFFER)))); break; case TO_SEPARATOR: add(ToolbarItem(ToolbarItem::SEPARATOR, - FuncRequest(kb_action(ToolbarItem::SEPARATOR)))); + FuncRequest(FuncCode(ToolbarItem::SEPARATOR)))); break; case TO_POPUPMENU: @@ -165,7 +157,7 @@ ToolbarInfo & ToolbarInfo::read(Lexer & lex) add(ToolbarItem(ToolbarItem::POPUPMENU, name, label)); } break; - + case TO_ICONPALETTE: if (lex.next(true)) { string const name = lex.getString(); @@ -174,20 +166,20 @@ ToolbarInfo & ToolbarInfo::read(Lexer & lex) add(ToolbarItem(ToolbarItem::ICONPALETTE, name, label)); } break; - + case TO_LAYOUTS: add(ToolbarItem(ToolbarItem::LAYOUTS, - FuncRequest(kb_action(ToolbarItem::LAYOUTS)))); + FuncRequest(FuncCode(ToolbarItem::LAYOUTS)))); break; - + case TO_TABLEINSERT: if (lex.next(true)) { docstring const tooltip = lex.getDocString(); add(ToolbarItem(ToolbarItem::TABLEINSERT, - FuncRequest(kb_action(ToolbarItem::TABLEINSERT)), tooltip)); + FuncRequest(FuncCode(ToolbarItem::TABLEINSERT)), tooltip)); } break; - + case TO_ENDTOOLBAR: quit = true; break; @@ -208,6 +200,7 @@ ToolbarInfo & ToolbarInfo::read(Lexer & lex) ToolbarBackend::ToolbarBackend() { + fullScreenWindows = 0; } @@ -218,7 +211,7 @@ void ToolbarBackend::readToolbars(Lexer & lex) TO_ENDTOOLBARSET, TO_LAST }; - + struct keyword_item toolTags[TO_LAST - 1] = { { "end", TO_ENDTOOLBARSET }, { "toolbar", TO_TOOLBAR } @@ -226,8 +219,8 @@ void ToolbarBackend::readToolbars(Lexer & lex) //consistency check if (compare_ascii_no_case(lex.getString(), "toolbarset")) { - lyxerr << "ToolbarBackend::readToolbars: ERROR wrong token:`" - << lex.getString() << '\'' << endl; + LYXERR0("ToolbarBackend::readToolbars: ERROR wrong token:`" + << lex.getString() << '\''); } lex.pushTable(toolTags, TO_LAST - 1); @@ -262,8 +255,8 @@ void ToolbarBackend::readToolbarSettings(Lexer & lex) { //consistency check if (compare_ascii_no_case(lex.getString(), "toolbars")) { - lyxerr << "ToolbarBackend::readToolbarSettings: ERROR wrong token:`" - << lex.getString() << '\'' << endl; + LYXERR0("ToolbarBackend::readToolbarSettings: ERROR wrong token:`" + << lex.getString() << '\''); } lex.next(true); @@ -283,8 +276,7 @@ void ToolbarBackend::readToolbarSettings(Lexer & lex) } if (tcit == tend) { - lyxerr << "ToolbarBackend: undefined toolbar " - << name << endl; + LYXERR0("ToolbarBackend: undefined toolbar " << name); return; } @@ -306,6 +298,8 @@ void ToolbarBackend::readToolbarSettings(Lexer & lex) flag = ToolbarInfo::MATH; else if (!compare_ascii_no_case(*cit, "table")) flag = ToolbarInfo::TABLE; + else if (!compare_ascii_no_case(*cit, "mathmacrotemplate")) + flag = ToolbarInfo::MATHMACROTEMPLATE; else if (!compare_ascii_no_case(*cit, "review")) flag = ToolbarInfo::REVIEW; else if (!compare_ascii_no_case(*cit, "top")) @@ -316,9 +310,12 @@ void ToolbarBackend::readToolbarSettings(Lexer & lex) flag = ToolbarInfo::LEFT; else if (!compare_ascii_no_case(*cit, "right")) flag = ToolbarInfo::RIGHT; + else if (!compare_ascii_no_case(*cit, "auto")) + flag = ToolbarInfo::AUTO; else { - lyxerr << "ToolbarBackend::readToolbarSettings: unrecognised token:`" - << *cit << '\'' << endl; + LYXERR(Debug::ANY, + "ToolbarBackend::readToolbarSettings: unrecognised token:`" + << *cit << '\''); } tcit->flags = static_cast(tcit->flags | flag); } @@ -328,24 +325,21 @@ void ToolbarBackend::readToolbarSettings(Lexer & lex) } -ToolbarInfo const & ToolbarBackend::getToolbar(string const & name) const +ToolbarInfo const * ToolbarBackend::getDefinedToolbarInfo(string const & name) const { - Toolbars::const_iterator cit = find_if(toolbars.begin(), toolbars.end(), ToolbarNamesEqual(name)); - if (cit == toolbars.end()) - lyxerr << "No toolbar named " << name << endl; - BOOST_ASSERT(cit != toolbars.end()); - return (*cit); + Toolbars::const_iterator it = find_if(toolbars.begin(), toolbars.end(), ToolbarNamesEqual(name)); + if (it == toolbars.end()) + return 0; + return &(*it); } -ToolbarInfo & ToolbarBackend::getToolbar(string const & name) +ToolbarInfo * ToolbarBackend::getUsedToolbarInfo(string const &name) { - Toolbars::iterator it = find_if(toolbars.begin(), toolbars.end(), ToolbarNamesEqual(name)); - if (it == toolbars.end()) - lyxerr << "No toolbar named " << name << endl; - BOOST_ASSERT(it != toolbars.end()); - return (*it); + Toolbars::iterator it = find_if(usedtoolbars.begin(), usedtoolbars.end(), ToolbarNamesEqual(name)); + if (it == usedtoolbars.end()) + return 0; + return &(*it); } - } // namespace lyx