X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FToolbarBackend.C;h=baa2ddfbcdfaf57865410b8aaaf1f53a02978fb4;hb=d9e6e32961860821ecc047039ae6c1a9dcc6e35d;hp=8d91fca37647ff2857e27d577960b9d440763f4c;hpb=2994fe551121614948dcb68d6f4953ee3bbb694d;p=lyx.git diff --git a/src/ToolbarBackend.C b/src/ToolbarBackend.C index 8d91fca376..baa2ddfbcd 100644 --- a/src/ToolbarBackend.C +++ b/src/ToolbarBackend.C @@ -30,7 +30,7 @@ using lyx::support::subst; using std::endl; using std::make_pair; - +using std::string; using std::vector; @@ -75,6 +75,13 @@ void ToolbarBackend::read(LyXLex & lex) Toolbar tb; tb.name = lex.getString(); + lex.next(true); + if (!lex.isOK()) { + lyxerr << "ToolbarBackend::read: Malformed toolbar " + "description " << lex.getString() << endl; + return; + } + tb.gui_name = lex.getString(); bool quit = false; @@ -93,26 +100,10 @@ void ToolbarBackend::read(LyXLex & lex) lyxerr[Debug::PARSER] << "ToolbarBackend::read TO_ADD func: `" << func_arg << '\'' << endl; - // Split func_arg in function and arg. - string::size_type sp = func_arg.find(' '); - if (sp != string::npos) { - - string const func = - func_arg.substr(0, sp); - string const arg = - func_arg.substr(sp + 1, - string::npos); - - kb_action const tf = - lyxaction.LookupFunc(func); - - add(tb, FuncRequest(tf, arg), tooltip); - } else { - kb_action const tf = lyxaction.LookupFunc(func_arg); - add(tb, FuncRequest(tf), tooltip); - - } + FuncRequest func = + lyxaction.lookupFunc(func_arg); + add(tb, func, tooltip); } break; @@ -216,11 +207,14 @@ void ToolbarBackend::add(Toolbar & tb, FuncRequest const & func, string const & tooltip) { tb.items.push_back(make_pair(func, tooltip)); + tb.items.back().first.origin = FuncRequest::UI; } string const ToolbarBackend::getIcon(FuncRequest const & f) { + using lyx::frontend::find_xpm; + string fullname; if (f.action == LFUN_INSERT_MATH) {