forked from qt-creator/qt-creator
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:
@@ -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.
|
||||||
*/
|
*/
|
||||||
|
@@ -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);
|
||||||
|
@@ -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) {
|
||||||
|
@@ -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();
|
||||||
|
|
||||||
|
@@ -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
|
||||||
|
@@ -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;
|
||||||
|
|
||||||
|
@@ -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";
|
||||||
}
|
}
|
||||||
|
@@ -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,
|
||||||
|
@@ -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()
|
||||||
|
@@ -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
|
||||||
|
@@ -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;
|
||||||
|
@@ -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
|
||||||
|
@@ -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 ¶meters) {
|
return [](const FileFindParameters ¶meters) {
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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;
|
||||||
|
@@ -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()
|
||||||
|
@@ -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)
|
||||||
|
@@ -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;
|
||||||
|
@@ -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()
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user