aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>2008-12-15 16:09:42 +0100
committerThorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>2008-12-15 17:08:50 +0100
commit4c04c1a7748f6db751f72cace4e5d84c4c8a7c14 (patch)
tree3750b972ecbd8a8ff1bb5f26631ab981d1c1db6f
parent9b39f38f95326d5d5aee0abd196f641449770cd1 (diff)
Fixed mouse handling for code folding when hidden
The mouse handling for code folding wasn't deactivated when the code folding markers were hidden. Reviewed-by: mae
-rw-r--r--src/plugins/texteditor/basetexteditor.cpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index 870f826ebf..ab8f87c5a8 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -749,7 +749,7 @@ void BaseTextEditor::moveLineUpDown(bool up)
void BaseTextEditor::cleanWhitespace()
{
- d->m_document->cleanWhitespace();
+ d->m_document->cleanWhitespace();
}
void BaseTextEditor::keyPressEvent(QKeyEvent *e)
@@ -1286,7 +1286,7 @@ void BaseTextEditor::setFontSettings(const TextEditor::FontSettings &fs)
void BaseTextEditor::setStorageSettings(const StorageSettings &storageSettings)
{
- d->m_document->setStorageSettings(storageSettings);
+ d->m_document->setStorageSettings(storageSettings);
}
//--------- BaseTextEditorPrivate -----------
@@ -2477,17 +2477,22 @@ void BaseTextEditor::extraAreaMouseEvent(QMouseEvent *e)
extraAreaWidth(&markWidth);
if (e->type() == QEvent::MouseMove && e->buttons() == 0) { // mouse tracking
- int highlightBlockNumber = d->extraAreaHighlightCollapseBlockNumber;
+ // Update which folder marker is highlighted
+ const int highlightBlockNumber = d->extraAreaHighlightCollapseBlockNumber;
d->extraAreaHighlightCollapseBlockNumber = -1;
- if (TextBlockUserData::canCollapse(cursor.block())
+
+ if (d->m_codeFoldingVisible
+ && TextBlockUserData::canCollapse(cursor.block())
&& !TextBlockUserData::hasClosingCollapseInside(cursor.block().next())
&& collapseBox(cursor.block()).contains(e->pos()))
d->extraAreaHighlightCollapseBlockNumber = cursor.blockNumber();
+ // Set whether the mouse cursor is a hand or normal arrow
bool hand = (e->pos().x() <= markWidth || d->extraAreaHighlightCollapseBlockNumber >= 0);
if (hand != (d->m_extraArea->cursor().shape() == Qt::PointingHandCursor))
d->m_extraArea->setCursor(hand ? Qt::PointingHandCursor : Qt::ArrowCursor);
+ // Start fading in or out the highlighted folding marker
if (highlightBlockNumber != d->extraAreaHighlightCollapseBlockNumber) {
d->extraAreaTimeLine->stop();
d->extraAreaTimeLine->setDirection(d->extraAreaHighlightCollapseBlockNumber >= 0?
@@ -2504,12 +2509,12 @@ void BaseTextEditor::extraAreaMouseEvent(QMouseEvent *e)
if (e->type() == QEvent::MouseButtonPress || e->type() == QEvent::MouseButtonDblClick) {
if (e->button() == Qt::LeftButton) {
- if (TextBlockUserData::canCollapse(cursor.block())
+ if (d->m_codeFoldingVisible && TextBlockUserData::canCollapse(cursor.block())
&& !TextBlockUserData::hasClosingCollapseInside(cursor.block().next())
&& collapseBox(cursor.block()).contains(e->pos())) {
setTextCursor(cursor);
toggleBlockVisible(cursor.block());
- } else if (e->pos().x() > markWidth) {
+ } else if (d->m_marksVisible && e->pos().x() > markWidth) {
QTextCursor selection = cursor;
selection.setVisualNavigation(true);
d->extraAreaSelectionAnchorBlockNumber = selection.blockNumber();
@@ -2519,7 +2524,7 @@ void BaseTextEditor::extraAreaMouseEvent(QMouseEvent *e)
} else {
d->extraAreaToggleMarkBlockNumber = cursor.blockNumber();
}
- } else if (e->button() == Qt::RightButton) {
+ } else if (d->m_marksVisible && e->button() == Qt::RightButton) {
QMenu * contextMenu = new QMenu(this);
emit d->m_editable->markContextMenuRequested(editableInterface(), cursor.blockNumber() + 1, contextMenu);
if (!contextMenu->isEmpty())