diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemomanager.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemomanager.cpp index 18438e2c06e095ce0563a542e9d1dad42965ace8..60f6a80fb5f23a698b5c5eac2208c29812c4c268 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemomanager.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemomanager.cpp @@ -44,6 +44,9 @@ #include <QtCore/QFile> #include <QtCore/QTextStream> +using namespace ExtensionSystem; +using namespace ProjectExplorer; + namespace Qt4ProjectManager { namespace Internal { @@ -59,10 +62,10 @@ MaemoManager::MaemoManager() Q_ASSERT(!m_instance); m_instance = this; + QemuRuntimeManager::instance(this); MaemoDeviceConfigurations::instance(this); - ExtensionSystem::PluginManager *pluginManager - = ExtensionSystem::PluginManager::instance(); + PluginManager *pluginManager = PluginManager::instance(); pluginManager->addObject(m_runControlFactory); pluginManager->addObject(m_runConfigurationFactory); pluginManager->addObject(m_packageCreationFactory); @@ -71,8 +74,7 @@ MaemoManager::MaemoManager() MaemoManager::~MaemoManager() { - ExtensionSystem::PluginManager *pluginManager - = ExtensionSystem::PluginManager::instance(); + PluginManager *pluginManager = PluginManager::instance(); pluginManager->removeObject(m_runControlFactory); pluginManager->removeObject(m_runConfigurationFactory); pluginManager->removeObject(m_packageCreationFactory); @@ -87,13 +89,7 @@ MaemoManager &MaemoManager::instance() return *m_instance; } -void MaemoManager::init() -{ - m_qemuRuntimeManager = new QemuRuntimeManager(this); -} - -bool -MaemoManager::isValidMaemoQtVersion(const Qt4ProjectManager::QtVersion *version) const +bool MaemoManager::isValidMaemoQtVersion(const QtVersion *version) const { QString path = QDir::cleanPath(version->qmakeCommand()); path = path.remove(QLatin1String("/bin/qmake" EXEC_SUFFIX)); @@ -116,8 +112,7 @@ MaemoManager::isValidMaemoQtVersion(const Qt4ProjectManager::QtVersion *version) return false; } -ProjectExplorer::ToolChain* -MaemoManager::maemoToolChain(const QtVersion *version) const +ToolChain* MaemoManager::maemoToolChain(const QtVersion *version) const { QString targetRoot = QDir::cleanPath(version->qmakeCommand()); targetRoot.remove(QLatin1String("/bin/qmake" EXEC_SUFFIX)); diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemomanager.h b/src/plugins/qt4projectmanager/qt-maemo/maemomanager.h index 786ac125e262073078bc4d02889d417cfc7b4986..689fbfa27ffa8f7a3882d0cc8739263cff4c596b 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemomanager.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemomanager.h @@ -56,8 +56,6 @@ public: ~MaemoManager(); static MaemoManager &instance(); - void init(); - bool isValidMaemoQtVersion(const Qt4ProjectManager::QtVersion *version) const; ToolChain *maemoToolChain(const Qt4ProjectManager::QtVersion *version) const; diff --git a/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.cpp b/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.cpp index 3d16648d76a1cbecc15685d15b05d5fcf0b68952..427e118e0b01be4052f11ba23ab863eb60925d93 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.cpp @@ -69,9 +69,6 @@ QemuRuntimeManager::QemuRuntimeManager(QObject *parent) , m_needsSetup(true) , m_userTerminated(false) { - Q_ASSERT(!m_instance); - m_instance = this; - m_qemuStarterIcon.addFile(":/qt-maemo/images/qemu-run.png", iconSize); m_qemuStarterIcon.addFile(":/qt-maemo/images/qemu-stop.png", iconSize, QIcon::Normal, QIcon::On); @@ -117,11 +114,13 @@ QemuRuntimeManager::QemuRuntimeManager(QObject *parent) QemuRuntimeManager::~QemuRuntimeManager() { terminateRuntime(); + m_instance = 0; } -QemuRuntimeManager &QemuRuntimeManager::instance() +QemuRuntimeManager &QemuRuntimeManager::instance(QObject *parent) { - Q_ASSERT(m_instance); + if (m_instance == 0) + m_instance = new QemuRuntimeManager(parent); return *m_instance; } diff --git a/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.h b/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.h index 0054596b2e93c136011a0e1e81ef86ea4d5e8cd6..707745a8c9d939f1e0838bc64f8c16b4e884ac20 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.h +++ b/src/plugins/qt4projectmanager/qt-maemo/qemuruntimemanager.h @@ -71,10 +71,7 @@ class QemuRuntimeManager : public QObject Q_OBJECT public: - QemuRuntimeManager(QObject *parent = 0); - ~QemuRuntimeManager(); - - static QemuRuntimeManager& instance(); + static QemuRuntimeManager& instance(QObject *parent = 0); bool runtimeForQtVersion(int uniqueId, Runtime *rt) const; @@ -111,6 +108,9 @@ private slots: void qemuStatusChanged(QemuStatus status, const QString &error); private: + QemuRuntimeManager(QObject *parent); + ~QemuRuntimeManager(); + void setupRuntimes(); bool sessionHasMaemoTarget() const; diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp index f79dec8c08ccbdd041d79ee651e6f1d783fc0c33..6a1f08e01d942990f0242b9384d8b6999c9e1713 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp +++ b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp @@ -153,7 +153,7 @@ bool Qt4ProjectManagerPlugin::initialize(const QStringList &arguments, QString * addAutoReleasedObject(new LinguistExternalEditor); addAutoReleasedObject(new S60Manager); - addAutoReleasedObject(m_maemoManager = new MaemoManager); + addAutoReleasedObject(new MaemoManager); new ProFileCacheManager(this); @@ -228,7 +228,6 @@ bool Qt4ProjectManagerPlugin::initialize(const QStringList &arguments, QString * void Qt4ProjectManagerPlugin::extensionsInitialized() { m_qt4ProjectManager->init(); - m_maemoManager->init(); // depends on the Qt4ProjectManager } void Qt4ProjectManagerPlugin::updateContextMenu(Project *project, diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h index eec6477524e2e463dc5356c51d9e9ae11372c700..b6697d6f1770fca1fb954a323ac19afb69191f89 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h +++ b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h @@ -56,7 +56,6 @@ class QMakeStepFactory; class MakeStepFactory; class EmbeddedPropertiesPage; class GettingStartedWelcomePage; -class MaemoManager; class Qt4ProjectManagerPlugin : public ExtensionSystem::IPlugin { @@ -86,7 +85,6 @@ private: ProjectExplorer::ProjectExplorerPlugin *m_projectExplorer; ProFileEditorFactory *m_proFileEditorFactory; Qt4Manager *m_qt4ProjectManager; - MaemoManager *m_maemoManager; int m_projectContext;