FindFilter: Move settings saving to Store

This makes it possible to save it for the session instead/in addition.

Task-number: QTCREATORBUG-793
Change-Id: I95bc20f4912a97863cb88849e32699a689ba6f3f
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Eike Ziller
2024-05-27 15:53:07 +02:00
parent c3a1b41fb3
commit f870e7ffdf
18 changed files with 216 additions and 122 deletions

View File

@@ -6,6 +6,8 @@
#include "../coreicons.h" #include "../coreicons.h"
#include "../coreplugintr.h" #include "../coreplugintr.h"
#include <utils/qtcsettings.h>
#include <QApplication> #include <QApplication>
#include <QKeySequence> #include <QKeySequence>
#include <QPainter> #include <QPainter>
@@ -177,18 +179,6 @@ using namespace Utils;
dialog. It will be reparented and deleted by the find plugin. dialog. It will be reparented and deleted by the find plugin.
*/ */
/*!
\fn void Core::IFindFilter::writeSettings(Utils::QtcSettings *settings)
Called at shutdown to write the state of the additional options
for this find filter to the \a settings.
*/
/*!
\fn void Core::IFindFilter::readSettings(Utils::QtcSettings *settings)
Called at startup to read the state of the additional options
for this find filter from the \a settings.
*/
/*! /*!
\fn void Core::IFindFilter::enabledChanged(bool enabled) \fn void Core::IFindFilter::enabledChanged(bool enabled)
@@ -264,6 +254,60 @@ FindFlags IFindFilter::supportedFindFlags() const
| FindWholeWords; | FindWholeWords;
} }
/*!
Returns a Store with the find filter's settings to store
in the session. Default values should not be saved.
The default implementation returns an empty store.
\sa restore()
*/
Store IFindFilter::save() const
{
return {};
}
/*!
Restores the find filter's settings from the Store \a s.
Settings that are not present in the store should be reset to
the default.
The default implementation does nothing.
\sa save()
*/
void IFindFilter::restore([[maybe_unused]] const Utils::Store &s) {}
/*!
Called at shutdown to write the state of the additional options
for this find filter to the \a settings.
\deprecated [14.0] Implement save() instead.
*/
void IFindFilter::writeSettings(Utils::QtcSettings *settings)
{
settings->remove(settingsKey()); // make sure defaults are removed
storeToSettings(settingsKey(), settings, save());
}
/*!
Called at startup to read the state of the additional options
for this find filter from the \a settings.
\deprecated [14.0] Implement restore() instead.
*/
void IFindFilter::readSettings(Utils::QtcSettings *settings)
{
restore(storeFromSettings(settingsKey(), settings));
}
/*!
\internal
\deprecated [14.0]
*/
QByteArray IFindFilter::settingsKey() const
{
return id().toUtf8();
}
/*! /*!
Returns icons for the find flags \a flags. Returns icons for the find flags \a flags.
*/ */

View File

@@ -6,6 +6,7 @@
#include "../core_global.h" #include "../core_global.h"
#include <utils/filesearch.h> #include <utils/filesearch.h>
#include <utils/store.h>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QWidget; class QWidget;
@@ -42,8 +43,13 @@ public:
{ Q_UNUSED(txt) Q_UNUSED(findFlags) } { Q_UNUSED(txt) Q_UNUSED(findFlags) }
virtual QWidget *createConfigWidget() { return nullptr; } virtual QWidget *createConfigWidget() { return nullptr; }
virtual void writeSettings(Utils::QtcSettings *settings) { Q_UNUSED(settings) } virtual Utils::Store save() const;
virtual void readSettings(Utils::QtcSettings *settings) { Q_UNUSED(settings) } virtual void restore(const Utils::Store &s);
// deprecated in 14.0
virtual void writeSettings(Utils::QtcSettings *settings);
virtual void readSettings(Utils::QtcSettings *settings);
virtual QByteArray settingsKey() const;
static QPixmap pixmapForFindFlags(Utils::FindFlags flags); static QPixmap pixmapForFindFlags(Utils::FindFlags flags);
static QString descriptionForFindFlags(Utils::FindFlags flags); static QString descriptionForFindFlags(Utils::FindFlags flags);

