diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeployablelistmodel.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodeployablelistmodel.cpp index caae7b25b03873e1e5d5515f2a0b0936ee8992b6..920c61f075cae1b54dff16ddacc5a5d64f39b724 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemodeployablelistmodel.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeployablelistmodel.cpp @@ -219,7 +219,7 @@ QString MaemoDeployableListModel::projectName() const QString MaemoDeployableListModel::projectDir() const { - return m_proFileNode->path(); + return QFileInfo(m_proFileNode->path()).dir().path(); } } // namespace Qt4ProjectManager diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeployables.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodeployables.cpp index 52e8da93d997b7fdc1a9b30140df31f271738ec0..203b0333a0483fe423627c94d266543828429afc 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemodeployables.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeployables.cpp @@ -56,16 +56,24 @@ namespace Qt4ProjectManager { namespace Internal { MaemoDeployables::MaemoDeployables(MaemoPackageCreationStep *packagingStep) - : m_packagingStep(packagingStep) + : m_packagingStep(packagingStep), m_proFilesWatcher(0) { QTimer::singleShot(0, this, SLOT(createModels())); } void MaemoDeployables::createModels() { - const Qt4ProFileNode *rootNode = m_packagingStep->qt4BuildConfiguration() + m_listModels.clear(); + Qt4ProFileNode *rootNode = m_packagingStep->qt4BuildConfiguration() ->qt4Target()->qt4Project()->rootProjectNode(); createModels(rootNode); + if (!m_proFilesWatcher) { + m_proFilesWatcher = new Qt4NodesWatcher(this); + connect(m_proFilesWatcher, + SIGNAL(proFileUpdated(Qt4ProjectManager::Internal::Qt4ProFileNode*)), + this, SLOT(createModels())); + rootNode->registerWatcher(m_proFilesWatcher); + } emit modelsCreated(); } diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeployables.h b/src/plugins/qt4projectmanager/qt-maemo/maemodeployables.h index 7c66c5d39eef30ac80688c14175464a9a1036ef6..d732882f6904777ebe1411f2c6dc77cfabe5107d 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemodeployables.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeployables.h @@ -51,6 +51,7 @@ namespace Qt4ProjectManager { namespace Internal { class MaemoDeployableListModel; class MaemoPackageCreationStep; +class Qt4NodesWatcher; class Qt4ProFileNode; class MaemoDeployables : public QObject @@ -75,6 +76,7 @@ private: QList<MaemoDeployableListModel *> m_listModels; MaemoPackageCreationStep * const m_packagingStep; + Qt4NodesWatcher *m_proFilesWatcher; }; } // namespace Qt4ProjectManager diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.cpp index 4360badbbfe725e0fa7911bb15b45ea5eeaed1c4..6c0c5cf13f632ef199d1094f80d2db475a9f2f2e 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.cpp @@ -71,12 +71,9 @@ MaemoPackageCreationWidget::MaemoPackageCreationWidget(MaemoPackageCreationStep m_ui->patch->setValue(list.value(2, QLatin1String("0")).toInt()); versionInfoChanged(); - if (step->deployables()->modelCount() > 0) { - handleModelsCreated(); - } else { - connect(m_step->deployables(), SIGNAL(modelsCreated()), this, - SLOT(handleModelsCreated())); - } + connect(m_step->deployables(), SIGNAL(modelsCreated()), this, + SLOT(handleModelsCreated())); + handleModelsCreated(); } void MaemoPackageCreationWidget::init() @@ -107,6 +104,7 @@ void MaemoPackageCreationWidget::versionInfoChanged() void MaemoPackageCreationWidget::handleModelsCreated() { + m_ui->tabWidget->clear(); for (int i = 0; i < m_step->deployables()->modelCount(); ++i) { MaemoDeployableListModel * const model = m_step->deployables()->modelAt(i);