forked from qt-creator/qt-creator
QmlJS find usages: Don't pop up a result window if we don't search.
Task-number: QTCREATORBUG-4090
This commit is contained in:
@@ -645,6 +645,10 @@ static void find_helper(QFutureInterface<FindReferences::Usage> &future,
|
||||
if (!scope)
|
||||
return;
|
||||
|
||||
// report a dummy usage to indicate the search is starting
|
||||
FindReferences::Usage usage;
|
||||
future.reportResult(usage);
|
||||
|
||||
QStringList files;
|
||||
foreach (const Document::Ptr &doc, snapshot) {
|
||||
// ### skip files that don't contain the name token
|
||||
@@ -663,18 +667,11 @@ static void find_helper(QFutureInterface<FindReferences::Usage> &future,
|
||||
|
||||
void FindReferences::findUsages(const QString &fileName, quint32 offset)
|
||||
{
|
||||
Find::SearchResult *search = _resultWindow->startNewSearch(Find::SearchResultWindow::SearchOnly);
|
||||
|
||||
connect(search, SIGNAL(activated(Find::SearchResultItem)),
|
||||
this, SLOT(openEditor(Find::SearchResultItem)));
|
||||
|
||||
findAll_helper(fileName, offset);
|
||||
}
|
||||
|
||||
void FindReferences::findAll_helper(const QString &fileName, quint32 offset)
|
||||
{
|
||||
_resultWindow->popup(true);
|
||||
|
||||
ModelManagerInterface *modelManager = ModelManagerInterface::instance();
|
||||
|
||||
|
||||
@@ -682,16 +679,26 @@ void FindReferences::findAll_helper(const QString &fileName, quint32 offset)
|
||||
&find_helper, modelManager->workingCopy(),
|
||||
modelManager->snapshot(), fileName, offset);
|
||||
m_watcher.setFuture(result);
|
||||
|
||||
Core::ProgressManager *progressManager = Core::ICore::instance()->progressManager();
|
||||
Core::FutureProgress *progress = progressManager->addTask(result, tr("Searching"),
|
||||
QmlJSEditor::Constants::TASK_SEARCH);
|
||||
|
||||
connect(progress, SIGNAL(clicked()), _resultWindow, SLOT(popup()));
|
||||
}
|
||||
|
||||
void FindReferences::displayResults(int first, int last)
|
||||
{
|
||||
// the first usage is always a dummy to indicate we now start searching
|
||||
if (first == 0) {
|
||||
Find::SearchResult *search = _resultWindow->startNewSearch(Find::SearchResultWindow::SearchOnly);
|
||||
connect(search, SIGNAL(activated(Find::SearchResultItem)),
|
||||
this, SLOT(openEditor(Find::SearchResultItem)));
|
||||
_resultWindow->popup(true);
|
||||
|
||||
Core::ProgressManager *progressManager = Core::ICore::instance()->progressManager();
|
||||
Core::FutureProgress *progress = progressManager->addTask(
|
||||
m_watcher.future(), tr("Searching"),
|
||||
QmlJSEditor::Constants::TASK_SEARCH);
|
||||
connect(progress, SIGNAL(clicked()), _resultWindow, SLOT(popup()));
|
||||
|
||||
++first;
|
||||
}
|
||||
|
||||
for (int index = first; index != last; ++index) {
|
||||
Usage result = m_watcher.future().resultAt(index);
|
||||
_resultWindow->addResult(result.path,
|
||||
|
||||
Reference in New Issue
Block a user