From 75709964abda92d827b4627e1999c3ea2a585fac Mon Sep 17 00:00:00 2001
From: con <qtc-committer@nokia.com>
Date: Fri, 19 Jun 2009 13:49:52 +0200
Subject: [PATCH] Use QMetaObject::invokeMethod instead of signal-slot hack.

---
 src/plugins/projectexplorer/allprojectsfilter.cpp    | 5 +----
 src/plugins/projectexplorer/allprojectsfilter.h      | 2 --
 src/plugins/projectexplorer/currentprojectfilter.cpp | 5 +----
 src/plugins/projectexplorer/currentprojectfilter.h   | 3 ---
 src/plugins/quickopen/opendocumentsfilter.cpp        | 5 +----
 src/plugins/quickopen/opendocumentsfilter.h          | 3 +--
 6 files changed, 4 insertions(+), 19 deletions(-)

diff --git a/src/plugins/projectexplorer/allprojectsfilter.cpp b/src/plugins/projectexplorer/allprojectsfilter.cpp
index 24a396d1fc7..a909f88b766 100644
--- a/src/plugins/projectexplorer/allprojectsfilter.cpp
+++ b/src/plugins/projectexplorer/allprojectsfilter.cpp
@@ -71,8 +71,5 @@ void AllProjectsFilter::updateFiles()
 void AllProjectsFilter::refresh(QFutureInterface<void> &future)
 {
     Q_UNUSED(future);
-    // invokeAsyncronouslyOnGuiThread
-    connect(this, SIGNAL(invokeRefresh()), this, SLOT(markFilesAsOutOfDate()));
-    emit invokeRefresh();
-    disconnect(this, SIGNAL(invokeRefresh()), this, SLOT(markFilesAsOutOfDate()));
+    QMetaObject::invokeMethod(this, "markFilesAsOutOfDate", Qt::BlockingQueuedConnection);
 }
diff --git a/src/plugins/projectexplorer/allprojectsfilter.h b/src/plugins/projectexplorer/allprojectsfilter.h
index f0cf3afea05..b45280b20c7 100644
--- a/src/plugins/projectexplorer/allprojectsfilter.h
+++ b/src/plugins/projectexplorer/allprojectsfilter.h
@@ -58,8 +58,6 @@ protected:
 
 private slots:
     void markFilesAsOutOfDate();
-signals:
-    void invokeRefresh();
 private:
     ProjectExplorerPlugin *m_projectExplorer;
     bool m_filesUpToDate;
diff --git a/src/plugins/projectexplorer/currentprojectfilter.cpp b/src/plugins/projectexplorer/currentprojectfilter.cpp
index 5910b2a58cb..01d98d45b66 100644
--- a/src/plugins/projectexplorer/currentprojectfilter.cpp
+++ b/src/plugins/projectexplorer/currentprojectfilter.cpp
@@ -88,8 +88,5 @@ void CurrentProjectFilter::currentProjectChanged(ProjectExplorer::Project *proje
 void CurrentProjectFilter::refresh(QFutureInterface<void> &future)
 {
     Q_UNUSED(future);
-    // invokeAsyncronouslyOnGuiThread
-    connect(this, SIGNAL(invokeRefresh()), this, SLOT(markFilesAsOutOfDate()));
-    emit invokeRefresh();
-    disconnect(this, SIGNAL(invokeRefresh()), this, SLOT(markFilesAsOutOfDate()));
+    QMetaObject::invokeMethod(this, "markFilesAsOutOfDate", Qt::BlockingQueuedConnection);
 }
diff --git a/src/plugins/projectexplorer/currentprojectfilter.h b/src/plugins/projectexplorer/currentprojectfilter.h
index 1f092451fd7..2cbf5e5d633 100644
--- a/src/plugins/projectexplorer/currentprojectfilter.h
+++ b/src/plugins/projectexplorer/currentprojectfilter.h
@@ -63,9 +63,6 @@ private slots:
     void currentProjectChanged(ProjectExplorer::Project *project);
     void markFilesAsOutOfDate();
 
-signals:
-    void invokeRefresh();
-
 private:
 
     ProjectExplorerPlugin *m_projectExplorer;
diff --git a/src/plugins/quickopen/opendocumentsfilter.cpp b/src/plugins/quickopen/opendocumentsfilter.cpp
index de2bce334bb..179647cad32 100644
--- a/src/plugins/quickopen/opendocumentsfilter.cpp
+++ b/src/plugins/quickopen/opendocumentsfilter.cpp
@@ -83,10 +83,7 @@ void OpenDocumentsFilter::refreshInternally()
 void OpenDocumentsFilter::refresh(QFutureInterface<void> &future)
 {
     Q_UNUSED(future);
-    // invokeAsyncronouslyOnGuiThread
-    connect(this, SIGNAL(invokeRefresh()), this, SLOT(refreshInternally()));
-    emit invokeRefresh();
-    disconnect(this, SIGNAL(invokeRefresh()), this, SLOT(refreshInternally()));
+    QMetaObject::invokeMethod(this, "refreshInternally", Qt::BlockingQueuedConnection);
 }
 
 void OpenDocumentsFilter::accept(FilterEntry selection) const
diff --git a/src/plugins/quickopen/opendocumentsfilter.h b/src/plugins/quickopen/opendocumentsfilter.h
index f5bfe0cbaa3..aafed3cfc5d 100644
--- a/src/plugins/quickopen/opendocumentsfilter.h
+++ b/src/plugins/quickopen/opendocumentsfilter.h
@@ -59,8 +59,7 @@ public:
 
 public slots:
     void refreshInternally();
-signals:
-    void invokeRefresh();
+
 private:
     Core::EditorManager *m_editorManager;
 
-- 
GitLab