Maemo: Add watcher for project files.

Reviewed-by: kh1
This commit is contained in:
ck
2010-07-08 12:17:54 +02:00
parent 70e801bb09
commit 9d7fc860bf
4 changed files with 17 additions and 9 deletions

View File

@@ -219,7 +219,7 @@ QString MaemoDeployableListModel::projectName() const
QString MaemoDeployableListModel::projectDir() const QString MaemoDeployableListModel::projectDir() const
{ {
return m_proFileNode->path(); return QFileInfo(m_proFileNode->path()).dir().path();
} }
} // namespace Qt4ProjectManager } // namespace Qt4ProjectManager

View File

@@ -56,16 +56,24 @@ namespace Qt4ProjectManager {
namespace Internal { namespace Internal {
MaemoDeployables::MaemoDeployables(MaemoPackageCreationStep *packagingStep) MaemoDeployables::MaemoDeployables(MaemoPackageCreationStep *packagingStep)
: m_packagingStep(packagingStep) : m_packagingStep(packagingStep), m_proFilesWatcher(0)
{ {
QTimer::singleShot(0, this, SLOT(createModels())); QTimer::singleShot(0, this, SLOT(createModels()));
} }
void MaemoDeployables::createModels() void MaemoDeployables::createModels()
{ {
const Qt4ProFileNode *rootNode = m_packagingStep->qt4BuildConfiguration() m_listModels.clear();
Qt4ProFileNode *rootNode = m_packagingStep->qt4BuildConfiguration()
->qt4Target()->qt4Project()->rootProjectNode(); ->qt4Target()->qt4Project()->rootProjectNode();
createModels(rootNode); 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(); emit modelsCreated();
} }

View File

@@ -51,6 +51,7 @@ namespace Qt4ProjectManager {
namespace Internal { namespace Internal {
class MaemoDeployableListModel; class MaemoDeployableListModel;
class MaemoPackageCreationStep; class MaemoPackageCreationStep;
class Qt4NodesWatcher;
class Qt4ProFileNode; class Qt4ProFileNode;
class MaemoDeployables : public QObject class MaemoDeployables : public QObject
@@ -75,6 +76,7 @@ private:
QList<MaemoDeployableListModel *> m_listModels; QList<MaemoDeployableListModel *> m_listModels;
MaemoPackageCreationStep * const m_packagingStep; MaemoPackageCreationStep * const m_packagingStep;
Qt4NodesWatcher *m_proFilesWatcher;
}; };
} // namespace Qt4ProjectManager } // namespace Qt4ProjectManager

View File

@@ -71,12 +71,9 @@ MaemoPackageCreationWidget::MaemoPackageCreationWidget(MaemoPackageCreationStep
m_ui->patch->setValue(list.value(2, QLatin1String("0")).toInt()); m_ui->patch->setValue(list.value(2, QLatin1String("0")).toInt());
versionInfoChanged(); versionInfoChanged();
if (step->deployables()->modelCount() > 0) {
handleModelsCreated();
} else {
connect(m_step->deployables(), SIGNAL(modelsCreated()), this, connect(m_step->deployables(), SIGNAL(modelsCreated()), this,
SLOT(handleModelsCreated())); SLOT(handleModelsCreated()));
} handleModelsCreated();
} }
void MaemoPackageCreationWidget::init() void MaemoPackageCreationWidget::init()
@@ -107,6 +104,7 @@ void MaemoPackageCreationWidget::versionInfoChanged()
void MaemoPackageCreationWidget::handleModelsCreated() void MaemoPackageCreationWidget::handleModelsCreated()
{ {
m_ui->tabWidget->clear();
for (int i = 0; i < m_step->deployables()->modelCount(); ++i) { for (int i = 0; i < m_step->deployables()->modelCount(); ++i) {
MaemoDeployableListModel * const model MaemoDeployableListModel * const model
= m_step->deployables()->modelAt(i); = m_step->deployables()->modelAt(i);