From: Christian Kandeler Date: Wed, 19 Jan 2011 10:06:43 +0000 (+0100) Subject: Maemo: Move more functionality into the new target classes. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=3a87fdd5f14595d9278ca78aad13e0828ca9b9fb;p=qt-creator-jp%2Fqt-creator-jp.git Maemo: Move more functionality into the new target classes. --- diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.cpp index 703bd60b19..9759cf476a 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.cpp @@ -482,15 +482,12 @@ void MaemoDeployStep::handleUnmounted() m_mounter->resetMountSpecifications(); setState(Inactive); break; - case UnmountingOldDirs: { - const Qt4BuildConfiguration * const bc - = static_cast(buildConfiguration()); - if (MaemoGlobal::allowsRemoteMounts(bc->qtVersion())) + case UnmountingOldDirs: + if (maemotarget()->allowsRemoteMounts()) setupMount(); else prepareSftpConnection(); break; - } case UnmountingCurrentDirs: setState(GatheringPorts); m_portsGatherer->start(m_connection, m_cachedDeviceConfig->freePorts()); @@ -827,6 +824,13 @@ const AbstractMaemoToolChain *MaemoDeployStep::toolChain() const return static_cast(bc->toolChain()); } +const AbstractQt4MaemoTarget *MaemoDeployStep::maemotarget() const +{ + const Qt4BuildConfiguration * const bc + = static_cast(buildConfiguration()); + return static_cast(bc->target()); +} + void MaemoDeployStep::handleSysrootInstallerOutput() { ASSERT_STATE(QList() << InstallingToSysroot << StopRequested); diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.h b/src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.h index cbeb9e6b4c..7b2acee7e7 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.h @@ -143,6 +143,7 @@ private: const MaemoPackageCreationStep *packagingStep() const; QString deployMountPoint() const; const AbstractMaemoToolChain *toolChain() const; + const AbstractQt4MaemoTarget *maemotarget() const; void copyNextFileToDevice(); void installToSysroot(); QString uploadDir() const; diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h index 29c6e088ea..688da9f2b5 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h @@ -89,9 +89,6 @@ public: static QString targetName(const QtVersion *qtVersion); static QString madCommand(const QtVersion *qtVersion); static MaemoVersion version(const QtVersion *qtVersion); - static bool allowsRemoteMounts(const QtVersion *qtVersion) { return version(qtVersion) == Maemo5; } - static bool allowsPackagingDisabling(const QtVersion *qtVersion) { return version(qtVersion) == Maemo5; } - static bool allowsQmlDebugging(const QtVersion *qtVersion) { return version(qtVersion) == Maemo6; } static bool callMad(QProcess &proc, const QStringList &args, const QtVersion *qtVersion); diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp index 06c4b57061..801ce672cf 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp @@ -413,8 +413,7 @@ QString MaemoPackageCreationStep::packageFilePath() const bool MaemoPackageCreationStep::isPackagingEnabled() const { - return m_packagingEnabled - || !MaemoGlobal::allowsPackagingDisabling(qt4BuildConfiguration()->qtVersion()); + return m_packagingEnabled || !maemoTarget()->allowsPackagingDisabling(); } QString MaemoPackageCreationStep::versionString(QString *error) const diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.cpp index 93abd0b376..a8472e3f0c 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.cpp @@ -86,8 +86,7 @@ void MaemoPackageCreationWidget::initGui() { const Qt4BuildConfiguration * const bc = m_step->qt4BuildConfiguration(); if (bc) { - m_ui->skipCheckBox->setVisible(MaemoGlobal::allowsPackagingDisabling( - bc->qtVersion())); + m_ui->skipCheckBox->setVisible(m_step->maemoTarget()->allowsPackagingDisabling()); m_ui->skipCheckBox->setChecked(!m_step->isPackagingEnabled()); } diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoremotemounter.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoremotemounter.cpp index 620c5893bb..fb74055afc 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoremotemounter.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoremotemounter.cpp @@ -35,6 +35,7 @@ #include "maemoglobal.h" #include "maemousedportsgatherer.h" +#include "qt4maemotarget.h" #include #include @@ -75,7 +76,8 @@ void MaemoRemoteMounter::setBuildConfiguration(const Qt4BuildConfiguration *bc) { ASSERT_STATE(Inactive); const QtVersion * const qtVersion = bc->qtVersion(); - m_remoteMountsAllowed = MaemoGlobal::allowsRemoteMounts(qtVersion); + m_remoteMountsAllowed + = qobject_cast(bc->target())->allowsRemoteMounts(); m_maddeRoot = MaemoGlobal::maddeRoot(qtVersion); } diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp index f490bd5b06..ac7832867a 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp @@ -321,8 +321,7 @@ MaemoPortList MaemoRunConfiguration::freePorts() const bool MaemoRunConfiguration::useRemoteGdb() const { - return m_useRemoteGdb - && MaemoGlobal::allowsRemoteMounts(activeQt4BuildConfiguration()->qtVersion()); + return m_useRemoteGdb && maemoTarget()->allowsRemoteMounts(); } void MaemoRunConfiguration::setArguments(const QString &args) @@ -332,7 +331,7 @@ void MaemoRunConfiguration::setArguments(const QString &args) MaemoRunConfiguration::DebuggingType MaemoRunConfiguration::debuggingType() const { - if (!MaemoGlobal::allowsQmlDebugging(activeQt4BuildConfiguration()->qtVersion())) + if (!maemoTarget()->allowsQmlDebugging()) return DebugCppOnly; if (useCppDebugger()) { if (useQmlDebugger()) diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemorunconfigurationwidget.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemorunconfigurationwidget.cpp index 26fee2d1ff..ba04c52f6d 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemorunconfigurationwidget.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemorunconfigurationwidget.cpp @@ -342,16 +342,13 @@ void MaemoRunConfigurationWidget::handleBuildConfigChanged() void MaemoRunConfigurationWidget::handleToolchainChanged() { - const Qt4BuildConfiguration * const bc - = m_runConfiguration->activeQt4BuildConfiguration(); - if (bc) { - const QtVersion * const qtVersion = bc->qtVersion(); - const bool remoteMountsAvailable - = MaemoGlobal::allowsRemoteMounts(qtVersion); + const AbstractQt4MaemoTarget * const maemoTarget + = m_runConfiguration->maemoTarget(); + if (maemoTarget) { + const bool remoteMountsAvailable = maemoTarget->allowsRemoteMounts(); m_debugDetailsContainer->setVisible(remoteMountsAvailable); m_mountDetailsContainer->setVisible(remoteMountsAvailable); - const bool qmlDebuggingAvailable - = MaemoGlobal::allowsQmlDebugging(qtVersion); + const bool qmlDebuggingAvailable = maemoTarget->allowsQmlDebugging(); m_debuggingLanguagesLabel->setVisible(qmlDebuggingAvailable); m_debugCppOnlyButton->setVisible(qmlDebuggingAvailable); m_debugQmlOnlyButton->setVisible(qmlDebuggingAvailable); diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemorunfactories.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemorunfactories.cpp index 8652a2cd18..d79ca76238 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemorunfactories.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemorunfactories.cpp @@ -169,9 +169,8 @@ bool MaemoRunControlFactory::canRun(RunConfiguration *runConfiguration, return false; const int freePortCount = maemoRunConfig->freePorts().count(); - const QtVersion * const qtVersion - = maemoRunConfig->activeQt4BuildConfiguration()->qtVersion(); - const bool remoteMountsAllowed = MaemoGlobal::allowsRemoteMounts(qtVersion); + const bool remoteMountsAllowed + = maemoRunConfig->maemoTarget()->allowsRemoteMounts(); if (remoteMountsAllowed && freePortCount == 0) return false; const int mountDirCount diff --git a/src/plugins/qt4projectmanager/qt-maemo/qt4maemotarget.h b/src/plugins/qt4projectmanager/qt-maemo/qt4maemotarget.h index 9068a7baa9..4ce6f3b60f 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/qt4maemotarget.h +++ b/src/plugins/qt4projectmanager/qt-maemo/qt4maemotarget.h @@ -72,6 +72,10 @@ public: QString shortDescription() const; bool setShortDescription(const QString &description); + virtual bool allowsRemoteMounts() const=0; + virtual bool allowsPackagingDisabling() const=0; + virtual bool allowsQmlDebugging() const=0; + signals: void debianDirContentsChanged(); void changeLogChanged(); @@ -124,6 +128,9 @@ public: private: virtual QString debianDirName() const; + virtual bool allowsRemoteMounts() const { return true; } + virtual bool allowsPackagingDisabling() const { return true; } + virtual bool allowsQmlDebugging() const { return false; } }; class Qt4HarmattanTarget : public AbstractQt4MaemoTarget @@ -137,6 +144,9 @@ public: private: virtual QString debianDirName() const; + virtual bool allowsRemoteMounts() const { return false; } + virtual bool allowsPackagingDisabling() const { return false; } + virtual bool allowsQmlDebugging() const { return true; } }; } // namespace Internal