]> git.lyx.org Git - lyx.git/blobdiff - src/Text.cpp
compil fix for Qt-4.2
[lyx.git] / src / Text.cpp
index ce49dfc5498c1002ef413c9466f991d919a1244d..6e2ee99964f6bd948eebc9a79c0a153e4c2ee72a 100644 (file)
 #include <sstream>
 
 using namespace std;
+using namespace lyx::support;
 
 namespace lyx {
 
-using support::bformat;
-using support::contains;
-using support::split;
-using support::subst;
-
 using cap::cutSelection;
 using cap::pasteParagraphList;
 
@@ -249,7 +245,7 @@ void readParToken(Buffer const & buf, Paragraph & par, Lexer & lex,
                change = Change(Change::UNCHANGED);
        } else if (token == "\\change_inserted") {
                lex.eatLine();
-               std::istringstream is(lex.getString());
+               istringstream is(lex.getString());
                unsigned int aid;
                time_t ct;
                is >> aid >> ct;
@@ -262,7 +258,7 @@ void readParToken(Buffer const & buf, Paragraph & par, Lexer & lex,
                        change = Change(Change::INSERTED, bp.author_map[aid], ct);
        } else if (token == "\\change_deleted") {
                lex.eatLine();
-               std::istringstream is(lex.getString());
+               istringstream is(lex.getString());
                unsigned int aid;
                time_t ct;
                is >> aid >> ct;
@@ -547,7 +543,7 @@ void Text::insertChar(Cursor & cur, char_type c)
        }
 
        par.insertChar(cur.pos(), c, cur.current_font, cur.buffer().params().trackChanges);
-       checkBufferStructure(cur.buffer(), cur);
+       cur.checkBufferStructure();
 
 //             cur.updateFlags(Update::Force);
        setCursor(cur.top(), cur.pit(), cur.pos() + 1);
@@ -799,7 +795,7 @@ void Text::deleteWordForward(Cursor & cur)
                cursorForwardOneWord(cur);
                cur.setSelection();
                cutSelection(cur, true, false);
-               checkBufferStructure(cur.buffer(), cur);
+               cur.checkBufferStructure();
        }
 }
 
@@ -815,7 +811,7 @@ void Text::deleteWordBackward(Cursor & cur)
                cursorBackwardOneWord(cur);
                cur.setSelection();
                cutSelection(cur, true, false);
-               checkBufferStructure(cur.buffer(), cur);
+               cur.checkBufferStructure();
        }
 }
 
@@ -827,9 +823,11 @@ void Text::changeCase(Cursor & cur, TextCase action)
        CursorSlice from;
        CursorSlice to;
 
+       bool gotsel = false;
        if (cur.selection()) {
                from = cur.selBegin();
                to = cur.selEnd();
+               gotsel = true;
        } else {
                from = cur.top();
                getWord(from, to, PARTIAL_WORD);
@@ -854,12 +852,15 @@ void Text::changeCase(Cursor & cur, TextCase action)
        }
 
        // the selection may have changed due to logically-only deleted chars
-       setCursor(cur, begPit, begPos);
-       cur.resetAnchor();
-       setCursor(cur, endPit, right);
-       cur.setSelection();
+       if (gotsel) {
+               setCursor(cur, begPit, begPos);
+               cur.resetAnchor();
+               setCursor(cur, endPit, right);
+               cur.setSelection();
+       } else
+               setCursor(cur, endPit, right);
 
-       checkBufferStructure(cur.buffer(), cur);
+       cur.checkBufferStructure();
 }
 
 
@@ -909,7 +910,7 @@ bool Text::erase(Cursor & cur)
                        // the character has been logically deleted only => skip it
                        cur.top().forwardPos();
                }
-               checkBufferStructure(cur.buffer(), cur);
+               cur.checkBufferStructure();
                needsUpdate = true;
        } else {
                if (cur.pit() == cur.lastpit())
@@ -931,7 +932,7 @@ bool Text::erase(Cursor & cur)
                // Make sure the cursor is correct. Is this really needed?
                // No, not really... at least not here!
                cur.text()->setCursor(cur.top(), cur.pit(), cur.pos());
-               checkBufferStructure(cur.buffer(), cur);
+               cur.checkBufferStructure();
        }
 
        return needsUpdate;
@@ -1019,7 +1020,7 @@ bool Text::backspace(Cursor & cur)
                setCursorIntern(cur, cur.pit(), cur.pos() - 1,
                                false, cur.boundary());
                cur.paragraph().eraseChar(cur.pos(), cur.buffer().params().trackChanges);
-               checkBufferStructure(cur.buffer(), cur);
+               cur.checkBufferStructure();
        }
 
        if (cur.pos() == cur.lastpos())
@@ -1042,6 +1043,7 @@ bool Text::dissolveInset(Cursor & cur) {
                return false;
 
        cur.recordUndoInset();
+       cur.mark() = false;
        cur.selHandle(false);
        // save position
        pos_type spos = cur.pos();
@@ -1068,8 +1070,8 @@ bool Text::dissolveInset(Cursor & cur) {
                pasteParagraphList(cur, plist, b.params().getTextClassPtr(),
                                   b.errorList("Paste"));
                // restore position
-               cur.pit() = std::min(cur.lastpit(), spit);
-               cur.pos() = std::min(cur.lastpos(), spos);
+               cur.pit() = min(cur.lastpit(), spit);
+               cur.pos() = min(cur.lastpos(), spos);
        }
        cur.clearSelection();
        cur.resetAnchor();
@@ -1116,7 +1118,7 @@ void Text::getWord(CursorSlice & from, CursorSlice & to,
 }
 
 
-void Text::write(Buffer const & buf, std::ostream & os) const
+void Text::write(Buffer const & buf, ostream & os) const
 {
        ParagraphList::const_iterator pit = paragraphs().begin();
        ParagraphList::const_iterator end = paragraphs().end();
@@ -1249,7 +1251,7 @@ docstring Text::currentState(Cursor & cur)
        if (!par.empty() && cur.pos() < par.size()) {
                // Force output of code point, not character
                size_t const c = par.getChar(cur.pos());
-               os << _(", Char: 0x") << std::hex << c;
+               os << _(", Char: 0x") << hex << c;
        }
        os << _(", Boundary: ") << cur.boundary();
 //     Row & row = cur.textRow();
@@ -1387,7 +1389,7 @@ void Text::charsTranspose(Cursor & cur)
        par.insertChar(pos1, char2, font2, trackChanges);
        par.insertChar(pos2, char1, font1, trackChanges);
 
-       checkBufferStructure(cur.buffer(), cur);
+       cur.checkBufferStructure();
 
        // After the transposition, move cursor to after the transposition.
        setCursor(cur, cur.pit(), pos2);
@@ -1395,4 +1397,16 @@ void Text::charsTranspose(Cursor & cur)
 }
 
 
+DocIterator Text::macrocontextPosition() const
+{
+       return macrocontext_position_;
+}
+
+
+void Text::setMacrocontextPosition(DocIterator const & pos)
+{
+       macrocontext_position_ = pos;
+}
+
+
 } // namespace lyx