diff --git a/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp b/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp index df0651746d4..3493acf2016 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp @@ -130,9 +130,6 @@ S60Manager::S60Manager(QObject *parent) : QObject(parent) addAutoReleasedObject(new Internal::SymbianIDeviceFactory); - ProjectExplorer::IDevice::Ptr dev(new SymbianIDevice); - ProjectExplorer::DeviceManager::instance()->addDevice(dev); - connect(Core::ICore::mainWindow(), SIGNAL(deviceChange()), SymbianUtils::SymbianDeviceManager::instance(), SLOT(update())); @@ -160,6 +157,12 @@ QString S60Manager::platform(const ProjectExplorer::ToolChain *tc) return target.right(target.lastIndexOf(QLatin1Char('-'))); } +void S60Manager::addDevice() +{ + ProjectExplorer::IDevice::Ptr dev(new SymbianIDevice); + ProjectExplorer::DeviceManager::instance()->addDevice(dev); +} + void S60Manager::symbianDeviceRemoved(const SymbianUtils::SymbianDevice &d) { handleSymbianDeviceStateChange(d, ProjectExplorer::IDevice::DeviceUnavailable); diff --git a/src/plugins/qt4projectmanager/qt-s60/s60manager.h b/src/plugins/qt4projectmanager/qt-s60/s60manager.h index fa861424e40..b1059cd7eef 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60manager.h +++ b/src/plugins/qt4projectmanager/qt-s60/s60manager.h @@ -53,6 +53,8 @@ public: static QString platform(const ProjectExplorer::ToolChain *tc); + void addDevice(); + private slots: void symbianDeviceRemoved(const SymbianUtils::SymbianDevice &d); void symbianDeviceAdded(const SymbianUtils::SymbianDevice &d); diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp index 50c04a6b534..347f624d4e7 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp +++ b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp @@ -293,6 +293,12 @@ bool Qt4ProjectManagerPlugin::initialize(const QStringList &arguments, QString * return true; } +bool Qt4ProjectManagerPlugin::delayedInitialize() +{ + S60Manager::instance()->addDevice(); + return true; +} + void Qt4ProjectManagerPlugin::extensionsInitialized() { m_qt4ProjectManager->init(); diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h index 319c22416c1..0cfbc1b3206 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h +++ b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h @@ -67,6 +67,7 @@ public: Qt4ProjectManagerPlugin(); ~Qt4ProjectManagerPlugin(); bool initialize(const QStringList &arguments, QString *errorMessage); + bool delayedInitialize(); void extensionsInitialized(); private slots: