diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.cpp index ccb8f868f70c5d644cfb2cd801c49f1e9b5f6312..9522e7df58388b62637adb5bf8c34f5f402f4a74 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.cpp @@ -32,8 +32,10 @@ #include "maemopackagecreationstep.h" namespace { - const char * const MODIFIED_KEY = - "Qt4ProjectManager.BuildStep.MaemoPackage.Modified"; + const char * const MODIFIED_KEY + = "Qt4ProjectManager.BuildStep.MaemoPackage.Modified"; + const char * const REMOTE_EXE_KEY + = "Qt4ProjectManager.BuildStep.MaemoPackage.RemoteExe"; const char * const LOCAL_FILES_KEY = "Qt4ProjectManager.BuildStep.MaemoPackage.LocalFiles"; const char * const REMOTE_FILES_KEY @@ -55,7 +57,7 @@ MaemoPackageContents::Deployable MaemoPackageContents::deployableAt(int row) con Q_ASSERT(row >= 0 && row < rowCount()); return row == 0 ? Deployable(m_packageStep->localExecutableFilePath(), - m_packageStep->remoteExecutableFilePath()) + remoteExecutableFilePath()) : m_deployables.at(row - 1); } @@ -112,6 +114,7 @@ QVariantMap MaemoPackageContents::toMap() const { QVariantMap map; map.insert(MODIFIED_KEY, m_modified); + map.insert(REMOTE_EXE_KEY, remoteExecutableFilePath()); QStringList localFiles; QStringList remoteFiles; foreach (const Deployable &p, m_deployables) { @@ -126,6 +129,7 @@ QVariantMap MaemoPackageContents::toMap() const void MaemoPackageContents::fromMap(const QVariantMap &map) { m_modified = map.value(MODIFIED_KEY).toBool(); + m_remoteExecutableFilePath = map.value(REMOTE_EXE_KEY).toString(); const QStringList localFiles = map.value(LOCAL_FILES_KEY).toStringList(); const QStringList remoteFiles = map.value(REMOTE_FILES_KEY).toStringList(); if (localFiles.count() != remoteFiles.count()) @@ -135,5 +139,14 @@ void MaemoPackageContents::fromMap(const QVariantMap &map) m_deployables << Deployable(localFiles.at(i), remoteFiles.at(i)); } +QString MaemoPackageContents::remoteExecutableFilePath() const +{ + if (m_remoteExecutableFilePath.isEmpty()) { + m_remoteExecutableFilePath = QLatin1String("/usr/local/bin/") + + m_packageStep->executableFileName(); + } + return m_remoteExecutableFilePath; +} + } // namespace Qt4ProjectManager } // namespace Internal diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.h b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.h index 8708d3a8fd2daccf8fc2df4cfbe5bd509364e214..6e50fd3885aac4cc1933ce884d5d6641447f6889 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.h @@ -71,6 +71,7 @@ public: void removeDeployableAt(int row); bool isModified() const { return m_modified; } void setUnModified() { m_modified = false; } + QString remoteExecutableFilePath() const; private: virtual int columnCount(const QModelIndex &parent = QModelIndex()) const; @@ -86,6 +87,7 @@ private: const MaemoPackageCreationStep * const m_packageStep; QList<Deployable> m_deployables; bool m_modified; + mutable QString m_remoteExecutableFilePath; }; } // namespace Qt4ProjectManager diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp index 9916b4d2c0c5b30718e90452ade3d586051fcffa..47a43892f5415d196d93d93c7e65b757062740f5 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp @@ -302,11 +302,6 @@ QString MaemoPackageCreationStep::packageFilePath() const % versionString() % QLatin1String("_armel.deb"); } -QString MaemoPackageCreationStep::remoteExecutableFilePath() const -{ - return QLatin1String("/usr/local/bin/") % executableFileName(); -} - QString MaemoPackageCreationStep::versionString() const { return QLatin1String("_0.1"); diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h index 02f50c1a75201e8605b8d7126d98a7e1a108294d..60f2bbce526c42096728d171240762b0627af4db 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h @@ -64,8 +64,8 @@ public: MaemoPackageCreationStep(ProjectExplorer::BuildConfiguration *buildConfig); QString packageFilePath() const; - QString remoteExecutableFilePath() const; QString localExecutableFilePath() const; + QString executableFileName() const; MaemoPackageContents *packageContents() const { return m_packageContents; } private: @@ -83,7 +83,6 @@ private: bool runCommand(QProcess &proc, const QString &command); const Qt4BuildConfiguration *qt4BuildConfiguration() const; const MaemoToolChain *maemoToolChain() const; - QString executableFileName() const; QString maddeRoot() const; QString targetRoot() const; QString nativePath(const QFile &file) const; diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp index aebf4cb5df62908b2c72feacf14eaa1c9f1a7ae8..6d9983666e33350759d609eb6b77a721888c384b 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp @@ -34,6 +34,7 @@ #include "maemoruncontrol.h" +#include "maemopackagecontents.h" #include "maemopackagecreationstep.h" #include "maemosshthread.h" #include "maemorunconfiguration.h" @@ -200,7 +201,7 @@ QString AbstractMaemoRunControl::packageFilePath() const QString AbstractMaemoRunControl::executableFilePathOnTarget() const { - return m_runConfig->packageStep()->remoteExecutableFilePath(); + return m_runConfig->packageStep()->packageContents()->remoteExecutableFilePath(); } bool AbstractMaemoRunControl::isCleaning() const