Find: Fix reading settings

It was not possible to go back to the default filter after other filters
got added to the list. Saving and restoring the current filter was not
symmetric for the default case: When writing, the current value was not
written if it was default, when reading the current value, it was set to
the first value in the list if not set in the settings, instead of the
default.

Fixes: QTCREATORBUG-31676
Change-Id: I5cde924f56744f9142b5cc52b51a9f08d06b3d64
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Eike Ziller
2024-11-04 11:54:30 +01:00
parent f0b6a6c16a
commit d0f082b9ae

View File

@@ -489,8 +489,7 @@ void BaseFileFind::readCommonSettings(
const QStringList filters = filterSetting.isEmpty() ? QStringList(defaultFilter)
: filterSetting;
const QVariant currentFilter = s.value("currentFilter");
d->m_filterSetting = currentFilter.isValid() ? currentFilter.toString()
: filters.first();
d->m_filterSetting = currentFilter.isValid() ? currentFilter.toString() : defaultFilter;
d->m_filterStrings.setStringList(toNativeSeparators(filters));
if (d->m_filterCombo)
syncComboWithSettings(d->m_filterCombo, d->m_filterSetting);