forked from qt-creator/qt-creator
Merge branch '0.9.1-beta' of git@scm.dev.nokia.troll.no:creator/mainline into 0.9.1-beta
This commit is contained in:
@@ -107,6 +107,8 @@ void TypeOfExpression::processEnvironment(QMap<QString, Document::Ptr> documents
|
|||||||
Document::Ptr doc, Environment *env,
|
Document::Ptr doc, Environment *env,
|
||||||
QSet<QString> *processed) const
|
QSet<QString> *processed) const
|
||||||
{
|
{
|
||||||
|
if (! doc)
|
||||||
|
return;
|
||||||
if (processed->contains(doc->fileName()))
|
if (processed->contains(doc->fileName()))
|
||||||
return;
|
return;
|
||||||
processed->insert(doc->fileName());
|
processed->insert(doc->fileName());
|
||||||
|
|||||||
@@ -744,7 +744,8 @@ void CPPEditor::unCommentSelection()
|
|||||||
|
|
||||||
QString endText = endBlock.text();
|
QString endText = endBlock.text();
|
||||||
int endPos = end - endBlock.position();
|
int endPos = end - endBlock.position();
|
||||||
bool hasTrailingCharacters = !endText.mid(endPos).trimmed().isEmpty();
|
bool hasTrailingCharacters = !endText.left(endPos).remove(QLatin1String("//")).trimmed().isEmpty()
|
||||||
|
&& !endText.mid(endPos).trimmed().isEmpty();
|
||||||
if ((endPos <= endText.length() - 2
|
if ((endPos <= endText.length() - 2
|
||||||
&& endText.at(endPos) == QLatin1Char('*')
|
&& endText.at(endPos) == QLatin1Char('*')
|
||||||
&& endText.at(endPos+1) == QLatin1Char('/'))) {
|
&& endText.at(endPos+1) == QLatin1Char('/'))) {
|
||||||
|
|||||||
@@ -735,12 +735,15 @@ void BaseTextEditor::moveLineUpDown(bool up)
|
|||||||
move.clearSelection();
|
move.clearSelection();
|
||||||
move.insertText(text);
|
move.insertText(text);
|
||||||
int end = move.position();
|
int end = move.position();
|
||||||
move.endEditBlock();
|
|
||||||
if (hasSelection) {
|
if (hasSelection) {
|
||||||
move.setPosition(start);
|
move.setPosition(start);
|
||||||
move.setPosition(end, QTextCursor::KeepAnchor);
|
move.setPosition(end, QTextCursor::KeepAnchor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
indent(document(), move, QChar::Null);
|
||||||
|
move.endEditBlock();
|
||||||
|
|
||||||
setTextCursor(move);
|
setTextCursor(move);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2765,6 +2768,8 @@ void BaseTextEditor::handleHomeKey(bool anchor)
|
|||||||
|
|
||||||
while (character == tab || character.category() == QChar::Separator_Space) {
|
while (character == tab || character.category() == QChar::Separator_Space) {
|
||||||
++pos;
|
++pos;
|
||||||
|
if (pos == initpos)
|
||||||
|
break;
|
||||||
character = characterAt(pos);
|
character = characterAt(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2952,12 +2957,13 @@ void BaseTextEditor::markBlocksAsChanged(QList<int> blockNumbers) {
|
|||||||
|
|
||||||
TextBlockUserData::MatchType TextBlockUserData::checkOpenParenthesis(QTextCursor *cursor, QChar c)
|
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;
|
return NoMatch;
|
||||||
|
|
||||||
Parentheses parenList = TextEditDocumentLayout::parentheses(cursor->block());
|
Parentheses parenList = TextEditDocumentLayout::parentheses(block);
|
||||||
Parenthesis openParen, closedParen;
|
Parenthesis openParen, closedParen;
|
||||||
QTextBlock closedParenParag = cursor->block();
|
QTextBlock closedParenParag = block;
|
||||||
|
|
||||||
const int cursorPos = cursor->position() - closedParenParag.position();
|
const int cursorPos = cursor->position() - closedParenParag.position();
|
||||||
int i = 0;
|
int i = 0;
|
||||||
@@ -2982,7 +2988,8 @@ TextBlockUserData::MatchType TextBlockUserData::checkOpenParenthesis(QTextCursor
|
|||||||
closedParenParag = closedParenParag.next();
|
closedParenParag = closedParenParag.next();
|
||||||
if (!closedParenParag.isValid())
|
if (!closedParenParag.isValid())
|
||||||
return NoMatch;
|
return NoMatch;
|
||||||
if (TextEditDocumentLayout::hasParentheses(closedParenParag)) {
|
if (TextEditDocumentLayout::hasParentheses(closedParenParag)
|
||||||
|
&& !TextEditDocumentLayout::ifdefedOut(closedParenParag)) {
|
||||||
parenList = TextEditDocumentLayout::parentheses(closedParenParag);
|
parenList = TextEditDocumentLayout::parentheses(closedParenParag);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -3019,12 +3026,13 @@ TextBlockUserData::MatchType TextBlockUserData::checkOpenParenthesis(QTextCursor
|
|||||||
|
|
||||||
TextBlockUserData::MatchType TextBlockUserData::checkClosedParenthesis(QTextCursor *cursor, QChar c)
|
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;
|
return NoMatch;
|
||||||
|
|
||||||
Parentheses parenList = TextEditDocumentLayout::parentheses(cursor->block());
|
Parentheses parenList = TextEditDocumentLayout::parentheses(block);
|
||||||
Parenthesis openParen, closedParen;
|
Parenthesis openParen, closedParen;
|
||||||
QTextBlock openParenParag = cursor->block();
|
QTextBlock openParenParag = block;
|
||||||
|
|
||||||
const int cursorPos = cursor->position() - openParenParag.position();
|
const int cursorPos = cursor->position() - openParenParag.position();
|
||||||
int i = parenList.count() - 1;
|
int i = parenList.count() - 1;
|
||||||
@@ -3050,7 +3058,8 @@ TextBlockUserData::MatchType TextBlockUserData::checkClosedParenthesis(QTextCurs
|
|||||||
if (!openParenParag.isValid())
|
if (!openParenParag.isValid())
|
||||||
return NoMatch;
|
return NoMatch;
|
||||||
|
|
||||||
if (TextEditDocumentLayout::hasParentheses(openParenParag)) {
|
if (TextEditDocumentLayout::hasParentheses(openParenParag)
|
||||||
|
&& !TextEditDocumentLayout::ifdefedOut(openParenParag)) {
|
||||||
parenList = TextEditDocumentLayout::parentheses(openParenParag);
|
parenList = TextEditDocumentLayout::parentheses(openParenParag);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -3092,7 +3101,7 @@ bool TextBlockUserData::findPreviousOpenParenthesis(QTextCursor *cursor, bool se
|
|||||||
int ignore = 0;
|
int ignore = 0;
|
||||||
while (block.isValid()) {
|
while (block.isValid()) {
|
||||||
Parentheses parenList = TextEditDocumentLayout::parentheses(block);
|
Parentheses parenList = TextEditDocumentLayout::parentheses(block);
|
||||||
if (!parenList.isEmpty()) {
|
if (!parenList.isEmpty() && !TextEditDocumentLayout::ifdefedOut(block)) {
|
||||||
for (int i = parenList.count()-1; i >= 0; --i) {
|
for (int i = parenList.count()-1; i >= 0; --i) {
|
||||||
Parenthesis paren = parenList.at(i);
|
Parenthesis paren = parenList.at(i);
|
||||||
if (block == cursor->block() && position - block.position() <= paren.pos + 1)
|
if (block == cursor->block() && position - block.position() <= paren.pos + 1)
|
||||||
@@ -3119,7 +3128,7 @@ bool TextBlockUserData::findNextClosingParenthesis(QTextCursor *cursor, bool sel
|
|||||||
int ignore = 0;
|
int ignore = 0;
|
||||||
while (block.isValid()) {
|
while (block.isValid()) {
|
||||||
Parentheses parenList = TextEditDocumentLayout::parentheses(block);
|
Parentheses parenList = TextEditDocumentLayout::parentheses(block);
|
||||||
if (!parenList.isEmpty()) {
|
if (!parenList.isEmpty() && !TextEditDocumentLayout::ifdefedOut(block)) {
|
||||||
for (int i = 0; i < parenList.count(); ++i) {
|
for (int i = 0; i < parenList.count(); ++i) {
|
||||||
Parenthesis paren = parenList.at(i);
|
Parenthesis paren = parenList.at(i);
|
||||||
if (block == cursor->block() && position - block.position() >= paren.pos)
|
if (block == cursor->block() && position - block.position() >= paren.pos)
|
||||||
@@ -3144,7 +3153,7 @@ TextBlockUserData::MatchType TextBlockUserData::matchCursorBackward(QTextCursor
|
|||||||
cursor->clearSelection();
|
cursor->clearSelection();
|
||||||
const QTextBlock block = cursor->block();
|
const QTextBlock block = cursor->block();
|
||||||
|
|
||||||
if (!TextEditDocumentLayout::hasParentheses(block))
|
if (!TextEditDocumentLayout::hasParentheses(block) || TextEditDocumentLayout::ifdefedOut(block))
|
||||||
return NoMatch;
|
return NoMatch;
|
||||||
|
|
||||||
const int relPos = cursor->position() - block.position();
|
const int relPos = cursor->position() - block.position();
|
||||||
@@ -3166,7 +3175,7 @@ TextBlockUserData::MatchType TextBlockUserData::matchCursorForward(QTextCursor *
|
|||||||
cursor->clearSelection();
|
cursor->clearSelection();
|
||||||
const QTextBlock block = cursor->block();
|
const QTextBlock block = cursor->block();
|
||||||
|
|
||||||
if (!TextEditDocumentLayout::hasParentheses(block))
|
if (!TextEditDocumentLayout::hasParentheses(block) || TextEditDocumentLayout::ifdefedOut(block))
|
||||||
return NoMatch;
|
return NoMatch;
|
||||||
|
|
||||||
const int relPos = cursor->position() - block.position();
|
const int relPos = cursor->position() - block.position();
|
||||||
|
|||||||
Reference in New Issue
Block a user