View File

@@ -166,26 +166,28 @@ QWidget *SymbolsFindFilter::createConfigWidget()
return new SymbolsFindFilterConfigWidget(this); return new SymbolsFindFilterConfigWidget(this);
} }
void SymbolsFindFilter::writeSettings(QtcSettings *settings) Store SymbolsFindFilter::save() const
{ {
settings->beginGroup(SETTINGS_GROUP); Store s;
settings->setValue(SETTINGS_SYMBOLTYPES, int(m_symbolsToSearch)); s.insert(SETTINGS_SYMBOLTYPES, int(m_symbolsToSearch));
settings->setValue(SETTINGS_SEARCHSCOPE, int(m_scope)); s.insert(SETTINGS_SEARCHSCOPE, int(m_scope));
settings->endGroup(); return s;
} }
void SymbolsFindFilter::readSettings(QtcSettings *settings) void SymbolsFindFilter::restore(const Utils::Store &s)
{ {
settings->beginGroup(SETTINGS_GROUP);
m_symbolsToSearch = static_cast<SearchSymbols::SymbolTypes>( m_symbolsToSearch = static_cast<SearchSymbols::SymbolTypes>(
settings->value(SETTINGS_SYMBOLTYPES, int(SearchSymbols::AllTypes)).toInt()); s.value(SETTINGS_SYMBOLTYPES, int(SearchSymbols::AllTypes)).toInt());
m_scope = static_cast<SearchScope>( m_scope = static_cast<SearchScope>(
settings->value(SETTINGS_SEARCHSCOPE, s.value(SETTINGS_SEARCHSCOPE, int(SymbolSearcher::SearchProjectsOnly)).toInt());
int(SymbolSearcher::SearchProjectsOnly)).toInt());
settings->endGroup();
emit symbolsToSearchChanged(); emit symbolsToSearchChanged();
} }
QByteArray SymbolsFindFilter::settingsKey() const
{
return SETTINGS_GROUP;
}
void SymbolsFindFilter::onTaskStarted(Id type) void SymbolsFindFilter::onTaskStarted(Id type)
{ {
if (type == Constants::TASK_INDEX) { if (type == Constants::TASK_INDEX) {

View File

@@ -37,8 +37,8 @@ public:
void findAll(const QString &txt, Utils::FindFlags findFlags) override; void findAll(const QString &txt, Utils::FindFlags findFlags) override;
QWidget *createConfigWidget() override; QWidget *createConfigWidget() override;
void writeSettings(Utils::QtcSettings *settings) override; Utils::Store save() const override;
void readSettings(Utils::QtcSettings *settings) override; void restore(const Utils::Store &s) override;
void setSymbolsToSearch(const SearchSymbols::SymbolTypes &types) { m_symbolsToSearch = types; } void setSymbolsToSearch(const SearchSymbols::SymbolTypes &types) { m_symbolsToSearch = types; }
SearchSymbols::SymbolTypes symbolsToSearch() const { return m_symbolsToSearch; } SearchSymbols::SymbolTypes symbolsToSearch() const { return m_symbolsToSearch; }
@@ -46,6 +46,9 @@ public:
void setSearchScope(SearchScope scope) { m_scope = scope; } void setSearchScope(SearchScope scope) { m_scope = scope; }
SearchScope searchScope() const { return m_scope; } SearchScope searchScope() const { return m_scope; }
// deprecated
QByteArray settingsKey() const override;
signals: signals:
void symbolsToSearchChanged(); void symbolsToSearchChanged();

View File

@@ -245,14 +245,15 @@ GitGrepParameters GitGrep::gitParameters() const
return {m_treeLineEdit->text(), m_recurseSubmodules && m_recurseSubmodules->isChecked()}; return {m_treeLineEdit->text(), m_recurseSubmodules && m_recurseSubmodules->isChecked()};
} }
void GitGrep::readSettings(QtcSettings *settings) void GitGrep::readSettings(const Store &s)
{ {
m_treeLineEdit->setText(settings->value(GitGrepRef).toString()); m_treeLineEdit->setText(s.value(GitGrepRef).toString());
} }
void GitGrep::writeSettings(QtcSettings *settings) const void GitGrep::writeSettings(Store &s) const
{ {
settings->setValue(GitGrepRef, m_treeLineEdit->text()); if (!m_treeLineEdit->text().isEmpty())
s.insert(GitGrepRef, m_treeLineEdit->text());
} }
SearchExecutor GitGrep::searchExecutor() const SearchExecutor GitGrep::searchExecutor() const

View File

@@ -24,8 +24,8 @@ public:
QString title() const override; QString title() const override;
QString toolTip() const override; QString toolTip() const override;
QWidget *widget() const override; QWidget *widget() const override;
void readSettings(Utils::QtcSettings *settings) override; void readSettings(const Utils::Store &settings) override;
void writeSettings(Utils::QtcSettings *settings) const override; void writeSettings(Utils::Store &settings) const override;
TextEditor::SearchExecutor searchExecutor() const override; TextEditor::SearchExecutor searchExecutor() const override;
TextEditor::EditorOpener editorOpener() const override; TextEditor::EditorOpener editorOpener() const override;

View File

@@ -113,16 +113,19 @@ QWidget *AllProjectsFind::createConfigWidget()
return m_configWidget; return m_configWidget;
} }
void AllProjectsFind::writeSettings(QtcSettings *settings) Store AllProjectsFind::save() const
{ {
settings->beginGroup("AllProjectsFind"); Store s;
writeCommonSettings(settings); writeCommonSettings(s);
settings->endGroup(); return s;
} }
void AllProjectsFind::readSettings(QtcSettings *settings) void AllProjectsFind::restore(const Utils::Store &s)
{ {
settings->beginGroup("AllProjectsFind"); readCommonSettings(s, "*", "");
readCommonSettings(settings, "*", ""); }
settings->endGroup();
QByteArray AllProjectsFind::settingsKey() const
{
return "AllProjectsFind";
} }

