The branch, master, has been updated. - Log -----------------------------------------------------------------
commit bec9c1325e3c69e5bb3faa173cff0ffc091d3307 Author: Vincent van Ravesteijn <[email protected]> Date: Sun Dec 16 14:10:03 2012 +0100 Introduce Layout::args() and simplify code diff --git a/src/Layout.cpp b/src/Layout.cpp index 43a6c18..3914b36 100644 --- a/src/Layout.cpp +++ b/src/Layout.cpp @@ -950,6 +950,15 @@ void Layout::readArgument(Lexer & lex) } +Layout::LaTeXArgMap Layout::args() const +{ + LaTeXArgMap args = latexargs_; + if (!itemargs_.empty()) + args.insert(itemargs_.begin(), itemargs_.end()); + return args; +} + + int Layout::optArgs() const { int nr = 0; diff --git a/src/Layout.h b/src/Layout.h index 7e5281d..270e4df 100644 --- a/src/Layout.h +++ b/src/Layout.h @@ -105,6 +105,8 @@ public: /// typedef std::map<std::string, latexarg> LaTeXArgMap; /// + LaTeXArgMap args() const; + /// LaTeXArgMap const & latexargs() const { return latexargs_; } /// LaTeXArgMap const & itemargs() const { return itemargs_; } diff --git a/src/Text3.cpp b/src/Text3.cpp index 22f4b99..6b5b0c7 100644 --- a/src/Text3.cpp +++ b/src/Text3.cpp @@ -1374,10 +1374,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd) if (change_layout) setLayout(cur, layout); - Layout::LaTeXArgMap args = tclass[layout].latexargs(); - Layout::LaTeXArgMap itemargs = tclass[layout].itemargs(); - if (!itemargs.empty()) - args.insert(itemargs.begin(), itemargs.end()); + Layout::LaTeXArgMap args = tclass[layout].args(); Layout::LaTeXArgMap::const_iterator lait = args.begin(); Layout::LaTeXArgMap::const_iterator const laend = args.end(); for (; lait != laend; ++lait) { @@ -2571,10 +2568,7 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd, break; } Layout const & lay = cur.paragraph().layout(); - Layout::LaTeXArgMap args = lay.latexargs(); - Layout::LaTeXArgMap itemargs = lay.itemargs(); - if (!itemargs.empty()) - args.insert(itemargs.begin(), itemargs.end()); + Layout::LaTeXArgMap args = lay.args(); Layout::LaTeXArgMap::const_iterator const lait = args.find(arg); if (lait != args.end()) { diff --git a/src/frontends/qt4/Menus.cpp b/src/frontends/qt4/Menus.cpp index 333e3b5..2e545c3 100644 --- a/src/frontends/qt4/Menus.cpp +++ b/src/frontends/qt4/Menus.cpp @@ -1554,16 +1554,9 @@ void MenuDefinition::expandArguments(BufferView const * bv, bool switcharg) return; Inset const * inset = &bv->cursor().inset(); - Layout::LaTeXArgMap args; - if (inset && bv->cursor().paragraph().layout().latexargs().empty() - && bv->cursor().paragraph().layout().itemargs().empty()) + Layout::LaTeXArgMap args = bv->cursor().paragraph().layout().args(); + if (inset && args.empty()) args = inset->getLayout().latexargs(); - else { - args = bv->cursor().paragraph().layout().latexargs(); - Layout::LaTeXArgMap itemargs = bv->cursor().paragraph().layout().itemargs(); - if (!itemargs.empty()) - args.insert(itemargs.begin(), itemargs.end()); - } if (args.empty() || (switcharg && args.size() == 1)) return; Layout::LaTeXArgMap::const_iterator lait = args.begin(); diff --git a/src/insets/InsetArgument.cpp b/src/insets/InsetArgument.cpp index 9081a96..ca76d08 100644 --- a/src/insets/InsetArgument.cpp +++ b/src/insets/InsetArgument.cpp @@ -57,18 +57,12 @@ void InsetArgument::read(Lexer & lex) void InsetArgument::updateBuffer(ParIterator const & it, UpdateType utype) { - Layout::LaTeXArgMap args; - bool const insetlayout = &it.inset() && it.paragraph().layout().latexargs().empty() - && it.paragraph().layout().itemargs().empty(); + Layout::LaTeXArgMap args = it.paragraph().layout().args(); + pass_thru_ = it.paragraph().layout().pass_thru; + bool const insetlayout = &it.inset() && args.empty(); if (insetlayout) { args = it.inset().getLayout().latexargs(); pass_thru_ = it.inset().getLayout().isPassThru(); - } else { - args = it.paragraph().layout().latexargs(); - Layout::LaTeXArgMap itemargs = it.paragraph().layout().itemargs(); - if (!itemargs.empty()) - args.insert(itemargs.begin(), itemargs.end()); - pass_thru_ = it.paragraph().layout().pass_thru; } // Handle pre 2.1 ArgInsets (lyx2lyx cannot classify them) diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp index 8b77149..e2d4724 100644 --- a/src/insets/InsetText.cpp +++ b/src/insets/InsetText.cpp @@ -338,8 +338,7 @@ bool InsetText::getStatus(Cursor & cur, FuncRequest const & cmd, status.setEnabled(false); return true; } - if (&buffer().inset() == this || !cur.paragraph().layout().latexargs().empty() - || !cur.paragraph().layout().itemargs().empty()) + if (&buffer().inset() == this || !cur.paragraph().layout().args().empty()) return text_.getStatus(cur, cmd, status); Layout::LaTeXArgMap args = getLayout().latexargs(); ----------------------------------------------------------------------- Summary of changes: src/Layout.cpp | 9 +++++++++ src/Layout.h | 2 ++ src/Text3.cpp | 10 ++-------- src/frontends/qt4/Menus.cpp | 11 ++--------- src/insets/InsetArgument.cpp | 12 +++--------- src/insets/InsetText.cpp | 3 +-- 6 files changed, 19 insertions(+), 28 deletions(-) hooks/post-receive -- The LyX Source Repository
