]> git.lyx.org Git - lyx.git/blobdiff - src/Text3.cpp
Add outliner section for broken refs and citations
[lyx.git] / src / Text3.cpp
index f5444e7baa6b908ea9e14affd4b040388f827617..4a4755637a9b0fe226e0f142efdeb70ffed20d9e 100644 (file)
@@ -1610,7 +1610,6 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                                if (inautoarg) {
                                        cur.leaveInset(cur.inset());
                                        cur.posForward();
-                                       inautoarg = false;
                                }
                                FuncRequest const cmd2(LFUN_ARGUMENT_INSERT, la_pair.first);
                                lyx::dispatch(cmd2);
@@ -2078,7 +2077,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                bool const sel = cur.selection();
                doInsertInset(cur, this, cmd, true, true);
                // Insert auto-insert arguments
-               bool autoargs, inautoarg = false;
+               bool autoargs = false, inautoarg = false;
                Layout::LaTeXArgMap args = cur.inset().getLayout().args();
                Layout::LaTeXArgMap::const_iterator lait = args.begin();
                Layout::LaTeXArgMap::const_iterator const laend = args.end();
@@ -2096,7 +2095,6 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                                if (inautoarg) {
                                        cur.leaveInset(cur.inset());
                                        cur.posForward();
-                                       inautoarg = false;
                                        if (arg.insertonnewline && cur.pos() > 0) {
                                                FuncRequest cmd2(LFUN_PARAGRAPH_BREAK);
                                                lyx::dispatch(cmd2);
@@ -2767,14 +2765,14 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
 
        case LFUN_OUTLINE_UP:
                outline(OutlineUp, cur, this);
-               setCursor(cur, cur.pit(), 0);
+               setCursor(cur, cur.pit(), cur.pos());
                cur.forceBufferUpdate();
                needsUpdate = true;
                break;
 
        case LFUN_OUTLINE_DOWN:
                outline(OutlineDown, cur, this);
-               setCursor(cur, cur.pit(), 0);
+               setCursor(cur, cur.pit(), cur.pos());
                cur.forceBufferUpdate();
                needsUpdate = true;
                break;
@@ -3366,6 +3364,10 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
                                        enable = true;
                                        break;
                                }
+                               if (beg != end && it.paragraph().hasChangedInsets(beg, end)) {
+                                       enable = true;
+                                       break;
+                               }
                                if (in_last_par)
                                        break;
                        }