View File

@@ -26,8 +26,12 @@ public:
bool isEnabled() const override; bool isEnabled() const override;
QWidget *createConfigWidget() override; QWidget *createConfigWidget() override;
void writeSettings(Utils::QtcSettings *settings) override;
void readSettings(Utils::QtcSettings *settings) override; Utils::Store save() const override;
void restore(const Utils::Store &s) override;
// deprecated
QByteArray settingsKey() const override;
protected: protected:
static Utils::FileContainer filesForProjects(const QStringList &nameFilters, static Utils::FileContainer filesForProjects(const QStringList &nameFilters,

View File

@@ -29,8 +29,11 @@ private:
bool isEnabled() const final; bool isEnabled() const final;
void writeSettings(Utils::QtcSettings *settings) final; Utils::Store save() const final;
void readSettings(Utils::QtcSettings *settings) final; void restore(const Utils::Store &s) final;
// deprecated
QByteArray settingsKey() const final;
QString label() const final; QString label() const final;
@@ -115,18 +118,21 @@ void CurrentProjectFind::setupSearch(Core::SearchResult *search)
}); });
} }
void CurrentProjectFind::writeSettings(QtcSettings *settings) Store CurrentProjectFind::save() const
{ {
settings->beginGroup("CurrentProjectFind"); Store s;
writeCommonSettings(settings); writeCommonSettings(s);
settings->endGroup(); return s;
} }
void CurrentProjectFind::readSettings(QtcSettings *settings) void CurrentProjectFind::restore(const Store &s)
{ {
settings->beginGroup("CurrentProjectFind"); readCommonSettings(s, "*", "");
readCommonSettings(settings, "*", ""); }
settings->endGroup();
QByteArray CurrentProjectFind::settingsKey() const
{
return "CurrentProjectFind";
} }
void setupCurrentProjectFind() void setupCurrentProjectFind()

View File

