aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor/basefilefind.h
diff options
context:
space:
mode:
authorPrzemyslaw Gorszkowski <pgorszkowski@gmail.com>2016-03-16 22:37:24 +0100
committerPrzemyslaw Gorszkowski <pgorszkowski@gmail.com>2016-11-16 09:52:05 +0000
commit6b2cf5cd03073ee8e7b319f68f7dce43c7984622 (patch)
treea8aec1772eb4fa09881b8858aef47c360ed25518 /src/plugins/texteditor/basefilefind.h
parent4ae07377db1f587b5d49a46c355d46c97a6c59fc (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.h25
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 &parameters) 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 &parameters) = 0;
+ const FileFindParameters &parameters, BaseFileFind *baseFileFind) = 0;
virtual Core::IEditor *openEditor(const Core::SearchResultItem &item,
const FileFindParameters &parameters) = 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);