TextEditor: Fix remembering highlight definition

Amends 6989c9bbea

Since the change above the filename is checked before the mimetype, so
we have to save it in the same order.

Fixes: QTCREATORBUG-24505
Change-Id: Ib974dc0f69ca56cfd6ee9e34bec238e62f800598
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
David Schulz
2020-08-19 06:52:24 +02:00
parent dbf00e63e5
commit 150d29a8fd

View File

@@ -186,21 +186,24 @@ void Highlighter::rememberDefinitionForDocument(const Highlighter::Definition &d
const QString &path = document->filePath().toFileInfo().canonicalFilePath(); const QString &path = document->filePath().toFileInfo().canonicalFilePath();
QSettings *settings = Core::ICore::settings(); QSettings *settings = Core::ICore::settings();
settings->beginGroup(Constants::HIGHLIGHTER_SETTINGS_CATEGORY); settings->beginGroup(Constants::HIGHLIGHTER_SETTINGS_CATEGORY);
if (!mimeType.isEmpty()) { const Definitions &fileNameDefinitions = definitionsForFileName(document->filePath());
if (fileNameDefinitions.contains(definition)) {
if (!fileExtension.isEmpty()) {
const QString id(kDefinitionForExtension);
QMap<QString, QVariant> map = settings->value(id).toMap();
map.insert(fileExtension, definition.name());
settings->setValue(id, map);
} else if (!path.isEmpty()) {
const QString id(kDefinitionForFilePath);
QMap<QString, QVariant> map = settings->value(id).toMap();
map.insert(document->filePath().toFileInfo().absoluteFilePath(), definition.name());
settings->setValue(id, map);
}
} else if (!mimeType.isEmpty()) {
const QString id(kDefinitionForMimeType); const QString id(kDefinitionForMimeType);
QMap<QString, QVariant> map = settings->value(id).toMap(); QMap<QString, QVariant> map = settings->value(id).toMap();
map.insert(mimeType, definition.name()); map.insert(mimeType, definition.name());
settings->setValue(id, map); settings->setValue(id, map);
} else if (!fileExtension.isEmpty()) {
const QString id(kDefinitionForExtension);
QMap<QString, QVariant> map = settings->value(id).toMap();
map.insert(fileExtension, definition.name());
settings->setValue(id, map);
} else if (!path.isEmpty()) {
const QString id(kDefinitionForFilePath);
QMap<QString, QVariant> map = settings->value(id).toMap();
map.insert(document->filePath().toFileInfo().absoluteFilePath(), definition.name());
settings->setValue(id, map);
} }
settings->endGroup(); settings->endGroup();
} }