@@ -30,21 +30,24 @@ QString FilesInAllProjectsFind::displayName() const
const char kSettingsKey[] = "FilesInAllProjectDirectories"; const char kSettingsKey[] = "FilesInAllProjectDirectories";
void FilesInAllProjectsFind::writeSettings(QtcSettings *settings) Store FilesInAllProjectsFind::save() const
{ {
settings->beginGroup(kSettingsKey); Store s;
writeCommonSettings(settings); writeCommonSettings(s);
settings->endGroup(); return s;
} }
void FilesInAllProjectsFind::readSettings(QtcSettings *settings) void FilesInAllProjectsFind::restore(const Utils::Store &s)
{ {
settings->beginGroup(kSettingsKey);
readCommonSettings( readCommonSettings(
settings, s,
"CMakeLists.txt,*.cmake,*.pro,*.pri,*.qbs,*.cpp,*.h,*.mm,*.qml,*.md,*.txt,*.qdoc", "CMakeLists.txt,*.cmake,*.pro,*.pri,*.qbs,*.cpp,*.h,*.mm,*.qml,*.md,*.txt,*.qdoc",
"*/.git/*,*/.cvs/*,*/.svn/*,*.autosave,*/build/*"); "*/.git/*,*/.cvs/*,*/.svn/*,*.autosave,*/build/*");
settings->endGroup(); }
QByteArray FilesInAllProjectsFind::settingsKey() const
{
return kSettingsKey;
} }
FileContainerProvider FilesInAllProjectsFind::fileContainerProvider() const FileContainerProvider FilesInAllProjectsFind::fileContainerProvider() const

View File

@@ -16,8 +16,11 @@ public:
QString id() const override; QString id() const override;
QString displayName() const override; QString displayName() const override;
void writeSettings(Utils::QtcSettings *settings) override; Utils::Store save() const override;
void readSettings(Utils::QtcSettings *settings) override; void restore(const Utils::Store &s) override;
// deprecated
QByteArray settingsKey() const override;
protected: protected:
TextEditor::FileContainerProvider fileContainerProvider() const override; TextEditor::FileContainerProvider fileContainerProvider() const override;

View File

@@ -128,14 +128,15 @@ public:
QString toolTip() const final { return {}; } QString toolTip() const final { return {}; }
QWidget *widget() const final { return m_widget; } QWidget *widget() const final { return m_widget; }
void readSettings(QtcSettings *settings) final void readSettings(const Store &s) final
{ {
m_searchOptionsLineEdit->setText(settings->value(s_searchOptionsString).toString()); m_searchOptionsLineEdit->setText(s.value(s_searchOptionsString).toString());
} }
void writeSettings(QtcSettings *settings) const final void writeSettings(Store &s) const final
{ {
settings->setValue(s_searchOptionsString, m_searchOptionsLineEdit->text()); if (!m_searchOptionsLineEdit->text().isEmpty())
s.insert(s_searchOptionsString, m_searchOptionsLineEdit->text());
} }
SearchExecutor searchExecutor() const final SearchExecutor searchExecutor() const final

View File

