forked from qt-creator/qt-creator
tweak collapse/expand short cuts, and do not draw collpase boxes
in ifdefed out sections
This commit is contained in:
@@ -2283,9 +2283,11 @@ void BaseTextEditor::extraAreaPaintEvent(QPaintEvent *e)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
collapseAfter = (userData->collapseMode() == TextBlockUserData::CollapseAfter);
|
if (!userData->ifdefedOut()) {
|
||||||
collapseThis = (userData->collapseMode() == TextBlockUserData::CollapseThis);
|
collapseAfter = (userData->collapseMode() == TextBlockUserData::CollapseAfter);
|
||||||
hasClosingCollapse = userData->hasClosingCollapse() && (previousBraceDepth > 0);
|
collapseThis = (userData->collapseMode() == TextBlockUserData::CollapseThis);
|
||||||
|
hasClosingCollapse = userData->hasClosingCollapse() && (previousBraceDepth > 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (d->m_codeFoldingVisible) {
|
if (d->m_codeFoldingVisible) {
|
||||||
@@ -2318,10 +2320,12 @@ void BaseTextEditor::extraAreaPaintEvent(QPaintEvent *e)
|
|||||||
|
|
||||||
bool collapseNext = nextBlockUserData
|
bool collapseNext = nextBlockUserData
|
||||||
&& nextBlockUserData->collapseMode()
|
&& nextBlockUserData->collapseMode()
|
||||||
== TextBlockUserData::CollapseThis;
|
== TextBlockUserData::CollapseThis
|
||||||
|
&& !nextBlockUserData->ifdefedOut();
|
||||||
|
|
||||||
bool nextHasClosingCollapse = nextBlockUserData
|
bool nextHasClosingCollapse = nextBlockUserData
|
||||||
&& nextBlockUserData->hasClosingCollapseInside();
|
&& nextBlockUserData->hasClosingCollapseInside()
|
||||||
|
&& nextBlockUserData->ifdefedOut();
|
||||||
|
|
||||||
bool drawBox = ((collapseAfter || collapseNext) && !nextHasClosingCollapse);
|
bool drawBox = ((collapseAfter || collapseNext) && !nextHasClosingCollapse);
|
||||||
|
|
||||||
@@ -3397,9 +3401,12 @@ void BaseTextEditor::collapse()
|
|||||||
TextEditDocumentLayout *documentLayout = qobject_cast<TextEditDocumentLayout*>(doc->documentLayout());
|
TextEditDocumentLayout *documentLayout = qobject_cast<TextEditDocumentLayout*>(doc->documentLayout());
|
||||||
QTC_ASSERT(documentLayout, return);
|
QTC_ASSERT(documentLayout, return);
|
||||||
QTextBlock block = textCursor().block();
|
QTextBlock block = textCursor().block();
|
||||||
|
QTextBlock curBlock = block;
|
||||||
while (block.isValid()) {
|
while (block.isValid()) {
|
||||||
if (TextBlockUserData::canCollapse(block) && block.next().isVisible()) {
|
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;
|
break;
|
||||||
}
|
}
|
||||||
block = block.previous();
|
block = block.previous();
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ public:
|
|||||||
TextBlockUserData *data = static_cast<TextBlockUserData*>(block.userData());
|
TextBlockUserData *data = static_cast<TextBlockUserData*>(block.userData());
|
||||||
if (!data || data->collapseMode() != CollapseAfter) {
|
if (!data || data->collapseMode() != CollapseAfter) {
|
||||||
data = static_cast<TextBlockUserData*>(block.next().userData());
|
data = static_cast<TextBlockUserData*>(block.next().userData());
|
||||||
if (!data || data->collapseMode() != TextBlockUserData::CollapseThis)
|
if (!data || data->collapseMode() != TextBlockUserData::CollapseThis || data->m_ifdefedOut)
|
||||||
data = 0;
|
data = 0;
|
||||||
}
|
}
|
||||||
return data;
|
return data;
|
||||||
|
|||||||
Reference in New Issue
Block a user