diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.cpp index eb13bb893331b7877d6f6beb328e6a6ff0e86ee4..889076d828ae930471449b889199e771d2d7fcdd 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.cpp @@ -149,16 +149,10 @@ void MaemoDeployStep::getDeployTimesFromMap(const QVariantMap &map) const MaemoPackageCreationStep *MaemoDeployStep::packagingStep() const { - const QList<ProjectExplorer::BuildStep *> &buildSteps - = buildConfiguration()->steps(ProjectExplorer::BuildStep::Deploy); - for (int i = buildSteps.count() - 1; i >= 0; --i) { - const MaemoPackageCreationStep * const pStep - = qobject_cast<MaemoPackageCreationStep *>(buildSteps.at(i)); - if (pStep) - return pStep; - } - Q_ASSERT(!"Impossible: Maemo run configuration without packaging step."); - return 0; + const MaemoPackageCreationStep * const step + = MaemoGlobal::buildStep<MaemoPackageCreationStep>(buildConfiguration()); + Q_ASSERT(step && "Impossible: Maemo build configuration without packaging step."); + return step; } void MaemoDeployStep::raiseError(const QString &errorString) diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp index 3a6f7853511d49624cf6156e6083a945b3a02398..9a797fd7ad9883490538331d0f0324a7854c96ac 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp @@ -29,6 +29,8 @@ #include "maemoglobal.h" +#include <QtCore/QString> + namespace Qt4ProjectManager { namespace Internal { diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h index 3d23e6eef1884c6ca84ff0db27895551954710e3..7a8b2ff8df9838a23605c051ee55b8ae7a607eea 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h @@ -32,6 +32,8 @@ #include <projectexplorer/buildconfiguration.h> +#include <QtCore/QList> + QT_BEGIN_NAMESPACE class QString; QT_END_NAMESPACE @@ -44,6 +46,17 @@ class MaemoGlobal public: static QString homeDirOnDevice(const QString &uname); static QString remoteSudo(); + + template<class T> static T *buildStep(const ProjectExplorer::BuildConfiguration *bc) + { + const QList<ProjectExplorer::BuildStep *> &buildSteps + = bc->steps(ProjectExplorer::BuildStep::Deploy); + for (int i = buildSteps.count() - 1; i >= 0; --i) { + if (T * const step = qobject_cast<T *>(buildSteps.at(i))) + return step; + } + return 0; + } }; } // namespace Internal diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp index 1ab2ded58e7b6ce7ea7be61701ea11a1b12bdaff..3997dd9a9e64a4b6a1b97859e798a3110fe52fa4 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp @@ -30,6 +30,7 @@ #include "maemorunconfiguration.h" #include "maemodeploystep.h" +#include "maemoglobal.h" #include "maemopackagecreationstep.h" #include "maemorunconfigurationwidget.h" #include "maemotoolchain.h" @@ -171,30 +172,18 @@ const QString MaemoRunConfiguration::gdbCmd() const const MaemoPackageCreationStep *MaemoRunConfiguration::packageStep() const { - const QList<ProjectExplorer::BuildStep *> &buildSteps - = activeQt4BuildConfiguration()->steps(ProjectExplorer::BuildStep::Deploy); - for (int i = buildSteps.count() - 1; i >= 0; --i) { - const MaemoPackageCreationStep * const pStep - = qobject_cast<MaemoPackageCreationStep *>(buildSteps.at(i)); - if (pStep) - return pStep; - } - Q_ASSERT(!"Impossible: Maemo run configuration without packaging step."); - return 0; + const MaemoPackageCreationStep * const step + = MaemoGlobal::buildStep<MaemoPackageCreationStep>(activeQt4BuildConfiguration()); + Q_ASSERT(step && "Impossible: Maemo build configuration without packaging step."); + return step; } MaemoDeployStep *MaemoRunConfiguration::deployStep() const { - const QList<ProjectExplorer::BuildStep *> &buildSteps - = activeQt4BuildConfiguration()->steps(ProjectExplorer::BuildStep::Deploy); - for (int i = buildSteps.count() - 1; i >= 0; --i) { - MaemoDeployStep * const step - = qobject_cast<MaemoDeployStep*>(buildSteps.at(i)); - if (step) - return step; - } - Q_ASSERT(!"Impossible: Maemo run configuration without deploy step."); - return 0; + MaemoDeployStep * const step + = MaemoGlobal::buildStep<MaemoDeployStep>(activeQt4BuildConfiguration()); + Q_ASSERT(step && !"Impossible: Maemo build configuration without deploy step."); + return step; } QString MaemoRunConfiguration::maddeRoot() const