aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormae <qtc-committer@nokia.com>2008-12-12 14:09:56 +0100
committermae <qtc-committer@nokia.com>2008-12-12 14:09:56 +0100
commitd937ee5570c83afda61969042e293eca12f41b90 (patch)
tree495b772654c37f2e14ddbfd9ab9354ea44ee1f41
parent18d84955f7c35a38fac504eec9362f559c43e2fc (diff)
tweak collapse/expand short cuts, and do not draw collpase boxes
in ifdefed out sections
-rw-r--r--src/plugins/texteditor/basetexteditor.cpp19
-rw-r--r--src/plugins/texteditor/basetexteditor.h2
2 files changed, 14 insertions, 7 deletions
diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index 1cff254452c..1db9ad6a5cb 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -2283,9 +2283,11 @@ void BaseTextEditor::extraAreaPaintEvent(QPaintEvent *e)
}
}
- collapseAfter = (userData->collapseMode() == TextBlockUserData::CollapseAfter);
- collapseThis = (userData->collapseMode() == TextBlockUserData::CollapseThis);
- hasClosingCollapse = userData->hasClosingCollapse() && (previousBraceDepth > 0);
+ if (!userData->ifdefedOut()) {
+ collapseAfter = (userData->collapseMode() == TextBlockUserData::CollapseAfter);
+ collapseThis = (userData->collapseMode() == TextBlockUserData::CollapseThis);
+ hasClosingCollapse = userData->hasClosingCollapse() && (previousBraceDepth > 0);
+ }
}
if (d->m_codeFoldingVisible) {
@@ -2318,10 +2320,12 @@ void BaseTextEditor::extraAreaPaintEvent(QPaintEvent *e)
bool collapseNext = nextBlockUserData
&& nextBlockUserData->collapseMode()
- == TextBlockUserData::CollapseThis;
+ == TextBlockUserData::CollapseThis
+ && !nextBlockUserData->ifdefedOut();
bool nextHasClosingCollapse = nextBlockUserData
- && nextBlockUserData->hasClosingCollapseInside();
+ && nextBlockUserData->hasClosingCollapseInside()
+ && nextBlockUserData->ifdefedOut();
bool drawBox = ((collapseAfter || collapseNext) && !nextHasClosingCollapse);
@@ -3397,9 +3401,12 @@ void BaseTextEditor::collapse()
TextEditDocumentLayout *documentLayout = qobject_cast<TextEditDocumentLayout*>(doc->documentLayout());
QTC_ASSERT(documentLayout, return);
QTextBlock block = textCursor().block();
+ QTextBlock curBlock = block;
while (block.isValid()) {
if (TextBlockUserData::canCollapse(block) && block.next().isVisible()) {
- if ((block.next().userState()) >> 8 <= (textCursor().block().userState() >> 8))
+ if (block == curBlock)
+ break;
+ if ((block.next().userState()) >> 8 <= (curBlock.previous().userState() >> 8))
break;
}
block = block.previous();
diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h
index d75e174fea2..1d6444557ee 100644
--- a/src/plugins/texteditor/basetexteditor.h
+++ b/src/plugins/texteditor/basetexteditor.h
@@ -138,7 +138,7 @@ public:
TextBlockUserData *data = static_cast<TextBlockUserData*>(block.userData());
if (!data || data->collapseMode() != CollapseAfter) {
data = static_cast<TextBlockUserData*>(block.next().userData());
- if (!data || data->collapseMode() != TextBlockUserData::CollapseThis)
+ if (!data || data->collapseMode() != TextBlockUserData::CollapseThis || data->m_ifdefedOut)
data = 0;
}
return data;