diff options
author | Tim Jenssen <tim.jenssen@qt.io> | 2016-11-23 13:13:38 +0100 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@qt.io> | 2016-11-23 12:16:04 +0000 |
commit | 7f757884c5a04484820a97e592afae74beff95a9 (patch) | |
tree | d5066d8a24965523b5024ba37d210c74cd68446c /src/plugins/clangrefactoring/qtcreatorsearch.cpp | |
parent | 52fc4a4ebdc840cc351a0ed465a6523d5bc53ac2 (diff) |
Clang: Extend clang query
It's a first step to introduce clang query.
Change-Id: I4d001a8883f56066765ce6bc561fa3f49611c0a4
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src/plugins/clangrefactoring/qtcreatorsearch.cpp')
-rw-r--r-- | src/plugins/clangrefactoring/qtcreatorsearch.cpp | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/plugins/clangrefactoring/qtcreatorsearch.cpp b/src/plugins/clangrefactoring/qtcreatorsearch.cpp index 43d303e198..61f317c22a 100644 --- a/src/plugins/clangrefactoring/qtcreatorsearch.cpp +++ b/src/plugins/clangrefactoring/qtcreatorsearch.cpp @@ -27,6 +27,10 @@ #include "qtcreatorsearchhandle.h" +#include <coreplugin/editormanager/editormanager.h> + +#include <QDir> + namespace ClangRefactoring { QtCreatorSearch::QtCreatorSearch(Core::SearchResultWindow &searchResultWindow) @@ -34,7 +38,7 @@ QtCreatorSearch::QtCreatorSearch(Core::SearchResultWindow &searchResultWindow) { } -std::unique_ptr<SearchHandleInterface> QtCreatorSearch::startNewSearch(const QString &searchLabel, +std::unique_ptr<SearchHandle> QtCreatorSearch::startNewSearch(const QString &searchLabel, const QString &searchTerm) { Core::SearchResult *searchResult = searchResultWindow.startNewSearch( @@ -44,7 +48,24 @@ std::unique_ptr<SearchHandleInterface> QtCreatorSearch::startNewSearch(const QSt Core::SearchResultWindow::SearchOnly, Core::SearchResultWindow::PreserveCaseEnabled); - return std::unique_ptr<SearchHandleInterface>(new QtCreatorSearchHandle(searchResult)); + QObject::connect(searchResult, + &Core::SearchResult::activated, + &QtCreatorSearch::openEditor); + + auto searchHandle = std::unique_ptr<SearchHandle>(new QtCreatorSearchHandle(searchResult)); + + QObject::connect(searchResult, + &Core::SearchResult::cancelled, + [handle=searchHandle.get()] () { handle->cancel(); }); + + return searchHandle; +} + +void QtCreatorSearch::openEditor(const Core::SearchResultItem &item) +{ + Core::EditorManager::openEditorAt(QDir::fromNativeSeparators(item.path.first()), + item.mainRange.begin.line, + item.mainRange.begin.column); } } // namespace ClangRefactoring |