diff options
author | Junker, Gregory <gregory.junker@intel.com> | 2020-01-16 14:18:01 -0800 |
---|---|---|
committer | Gregory Junker <gregory.junker@intel.com> | 2020-02-19 18:09:13 +0000 |
commit | e7f784ca7393bddb60cbb111d3bdb7cd0e6d122e (patch) | |
tree | b037333fd0c281ff96075389d34c8819b1636eb9 /src/plugins/texteditor/behaviorsettingswidget.cpp | |
parent | 3fe1911d4616a1eeafc538745381dba1270f38cf (diff) |
Support configurable trailing-whitespace cleanup
Allow the user to configure how trailing whitespace is handled. In some
file types, for example, Markdown, trailing whitespace is semantically
important. This change allows the user to select, via delimited list of
wildcard filename patterns, which files to ignore for trailing
whitespace cleanup.
Task-number: QTCREATORBUG-13358
Change-Id: Ie6814d8c178bed8e3de78e6d359b9940d2ba0ead
Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/texteditor/behaviorsettingswidget.cpp')
-rw-r--r-- | src/plugins/texteditor/behaviorsettingswidget.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/texteditor/behaviorsettingswidget.cpp b/src/plugins/texteditor/behaviorsettingswidget.cpp index f5dc751eb6a..fe7e983fade 100644 --- a/src/plugins/texteditor/behaviorsettingswidget.cpp +++ b/src/plugins/texteditor/behaviorsettingswidget.cpp @@ -101,6 +101,8 @@ BehaviorSettingsWidget::BehaviorSettingsWidget(QWidget *parent) this, &BehaviorSettingsWidget::slotStorageSettingsChanged); connect(d->m_ui.cleanIndentation, &QAbstractButton::clicked, this, &BehaviorSettingsWidget::slotStorageSettingsChanged); + connect(d->m_ui.skipTrailingWhitespace, &QAbstractButton::clicked, + this, &BehaviorSettingsWidget::slotStorageSettingsChanged); connect(d->m_ui.mouseHiding, &QAbstractButton::clicked, this, &BehaviorSettingsWidget::slotBehaviorSettingsChanged); connect(d->m_ui.mouseNavigation, &QAbstractButton::clicked, @@ -190,6 +192,9 @@ void BehaviorSettingsWidget::setAssignedStorageSettings(const StorageSettings &s d->m_ui.inEntireDocument->setChecked(storageSettings.m_inEntireDocument); d->m_ui.cleanIndentation->setChecked(storageSettings.m_cleanIndentation); d->m_ui.addFinalNewLine->setChecked(storageSettings.m_addFinalNewLine); + d->m_ui.skipTrailingWhitespace->setChecked(storageSettings.m_skipTrailingWhitespace); + d->m_ui.ignoreFileTypes->setText(storageSettings.m_ignoreFileTypes); + d->m_ui.ignoreFileTypes->setEnabled(d->m_ui.skipTrailingWhitespace->isChecked()); } void BehaviorSettingsWidget::assignedStorageSettings(StorageSettings *storageSettings) const @@ -198,6 +203,8 @@ void BehaviorSettingsWidget::assignedStorageSettings(StorageSettings *storageSet storageSettings->m_inEntireDocument = d->m_ui.inEntireDocument->isChecked(); storageSettings->m_cleanIndentation = d->m_ui.cleanIndentation->isChecked(); storageSettings->m_addFinalNewLine = d->m_ui.addFinalNewLine->isChecked(); + storageSettings->m_skipTrailingWhitespace = d->m_ui.skipTrailingWhitespace->isChecked(); + storageSettings->m_ignoreFileTypes = d->m_ui.ignoreFileTypes->text(); } void BehaviorSettingsWidget::updateConstrainTooltipsBoxTooltip() const @@ -273,6 +280,10 @@ void BehaviorSettingsWidget::slotStorageSettingsChanged() { StorageSettings settings; assignedStorageSettings(&settings); + + bool ignoreFileTypesEnabled = d->m_ui.cleanWhitespace->isChecked() && d->m_ui.skipTrailingWhitespace->isChecked(); + d->m_ui.ignoreFileTypes->setEnabled(ignoreFileTypesEnabled); + emit storageSettingsChanged(settings); } |