break;
pos = cpos;
}
- setTextCursor(textCursor()); // make cursor visible
return;
} else switch (e->key()) {
| Qt::MetaModifier)) == Qt::NoModifier
&& !textCursor().hasSelection()) {
handleBackspaceKey();
- setTextCursor(textCursor()); // make cursor visible
e->accept();
return;
}
setTextCursor(cursor);
}
+
+#define SET_AND_RETURN(cursor) setTextCursor(cursor); return // make cursor visible and reset vertical x movement
void BaseTextEditor::handleBackspaceKey()
{
QTextCursor cursor = textCursor();
if (!tabSettings.m_smartBackspace) {
cursor.deletePreviousChar();
- return;
+ SET_AND_RETURN(cursor);
}
QTextBlock currentBlock = cursor.block();
const QString blockText = currentBlock.text();
if (cursor.atBlockStart() || tabSettings.firstNonSpace(blockText) < positionInBlock) {
cursor.deletePreviousChar();
- return;
+ SET_AND_RETURN(cursor);
}
int previousIndent = 0;
cursor.setPosition(currentBlock.position(), QTextCursor::KeepAnchor);
cursor.insertText(tabSettings.indentationString(previousNonEmptyBlockText));
cursor.endEditBlock();
- return;
+ SET_AND_RETURN(cursor);
}
}
cursor.deletePreviousChar();
+ SET_AND_RETURN(cursor);
}
void BaseTextEditor::wheelEvent(QWheelEvent *e)