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

Reply via email to