From 3267a917a3c56ee50f9f0c11f13ce15467ea92ab Mon Sep 17 00:00:00 2001
From: con <qtc-committer@nokia.com>
Date: Thu, 28 May 2009 16:48:02 +0200
Subject: [PATCH] Update Qt versions when refresh button is pressed.

At the moment you need to close and reopen the preferences dialog though.
---
 src/plugins/qt4projectmanager/qt-s60/qt-s60-todo.txt | 3 +++
 src/plugins/qt4projectmanager/qt-s60/qt-s60.pri      | 2 +-
 src/plugins/qt4projectmanager/qt-s60/s60devices.cpp  | 1 +
 src/plugins/qt4projectmanager/qt-s60/s60devices.h    | 4 ++++
 src/plugins/qt4projectmanager/qt-s60/s60manager.cpp  | 2 ++
 src/plugins/qt4projectmanager/qt-s60/s60manager.h    | 2 ++
 6 files changed, 13 insertions(+), 1 deletion(-)
 create mode 100644 src/plugins/qt4projectmanager/qt-s60/qt-s60-todo.txt

diff --git a/src/plugins/qt4projectmanager/qt-s60/qt-s60-todo.txt b/src/plugins/qt4projectmanager/qt-s60/qt-s60-todo.txt
new file mode 100644
index 00000000000..9db7c47f8b9
--- /dev/null
+++ b/src/plugins/qt4projectmanager/qt-s60/qt-s60-todo.txt
@@ -0,0 +1,3 @@
+* When the refresh button in the SDK option page is pressed
+  the qtoptionspage is not updated to reflect the new versions
+  though we update them in S60Manager
diff --git a/src/plugins/qt4projectmanager/qt-s60/qt-s60.pri b/src/plugins/qt4projectmanager/qt-s60/qt-s60.pri
index 2d2d68a3cc2..796ef759da3 100644
--- a/src/plugins/qt4projectmanager/qt-s60/qt-s60.pri
+++ b/src/plugins/qt4projectmanager/qt-s60/qt-s60.pri
@@ -11,5 +11,5 @@ SUPPORT_QT_S60 = $$(QTCREATOR_WITH_S60)
         $$PWD/s60devicespreferencepane.h \
         $$PWD/s60manager.h
 
-    FORMS   += $$PWD/s60devicespreferencepane.ui
+    OTHER_FILES += qt-s60-todo.txt
 }
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devices.cpp b/src/plugins/qt4projectmanager/qt-s60/s60devices.cpp
index fb785b1ea66..98be1f68b6a 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60devices.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60devices.cpp
@@ -115,6 +115,7 @@ bool S60Devices::detectQtForDevices()
         }
         qtDll.close();
     }
+    emit qtVersionsChanged();
     return true;
 }
 
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devices.h b/src/plugins/qt4projectmanager/qt-s60/s60devices.h
index 0d6644b00cd..ae991b4e845 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60devices.h
+++ b/src/plugins/qt4projectmanager/qt-s60/s60devices.h
@@ -27,6 +27,10 @@ public:
     QList<Device> devices() const;
     bool detectQtForDevices();
     Device deviceForRoot(const QString &epocRoot) const;
+
+signals:
+    void qtVersionsChanged();
+
 private:
     QString m_errorString;
     QList<Device> m_devices;
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp b/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp
index ed0f9e40c56..f58d69b6f60 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp
@@ -50,6 +50,8 @@ S60Manager::S60Manager(QObject *parent)
     ExtensionSystem::PluginManager::instance()
             ->addObject(m_devicesPreferencePane);
     updateQtVersions();
+    connect(m_devices, SIGNAL(qtVersionsChanged()),
+            this, SLOT(updateQtVersions()));
 }
 
 S60Manager::~S60Manager()
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60manager.h b/src/plugins/qt4projectmanager/qt-s60/s60manager.h
index 2b34c044659..c9b4f758846 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60manager.h
+++ b/src/plugins/qt4projectmanager/qt-s60/s60manager.h
@@ -46,6 +46,8 @@ class S60Manager : public QObject
 public:
     S60Manager(QObject *parent = 0);
     ~S60Manager();
+
+private slots:
     void updateQtVersions();
 
 private:
-- 
GitLab