aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2023-06-28 17:03:58 +0200
committerJarek Kobus <jaroslaw.kobus@qt.io>2023-07-04 12:23:05 +0000
commitde5efffeff8a2adebc77fd2b6888047abf8530a5 (patch)
treeccf7599cc4c9f132e0a547f824f5d70717b417db /src/plugins
parent6e16512eba2c39baa714fa253843b2171ba24f47 (diff)
BaseFileFind: Replace files() with fileContainerProvider()
The fileContainerProvider() is called only once per SearchResult instance, and the result (the provider) is stored inside FileFindParameters. In this way the extra data, like the name filters or the search directory, are set just once. Whenever the search is started (or started again), the stored provider recreates the FileContainer according to the data that has been captured by the lambda when the provider was created. This patch eliminates the need for retrieving the custom data from QVariant. It also eliminates the set of arbitrary arguments for the removed files() method. Remove the BaseFileFind * argument from the SearchEngine::executeSearch() method. Change-Id: I7211f503f82db12b5a99c9d342466daaaae0839f Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/git/gitgrep.cpp3
-rw-r--r--src/plugins/git/gitgrep.h3
-rw-r--r--src/plugins/projectexplorer/allprojectsfind.cpp11
-rw-r--r--src/plugins/projectexplorer/allprojectsfind.h10
-rw-r--r--src/plugins/projectexplorer/currentprojectfind.cpp28
-rw-r--r--src/plugins/projectexplorer/currentprojectfind.h4
-rw-r--r--src/plugins/projectexplorer/filesinallprojectsfind.cpp18
-rw-r--r--src/plugins/projectexplorer/filesinallprojectsfind.h4
-rw-r--r--src/plugins/silversearcher/findinfilessilversearcher.cpp2
-rw-r--r--src/plugins/silversearcher/findinfilessilversearcher.h2
-rw-r--r--src/plugins/texteditor/basefilefind.cpp14
-rw-r--r--src/plugins/texteditor/basefilefind.h9
-rw-r--r--src/plugins/texteditor/findincurrentfile.cpp19
-rw-r--r--src/plugins/texteditor/findincurrentfile.h4
-rw-r--r--src/plugins/texteditor/findinfiles.cpp11
-rw-r--r--src/plugins/texteditor/findinfiles.h4
-rw-r--r--src/plugins/texteditor/findinopenfiles.cpp39
-rw-r--r--src/plugins/texteditor/findinopenfiles.h4
18 files changed, 85 insertions, 104 deletions
diff --git a/src/plugins/git/gitgrep.cpp b/src/plugins/git/gitgrep.cpp
index f6324f152d..8f404c8f38 100644
--- a/src/plugins/git/gitgrep.cpp
+++ b/src/plugins/git/gitgrep.cpp
@@ -264,8 +264,7 @@ void GitGrep::writeSettings(QSettings *settings) const
settings->setValue(GitGrepRef, m_treeLineEdit->text());
}
-QFuture<SearchResultItems> GitGrep::executeSearch(const FileFindParameters &parameters,
- BaseFileFind *)
+QFuture<SearchResultItems> GitGrep::executeSearch(const FileFindParameters &parameters)
{
return Utils::asyncRun(runGitGrep, parameters);
}
diff --git a/src/plugins/git/gitgrep.h b/src/plugins/git/gitgrep.h
index fda6fe56eb..f2a4b812c5 100644
--- a/src/plugins/git/gitgrep.h
+++ b/src/plugins/git/gitgrep.h
@@ -28,8 +28,7 @@ public:
void readSettings(QSettings *settings) override;
void writeSettings(QSettings *settings) const override;
QFuture<Utils::SearchResultItems> executeSearch(
- const TextEditor::FileFindParameters &parameters,
- TextEditor::BaseFileFind *baseFileFind) override;
+ const TextEditor::FileFindParameters &parameters) override;
Core::IEditor *openEditor(const Utils::SearchResultItem &item,
const TextEditor::FileFindParameters &parameters) override;
diff --git a/src/plugins/projectexplorer/allprojectsfind.cpp b/src/plugins/projectexplorer/allprojectsfind.cpp
index 53bc13cfef..c9fdcb1122 100644
--- a/src/plugins/projectexplorer/allprojectsfind.cpp
+++ b/src/plugins/projectexplorer/allprojectsfind.cpp
@@ -47,17 +47,16 @@ bool AllProjectsFind::isEnabled() const
return BaseFileFind::isEnabled() && ProjectManager::hasProjects();
}
-FileContainer AllProjectsFind::files(const QStringList &nameFilters,
- const QStringList &exclusionFilters,
- const QVariant &additionalParameters) const
+FileContainerProvider AllProjectsFind::fileContainerProvider() const
{
- Q_UNUSED(additionalParameters)
- return filesForProjects(nameFilters, exclusionFilters, ProjectManager::projects());
+ return [nameFilters = fileNameFilters(), exclusionFilters = fileExclusionFilters()] {
+ return filesForProjects(nameFilters, exclusionFilters, ProjectManager::projects());
+ };
}
FileContainer AllProjectsFind::filesForProjects(const QStringList &nameFilters,
const QStringList &exclusionFilters,
- const QList<Project *> &projects) const
+ const QList<Project *> &projects)
{
std::function<FilePaths(const FilePaths &)> filterFiles
= Utils::filterFilesFunction(nameFilters, exclusionFilters);
diff --git a/src/plugins/projectexplorer/allprojectsfind.h b/src/plugins/projectexplorer/allprojectsfind.h
index 4752d8d28a..c4d70e1a1c 100644
--- a/src/plugins/projectexplorer/allprojectsfind.h
+++ b/src/plugins/projectexplorer/allprojectsfind.h
@@ -30,18 +30,16 @@ public:
void readSettings(QSettings *settings) override;
protected:
- Utils::FileContainer files(const QStringList &nameFilters,
- const QStringList &exclusionFilters,
- const QVariant &additionalParameters) const override;
- Utils::FileContainer filesForProjects(const QStringList &nameFilters,
- const QStringList &exclusionFilters,
- const QList<Project *> &projects) const;
+ static Utils::FileContainer filesForProjects(const QStringList &nameFilters,
+ const QStringList &exclusionFilters,
+ const QList<Project *> &projects);
QVariant additionalParameters() const override;
QString label() const override;
QString toolTip() const override;
private:
+ TextEditor::FileContainerProvider fileContainerProvider() const override;
void handleFileListChanged();
QPointer<QWidget> m_configWidget;
diff --git a/src/plugins/projectexplorer/currentprojectfind.cpp b/src/plugins/projectexplorer/currentprojectfind.cpp
index 942a1dc6e7..7bd8bd332c 100644
--- a/src/plugins/projectexplorer/currentprojectfind.cpp
+++ b/src/plugins/projectexplorer/currentprojectfind.cpp
@@ -57,17 +57,22 @@ QVariant CurrentProjectFind::additionalParameters() const
return QVariant();
}
-FileContainer CurrentProjectFind::files(const QStringList &nameFilters,
- const QStringList &exclusionFilters,
- const QVariant &additionalParameters) const
+static FilePath currentProjectFilePath()
{
- QTC_ASSERT(additionalParameters.isValid(), return {});
- const FilePath projectFile = FilePath::fromVariant(additionalParameters);
- for (Project *project : ProjectManager::projects()) {
- if (project && projectFile == project->projectFilePath())
- return filesForProjects(nameFilters, exclusionFilters, {project});
- }
- return {};
+ Project *project = ProjectTree::currentProject();
+ return project ? project->projectFilePath() : FilePath();
+}
+
+FileContainerProvider CurrentProjectFind::fileContainerProvider() const
+{
+ return [nameFilters = fileNameFilters(), exclusionFilters = fileExclusionFilters(),
+ projectFile = currentProjectFilePath()] {
+ for (Project *project : ProjectManager::projects()) {
+ if (project && projectFile == project->projectFilePath())
+ return filesForProjects(nameFilters, exclusionFilters, {project});
+ }
+ return FileContainer();
+ };
}
QString CurrentProjectFind::label() const
@@ -85,8 +90,7 @@ void CurrentProjectFind::handleProjectChanged()
void CurrentProjectFind::setupSearch(Core::SearchResult *search)
{
- Project *project = ProjectTree::currentProject();
- const FilePath projectFile = project ? project->projectFilePath() : FilePath();
+ const FilePath projectFile = currentProjectFilePath();
connect(this, &IFindFilter::enabledChanged, search, [search, projectFile] {
const QList<Project *> projects = ProjectManager::projects();
for (Project *project : projects) {
diff --git a/src/plugins/projectexplorer/currentprojectfind.h b/src/plugins/projectexplorer/currentprojectfind.h
index a2589bf2b9..4ac5e4eeb3 100644
--- a/src/plugins/projectexplorer/currentprojectfind.h
+++ b/src/plugins/projectexplorer/currentprojectfind.h
@@ -27,13 +27,11 @@ public:
void readSettings(QSettings *settings) override;
protected:
- Utils::FileContainer files(const QStringList &nameFilters,
- const QStringList &exclusionFilters,
- const QVariant &additionalParameters) const override;
QVariant additionalParameters() const override;
QString label() const override;
private:
+ TextEditor::FileContainerProvider fileContainerProvider() const override;
void handleProjectChanged();
void setupSearch(Core::SearchResult *search) override;
};
diff --git a/src/plugins/projectexplorer/filesinallprojectsfind.cpp b/src/plugins/projectexplorer/filesinallprojectsfind.cpp
index 554b072f7b..5b8e6eaa68 100644
--- a/src/plugins/projectexplorer/filesinallprojectsfind.cpp
+++ b/src/plugins/projectexplorer/filesinallprojectsfind.cpp
@@ -13,6 +13,7 @@
#include <QSettings>
+using namespace TextEditor;
using namespace Utils;
namespace ProjectExplorer {
@@ -47,16 +48,15 @@ void FilesInAllProjectsFind::readSettings(QSettings *settings)
settings->endGroup();
}
-FileContainer FilesInAllProjectsFind::files(const QStringList &nameFilters,
- const QStringList &exclusionFilters,
- const QVariant &additionalParameters) const
+FileContainerProvider FilesInAllProjectsFind::fileContainerProvider() const
{
- Q_UNUSED(additionalParameters)
- const QSet<FilePath> dirs = Utils::transform<QSet>(ProjectManager::projects(), [](Project *p) {
- return p->projectFilePath().parentDir();
- });
- return SubDirFileContainer(FilePaths(dirs.constBegin(), dirs.constEnd()), nameFilters,
- exclusionFilters, Core::EditorManager::defaultTextCodec());
+ return [nameFilters = fileNameFilters(), exclusionFilters = fileExclusionFilters()] {
+ const QSet<FilePath> dirs = Utils::transform<QSet>(ProjectManager::projects(), [](Project *p) {
+ return p->projectFilePath().parentDir();
+ });
+ return SubDirFileContainer(FilePaths(dirs.constBegin(), dirs.constEnd()), nameFilters,
+ exclusionFilters, Core::EditorManager::defaultTextCodec());
+ };
}
QString FilesInAllProjectsFind::label() const
diff --git a/src/plugins/projectexplorer/filesinallprojectsfind.h b/src/plugins/projectexplorer/filesinallprojectsfind.h
index ad09ff031d..1e27b06a30 100644
--- a/src/plugins/projectexplorer/filesinallprojectsfind.h
+++ b/src/plugins/projectexplorer/filesinallprojectsfind.h
@@ -20,9 +20,7 @@ public:
void readSettings(QSettings *settings) override;
protected:
- Utils::FileContainer files(const QStringList &nameFilters,
- const QStringList &exclusionFilters,
- const QVariant &additionalParameters) const override;
+ TextEditor::FileContainerProvider fileContainerProvider() const override;
QString label() const override;
};
diff --git a/src/plugins/silversearcher/findinfilessilversearcher.cpp b/src/plugins/silversearcher/findinfilessilversearcher.cpp
index 6cf428bb64..f607ae5149 100644
--- a/src/plugins/silversearcher/findinfilessilversearcher.cpp
+++ b/src/plugins/silversearcher/findinfilessilversearcher.cpp
@@ -165,7 +165,7 @@ void FindInFilesSilverSearcher::writeSettings(QSettings *settings) const
}
QFuture<SearchResultItems> FindInFilesSilverSearcher::executeSearch(
- const FileFindParameters &parameters, BaseFileFind * /*baseFileFind*/)
+ const FileFindParameters &parameters)
{
return Utils::asyncRun(runSilverSeacher, parameters);
}
diff --git a/src/plugins/silversearcher/findinfilessilversearcher.h b/src/plugins/silversearcher/findinfilessilversearcher.h
index bc5e224c21..b70684f6ec 100644
--- a/src/plugins/silversearcher/findinfilessilversearcher.h
+++ b/src/plugins/silversearcher/findinfilessilversearcher.h
@@ -32,7 +32,7 @@ public:
void readSettings(QSettings *settings) override;
void writeSettings(QSettings *settings) const override;
QFuture<Utils::SearchResultItems> executeSearch(
- const TextEditor::FileFindParameters &parameters, TextEditor::BaseFileFind *) override;
+ const TextEditor::FileFindParameters &parameters) override;
Core::IEditor *openEditor(const Utils::SearchResultItem &item,
const TextEditor::FileFindParameters &parameters) override;
diff --git a/src/plugins/texteditor/basefilefind.cpp b/src/plugins/texteditor/basefilefind.cpp
index efec770872..23ef9c75d7 100644
--- a/src/plugins/texteditor/basefilefind.cpp
+++ b/src/plugins/texteditor/basefilefind.cpp
@@ -145,14 +145,10 @@ public:
QVariant parameters() const override { return {}; }
void readSettings(QSettings * /*settings*/) override {}
void writeSettings(QSettings * /*settings*/) const override {}
- QFuture<SearchResultItems> executeSearch(const TextEditor::FileFindParameters &parameters,
- BaseFileFind *baseFileFind) override
+ QFuture<SearchResultItems> executeSearch(const FileFindParameters &parameters) override
{
- const FileContainer container = baseFileFind->files(parameters.nameFilters,
- parameters.exclusionFilters,
- parameters.additionalParameters);
- return Utils::findInFiles(parameters.text, container, parameters.flags,
- TextDocument::openedTextDocumentContents());
+ return Utils::findInFiles(parameters.text, parameters.fileContainerProvider(),
+ parameters.flags, TextDocument::openedTextDocumentContents());
}
Core::IEditor *openEditor(const SearchResultItem &/*item*/,
@@ -324,6 +320,8 @@ void BaseFileFind::runNewSearch(const QString &txt, FindFlags findFlags,
parameters.additionalParameters = additionalParameters();
parameters.searchEngineParameters = currentSearchEngine()->parameters();
parameters.searchEngineIndex = d->m_currentSearchEngineIndex;
+ parameters.fileContainerProvider = fileContainerProvider();
+
search->setUserData(QVariant::fromValue(parameters));
connect(search, &SearchResult::activated, this, [this, search](const SearchResultItem &item) {
openEditor(search, item);
@@ -600,7 +598,7 @@ FilePaths BaseFileFind::replaceAll(const QString &text, const SearchResultItems
QFuture<SearchResultItems> BaseFileFind::executeSearch(const FileFindParameters &parameters)
{
- return d->m_searchEngines[parameters.searchEngineIndex]->executeSearch(parameters, this);
+ return d->m_searchEngines[parameters.searchEngineIndex]->executeSearch(parameters);
}
namespace Internal {
diff --git a/src/plugins/texteditor/basefilefind.h b/src/plugins/texteditor/basefilefind.h
index c92b857b57..95226730d6 100644
--- a/src/plugins/texteditor/basefilefind.h
+++ b/src/plugins/texteditor/basefilefind.h
@@ -27,6 +27,8 @@ class BaseFileFindPrivate;
class SearchEnginePrivate;
} // Internal
+using FileContainerProvider = std::function<Utils::FileContainer()>;
+
class TEXTEDITOR_EXPORT FileFindParameters
{
public:
@@ -37,6 +39,7 @@ public:
QVariant searchEngineParameters;
int searchEngineIndex;
Utils::FindFlags flags;
+ FileContainerProvider fileContainerProvider = {};
};
using ProcessSetupHandler = std::function<void(Utils::Process &)>;
@@ -65,7 +68,7 @@ public:
virtual void readSettings(QSettings *settings) = 0;
virtual void writeSettings(QSettings *settings) const = 0;
virtual QFuture<Utils::SearchResultItems> executeSearch(
- const FileFindParameters &parameters, BaseFileFind *baseFileFind) = 0;
+ const FileFindParameters &parameters) = 0;
virtual Core::IEditor *openEditor(const Utils::SearchResultItem &item,
const FileFindParameters &parameters) = 0;
bool isEnabled() const;
@@ -95,9 +98,6 @@ public:
/* returns the list of unique files that were passed in items */
static Utils::FilePaths replaceAll(const QString &txt, const Utils::SearchResultItems &items,
bool preserveCase = false);
- virtual Utils::FileContainer files(const QStringList &nameFilters,
- const QStringList &exclusionFilters,
- const QVariant &additionalParameters) const = 0;
protected:
virtual QVariant additionalParameters() const = 0;
@@ -121,6 +121,7 @@ signals:
void currentSearchEngineChanged();
private:
+ virtual FileContainerProvider fileContainerProvider() const = 0;
void openEditor(Core::SearchResult *result, const Utils::SearchResultItem &item);
void doReplace(const QString &txt, const Utils::SearchResultItems &items, bool preserveCase);
void hideHighlightAll(bool visible);
diff --git a/src/plugins/texteditor/findincurrentfile.cpp b/src/plugins/texteditor/findincurrentfile.cpp
index ce471c1c12..197d02f53e 100644
--- a/src/plugins/texteditor/findincurrentfile.cpp
+++ b/src/plugins/texteditor/findincurrentfile.cpp
@@ -36,18 +36,15 @@ QString FindInCurrentFile::displayName() const
return Tr::tr("Current File");
}
-FileContainer FindInCurrentFile::files(const QStringList &nameFilters,
- const QStringList &exclusionFilters,
- const QVariant &additionalParameters) const
+FileContainerProvider FindInCurrentFile::fileContainerProvider() const
{
- Q_UNUSED(nameFilters)
- Q_UNUSED(exclusionFilters)
- const auto fileName = FilePath::fromVariant(additionalParameters);
- QMap<FilePath, QTextCodec *> openEditorEncodings = TextDocument::openedTextDocumentEncodings();
- QTextCodec *codec = openEditorEncodings.value(fileName);
- if (!codec)
- codec = Core::EditorManager::defaultTextCodec();
- return FileListContainer({fileName}, {codec});
+ return [fileName = m_currentDocument->filePath()] {
+ const QMap<FilePath, QTextCodec *> encodings = TextDocument::openedTextDocumentEncodings();
+ QTextCodec *codec = encodings.value(fileName);
+ if (!codec)
+ codec = Core::EditorManager::defaultTextCodec();
+ return FileListContainer({fileName}, {codec});
+ };
}
QVariant FindInCurrentFile::additionalParameters() const
diff --git a/src/plugins/texteditor/findincurrentfile.h b/src/plugins/texteditor/findincurrentfile.h
index c5f07eb8b9..5eb75de05b 100644
--- a/src/plugins/texteditor/findincurrentfile.h
+++ b/src/plugins/texteditor/findincurrentfile.h
@@ -29,14 +29,12 @@ public:
void readSettings(QSettings *settings) override;
protected:
- Utils::FileContainer files(const QStringList &nameFilters,
- const QStringList &exclusionFilters,
- const QVariant &additionalParameters) const override;
QVariant additionalParameters() const override;
QString label() const override;
QString toolTip() const override;
private:
+ FileContainerProvider fileContainerProvider() const override;
void handleFileChange(Core::IEditor *editor);
QPointer<Core::IDocument> m_currentDocument;
diff --git a/src/plugins/texteditor/findinfiles.cpp b/src/plugins/texteditor/findinfiles.cpp
index 908e53d875..3f073f8229 100644
--- a/src/plugins/texteditor/findinfiles.cpp
+++ b/src/plugins/texteditor/findinfiles.cpp
@@ -58,12 +58,13 @@ QString FindInFiles::displayName() const
return Tr::tr("Files in File System");
}
-FileContainer FindInFiles::files(const QStringList &nameFilters,
- const QStringList &exclusionFilters,
- const QVariant &additionalParameters) const
+FileContainerProvider FindInFiles::fileContainerProvider() const
{
- return SubDirFileContainer({FilePath::fromVariant(additionalParameters)}, nameFilters,
- exclusionFilters, EditorManager::defaultTextCodec());
+ return [nameFilters = fileNameFilters(), exclusionFilters = fileExclusionFilters(),
+ filePath = path()] {
+ return SubDirFileContainer({filePath}, nameFilters, exclusionFilters,
+ EditorManager::defaultTextCodec());
+ };
}
QVariant FindInFiles::additionalParameters() const
diff --git a/src/plugins/texteditor/findinfiles.h b/src/plugins/texteditor/findinfiles.h
index c7e923b950..3713ab0b1d 100644
--- a/src/plugins/texteditor/findinfiles.h
+++ b/src/plugins/texteditor/findinfiles.h
@@ -44,15 +44,13 @@ signals:
void pathChanged(const Utils::FilePath &directory);
protected:
- Utils::FileContainer files(const QStringList &nameFilters,
- const QStringList &exclusionFilters,
- const QVariant &additionalParameters) const override;
QVariant additionalParameters() const override;
QString label() const override;
QString toolTip() const override;
void syncSearchEngineCombo(int selectedSearchEngineIndex) override;
private:
+ FileContainerProvider fileContainerProvider() const override;
void setValid(bool valid);
void searchEnginesSelectionChanged(int index);
Utils::FilePath path() const;
diff --git a/src/plugins/texteditor/findinopenfiles.cpp b/src/plugins/texteditor/findinopenfiles.cpp
index 6bfdd1b04e..6b3e7dbe9c 100644
--- a/src/plugins/texteditor/findinopenfiles.cpp
+++ b/src/plugins/texteditor/findinopenfiles.cpp
@@ -36,30 +36,25 @@ QString FindInOpenFiles::displayName() const
return Tr::tr("Open Documents");
}
-FileContainer FindInOpenFiles::files(const QStringList &nameFilters,
- const QStringList &exclusionFilters,
- const QVariant &additionalParameters) const
+FileContainerProvider FindInOpenFiles::fileContainerProvider() const
{
- Q_UNUSED(nameFilters)
- Q_UNUSED(exclusionFilters)
- Q_UNUSED(additionalParameters)
- QMap<FilePath, QTextCodec *> openEditorEncodings
- = TextDocument::openedTextDocumentEncodings();
- FilePaths fileNames;
- QList<QTextCodec *> codecs;
- const QList<Core::DocumentModel::Entry *> entries = Core::DocumentModel::entries();
- for (Core::DocumentModel::Entry *entry : entries) {
- const FilePath fileName = entry->filePath();
- if (!fileName.isEmpty()) {
- fileNames.append(fileName);
- QTextCodec *codec = openEditorEncodings.value(fileName);
- if (!codec)
- codec = Core::EditorManager::defaultTextCodec();
- codecs.append(codec);
+ return [] {
+ const QMap<FilePath, QTextCodec *> encodings = TextDocument::openedTextDocumentEncodings();
+ FilePaths fileNames;
+ QList<QTextCodec *> codecs;
+ const QList<Core::DocumentModel::Entry *> entries = Core::DocumentModel::entries();
+ for (Core::DocumentModel::Entry *entry : entries) {
+ const FilePath fileName = entry->filePath();
+ if (!fileName.isEmpty()) {
+ fileNames.append(fileName);
+ QTextCodec *codec = encodings.value(fileName);
+ if (!codec)
+ codec = Core::EditorManager::defaultTextCodec();
+ codecs.append(codec);
+ }
}
- }
-
- return FileListContainer(fileNames, codecs);
+ return FileListContainer(fileNames, codecs);
+ };
}
QVariant FindInOpenFiles::additionalParameters() const
diff --git a/src/plugins/texteditor/findinopenfiles.h b/src/plugins/texteditor/findinopenfiles.h
index 3431331b5b..a96cd4f061 100644
--- a/src/plugins/texteditor/findinopenfiles.h
+++ b/src/plugins/texteditor/findinopenfiles.h
@@ -22,14 +22,12 @@ public:
void readSettings(QSettings *settings) override;
protected:
- Utils::FileContainer files(const QStringList &nameFilters,
- const QStringList &exclusionFilters,
- const QVariant &additionalParameters) const override;
QVariant additionalParameters() const override;
QString label() const override;
QString toolTip() const override;
private:
+ FileContainerProvider fileContainerProvider() const override;
void updateEnabledState();
};