X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FToolbarBackend.cpp;h=c6f78f61edfd64092842ba87298ff25eea640d8f;hb=6a8b25ba5110a1d4e19206f9f42d3b04312e6728;hp=33084b396dd76bcdb372f9b2dcbe127f8c29d575;hpb=f630be890494c849981e4fb52ea4740506e92bed;p=lyx.git diff --git a/src/ToolbarBackend.cpp b/src/ToolbarBackend.cpp index 33084b396d..c6f78f61ed 100644 --- a/src/ToolbarBackend.cpp +++ b/src/ToolbarBackend.cpp @@ -13,7 +13,7 @@ #include "ToolbarBackend.h" #include "FuncRequest.h" -#include "LyXLex.h" +#include "Lexer.h" #include "debug.h" #include "gettext.h" #include "LyXAction.h" @@ -79,7 +79,7 @@ void ToolbarInfo::add(ToolbarItem const & item) } -ToolbarInfo & ToolbarInfo::read(LyXLex & lex) +ToolbarInfo & ToolbarInfo::read(Lexer & lex) { enum tooltags { TO_COMMAND = 1, @@ -92,7 +92,7 @@ ToolbarInfo & ToolbarInfo::read(LyXLex & lex) TO_ICONPALETTE, TO_LAST }; - + struct keyword_item toolTags[TO_LAST - 1] = { { "end", TO_ENDTOOLBAR }, { "iconpalette", TO_ICONPALETTE }, @@ -165,7 +165,7 @@ ToolbarInfo & ToolbarInfo::read(LyXLex & lex) add(ToolbarItem(ToolbarItem::POPUPMENU, name, label)); } break; - + case TO_ICONPALETTE: if (lex.next(true)) { string const name = lex.getString(); @@ -174,17 +174,20 @@ ToolbarInfo & ToolbarInfo::read(LyXLex & lex) add(ToolbarItem(ToolbarItem::ICONPALETTE, name, label)); } break; - + case TO_LAYOUTS: add(ToolbarItem(ToolbarItem::LAYOUTS, FuncRequest(kb_action(ToolbarItem::LAYOUTS)))); break; - + case TO_TABLEINSERT: - add(ToolbarItem(ToolbarItem::TABLEINSERT, - FuncRequest(kb_action(ToolbarItem::TABLEINSERT)))); + if (lex.next(true)) { + docstring const tooltip = lex.getDocString(); + add(ToolbarItem(ToolbarItem::TABLEINSERT, + FuncRequest(kb_action(ToolbarItem::TABLEINSERT)), tooltip)); + } break; - + case TO_ENDTOOLBAR: quit = true; break; @@ -208,14 +211,14 @@ ToolbarBackend::ToolbarBackend() } -void ToolbarBackend::readToolbars(LyXLex & lex) +void ToolbarBackend::readToolbars(Lexer & lex) { enum tooltags { TO_TOOLBAR = 1, TO_ENDTOOLBARSET, TO_LAST }; - + struct keyword_item toolTags[TO_LAST - 1] = { { "end", TO_ENDTOOLBARSET }, { "toolbar", TO_TOOLBAR } @@ -255,7 +258,7 @@ void ToolbarBackend::readToolbars(LyXLex & lex) } -void ToolbarBackend::readToolbarSettings(LyXLex & lex) +void ToolbarBackend::readToolbarSettings(Lexer & lex) { //consistency check if (compare_ascii_no_case(lex.getString(), "toolbars")) { @@ -325,24 +328,21 @@ void ToolbarBackend::readToolbarSettings(LyXLex & 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