summaryrefslogtreecommitdiff
path: root/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp')
-rw-r--r--src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp49
1 files changed, 8 insertions, 41 deletions
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp
index 9d02d33efb..68862439fc 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp
@@ -52,7 +52,6 @@ MaemoRunConfiguration::MaemoRunConfiguration(Qt4Target *parent,
const QString &proFilePath)
: RunConfiguration(parent, QLatin1String(MAEMO_RC_ID))
, m_proFilePath(proFilePath)
- , m_cachedTargetInformationValid(false)
, m_cachedSimulatorInformationValid(false)
, qemu(0)
{
@@ -62,9 +61,7 @@ MaemoRunConfiguration::MaemoRunConfiguration(Qt4Target *parent,
MaemoRunConfiguration::MaemoRunConfiguration(Qt4Target *parent,
MaemoRunConfiguration *source)
: RunConfiguration(parent, source)
- , m_executable(source->m_executable)
, m_proFilePath(source->m_proFilePath)
- , m_cachedTargetInformationValid(false)
, m_simulator(source->m_simulator)
, m_simulatorArgs(source->m_simulatorArgs)
, m_simulatorPath(source->m_simulatorPath)
@@ -95,8 +92,8 @@ void MaemoRunConfiguration::init()
connect(&MaemoDeviceConfigurations::instance(), SIGNAL(updated()), this,
SLOT(updateDeviceConfigurations()));
- connect(qt4Target(), SIGNAL(targetInformationChanged()), this,
- SLOT(invalidateCachedTargetInformation()));
+ connect(qt4Target()->qt4Project(), SIGNAL(proFileUpdated(Qt4ProjectManager::Internal::Qt4ProFileNode*)),
+ this, SLOT(proFileUpdate(Qt4ProjectManager::Internal::Qt4ProFileNode*)));
connect(qt4Target()->qt4Project(),
SIGNAL(proFileUpdated(Qt4ProjectManager::Internal::Qt4ProFileNode*)),
@@ -148,7 +145,7 @@ QWidget *MaemoRunConfiguration::configurationWidget()
void MaemoRunConfiguration::proFileUpdate(Qt4ProjectManager::Internal::Qt4ProFileNode *pro)
{
if (m_proFilePath == pro->path())
- invalidateCachedTargetInformation();
+ emit targetInformationChanged();
}
QVariantMap MaemoRunConfiguration::toMap() const
@@ -329,8 +326,11 @@ const QString MaemoRunConfiguration::dumperLib() const
QString MaemoRunConfiguration::executable() const
{
- updateTarget();
- return m_executable;
+ TargetInformation ti = qt4Target()->qt4Project()->rootProjectNode()->targetInformation(m_proFilePath);
+ if (!ti.valid)
+ return QString();
+
+ return QDir::cleanPath(ti.workingDir + QLatin1Char('/') + ti.target);
}
QString MaemoRunConfiguration::simulatorSshPort() const
@@ -379,39 +379,6 @@ bool MaemoRunConfiguration::isQemuRunning() const
return (qemu && qemu->state() != QProcess::NotRunning);
}
-void MaemoRunConfiguration::invalidateCachedTargetInformation()
-{
- m_cachedTargetInformationValid = false;
- emit targetInformationChanged();
-}
-
-void MaemoRunConfiguration::updateTarget() const
-{
- if (m_cachedTargetInformationValid)
- return;
-
- m_executable.clear();
- m_cachedTargetInformationValid = true;
-
- Qt4TargetInformation info =
- qt4Target()->targetInformation(activeQt4BuildConfiguration(),
- m_proFilePath);
- if (info.error != Qt4TargetInformation::NoError) {
- if (info.error == Qt4TargetInformation::ProParserError) {
- Core::ICore::instance()->messageManager()->printToOutputPane(tr(
- "Could not parse %1. The Maemo run configuration %2 "
- "can not be started.").arg(m_proFilePath).arg(displayName()));
- }
- emit targetInformationChanged();
- return;
- }
-
- m_executable
- = QDir::cleanPath(info.workingDir % QLatin1Char('/') % info.target);
-
- emit targetInformationChanged();
-}
-
void MaemoRunConfiguration::updateSimulatorInformation() const
{
if (m_cachedSimulatorInformationValid)