]> git.lyx.org Git - lyx.git/blobdiff - src/Text.cpp
Remove hardcoded values
[lyx.git] / src / Text.cpp
index 007271d639134892f5343ee7df18aeed8c8008bd..8e0d1beefda5a64ada774e747f6f67832ca7aab7 100644 (file)
@@ -376,8 +376,8 @@ void Text::readParToken(Paragraph & par, Lexer & lex,
                if (added_one) {
                        // Warn the user.
                        docstring const s = bformat(_("Layout `%1$s' was not found."), layoutname);
-                       errorList.push_back(
-                               ErrorItem(_("Layout Not Found"), s, par.id(), 0, par.size()));
+                       errorList.push_back(ErrorItem(_("Layout Not Found"), s,
+                                                     {par.id(), 0}, {par.id(), -1}));
                }
 
                par.setLayout(bp.documentClass()[layoutname]);
@@ -403,7 +403,7 @@ void Text::readParToken(Paragraph & par, Lexer & lex,
                        lex.eatLine();
                        docstring line = lex.getDocString();
                        errorList.push_back(ErrorItem(_("Unknown Inset"), line,
-                                           par.id(), 0, par.size()));
+                                                     {par.id(), 0}, {par.id(), -1}));
                }
        } else if (token == "\\family") {
                lex.next();
@@ -520,8 +520,7 @@ void Text::readParToken(Paragraph & par, Lexer & lex,
                                          "missing until the corresponding tracked changes "
                                          "are merged or this user edits the file again.\n"),
                                        aid),
-                               par.id(), par.size(), par.size() + 1
-                               ));
+                               {par.id(), par.size()}, {par.id(), par.size() + 1}));
                        bp.addAuthor(Author(aid));
                }
                if (token == "\\change_inserted")
@@ -531,9 +530,10 @@ void Text::readParToken(Paragraph & par, Lexer & lex,
        } else {
                lex.eatLine();
                errorList.push_back(ErrorItem(_("Unknown token"),
-                       bformat(_("Unknown token: %1$s %2$s\n"), from_utf8(token),
-                       lex.getDocString()),
-                       par.id(), 0, par.size()));
+                                             bformat(_("Unknown token: %1$s %2$s\n"),
+                                                     from_utf8(token),
+                                                     lex.getDocString()),
+                                             {par.id(), 0}, {par.id(), -1}));
        }
 }
 
@@ -586,7 +586,7 @@ class TextCompletionList : public CompletionList
 {
 public:
        ///
-       TextCompletionList(Cursor const & cur, WordList const * list)
+       TextCompletionList(Cursor const & cur, WordList const & list)
                : buffer_(cur.buffer()), list_(list)
        {}
        ///
@@ -597,19 +597,19 @@ public:
        ///
        virtual size_t size() const
        {
-               return list_->size();
+               return list_.size();
        }
        ///
        virtual docstring const & data(size_t idx) const
        {
-               return list_->word(idx);
+               return list_.word(idx);
        }
 
 private:
        ///
        Buffer const * buffer_;
        ///
-       WordList const * list_;
+       WordList const & list_;
 };
 
 
@@ -738,9 +738,13 @@ void Text::breakParagraph(Cursor & cur, bool inverse_logic)
        Layout const & layout = cpar.layout();
 
        if (cur.lastpos() == 0 && !cpar.allowEmpty()) {
-               if (changeDepthAllowed(cur, DEC_DEPTH))
+               if (changeDepthAllowed(cur, DEC_DEPTH)) {
                        changeDepth(cur, DEC_DEPTH);
-               else {
+                       pit_type const prev = depthHook(cpit, cpar.getDepth());
+                       docstring const & lay = pars_[prev].layout().name();
+                       if (lay != layout.name())
+                               setLayout(cur, lay);
+               } else {
                        docstring const & lay = cur.paragraph().usePlainLayout()
                            ? tclass.plainLayoutName() : tclass.defaultLayoutName();
                        if (lay != layout.name())
@@ -2152,7 +2156,7 @@ bool Text::completionSupported(Cursor const & cur) const
 
 CompletionList const * Text::createCompletionList(Cursor const & cur) const
 {
-       WordList const * list = theWordList(cur.getFont().language()->lang());
+       WordList const & list = theWordList(cur.getFont().language()->lang());
        return new TextCompletionList(cur, list);
 }