Skip to content
Snippets Groups Projects
Commit 9822fb65 authored by Roopesh Chander's avatar Roopesh Chander Committed by Thorbjørn Lindeijer
Browse files

cleanWhitespace() checkes whether it has to change indentation or not. handle that.

parent fde76601
No related branches found
No related tags found
No related merge requests found
......@@ -327,7 +327,7 @@ void BaseTextDocument::cleanWhitespace(QTextCursor& cursor, bool cleanIndentatio
cursor.movePosition(QTextCursor::PreviousCharacter, QTextCursor::KeepAnchor, trailing);
cursor.removeSelectedText();
}
if (cleanIndentation && !m_tabSettings.isIndentationClean(blockText)) {
if (cleanIndentation && !m_tabSettings.isIndentationClean(block)) {
cursor.setPosition(block.position());
int firstNonSpace = m_tabSettings.firstNonSpace(blockText);
if (firstNonSpace == blockText.length()) {
......
......@@ -149,10 +149,12 @@ int TabSettings::trailingWhitespaces(const QString &text) const
return i;
}
bool TabSettings::isIndentationClean(const QString &text) const
bool TabSettings::isIndentationClean(const QTextBlock &block) const
{
int i = 0;
int spaceCount = 0;
QString text = block.text();
bool spacesForTabs = guessSpacesForTabs(block);
while (i < text.size()) {
QChar c = text.at(i);
if (!c.isSpace())
......@@ -160,10 +162,10 @@ bool TabSettings::isIndentationClean(const QString &text) const
if (c == QLatin1Char(' ')) {
++spaceCount;
if (!m_spacesForTabs && spaceCount == m_tabSize)
if (!spacesForTabs && spaceCount == m_tabSize)
return false;
} else if (c == QLatin1Char('\t')) {
if (m_spacesForTabs || spaceCount != m_indentSize)
if (spacesForTabs || spaceCount != m_indentSize)
return false;
spaceCount = 0;
}
......
......@@ -72,7 +72,7 @@ struct TEXTEDITOR_EXPORT TabSettings
void reindentLine(QTextBlock block, int delta) const;
int trailingWhitespaces(const QString &text) const;
bool isIndentationClean(const QString &text) const;
bool isIndentationClean(const QTextBlock &block) const;
bool tabShouldIndent(const QTextDocument *document, QTextCursor cursor, int *suggestedPosition = 0) const;
bool guessSpacesForTabs(const QTextBlock& block) const;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment