forked from qt-creator/qt-creator
Find: Avoid saving default values for advanced search
Change-Id: I69454675c15a9eb92d0665ea6f88f0969a532eb8 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -169,8 +169,10 @@ QWidget *SymbolsFindFilter::createConfigWidget()
|
||||
Store SymbolsFindFilter::save() const
|
||||
{
|
||||
Store s;
|
||||
s.insert(SETTINGS_SYMBOLTYPES, int(m_symbolsToSearch));
|
||||
s.insert(SETTINGS_SEARCHSCOPE, int(m_scope));
|
||||
if (m_symbolsToSearch != SearchSymbols::AllTypes)
|
||||
s.insert(SETTINGS_SYMBOLTYPES, int(m_symbolsToSearch));
|
||||
if (m_scope != SymbolSearcher::SearchProjectsOnly)
|
||||
s.insert(SETTINGS_SEARCHSCOPE, int(m_scope));
|
||||
return s;
|
||||
}
|
||||
|
||||
|
@@ -113,16 +113,19 @@ QWidget *AllProjectsFind::createConfigWidget()
|
||||
return m_configWidget;
|
||||
}
|
||||
|
||||
const char kDefaultInclusion[] = "*";
|
||||
const char kDefaultExclusion[] = "";
|
||||
|
||||
Store AllProjectsFind::save() const
|
||||
{
|
||||
Store s;
|
||||
writeCommonSettings(s);
|
||||
writeCommonSettings(s, kDefaultInclusion, kDefaultExclusion);
|
||||
return s;
|
||||
}
|
||||
|
||||
void AllProjectsFind::restore(const Utils::Store &s)
|
||||
{
|
||||
readCommonSettings(s, "*", "");
|
||||
readCommonSettings(s, kDefaultInclusion, kDefaultExclusion);
|
||||
}
|
||||
|
||||
QByteArray AllProjectsFind::settingsKey() const
|
||||
|
@@ -118,16 +118,19 @@ void CurrentProjectFind::setupSearch(Core::SearchResult *search)
|
||||
});
|
||||
}
|
||||
|
||||
const char kDefaultInclusion[] = "*";
|
||||
const char kDefaultExclusion[] = "";
|
||||
|
||||
Store CurrentProjectFind::save() const
|
||||
{
|
||||
Store s;
|
||||
writeCommonSettings(s);
|
||||
writeCommonSettings(s, kDefaultInclusion, kDefaultExclusion);
|
||||
return s;
|
||||
}
|
||||
|
||||
void CurrentProjectFind::restore(const Store &s)
|
||||
{
|
||||
readCommonSettings(s, "*", "");
|
||||
readCommonSettings(s, kDefaultInclusion, kDefaultExclusion);
|
||||
}
|
||||
|
||||
QByteArray CurrentProjectFind::settingsKey() const
|
||||
|
@@ -29,20 +29,20 @@ QString FilesInAllProjectsFind::displayName() const
|
||||
}
|
||||
|
||||
const char kSettingsKey[] = "FilesInAllProjectDirectories";
|
||||
const char kDefaultInclusion[]
|
||||
= "CMakeLists.txt,*.cmake,*.pro,*.pri,*.qbs,*.cpp,*.h,*.mm,*.qml,*.md,*.txt,*.qdoc";
|
||||
const char kDefaultExclusion[] = "*/.git/*,*/.cvs/*,*/.svn/*,*.autosave,*/build/*";
|
||||
|
||||
Store FilesInAllProjectsFind::save() const
|
||||
{
|
||||
Store s;
|
||||
writeCommonSettings(s);
|
||||
writeCommonSettings(s, kDefaultInclusion, kDefaultExclusion);
|
||||
return s;
|
||||
}
|
||||
|
||||
void FilesInAllProjectsFind::restore(const Utils::Store &s)
|
||||
{
|
||||
readCommonSettings(
|
||||
s,
|
||||
"CMakeLists.txt,*.cmake,*.pro,*.pri,*.qbs,*.cpp,*.h,*.mm,*.qml,*.md,*.txt,*.qdoc",
|
||||
"*/.git/*,*/.cvs/*,*/.svn/*,*.autosave,*/build/*");
|
||||
readCommonSettings(s, kDefaultInclusion, kDefaultExclusion);
|
||||
}
|
||||
|
||||
QByteArray FilesInAllProjectsFind::settingsKey() const
|
||||
|
@@ -442,25 +442,34 @@ FilePath BaseFileFind::searchDir() const
|
||||
return d->m_searchDir;
|
||||
}
|
||||
|
||||
void BaseFileFind::writeCommonSettings(Store &s) const
|
||||
void BaseFileFind::writeCommonSettings(
|
||||
Store &s, const QString &defaultFilter, const QString &defaultExclusionFilter) const
|
||||
{
|
||||
const auto fromNativeSeparators = [](const QStringList &files) -> QStringList {
|
||||
return Utils::transform(files, &QDir::fromNativeSeparators);
|
||||
};
|
||||
|
||||
s.insert("filters", fromNativeSeparators(d->m_filterStrings.stringList()));
|
||||
if (d->m_filterCombo)
|
||||
s.insert("currentFilter", QDir::fromNativeSeparators(d->m_filterCombo->currentText()));
|
||||
s.insert("exclusionFilters", fromNativeSeparators(d->m_exclusionStrings.stringList()));
|
||||
if (d->m_exclusionCombo) {
|
||||
s.insert(
|
||||
"currentExclusionFilter",
|
||||
QDir::fromNativeSeparators(d->m_exclusionCombo->currentText()));
|
||||
}
|
||||
const QStringList filterStrings = fromNativeSeparators(d->m_filterStrings.stringList());
|
||||
if (filterStrings.size() != 1 || filterStrings.first() != defaultFilter)
|
||||
s.insert("filters", filterStrings);
|
||||
const QString currentFilter = d->m_filterCombo
|
||||
? QDir::fromNativeSeparators(d->m_filterCombo->currentText())
|
||||
: d->m_filterSetting;
|
||||
if (currentFilter != defaultFilter)
|
||||
s.insert("currentFilter", currentFilter);
|
||||
const QStringList exclusionFilters = fromNativeSeparators(d->m_exclusionStrings.stringList());
|
||||
if (exclusionFilters.size() != 1 || exclusionFilters.first() != defaultExclusionFilter)
|
||||
s.insert("exclusionFilters", exclusionFilters);
|
||||
const QString currentExclusionFilter = d->m_exclusionCombo ? QDir::fromNativeSeparators(
|
||||
d->m_exclusionCombo->currentText())
|
||||
: d->m_exclusionSetting;
|
||||
if (currentExclusionFilter != defaultExclusionFilter)
|
||||
s.insert("currentExclusionFilter", currentExclusionFilter);
|
||||
|
||||
for (const SearchEngine *searchEngine : std::as_const(d->m_searchEngines))
|
||||
searchEngine->writeSettings(s);
|
||||
s.insert("currentSearchEngineIndex", d->m_currentSearchEngineIndex);
|
||||
if (d->m_currentSearchEngineIndex != 0)
|
||||
s.insert("currentSearchEngineIndex", d->m_currentSearchEngineIndex);
|
||||
}
|
||||
|
||||
void BaseFileFind::readCommonSettings(
|
||||
|
@@ -108,7 +108,8 @@ protected:
|
||||
virtual QString toolTip() const = 0; // see Core::SearchResultWindow::startNewSearch,
|
||||
// add %1 placeholder where the find flags should be put
|
||||
|
||||
void writeCommonSettings(Utils::Store &s) const;
|
||||
void writeCommonSettings(
|
||||
Utils::Store &s, const QString &defaultFilter, const QString &defaultExclusionFilter) const;
|
||||
void readCommonSettings(
|
||||
const Utils::Store &s, const QString &defaultFilter, const QString &defaultExclusionFilter);
|
||||
QList<QPair<QWidget *, QWidget *>> createPatternWidgets();
|
||||
|
@@ -100,16 +100,19 @@ void FindInCurrentFile::handleFileChange(Core::IEditor *editor)
|
||||
}
|
||||
}
|
||||
|
||||
const char kDefaultInclusion[] = "*";
|
||||
const char kDefaultExclusion[] = "";
|
||||
|
||||
Store FindInCurrentFile::save() const
|
||||
{
|
||||
Store s;
|
||||
writeCommonSettings(s);
|
||||
writeCommonSettings(s, kDefaultInclusion, kDefaultExclusion);
|
||||
return s;
|
||||
}
|
||||
|
||||
void FindInCurrentFile::restore(const Store &s)
|
||||
{
|
||||
readCommonSettings(s, "*", "");
|
||||
readCommonSettings(s, kDefaultInclusion, kDefaultExclusion);
|
||||
}
|
||||
|
||||
QByteArray FindInCurrentFile::settingsKey() const
|
||||
|
@@ -188,16 +188,19 @@ QWidget *FindInFiles::createConfigWidget()
|
||||
return m_configWidget;
|
||||
}
|
||||
|
||||
const char kDefaultInclusion[] = "*.cpp,*.h";
|
||||
const char kDefaultExclusion[] = "*/.git/*,*/.cvs/*,*/.svn/*,*.autosave,*/build/*";
|
||||
|
||||
Store FindInFiles::save() const
|
||||
{
|
||||
Store s;
|
||||
writeCommonSettings(s);
|
||||
writeCommonSettings(s, kDefaultInclusion, kDefaultExclusion);
|
||||
return s;
|
||||
}
|
||||
|
||||
void FindInFiles::restore(const Utils::Store &s)
|
||||
{
|
||||
readCommonSettings(s, "*.cpp,*.h", "*/.git/*,*/.cvs/*,*/.svn/*,*.autosave,*/build/*");
|
||||
readCommonSettings(s, kDefaultInclusion, kDefaultExclusion);
|
||||
}
|
||||
|
||||
QByteArray FindInFiles::settingsKey() const
|
||||
|
@@ -93,16 +93,19 @@ bool FindInOpenFiles::isEnabled() const
|
||||
return Core::DocumentModel::entryCount() > 0;
|
||||
}
|
||||
|
||||
const char kDefaultInclusion[] = "*";
|
||||
const char kDefaultExclusion[] = "";
|
||||
|
||||
Store FindInOpenFiles::save() const
|
||||
{
|
||||
Store s;
|
||||
writeCommonSettings(s);
|
||||
writeCommonSettings(s, kDefaultInclusion, kDefaultExclusion);
|
||||
return s;
|
||||
}
|
||||
|
||||
void FindInOpenFiles::restore(const Store &s)
|
||||
{
|
||||
readCommonSettings(s, "*", "");
|
||||
readCommonSettings(s, kDefaultInclusion, kDefaultExclusion);
|
||||
}
|
||||
|
||||
QByteArray FindInOpenFiles::settingsKey() const
|
||||
|
Reference in New Issue
Block a user