X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetCommand.cpp;h=6ade744ed93c431da1d5f1a4cd1edb9eeec4b7f8;hb=2c357c1d23b7b83839a9beb8225d4f1ae4f793b4;hp=f50d33c124e6d1ed806fb36482a58fc782c5fbec;hpb=0787ade6c07edda44559352ce2080e6f27fd15a7;p=lyx.git diff --git a/src/insets/InsetCommand.cpp b/src/insets/InsetCommand.cpp index f50d33c124..6ade744ed9 100644 --- a/src/insets/InsetCommand.cpp +++ b/src/insets/InsetCommand.cpp @@ -18,20 +18,19 @@ #include "DispatchResult.h" #include "FuncRequest.h" #include "FuncStatus.h" -#include "gettext.h" +#include "support/gettext.h" #include "Lexer.h" #include "MetricsInfo.h" #include +using namespace std; namespace lyx { -using std::string; -using std::istringstream; -using std::ostringstream; - +// FIXME Would it now be possible to use the InsetCode in +// place of the mailer name and recover that information? InsetCommand::InsetCommand(InsetCommandParams const & p, string const & mailer_name) : p_(p), @@ -112,7 +111,7 @@ void InsetCommand::doDispatch(Cursor & cur, FuncRequest & cmd) break; case LFUN_INSET_MODIFY: { - InsetCommandParams p(p_.getCmdName()); + InsetCommandParams p(p_.code()); InsetCommandMailer::string2params(mailer_name_, to_utf8(cmd.argument()), p); if (p.getCmdName().empty()) cur.noUpdate(); @@ -161,22 +160,15 @@ bool InsetCommand::getStatus(Cursor & cur, FuncRequest const & cmd, } -void InsetCommand::edit(Cursor & cur, bool) +void InsetCommand::edit(Cursor & cur, bool, EntryDirection) { if (!mailer_name_.empty()) InsetCommandMailer(mailer_name_, *this).showDialog(&cur.bv()); } -void InsetCommand::replaceContents(std::string const & from, string const & to) -{ - if (getContents() == from) - setContents(to); -} - - -InsetCommandMailer::InsetCommandMailer(string const & name, - InsetCommand & inset) +InsetCommandMailer::InsetCommandMailer( + string const & name, InsetCommand & inset) : name_(name), inset_(inset) {} @@ -187,13 +179,13 @@ string const InsetCommandMailer::inset2string(Buffer const &) const } -void InsetCommandMailer::string2params(string const & name, - string const & in, - InsetCommandParams & params) +//FIXME This could take an InsetCode instead of a string +bool InsetCommandMailer::string2params( + string const & name, string const & in, InsetCommandParams & params) { params.clear(); if (in.empty()) - return; + return false; istringstream data(in); Lexer lex(0,0); @@ -201,20 +193,26 @@ void InsetCommandMailer::string2params(string const & name, string n; lex >> n; - if (!lex || n != name) - return print_mailer_error("InsetCommandMailer", in, 1, name); + if (!lex || n != name) { + print_mailer_error("InsetCommandMailer", in, 1, name); + return false; + } // This is part of the inset proper that is usually swallowed // by Text::readInset string id; lex >> id; - if (!lex || id != "CommandInset") - return print_mailer_error("InsetCommandMailer", in, 2, "LatexCommand"); + if (!lex || id != "CommandInset") { + print_mailer_error("InsetCommandMailer", in, 2, "LatexCommand"); + return false; + } params.read(lex); + return true; } +//FIXME This could take an InsetCode instead of a string string const InsetCommandMailer::params2string(string const & name, InsetCommandParams const & params)