diff options
author | Przemyslaw Gorszkowski <pgorszkowski@gmail.com> | 2016-03-16 22:37:24 +0100 |
---|---|---|
committer | Przemyslaw Gorszkowski <pgorszkowski@gmail.com> | 2016-11-16 09:52:05 +0000 |
commit | 6b2cf5cd03073ee8e7b319f68f7dce43c7984622 (patch) | |
tree | a8aec1772eb4fa09881b8858aef47c360ed25518 /src/plugins/texteditor/basefilefind.h | |
parent | 4ae07377db1f587b5d49a46c355d46c97a6c59fc (diff) |
FindInFiles: make possible to have more than one extension
This change adds a possibility to add more than
one external tool which can be used instead of internal finder.
Currently there is one extension: 'gitgrep'.
By default we use internal finder.
Change-Id: If644358552f3cea9ebda8308539322a1b6d3ab77
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/texteditor/basefilefind.h')
-rw-r--r-- | src/plugins/texteditor/basefilefind.h | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/plugins/texteditor/basefilefind.h b/src/plugins/texteditor/basefilefind.h index 428296c3ec1..a681010225d 100644 --- a/src/plugins/texteditor/basefilefind.h +++ b/src/plugins/texteditor/basefilefind.h @@ -57,25 +57,28 @@ public: Core::FindFlags flags; QStringList nameFilters; QVariant additionalParameters; - QVariant extensionParameters; + int searchEngineIndex; + QVariant searchEngineParameters; }; -class TEXTEDITOR_EXPORT FileFindExtension : public QObject +class BaseFileFind; + +class TEXTEDITOR_EXPORT SearchEngine : public QObject { public: - virtual ~FileFindExtension() {} + virtual ~SearchEngine() {} virtual QString title() const = 0; virtual QString toolTip() const = 0; // add %1 placeholder where the find flags should be put virtual QWidget *widget() const = 0; virtual bool isEnabled() const = 0; - virtual bool isEnabled(const FileFindParameters ¶meters) const = 0; virtual QVariant parameters() const = 0; virtual void readSettings(QSettings *settings) = 0; virtual void writeSettings(QSettings *settings) const = 0; virtual QFuture<Utils::FileSearchResultList> executeSearch( - const FileFindParameters ¶meters) = 0; + const FileFindParameters ¶meters, BaseFileFind *baseFileFind) = 0; virtual Core::IEditor *openEditor(const Core::SearchResultItem &item, const FileFindParameters ¶meters) = 0; + }; class TEXTEDITOR_EXPORT BaseFileFind : public Core::IFindFilter @@ -90,16 +93,16 @@ public: bool isReplaceSupported() const { return true; } void findAll(const QString &txt, Core::FindFlags findFlags); void replaceAll(const QString &txt, Core::FindFlags findFlags); - void setFindExtension(FileFindExtension *extension); + void addSearchEngine(SearchEngine *searchEngine); /* returns the list of unique files that were passed in items */ static QStringList replaceAll(const QString &txt, const QList<Core::SearchResultItem> &items, bool preserveCase = false); - -protected: virtual Utils::FileIterator *files(const QStringList &nameFilters, const QVariant &additionalParameters) const = 0; + +protected: virtual QVariant additionalParameters() const = 0; QVariant getAdditionalParameters(Core::SearchResult *search); virtual QString label() const = 0; // see Core::SearchResultWindow::startNewSearch @@ -113,7 +116,11 @@ protected: void syncComboWithSettings(QComboBox *combo, const QString &setting); void updateComboEntries(QComboBox *combo, bool onTop); QStringList fileNameFilters() const; - FileFindExtension *extension() const; + + SearchEngine *currentSearchEngine() const; + QVector<SearchEngine *> searchEngines() const; + void setCurrentSearchEngine(int index); + virtual void syncSearchEngineCombo(int /*selectedSearchEngineIndex*/) {} private: void displayResult(int index); |