summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormae <qtc-committer@nokia.com>2008-12-11 13:20:59 +0100
committermae <qtc-committer@nokia.com>2008-12-11 13:20:59 +0100
commit6adb3f617e5b89ac300df0530cac58ee78d3a466 (patch)
treea727ee7fb9a63a67243332944a0d9190885b8524 /src
parent2890e3238b6f618e179b8f32990c9b193e87eb8e (diff)
downloadqt-creator-6adb3f617e5b89ac300df0530cac58ee78d3a466.tar.gz
connect the parenthesis matcher with the ifdefed out information.
Diffstat (limited to 'src')
-rw-r--r--src/plugins/texteditor/basetexteditor.cpp33
1 files changed, 20 insertions, 13 deletions
diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index 8d5bf3ff68..d613db7a29 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -734,12 +734,15 @@ void BaseTextEditor::moveLineUpDown(bool up)
move.clearSelection();
move.insertText(text);
int end = move.position();
- move.endEditBlock();
+
if (hasSelection) {
move.setPosition(start);
move.setPosition(end, QTextCursor::KeepAnchor);
}
+ indent(document(), move, QChar::Null);
+ move.endEditBlock();
+
setTextCursor(move);
}
@@ -2951,12 +2954,13 @@ void BaseTextEditor::markBlocksAsChanged(QList<int> blockNumbers) {
TextBlockUserData::MatchType TextBlockUserData::checkOpenParenthesis(QTextCursor *cursor, QChar c)
{
- if (!TextEditDocumentLayout::hasParentheses(cursor->block()))
+ QTextBlock block = cursor->block();
+ if (!TextEditDocumentLayout::hasParentheses(block) || TextEditDocumentLayout::ifdefedOut(block))
return NoMatch;
- Parentheses parenList = TextEditDocumentLayout::parentheses(cursor->block());
+ Parentheses parenList = TextEditDocumentLayout::parentheses(block);
Parenthesis openParen, closedParen;
- QTextBlock closedParenParag = cursor->block();
+ QTextBlock closedParenParag = block;
const int cursorPos = cursor->position() - closedParenParag.position();
int i = 0;
@@ -2981,7 +2985,8 @@ TextBlockUserData::MatchType TextBlockUserData::checkOpenParenthesis(QTextCursor
closedParenParag = closedParenParag.next();
if (!closedParenParag.isValid())
return NoMatch;
- if (TextEditDocumentLayout::hasParentheses(closedParenParag)) {
+ if (TextEditDocumentLayout::hasParentheses(closedParenParag)
+ && !TextEditDocumentLayout::ifdefedOut(closedParenParag)) {
parenList = TextEditDocumentLayout::parentheses(closedParenParag);
break;
}
@@ -3018,12 +3023,13 @@ TextBlockUserData::MatchType TextBlockUserData::checkOpenParenthesis(QTextCursor
TextBlockUserData::MatchType TextBlockUserData::checkClosedParenthesis(QTextCursor *cursor, QChar c)
{
- if (!TextEditDocumentLayout::hasParentheses(cursor->block()))
+ QTextBlock block = cursor->block();
+ if (!TextEditDocumentLayout::hasParentheses(block) || TextEditDocumentLayout::ifdefedOut(block))
return NoMatch;
- Parentheses parenList = TextEditDocumentLayout::parentheses(cursor->block());
+ Parentheses parenList = TextEditDocumentLayout::parentheses(block);
Parenthesis openParen, closedParen;
- QTextBlock openParenParag = cursor->block();
+ QTextBlock openParenParag = block;
const int cursorPos = cursor->position() - openParenParag.position();
int i = parenList.count() - 1;
@@ -3049,7 +3055,8 @@ TextBlockUserData::MatchType TextBlockUserData::checkClosedParenthesis(QTextCurs
if (!openParenParag.isValid())
return NoMatch;
- if (TextEditDocumentLayout::hasParentheses(openParenParag)) {
+ if (TextEditDocumentLayout::hasParentheses(openParenParag)
+ && !TextEditDocumentLayout::ifdefedOut(openParenParag)) {
parenList = TextEditDocumentLayout::parentheses(openParenParag);
break;
}
@@ -3091,7 +3098,7 @@ bool TextBlockUserData::findPreviousOpenParenthesis(QTextCursor *cursor, bool se
int ignore = 0;
while (block.isValid()) {
Parentheses parenList = TextEditDocumentLayout::parentheses(block);
- if (!parenList.isEmpty()) {
+ if (!parenList.isEmpty() && !TextEditDocumentLayout::ifdefedOut(block)) {
for (int i = parenList.count()-1; i >= 0; --i) {
Parenthesis paren = parenList.at(i);
if (block == cursor->block() && position - block.position() <= paren.pos + 1)
@@ -3118,7 +3125,7 @@ bool TextBlockUserData::findNextClosingParenthesis(QTextCursor *cursor, bool sel
int ignore = 0;
while (block.isValid()) {
Parentheses parenList = TextEditDocumentLayout::parentheses(block);
- if (!parenList.isEmpty()) {
+ if (!parenList.isEmpty() && !TextEditDocumentLayout::ifdefedOut(block)) {
for (int i = 0; i < parenList.count(); ++i) {
Parenthesis paren = parenList.at(i);
if (block == cursor->block() && position - block.position() >= paren.pos)
@@ -3143,7 +3150,7 @@ TextBlockUserData::MatchType TextBlockUserData::matchCursorBackward(QTextCursor
cursor->clearSelection();
const QTextBlock block = cursor->block();
- if (!TextEditDocumentLayout::hasParentheses(block))
+ if (!TextEditDocumentLayout::hasParentheses(block) || TextEditDocumentLayout::ifdefedOut(block))
return NoMatch;
const int relPos = cursor->position() - block.position();
@@ -3165,7 +3172,7 @@ TextBlockUserData::MatchType TextBlockUserData::matchCursorForward(QTextCursor *
cursor->clearSelection();
const QTextBlock block = cursor->block();
- if (!TextEditDocumentLayout::hasParentheses(block))
+ if (!TextEditDocumentLayout::hasParentheses(block) || TextEditDocumentLayout::ifdefedOut(block))
return NoMatch;
const int relPos = cursor->position() - block.position();