forked from qt-creator/qt-creator
ClangFormat: Convert old settings to a new ones
Added possibility to convert old setting to new one out of the box. So now, if options FormattingInsteadOfIndentting or FormatOnSave was set the mode will be set to Formatting. Change-Id: I3c30ca8543d4fe25d1a44665d286f27ac2102c52 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -29,6 +29,9 @@
|
||||
#include <coreplugin/icore.h>
|
||||
|
||||
namespace ClangFormat {
|
||||
static const char FORMAT_CODE_INSTEAD_OF_INDENT_ID[] = "ClangFormat.FormatCodeInsteadOfIndent";
|
||||
static const char FORMAT_CODE_ON_SAVE_ID[] = "ClangFormat.FormatCodeOnSave";
|
||||
static const char FORMAT_WHILE_TYPING_ID[] = "ClangFormat.FormatWhileTyping";
|
||||
|
||||
ClangFormatSettings &ClangFormatSettings::instance()
|
||||
{
|
||||
@@ -42,9 +45,25 @@ ClangFormatSettings::ClangFormatSettings()
|
||||
settings->beginGroup(QLatin1String(Constants::SETTINGS_ID));
|
||||
m_overrideDefaultFile = settings->value(QLatin1String(Constants::OVERRIDE_FILE_ID), false)
|
||||
.toBool();
|
||||
m_mode = static_cast<ClangFormatSettings::Mode>(
|
||||
settings->value(QLatin1String(Constants::MODE_ID), ClangFormatSettings::Mode::Indenting)
|
||||
.toInt());
|
||||
|
||||
// Convert old settings to new ones. New settings were added to QtC 8.0
|
||||
bool isOldFormattingOn
|
||||
= settings->value(QLatin1String(FORMAT_CODE_INSTEAD_OF_INDENT_ID), false).toBool()
|
||||
|| settings->value(QLatin1String(FORMAT_CODE_ON_SAVE_ID), false).toBool();
|
||||
|
||||
Core::ICore::settings()->remove(QLatin1String(FORMAT_CODE_INSTEAD_OF_INDENT_ID));
|
||||
Core::ICore::settings()->remove(QLatin1String(FORMAT_CODE_ON_SAVE_ID));
|
||||
Core::ICore::settings()->remove(QLatin1String(FORMAT_WHILE_TYPING_ID));
|
||||
|
||||
if (isOldFormattingOn) {
|
||||
settings->setValue(QLatin1String(Constants::MODE_ID),
|
||||
static_cast<int>(ClangFormatSettings::Mode::Formatting));
|
||||
m_mode = ClangFormatSettings::Mode::Formatting;
|
||||
} else
|
||||
m_mode = static_cast<ClangFormatSettings::Mode>(
|
||||
settings->value(QLatin1String(Constants::MODE_ID), ClangFormatSettings::Mode::Indenting)
|
||||
.toInt());
|
||||
|
||||
settings->endGroup();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user