aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangrefactoring/qtcreatorsearch.cpp
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@qt.io>2016-11-23 13:13:38 +0100
committerTim Jenssen <tim.jenssen@qt.io>2016-11-23 12:16:04 +0000
commit7f757884c5a04484820a97e592afae74beff95a9 (patch)
treed5066d8a24965523b5024ba37d210c74cd68446c /src/plugins/clangrefactoring/qtcreatorsearch.cpp
parent52fc4a4ebdc840cc351a0ed465a6523d5bc53ac2 (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.cpp25
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