@@ -139,8 +139,8 @@ public:
QString title() const override { return Tr::tr("Internal"); } QString title() const override { return Tr::tr("Internal"); }
QString toolTip() const override { return {}; } QString toolTip() const override { return {}; }
QWidget *widget() const override { return m_widget; } QWidget *widget() const override { return m_widget; }
void readSettings(QtcSettings * /*settings*/) override {} void readSettings(const Store &) override {}
void writeSettings(QtcSettings * /*settings*/) const override {} void writeSettings(Store &) const override {}
SearchExecutor searchExecutor() const override SearchExecutor searchExecutor() const override
{ {
return [](const FileFindParameters &parameters) { return [](const FileFindParameters &parameters) {
@@ -442,47 +442,48 @@ FilePath BaseFileFind::searchDir() const
return d->m_searchDir; return d->m_searchDir;
} }
void BaseFileFind::writeCommonSettings(QtcSettings *settings) void BaseFileFind::writeCommonSettings(Store &s) const
{ {
const auto fromNativeSeparators = [](const QStringList &files) -> QStringList { const auto fromNativeSeparators = [](const QStringList &files) -> QStringList {
return Utils::transform(files, &QDir::fromNativeSeparators); return Utils::transform(files, &QDir::fromNativeSeparators);
}; };
settings->setValue("filters", fromNativeSeparators(d->m_filterStrings.stringList())); s.insert("filters", fromNativeSeparators(d->m_filterStrings.stringList()));
if (d->m_filterCombo) if (d->m_filterCombo)
settings->setValue("currentFilter", s.insert("currentFilter", QDir::fromNativeSeparators(d->m_filterCombo->currentText()));
QDir::fromNativeSeparators(d->m_filterCombo->currentText())); s.insert("exclusionFilters", fromNativeSeparators(d->m_exclusionStrings.stringList()));
settings->setValue("exclusionFilters", fromNativeSeparators(d->m_exclusionStrings.stringList())); if (d->m_exclusionCombo) {
if (d->m_exclusionCombo) s.insert(
settings->setValue("currentExclusionFilter", "currentExclusionFilter",
QDir::fromNativeSeparators(d->m_exclusionCombo->currentText())); QDir::fromNativeSeparators(d->m_exclusionCombo->currentText()));
for (const SearchEngine *searchEngine : std::as_const(d->m_searchEngines))
searchEngine->writeSettings(settings);
settings->setValue("currentSearchEngineIndex", d->m_currentSearchEngineIndex);
} }
void BaseFileFind::readCommonSettings(QtcSettings *settings, const QString &defaultFilter, for (const SearchEngine *searchEngine : std::as_const(d->m_searchEngines))
const QString &defaultExclusionFilter) searchEngine->writeSettings(s);
s.insert("currentSearchEngineIndex", d->m_currentSearchEngineIndex);
}
void BaseFileFind::readCommonSettings(
const Store &s, const QString &defaultFilter, const QString &defaultExclusionFilter)
{ {
const auto toNativeSeparators = [](const QStringList &files) -> QStringList { const auto toNativeSeparators = [](const QStringList &files) -> QStringList {
return Utils::transform(files, &QDir::toNativeSeparators); return Utils::transform(files, &QDir::toNativeSeparators);
}; };
const QStringList filterSetting = settings->value("filters").toStringList(); const QStringList filterSetting = s.value("filters").toStringList();
const QStringList filters = filterSetting.isEmpty() ? QStringList(defaultFilter) const QStringList filters = filterSetting.isEmpty() ? QStringList(defaultFilter)
: filterSetting; : filterSetting;
const QVariant currentFilter = settings->value("currentFilter"); const QVariant currentFilter = s.value("currentFilter");
d->m_filterSetting = currentFilter.isValid() ? currentFilter.toString() d->m_filterSetting = currentFilter.isValid() ? currentFilter.toString()
: filters.first(); : filters.first();
d->m_filterStrings.setStringList(toNativeSeparators(filters)); d->m_filterStrings.setStringList(toNativeSeparators(filters));
if (d->m_filterCombo) if (d->m_filterCombo)
syncComboWithSettings(d->m_filterCombo, d->m_filterSetting); syncComboWithSettings(d->m_filterCombo, d->m_filterSetting);
QStringList exclusionFilters = settings->value("exclusionFilters").toStringList(); QStringList exclusionFilters = s.value("exclusionFilters").toStringList();
if (!exclusionFilters.contains(defaultExclusionFilter)) if (!exclusionFilters.contains(defaultExclusionFilter))
exclusionFilters << defaultExclusionFilter; exclusionFilters << defaultExclusionFilter;
const QVariant currentExclusionFilter = settings->value("currentExclusionFilter"); const QVariant currentExclusionFilter = s.value("currentExclusionFilter");
d->m_exclusionSetting = currentExclusionFilter.isValid() ? currentExclusionFilter.toString() d->m_exclusionSetting = currentExclusionFilter.isValid() ? currentExclusionFilter.toString()
: exclusionFilters.first(); : exclusionFilters.first();
d->m_exclusionStrings.setStringList(toNativeSeparators(exclusionFilters)); d->m_exclusionStrings.setStringList(toNativeSeparators(exclusionFilters));
@@ -490,8 +491,8 @@ void BaseFileFind::readCommonSettings(QtcSettings *settings, const QString &defa
syncComboWithSettings(d->m_exclusionCombo, d->m_exclusionSetting); syncComboWithSettings(d->m_exclusionCombo, d->m_exclusionSetting);
for (SearchEngine* searchEngine : std::as_const(d->m_searchEngines)) for (SearchEngine* searchEngine : std::as_const(d->m_searchEngines))
searchEngine->readSettings(settings); searchEngine->readSettings(s);
const int currentSearchEngineIndex = settings->value("currentSearchEngineIndex", 0).toInt(); const int currentSearchEngineIndex = s.value("currentSearchEngineIndex", 0).toInt();
syncSearchEngineCombo(currentSearchEngineIndex); syncSearchEngineCombo(currentSearchEngineIndex);
} }

View File

@@ -69,8 +69,8 @@ public:
virtual QString title() const = 0; virtual QString title() const = 0;
virtual QString toolTip() const = 0; // add %1 placeholder where the find flags should be put virtual QString toolTip() const = 0; // add %1 placeholder where the find flags should be put
virtual QWidget *widget() const = 0; virtual QWidget *widget() const = 0;
virtual void readSettings(Utils::QtcSettings *settings) = 0; virtual void readSettings(const Utils::Store &s) = 0;
virtual void writeSettings(Utils::QtcSettings *settings) const = 0; virtual void writeSettings(Utils::Store &settings) const = 0;
virtual SearchExecutor searchExecutor() const = 0; virtual SearchExecutor searchExecutor() const = 0;
virtual EditorOpener editorOpener() const { return {}; } virtual EditorOpener editorOpener() const { return {}; }
bool isEnabled() const; bool isEnabled() const;
@@ -108,8 +108,9 @@ protected:
virtual QString toolTip() const = 0; // see Core::SearchResultWindow::startNewSearch, virtual QString toolTip() const = 0; // see Core::SearchResultWindow::startNewSearch,
// add %1 placeholder where the find flags should be put // add %1 placeholder where the find flags should be put
void writeCommonSettings(Utils::QtcSettings *settings); void writeCommonSettings(Utils::Store &s) const;
void readCommonSettings(Utils::QtcSettings *settings, const QString &defaultFilter, const QString &defaultExclusionFilter); void readCommonSettings(
const Utils::Store &s, const QString &defaultFilter, const QString &defaultExclusionFilter);
QList<QPair<QWidget *, QWidget *>> createPatternWidgets(); QList<QPair<QWidget *, QWidget *>> createPatternWidgets();
QStringList fileNameFilters() const; QStringList fileNameFilters() const;
QStringList fileExclusionFilters() const; QStringList fileExclusionFilters() const;

View File

@@ -27,8 +27,8 @@ private:
QString id() const final; QString id() const final;
QString displayName() const final; QString displayName() const final;
bool isEnabled() const final; bool isEnabled() const final;
void writeSettings(Utils::QtcSettings *settings) final; Utils::Store save() const final;
void readSettings(Utils::QtcSettings *settings) final; void restore(const Utils::Store &s) final;
QString label() const final; QString label() const final;
QString toolTip() const final; QString toolTip() const final;
@@ -37,6 +37,9 @@ private:
void handleFileChange(Core::IEditor *editor); void handleFileChange(Core::IEditor *editor);
QPointer<Core::IDocument> m_currentDocument; QPointer<Core::IDocument> m_currentDocument;
// deprecated
QByteArray settingsKey() const final;
}; };
FindInCurrentFile::FindInCurrentFile() FindInCurrentFile::FindInCurrentFile()
@@ -97,18 +100,21 @@ void FindInCurrentFile::handleFileChange(Core::IEditor *editor)
} }
} }
void FindInCurrentFile::writeSettings(QtcSettings *settings) Store FindInCurrentFile::save() const
{ {
settings->beginGroup("FindInCurrentFile"); Store s;
writeCommonSettings(settings); writeCommonSettings(s);
settings->endGroup(); return s;
} }
void FindInCurrentFile::readSettings(QtcSettings *settings) void FindInCurrentFile::restore(const Store &s)
{ {
settings->beginGroup("FindInCurrentFile"); readCommonSettings(s, "*", "");
readCommonSettings(settings, "*", ""); }
settings->endGroup();
QByteArray FindInCurrentFile::settingsKey() const
{
return "FindInCurrentFile";
} }
void setupFindInCurrentFile() void setupFindInCurrentFile()

View File

@@ -188,18 +188,21 @@ QWidget *FindInFiles::createConfigWidget()
return m_configWidget; return m_configWidget;
} }
void FindInFiles::writeSettings(QtcSettings *settings) Store FindInFiles::save() const
{ {
settings->beginGroup("FindInFiles"); Store s;
writeCommonSettings(settings); writeCommonSettings(s);
settings->endGroup(); return s;
} }
void FindInFiles::readSettings(QtcSettings *settings) void FindInFiles::restore(const Utils::Store &s)
{ {
settings->beginGroup("FindInFiles"); readCommonSettings(s, "*.cpp,*.h", "*/.git/*,*/.cvs/*,*/.svn/*,*.autosave,*/build/*");
readCommonSettings(settings, "*.cpp,*.h", "*/.git/*,*/.cvs/*,*/.svn/*,*.autosave,*/build/*"); }
settings->endGroup();
QByteArray FindInFiles::settingsKey() const
{
return "FindInFiles";
} }
void FindInFiles::setBaseDirectory(const FilePath &directory) void FindInFiles::setBaseDirectory(const FilePath &directory)

View File

@@ -30,8 +30,8 @@ public:
QString id() const override; QString id() const override;
QString displayName() const override; QString displayName() const override;
QWidget *createConfigWidget() override; QWidget *createConfigWidget() override;
void writeSettings(Utils::QtcSettings *settings) override; Utils::Store save() const override;
void readSettings(Utils::QtcSettings *settings) override; void restore(const Utils::Store &s) override;
bool isValid() const override; bool isValid() const override;
void setDirectory(const Utils::FilePath &directory); void setDirectory(const Utils::FilePath &directory);
@@ -39,6 +39,9 @@ public:
static void findOnFileSystem(const QString &path); static void findOnFileSystem(const QString &path);
static FindInFiles *instance(); static FindInFiles *instance();
// deprecated
QByteArray settingsKey() const override;
protected: protected:
QString label() const override; QString label() const override;
QString toolTip() const override; QString toolTip() const override;

View File

@@ -25,14 +25,17 @@ private:
QString id() const final; QString id() const final;
QString displayName() const final; QString displayName() const final;
bool isEnabled() const final; bool isEnabled() const final;
void writeSettings(Utils::QtcSettings *settings) final; Utils::Store save() const final;
void readSettings(Utils::QtcSettings *settings) final; void restore(const Utils::Store &s) final;
QString label() const final; QString label() const final;
QString toolTip() const final; QString toolTip() const final;
FileContainerProvider fileContainerProvider() const final; FileContainerProvider fileContainerProvider() const final;
void updateEnabledState() { emit enabledChanged(isEnabled()); } void updateEnabledState() { emit enabledChanged(isEnabled()); }
// deprecated
QByteArray settingsKey() const final;
}; };
FindInOpenFiles::FindInOpenFiles() FindInOpenFiles::FindInOpenFiles()
@@ -90,21 +93,22 @@ bool FindInOpenFiles::isEnabled() const
return Core::DocumentModel::entryCount() > 0; return Core::DocumentModel::entryCount() > 0;
} }
void FindInOpenFiles::writeSettings(QtcSettings *settings) Store FindInOpenFiles::save() const
{ {
settings->beginGroup("FindInOpenFiles"); Store s;
writeCommonSettings(settings); writeCommonSettings(s);
settings->endGroup(); return s;
} }
void FindInOpenFiles::readSettings(QtcSettings *settings) void FindInOpenFiles::restore(const Store &s)
{ {
settings->beginGroup("FindInOpenFiles"); readCommonSettings(s, "*", "");
readCommonSettings(settings, "*", "");
settings->endGroup();
} }
QByteArray FindInOpenFiles::settingsKey() const
{
return "FindInOpenFiles";
}
void setupFindInOpenFiles() void setupFindInOpenFiles()
{ {