summaryrefslogtreecommitdiff
path: root/src/plugins/qt4projectmanager/qt-s60
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qt4projectmanager/qt-s60')
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp3
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp2
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/qt-s60.pri4
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.cpp130
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.h70
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp223
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h77
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp42
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.h6
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp44
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.h2
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp88
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h4
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp26
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60deploystep.h2
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.cpp4
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp139
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.h24
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60manager.cpp6
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60manager.h3
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60publisherovi.cpp19
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60publishingbuildsettingspageovi.cpp10
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60publishingwizardfactories.cpp7
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60publishingwizardfactories.h11
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.cpp15
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60runcontrolfactory.cpp2
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp105
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/symbianqtversion.h19
28 files changed, 245 insertions, 842 deletions
diff --git a/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp b/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp
index f9f5753356..ee0ecf5cb1 100644
--- a/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp
@@ -40,13 +40,12 @@
#include "codamessage.h"
#include "qt4buildconfiguration.h"
-#include "qt4symbiantarget.h"
-#include "qt4target.h"
#include "symbiandevicemanager.h"
#include <coreplugin/icore.h>
#include <utils/qtcassert.h>
#include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/target.h>
#include <symbianutils/symbiandevicemanager.h>
diff --git a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp
index bad030375d..a3818cd52c 100644
--- a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp
@@ -181,7 +181,6 @@ QList<ProjectExplorer::ToolChain *> GcceToolChainFactory::autoDetect()
GcceToolChain *tc = new GcceToolChain(false);
tc->setCompilerCommand(Utils::FileName(fi));
tc->setDisplayName(tr("GCCE from Qt version"));
- tc->setDebuggerCommand(ProjectExplorer::ToolChainManager::instance()->defaultDebugger(tc->targetAbi()));
result.append(tc);
}
}
@@ -195,7 +194,6 @@ QList<ProjectExplorer::ToolChain *> GcceToolChainFactory::autoDetect()
GcceToolChain *tc = new GcceToolChain(true);
tc->setCompilerCommand(fullPath);
tc->setDisplayName(tr("GCCE (%1)").arg(version));
- tc->setDebuggerCommand(ProjectExplorer::ToolChainManager::instance()->defaultDebugger(tc->targetAbi()));
if (tc->targetAbi() == ProjectExplorer::Abi(ProjectExplorer::Abi::ArmArchitecture,
ProjectExplorer::Abi::SymbianOS,
ProjectExplorer::Abi::SymbianDeviceFlavor,
diff --git a/src/plugins/qt4projectmanager/qt-s60/qt-s60.pri b/src/plugins/qt4projectmanager/qt-s60/qt-s60.pri
index f25ce876fd..5f1fb95de6 100644
--- a/src/plugins/qt4projectmanager/qt-s60/qt-s60.pri
+++ b/src/plugins/qt4projectmanager/qt-s60/qt-s60.pri
@@ -21,8 +21,6 @@ SOURCES += $$PWD/s60manager.cpp \
$$PWD/certificatepathchooser.cpp \
$$PWD/s60symbiancertificate.cpp \
$$PWD/s60certificatedetailsdialog.cpp \
- $$PWD/qt4symbiantargetfactory.cpp \
- $$PWD/qt4symbiantarget.cpp \
$$PWD/s60runcontrolfactory.cpp \
$$PWD/codaruncontrol.cpp \
$$PWD/s60runcontrolbase.cpp \
@@ -57,8 +55,6 @@ HEADERS += $$PWD/s60manager.h \
$$PWD/certificatepathchooser.h \
$$PWD/s60symbiancertificate.h \
$$PWD/s60certificatedetailsdialog.h \
- $$PWD/qt4symbiantargetfactory.h \
- $$PWD/qt4symbiantarget.h \
$$PWD/s60runcontrolfactory.h \
$$PWD/codaruncontrol.h \
$$PWD/s60runcontrolbase.h \
diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.cpp b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.cpp
deleted file mode 100644
index 00d3fad54a..0000000000
--- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-**
-** GNU Lesser General Public License Usage
-**
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this file.
-** Please review the following information to ensure the GNU Lesser General
-** Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** Other Usage
-**
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**************************************************************************/
-
-#include "qt4symbiantarget.h"
-#include "qt4projectmanagerconstants.h"
-#include "qt4project.h"
-#include "qt4nodes.h"
-#include "qt4buildconfiguration.h"
-#include "symbianidevice.h"
-
-#include "qt-s60/s60deployconfiguration.h"
-#include "qt-s60/s60devicerunconfiguration.h"
-
-#include <projectexplorer/devicesupport/idevice.h>
-#include <projectexplorer/project.h>
-#include <projectexplorer/toolchainmanager.h>
-#include <projectexplorer/toolchain.h>
-#include <qtsupport/customexecutablerunconfiguration.h>
-#include <extensionsystem/pluginmanager.h>
-#include <QApplication>
-
-using namespace Qt4ProjectManager;
-using namespace Qt4ProjectManager::Internal;
-
-Qt4SymbianTarget::Qt4SymbianTarget(Qt4Project *parent, const Core::Id id) :
- Qt4BaseTarget(parent, id),
- m_buildConfigurationFactory(new Qt4BuildConfigurationFactory(this))
-{
- setDisplayName(defaultDisplayName(id));
- setIcon(iconForId(id));
-}
-
-Qt4SymbianTarget::~Qt4SymbianTarget()
-{ }
-
-QString Qt4SymbianTarget::defaultDisplayName(const Core::Id id)
-{
- if (id == Core::Id(Constants::S60_DEVICE_TARGET_ID))
- return QApplication::translate("Qt4ProjectManager::Qt4Target", "Symbian Device", "Qt4 Symbian Device target display name");
- return QString();
-}
-
-QIcon Qt4SymbianTarget::iconForId(Core::Id id)
-{
- if (id == Core::Id(Constants::S60_DEVICE_TARGET_ID))
- return QIcon(QLatin1String(":/projectexplorer/images/SymbianDevice.png"));
- return QIcon();
-}
-
-ProjectExplorer::IBuildConfigurationFactory *Qt4SymbianTarget::buildConfigurationFactory() const
-{
- return m_buildConfigurationFactory;
-}
-
-void Qt4SymbianTarget::createApplicationProFiles(bool reparse)
-{
- if (!reparse)
- removeUnconfiguredCustomExectutableRunConfigurations();
-
- // We use the list twice
- QList<Qt4ProFileNode *> profiles = qt4Project()->applicationProFiles();
- QSet<QString> paths;
- foreach (Qt4ProFileNode *pro, profiles)
- paths << pro->path();
-
- if (id() == Core::Id(Constants::S60_DEVICE_TARGET_ID)) {
- foreach (ProjectExplorer::RunConfiguration *rc, runConfigurations())
- if (S60DeviceRunConfiguration *qt4rc = qobject_cast<S60DeviceRunConfiguration *>(rc))
- paths.remove(qt4rc->proFilePath());
-
- // Only add new runconfigurations if there are none.
- foreach (const QString &path, paths)
- addRunConfiguration(new S60DeviceRunConfiguration(this, path));
- }
-
- // Oh still none? Add a custom executable runconfiguration
- if (runConfigurations().isEmpty()) {
- addRunConfiguration(new QtSupport::CustomExecutableRunConfiguration(this));
- }
-}
-
-QList<ProjectExplorer::RunConfiguration *> Qt4SymbianTarget::runConfigurationsForNode(ProjectExplorer::Node *n)
-{
- QList<ProjectExplorer::RunConfiguration *> result;
- foreach (ProjectExplorer::RunConfiguration *rc, runConfigurations()) {
- if (id() == Core::Id(Constants::S60_DEVICE_TARGET_ID)) {
- if (S60DeviceRunConfiguration *s60rc = qobject_cast<S60DeviceRunConfiguration *>(rc))
- if (s60rc->proFilePath() == n->path())
- result << rc;
- }
- }
- return result;
-}
-
-ProjectExplorer::IDevice::ConstPtr Qt4SymbianTarget::currentDevice() const
-{
- S60DeployConfiguration *dc = dynamic_cast<S60DeployConfiguration *>(activeDeployConfiguration());
- if (dc)
- return dc->device();
- return ProjectExplorer::IDevice::ConstPtr();
-}
diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.h b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.h
deleted file mode 100644
index 1b356a5dde..0000000000
--- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-**
-** GNU Lesser General Public License Usage
-**
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this file.
-** Please review the following information to ensure the GNU Lesser General
-** Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** Other Usage
-**
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**************************************************************************/
-
-#ifndef QT4SYMBIANTARGET_H
-#define QT4SYMBIANTARGET_H
-
-#include "qt4target.h"
-
-#include <QPixmap>
-
-namespace Qt4ProjectManager {
-class Qt4Project;
-class Qt4BuildConfigurationFactory;
-namespace Internal {
-
-
-class Qt4SymbianTarget : public Qt4BaseTarget
-{
- friend class Qt4SymbianTargetFactory; // for from Map
- Q_OBJECT
-public:
- Qt4SymbianTarget(Qt4Project *parent, const Core::Id id);
- ~Qt4SymbianTarget();
-
- ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
-
- void createApplicationProFiles(bool reparse);
- virtual QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Node *n);
-
- static QString defaultDisplayName(const Core::Id id);
- static QIcon iconForId(Core::Id id);
-
-protected:
- ProjectExplorer::IDevice::ConstPtr currentDevice() const;
-
-private:
- Qt4BuildConfigurationFactory *m_buildConfigurationFactory;
-};
-} // namespace Internal
-} // namespace Qt4ProjectManager
-#endif // QT4SYMBIANTARGET_H
diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
deleted file mode 100644
index 9f90794900..0000000000
--- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
+++ /dev/null
@@ -1,223 +0,0 @@
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-**
-** GNU Lesser General Public License Usage
-**
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this file.
-** Please review the following information to ensure the GNU Lesser General
-** Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** Other Usage
-**
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**************************************************************************/
-
-#include "qt4symbiantargetfactory.h"
-#include "qt4projectmanagerconstants.h"
-#include "qt4project.h"
-#include "buildconfigurationinfo.h"
-
-#include "qt-s60/s60deployconfiguration.h"
-#include "qt-s60/s60devicerunconfiguration.h"
-#include "qt-s60/s60createpackagestep.h"
-#include "qt-s60/s60deploystep.h"
-#include "qt-s60/qt4symbiantarget.h"
-
-#include <projectexplorer/projectexplorerconstants.h>
-#include <projectexplorer/toolchainmanager.h>
-#include <qtsupport/customexecutablerunconfiguration.h>
-
-#include <qtsupport/qtversionmanager.h>
-
-using ProjectExplorer::idFromMap;
-using ProjectExplorer::Task;
-using namespace Qt4ProjectManager;
-using namespace Qt4ProjectManager::Internal;
-
-// -------------------------------------------------------------------------
-// Qt4SymbianTargetFactory
-// -------------------------------------------------------------------------
-
-Qt4SymbianTargetFactory::Qt4SymbianTargetFactory(QObject *parent) :
- Qt4BaseTargetFactory(parent)
-{
- connect(QtSupport::QtVersionManager::instance(), SIGNAL(qtVersionsChanged(QList<int>,QList<int>,QList<int>)),
- this, SIGNAL(canCreateTargetIdsChanged()));
-}
-
-Qt4SymbianTargetFactory::~Qt4SymbianTargetFactory()
-{
-}
-
-bool Qt4SymbianTargetFactory::supportsTargetId(const Core::Id id) const
-{
- return id == Core::Id(Constants::S60_DEVICE_TARGET_ID);
-}
-
-QList<Core::Id> Qt4SymbianTargetFactory::supportedTargetIds() const
-{
- QList<Core::Id> ids;
- ids << Core::Id(Constants::S60_DEVICE_TARGET_ID);
- return ids;
-}
-
-QString Qt4SymbianTargetFactory::displayNameForId(const Core::Id id) const
-{
- return Qt4SymbianTarget::defaultDisplayName(id);
-}
-
-QIcon Qt4SymbianTargetFactory::iconForId(const Core::Id id) const
-{
- if (id == Core::Id(Constants::S60_DEVICE_TARGET_ID))
- return QIcon(QLatin1String(":/projectexplorer/images/SymbianDevice.png"));
- return QIcon();
-}
-
-bool Qt4SymbianTargetFactory::canCreate(ProjectExplorer::Project *parent, const Core::Id id) const
-{
- if (!qobject_cast<Qt4Project *>(parent))
- return false;
- if (!supportsTargetId(id))
- return false;
- return QtSupport::QtVersionManager::instance()->supportsTargetId(id);
-}
-
-bool Qt4SymbianTargetFactory::canRestore(ProjectExplorer::Project *parent, const QVariantMap &map) const
-{
- return qobject_cast<Qt4Project *>(parent) && supportsTargetId(idFromMap(map));
-}
-
-ProjectExplorer::Target *Qt4SymbianTargetFactory::restore(ProjectExplorer::Project *parent, const QVariantMap &map)
-{
- if (!canRestore(parent, map))
- return 0;
-
- Qt4Project *qt4project = static_cast<Qt4Project *>(parent);
- Qt4SymbianTarget *target = new Qt4SymbianTarget(qt4project, idFromMap(map));
-
- if (target->fromMap(map))
- return target;
- delete target;
- return 0;
-}
-
-QString Qt4SymbianTargetFactory::shadowBuildDirectory(const QString &profilePath, const Core::Id id, const QString &suffix)
-{
- Q_UNUSED(id);
- Q_UNUSED(suffix);
- return QFileInfo(profilePath).absolutePath();
-}
-
-QList<ProjectExplorer::Task> Qt4SymbianTargetFactory::reportIssues(const QString &proFile)
-{
- QList<ProjectExplorer::Task> results;
- // Warn of strange characters in project name and path:
- const QString projectName = proFile.mid(proFile.lastIndexOf(QLatin1Char('/')) + 1);
- QString projectPath = proFile.left(proFile.lastIndexOf(QLatin1Char('/')));
-#if defined (Q_OS_WIN)
- if (projectPath.at(1) == QLatin1Char(':') && projectPath.at(0).toUpper() >= QLatin1Char('A') && projectPath.at(0).toUpper() <= QLatin1Char('Z'))
- projectPath.remove(0, 2);
-#endif
- if (projectPath.contains(QLatin1Char(' '))) {
- results.append(Task(Task::Warning,
- QCoreApplication::translate("ProjectExplorer::Internal::S60ProjectChecker",
- "The Symbian tool chain does not handle spaces "
- "in the project path '%1'.").arg(projectPath),
- Utils::FileName(), -1, Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
- }
- if (projectName.contains(QRegExp(QLatin1String("[^a-zA-Z0-9.-]")))) {
- results.append(Task(Task::Warning,
- QCoreApplication::translate("ProjectExplorer::Internal::S60ProjectChecker",
- "The Symbian tool chain does not handle special "
- "characters in the project name '%1' well.")
- .arg(projectName),
- Utils::FileName(), -1, Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
- }
- return results;
-}
-
-QList<BuildConfigurationInfo> Qt4SymbianTargetFactory::availableBuildConfigurations(const Core::Id id, const QString &proFilePath,
- const QtSupport::QtVersionNumber &minimumQtVersion,
- const QtSupport::QtVersionNumber &maximumQtVersion,
- const Core::FeatureSet &requiredFeatures)
-{
- return Qt4BaseTargetFactory::availableBuildConfigurations(id, proFilePath, minimumQtVersion, maximumQtVersion, requiredFeatures);
-}
-
-bool Qt4SymbianTargetFactory::selectByDefault(const Core::Id id) const
-{
- Q_UNUSED(id);
- return true;
-}
-
-QSet<QString> Qt4SymbianTargetFactory::targetFeatures(const Core::Id /*id*/) const
-{
- QSet<QString> features;
- features << QLatin1String(Constants::MOBILE_TARGETFEATURE_ID);
-
- return features;
-}
-
-ProjectExplorer::Target *Qt4SymbianTargetFactory::create(ProjectExplorer::Project *parent, const Core::Id id)
-{
- if (!canCreate(parent, id))
- return 0;
-
- QList<QtSupport::BaseQtVersion *> knownVersions = QtSupport::QtVersionManager::instance()->versionsForTargetId(id);
- if (knownVersions.isEmpty())
- return 0;
-
- QtSupport::BaseQtVersion *qtVersion = knownVersions.first();
- QtSupport::BaseQtVersion::QmakeBuildConfigs config = qtVersion->defaultBuildConfig();
-
- QList<BuildConfigurationInfo> infos;
- infos.append(BuildConfigurationInfo(qtVersion->uniqueId(), config, QString(), QString()));
- infos.append(BuildConfigurationInfo(qtVersion->uniqueId(), config ^ QtSupport::BaseQtVersion::DebugBuild, QString(), QString()));
-
- return create(parent, id, infos);
-}
-
-ProjectExplorer::Target *Qt4SymbianTargetFactory::create(ProjectExplorer::Project *parent, const Core::Id id, const QList<BuildConfigurationInfo> &infos)
-{
- if (!canCreate(parent, id))
- return 0;
- Qt4SymbianTarget *t = new Qt4SymbianTarget(static_cast<Qt4Project *>(parent), id);
- foreach (const BuildConfigurationInfo &info, infos)
- t->addQt4BuildConfiguration(msgBuildConfigurationName(info), QString(),
- info.version(), info.buildConfig,
- info.additionalArguments, info.directory, info.importing);
-
- t->addDeployConfiguration(t->createDeployConfiguration(Core::Id(S60_DEPLOYCONFIGURATION_ID)));
-
- t->createApplicationProFiles(false);
-
- if (t->runConfigurations().isEmpty())
- t->addRunConfiguration(new QtSupport::CustomExecutableRunConfiguration(t));
- return t;
-}
-
-ProjectExplorer::Target *Qt4SymbianTargetFactory::create(ProjectExplorer::Project *parent, const Core::Id id, Qt4TargetSetupWidget *widget)
-{
- if (!widget->isTargetSelected())
- return 0;
- Qt4DefaultTargetSetupWidget *w = static_cast<Qt4DefaultTargetSetupWidget *>(widget);
- return create(parent, id, w->buildConfigurationInfos());
-}
diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h
deleted file mode 100644
index c802a50607..0000000000
--- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-**
-** GNU Lesser General Public License Usage
-**
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this file.
-** Please review the following information to ensure the GNU Lesser General
-** Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** Other Usage
-**
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**************************************************************************/
-
-#ifndef QT4SYMBIANTARGETFACTORY_H
-#define QT4SYMBIANTARGETFACTORY_H
-
-#include "qt4basetargetfactory.h"
-
-namespace Qt4ProjectManager {
-namespace Internal {
-class Qt4SymbianTargetFactory : public Qt4BaseTargetFactory
-{
- Q_OBJECT
-public:
- Qt4SymbianTargetFactory(QObject *parent = 0);
- ~Qt4SymbianTargetFactory();
-
- QList<Core::Id> supportedTargetIds() const;
- bool supportsTargetId(const Core::Id id) const;
- QString displayNameForId(const Core::Id id) const;
- QIcon iconForId(const Core::Id id) const;
-
- bool canCreate(ProjectExplorer::Project *parent, const Core::Id id) const;
- bool canRestore(ProjectExplorer::Project *parent, const QVariantMap &map) const;
- virtual ProjectExplorer::Target *restore(ProjectExplorer::Project *parent, const QVariantMap &map);
-
- virtual ProjectExplorer::Target *create(ProjectExplorer::Project *parent, const Core::Id id);
- virtual ProjectExplorer::Target *create(ProjectExplorer::Project *parent, const Core::Id id,
- const QList<BuildConfigurationInfo> &infos);
- virtual ProjectExplorer::Target *create(ProjectExplorer::Project *parent, const Core::Id id,
- Qt4TargetSetupWidget *widget);
-
- QString shadowBuildDirectory(const QString &profilePath, const Core::Id id, const QString &suffix);
- QList<ProjectExplorer::Task> reportIssues(const QString &proFile);
- QList<BuildConfigurationInfo> availableBuildConfigurations(const Core::Id id, const QString &proFilePath,
- const QtSupport::QtVersionNumber &minimumQtVersion,
- const QtSupport::QtVersionNumber &maximumQtVersion,
- const Core::FeatureSet &requiredFeatures);
-
- bool selectByDefault(const Core::Id id) const;
- QSet<QString> targetFeatures(const Core::Id id) const;
-};
-
-} // namespace Internal
-} // namespace Qt4ProjectManager
-
-
-#endif // QT4SYMBIANTARGETFACTORY_H
diff --git a/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp
index 21e30c9097..9ffc10b37f 100644
--- a/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp
@@ -62,7 +62,6 @@ static const char *const RVCT_LICENSE_KEY = "ARMLMD_LICENSE_FILE";
static const char rvctPathKeyC[] = "Qt4ProjectManager.RvctToolChain.CompilerPath";
static const char rvctEnvironmentKeyC[] = "Qt4ProjectManager.RvctToolChain.Environment";
static const char rvctArmVersionKeyC[] = "Qt4ProjectManager.RvctToolChain.ArmVersion";
-static const char debuggerCommandKeyC[] = "Qt4ProjectManager.RvctToolChain.Debugger";
static QString valueOf(const QList<Utils::EnvironmentItem> &items, const QString &suffix)
{
@@ -104,8 +103,7 @@ RvctToolChain::RvctToolChain(const RvctToolChain &tc) :
ToolChain(tc),
m_compilerCommand(tc.m_compilerCommand),
m_environmentChanges(tc.m_environmentChanges),
- m_armVersion(tc.m_armVersion),
- m_debuggerCommand(tc.debuggerCommand())
+ m_armVersion(tc.m_armVersion)
{ }
RvctToolChain::RvctVersion RvctToolChain::version(const Utils::FileName &rvctPath)
@@ -253,8 +251,7 @@ bool RvctToolChain::operator ==(const ToolChain &other) const
const RvctToolChain *otherPtr = dynamic_cast<const RvctToolChain *>(&other);
return m_compilerCommand == otherPtr->m_compilerCommand
&& m_environmentChanges == otherPtr->m_environmentChanges
- && m_armVersion == otherPtr->m_armVersion
- && m_debuggerCommand == otherPtr->m_debuggerCommand;
+ && m_armVersion == otherPtr->m_armVersion;
}
void RvctToolChain::setEnvironmentChanges(const QList<Utils::EnvironmentItem> &changes)
@@ -285,19 +282,6 @@ Utils::FileName RvctToolChain::compilerCommand() const
return m_compilerCommand;
}
-void RvctToolChain::setDebuggerCommand(const Utils::FileName &d)
-{
- if (m_debuggerCommand == d)
- return;
- m_debuggerCommand = d;
- toolChainUpdated();
-}
-
-Utils::FileName RvctToolChain::debuggerCommand() const
-{
- return m_debuggerCommand;
-}
-
void RvctToolChain::setArmVersion(RvctToolChain::ArmVersion av)
{
if (m_armVersion == av)
@@ -339,7 +323,6 @@ QVariantMap RvctToolChain::toMap() const
tmp.insert(i.name, i.value);
result.insert(QLatin1String(rvctEnvironmentKeyC), tmp);
result.insert(QLatin1String(rvctArmVersionKeyC), static_cast<int>(m_armVersion));
- result.insert(QLatin1String(debuggerCommandKeyC), m_debuggerCommand.toString());
return result;
}
@@ -354,17 +337,9 @@ bool RvctToolChain::fromMap(const QVariantMap &data)
for (QVariantMap::const_iterator i = tmp.constBegin(); i != tmp.constEnd(); ++i)
m_environmentChanges.append(Utils::EnvironmentItem(i.key(), i.value().toString()));
m_armVersion = static_cast<ArmVersion>(data.value(QLatin1String(rvctArmVersionKeyC), 0).toInt());
- m_debuggerCommand = Utils::FileName::fromString(data.value(QLatin1String(debuggerCommandKeyC)).toString());
return isValid();
}
-QString RvctToolChain::legacyId() const
-{
- const QChar dot = QLatin1Char('.');
- return QLatin1String(Constants::RVCT_TOOLCHAIN_ID) + QLatin1Char(':') + m_compilerCommand.toString() + dot
- + armVersionString(m_armVersion) + dot + m_debuggerCommand.toString();
-}
-
QString RvctToolChain::varName(const QString &postFix) const
{
return QString::fromLatin1("RVCT%1%2%3")
@@ -381,7 +356,6 @@ RvctToolChainConfigWidget::RvctToolChainConfigWidget(RvctToolChain *tc) :
m_model(new Utils::EnvironmentModel(this))
{
m_ui->setupUi(this);
- addDebuggerCommandControls(m_ui->formLayout, QStringList(QLatin1String("--version")));
m_ui->environmentView->setModel(m_model);
m_ui->environmentView->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
@@ -400,8 +374,6 @@ RvctToolChainConfigWidget::RvctToolChainConfigWidget(RvctToolChain *tc) :
m_ui->versionComboBox->setCurrentIndex(static_cast<int>(tc->armVersion()));
connect(m_ui->versionComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(emitDirty()));
- addMkspecControls(m_ui->formLayout);
-
setFromToolChain();
}
@@ -419,8 +391,6 @@ void RvctToolChainConfigWidget::apply()
tc->setCompilerCommand(m_ui->compilerPath->fileName());
tc->setArmVersion(static_cast<RvctToolChain::ArmVersion>(m_ui->versionComboBox->currentIndex()));
tc->setEnvironmentChanges(changes);
- tc->setDebuggerCommand(debuggerCommand());
- tc->setMkspecList(mkspecList());
m_model->setUserChanges(changes);
}
@@ -434,8 +404,6 @@ void RvctToolChainConfigWidget::setFromToolChain()
m_ui->compilerPath->setFileName(tc->compilerCommand());
m_ui->versionComboBox->setCurrentIndex(static_cast<int>(tc->armVersion()));
- setDebuggerCommand(tc->debuggerCommand());
- setMkspecList(tc->mkspecList());
}
bool RvctToolChainConfigWidget::isDirty() const
@@ -445,9 +413,7 @@ bool RvctToolChainConfigWidget::isDirty() const
return tc->compilerCommand() != m_ui->compilerPath->fileName()
|| tc->armVersion() != static_cast<RvctToolChain::ArmVersion>(m_ui->versionComboBox->currentIndex())
- || tc->environmentChanges() != environmentChanges()
- || tc->debuggerCommand() != debuggerCommand()
- || tc->mkspecList() != mkspecList();
+ || tc->environmentChanges() != environmentChanges();
}
void RvctToolChainConfigWidget::makeReadOnly()
@@ -544,7 +510,6 @@ QList<ProjectExplorer::ToolChain *> RvctToolChainFactory::autoDetect()
tc->setDisplayName(name.arg(armVersionString(tc->armVersion()))
.arg(v.majorVersion).arg(v.minorVersion).arg(v.build));
tc->setVersion(v);
- tc->setDebuggerCommand(ProjectExplorer::ToolChainManager::instance()->defaultDebugger(tc->targetAbi()));
result.append(tc);
tc = new RvctToolChain(true);
@@ -554,7 +519,6 @@ QList<ProjectExplorer::ToolChain *> RvctToolChainFactory::autoDetect()
tc->setDisplayName(name.arg(armVersionString(tc->armVersion()))
.arg(v.majorVersion).arg(v.minorVersion).arg(v.build));
tc->setVersion(v);
- tc->setDebuggerCommand(ProjectExplorer::ToolChainManager::instance()->defaultDebugger(tc->targetAbi()));
result.append(tc);
}
diff --git a/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.h b/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.h
index 36e9df44d3..62435f7cea 100644
--- a/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.h
+++ b/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.h
@@ -85,8 +85,6 @@ public:
QString typeDisplayName() const;
ProjectExplorer::Abi targetAbi() const;
- QString legacyId() const;
-
bool isValid() const;
QByteArray predefinedMacros(const QStringList &cxxflags) const;
@@ -105,9 +103,6 @@ public:
void setCompilerCommand(const Utils::FileName &path);
Utils::FileName compilerCommand() const;
- void setDebuggerCommand(const Utils::FileName &d);
- Utils::FileName debuggerCommand() const;
-
void setArmVersion(ArmVersion);
ArmVersion armVersion() const;
@@ -130,7 +125,6 @@ private:
QList<Utils::EnvironmentItem> m_environmentChanges;
ArmVersion m_armVersion;
mutable RvctVersion m_version;
- Utils::FileName m_debuggerCommand;
friend class RvctToolChainFactory;
};
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp b/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp
index 493c9bd65f..464f842132 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp
@@ -43,6 +43,7 @@
#include "s60certificateinfo.h"
#include "s60certificatedetailsdialog.h"
#include "symbianqtversion.h"
+#include "symbianidevicefactory.h"
#include <app/app_version.h>
@@ -52,11 +53,14 @@
#include <projectexplorer/buildconfiguration.h>
#include <projectexplorer/buildsteplist.h>
#include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/profileinformation.h>
#include <projectexplorer/target.h>
#include <projectexplorer/project.h>
#include <projectexplorer/gnumakeparser.h>
#include <projectexplorer/task.h>
+#include <qtsupport/qtprofileinformation.h>
+
#include <QDir>
#include <QTimer>
#include <QCryptographicHash>
@@ -182,12 +186,21 @@ Qt4BuildConfiguration *S60CreatePackageStep::qt4BuildConfiguration() const
bool S60CreatePackageStep::init()
{
Qt4Project *pro = qobject_cast<Qt4Project *>(project());
+ ProjectExplorer::ToolChain *tc
+ = ProjectExplorer::ToolChainProfileInformation::toolChain(target()->profile());
QList<Qt4ProFileNode *> nodes = pro->allProFiles();
- SymbianQtVersion *sqv = dynamic_cast<SymbianQtVersion *>(qt4BuildConfiguration()->qtVersion());
- if (!sqv)
+ SymbianQtVersion *sqv
+ = dynamic_cast<SymbianQtVersion *>(QtSupport::QtProfileInformation::qtVersion(target()->profile()));
+ if (!sqv) {
+ emit addOutput(tr("The selected profile is not configured with a Symbian Qt"), BuildStep::ErrorOutput);
+ return false;
+ }
+ if (!tc) {
+ emit addOutput(tr("The selected profile has no toolchain"), BuildStep::ErrorOutput);
return false;
+ }
m_isBuildWithSymbianSbsV2 = sqv->isBuildWithSymbianSbsV2();
m_workingDirectories.clear();
@@ -198,7 +211,7 @@ bool S60CreatePackageStep::init()
}
projectCapabilities.removeDuplicates();
- m_makeCmd = qt4BuildConfiguration()->makeCommand();
+ m_makeCmd = tc->makeCommand();
if (!QFileInfo(m_makeCmd).isAbsolute()) {
// Try to detect command in environment
const QString tmp = qt4BuildConfiguration()->environment().searchInPath(m_makeCmd);
@@ -265,7 +278,7 @@ void S60CreatePackageStep::handleWarnAboutPatching()
changedText = tr("<p>Qt modified some of your packages.</p>");
}
const QString text =
- tr("%1<p><em>These changes were not part of your build system</em> but are required to "
+ tr("%1<p><em>These changes were not part of your build profile</em> but are required to "
"make sure the <em>self-signed</em> package can be installed successfully on a device.</p>"
"<p>Check the Issues pane for more details on the modifications made.</p>"
"<p>Please see the <a href=\"%2\">documentation</a> for other signing options which "
@@ -739,11 +752,7 @@ S60CreatePackageStepFactory::~S60CreatePackageStepFactory()
bool S60CreatePackageStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const
{
- if (parent->id() != Core::Id(ProjectExplorer::Constants::BUILDSTEPS_DEPLOY))
- return false;
- if (parent->target()->id() != Core::Id(Constants::S60_DEVICE_TARGET_ID))
- return false;
- return (id == Core::Id(SIGN_BS_ID));
+ return canHandle(parent) && id == Core::Id(SIGN_BS_ID);
}
ProjectExplorer::BuildStep *S60CreatePackageStepFactory::create(ProjectExplorer::BuildStepList *parent, const Core::Id id)
@@ -765,6 +774,16 @@ ProjectExplorer::BuildStep *S60CreatePackageStepFactory::clone(ProjectExplorer::
return new S60CreatePackageStep(parent, static_cast<S60CreatePackageStep *>(source));
}
+bool S60CreatePackageStepFactory::canHandle(ProjectExplorer::BuildStepList *parent) const
+{
+ if (parent->id() != Core::Id(ProjectExplorer::Constants::BUILDSTEPS_DEPLOY))
+ return false;
+ Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(parent->target()->profile());
+ if (deviceType != SymbianIDeviceFactory::deviceType())
+ return false;
+ return qobject_cast<Qt4Project *>(parent->target()->project());
+}
+
bool S60CreatePackageStepFactory::canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const
{
return canCreate(parent, ProjectExplorer::idFromMap(map));
@@ -783,11 +802,10 @@ ProjectExplorer::BuildStep *S60CreatePackageStepFactory::restore(ProjectExplorer
QList<Core::Id> S60CreatePackageStepFactory::availableCreationIds(ProjectExplorer::BuildStepList *parent) const
{
- if (parent->id() != Core::Id(ProjectExplorer::Constants::BUILDSTEPS_DEPLOY))
+ if (!canHandle(parent))
return QList<Core::Id>();
- if (parent->target()->id() == Core::Id(Constants::S60_DEVICE_TARGET_ID))
- return QList<Core::Id>() << Core::Id(SIGN_BS_ID);
- return QList<Core::Id>();
+
+ return QList<Core::Id>() << Core::Id(SIGN_BS_ID);
}
QString S60CreatePackageStepFactory::displayNameForId(const Core::Id id) const
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.h b/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.h
index 8cbdb8aa1c..b308036123 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.h
+++ b/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.h
@@ -73,6 +73,8 @@ public:
ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map);
bool canClone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *product) const;
ProjectExplorer::BuildStep *clone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *product);
+
+ bool canHandle(ProjectExplorer::BuildStepList *parent) const;
};
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp
index 6b7f323378..0e9b22f2b1 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp
@@ -34,11 +34,9 @@
#include "s60deployconfigurationwidget.h"
#include "s60manager.h"
#include "qt4project.h"
-#include "qt4target.h"
#include "qt4nodes.h"
#include "qt4projectmanagerconstants.h"
#include "qt4buildconfiguration.h"
-#include "qt4symbiantarget.h"
#include "s60createpackagestep.h"
#include "s60deploystep.h"
#include "symbianidevice.h"
@@ -51,9 +49,13 @@
#include <projectexplorer/buildsteplist.h>
#include <projectexplorer/devicesupport/devicemanager.h>
#include <projectexplorer/project.h>
+#include <projectexplorer/profileinformation.h>
+#include <projectexplorer/target.h>
#include <projectexplorer/toolchain.h>
#include <projectexplorer/devicesupport/devicemanager.h>
+#include <qtsupport/qtprofileinformation.h>
+
#include <QFileInfo>
using namespace ProjectExplorer;
@@ -107,15 +109,17 @@ S60DeployConfiguration::S60DeployConfiguration(Target *target, S60DeployConfigur
void S60DeployConfiguration::ctor()
{
setDefaultDisplayName(defaultDisplayName());
+
+ Qt4Project *project = static_cast<Qt4Project *>(target()->project());
// TODO disable S60 Deploy Configuration while parsing
// requires keeping track of the parsing state of the project
- connect(qt4Target()->qt4Project(), SIGNAL(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)),
+ connect(project, SIGNAL(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)),
this, SLOT(slotTargetInformationChanged(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)));
- connect(qt4Target(), SIGNAL(activeBuildConfigurationChanged(ProjectExplorer::BuildConfiguration*)),
+ connect(target(), SIGNAL(activeBuildConfigurationChanged(ProjectExplorer::BuildConfiguration*)),
this, SLOT(updateActiveBuildConfiguration(ProjectExplorer::BuildConfiguration*)));
- connect(qt4Target(), SIGNAL(activeRunConfigurationChanged(ProjectExplorer::RunConfiguration*)),
+ connect(target(), SIGNAL(activeRunConfigurationChanged(ProjectExplorer::RunConfiguration*)),
this, SLOT(updateActiveRunConfiguration(ProjectExplorer::RunConfiguration*)));
- updateActiveBuildConfiguration(qt4Target()->activeBuildConfiguration());
+ updateActiveBuildConfiguration(target()->activeBuildConfiguration());
}
S60DeployConfiguration::~S60DeployConfiguration()
@@ -155,7 +159,7 @@ bool S60DeployConfiguration::hasSisPackage(const Qt4ProFileNode &projectNode) co
QStringList S60DeployConfiguration::signedPackages() const
{
- QList<Qt4ProFileNode *> list = qt4Target()->qt4Project()->allProFiles();
+ QList<Qt4ProFileNode *> list = static_cast<Qt4Project *>(target()->project())->allProFiles();
QStringList result;
foreach (Qt4ProFileNode *node, list) {
if (!hasSisPackage(*node))
@@ -183,7 +187,7 @@ SymbianIDevice::ConstPtr S60DeployConfiguration::device() const
QStringList S60DeployConfiguration::packageFileNamesWithTargetInfo() const
{
- QList<Qt4ProFileNode *> leafs = qt4Target()->qt4Project()->allProFiles();
+ QList<Qt4ProFileNode *> leafs = static_cast<Qt4Project *>(target()->project())->allProFiles();
QStringList result;
foreach (Qt4ProFileNode *qt4ProFileNode, leafs) {
if (!hasSisPackage(*qt4ProFileNode))
@@ -192,9 +196,10 @@ QStringList S60DeployConfiguration::packageFileNamesWithTargetInfo() const
if (!ti.valid)
continue;
QString baseFileName = ti.buildDir + QLatin1Char('/') + ti.target;
+ ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(target()->profile());
baseFileName += QLatin1Char('_')
+ (isDebug() ? QLatin1String("debug") : QLatin1String("release"))
- + QLatin1Char('-') + S60Manager::platform(qt4Target()->activeBuildConfiguration()->toolChain()) + QLatin1String(".sis");
+ + QLatin1Char('-') + S60Manager::platform(tc) + QLatin1String(".sis");
result << baseFileName;
}
return result;
@@ -202,7 +207,7 @@ QStringList S60DeployConfiguration::packageFileNamesWithTargetInfo() const
QStringList S60DeployConfiguration::packageTemplateFileNames() const
{
- QList<Qt4ProFileNode *> list = qt4Target()->qt4Project()->allProFiles();
+ QList<Qt4ProFileNode *> list = static_cast<Qt4Project *>(target()->project())->allProFiles();
QStringList result;
foreach (Qt4ProFileNode *node, list) {
if (!hasSisPackage(*node))
@@ -216,7 +221,7 @@ QStringList S60DeployConfiguration::packageTemplateFileNames() const
QStringList S60DeployConfiguration::appPackageTemplateFileNames() const
{
- QList<Qt4ProFileNode *> list = qt4Target()->qt4Project()->allProFiles();
+ QList<Qt4ProFileNode *> list = static_cast<Qt4Project *>(target()->project())->allProFiles();
QStringList result;
foreach (Qt4ProFileNode *node, list) {
if (!hasSisPackage(*node))
@@ -258,16 +263,10 @@ bool S60DeployConfiguration::isSigned() const
return false;
}
-ProjectExplorer::ToolChain *S60DeployConfiguration::toolChain() const
-{
- if (Qt4BuildConfiguration *bc = qobject_cast<Qt4BuildConfiguration *>(target()->activeBuildConfiguration()))
- return bc->toolChain();
- return 0;
-}
-
bool S60DeployConfiguration::isDebug() const
{
- const Qt4BuildConfiguration *qt4bc = qt4Target()->activeQt4BuildConfiguration();
+ const Qt4BuildConfiguration *qt4bc = qobject_cast<Qt4BuildConfiguration *>(target()->activeBuildConfiguration());
+ QTC_ASSERT(qt4bc, return false);
return (qt4bc->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild);
}
@@ -276,13 +275,6 @@ QString S60DeployConfiguration::symbianTarget() const
return isDebug() ? QLatin1String("udeb") : QLatin1String("urel");
}
-const QtSupport::BaseQtVersion *S60DeployConfiguration::qtVersion() const
-{
- if (const Qt4BuildConfiguration *qt4bc = qt4Target()->activeQt4BuildConfiguration())
- return qt4bc->qtVersion();
- return 0;
-}
-
void S60DeployConfiguration::updateActiveBuildConfiguration(ProjectExplorer::BuildConfiguration *buildConfiguration)
{
if (m_activeBuildConfiguration)
@@ -311,7 +303,7 @@ QVariantMap S60DeployConfiguration::toMap() const
QString S60DeployConfiguration::defaultDisplayName() const
{
- QList<Qt4ProFileNode *> list = qt4Target()->qt4Project()->allProFiles();
+ QList<Qt4ProFileNode *> list = static_cast<Qt4Project *>(target()->project())->allProFiles();
foreach (Qt4ProFileNode *node, list) {
TargetInformation ti = node->targetInformation();
if (ti.valid && !ti.buildDir.isEmpty())
@@ -332,11 +324,6 @@ bool S60DeployConfiguration::fromMap(const QVariantMap &map)
return true;
}
-Qt4SymbianTarget *S60DeployConfiguration::qt4Target() const
-{
- return static_cast<Qt4SymbianTarget *>(target());
-}
-
char S60DeployConfiguration::installationDrive() const
{
return m_installationDrive;
@@ -375,8 +362,7 @@ const QList<S60DeployConfiguration::DeviceDrive> &S60DeployConfiguration::availa
S60DeployConfigurationFactory::S60DeployConfigurationFactory(QObject *parent) :
DeployConfigurationFactory(parent)
-{
-}
+{ setObjectName(QLatin1String("S60DeployConfiguration")); }
S60DeployConfigurationFactory::~S60DeployConfigurationFactory()
{
@@ -385,11 +371,16 @@ S60DeployConfigurationFactory::~S60DeployConfigurationFactory()
QList<Core::Id> S60DeployConfigurationFactory::availableCreationIds(Target *parent) const
{
QList<Core::Id> result;
- Qt4SymbianTarget *target = qobject_cast<Qt4SymbianTarget *>(parent);
- if (!target || target->id() != Core::Id(Constants::S60_DEVICE_TARGET_ID))
+ Qt4Project *project = qobject_cast<Qt4Project *>(parent->project());
+
+ if (!project)
+ return result;
+
+ ProjectExplorer::IDevice::ConstPtr dev = ProjectExplorer::DeviceProfileInformation::device(parent->profile());
+ if (dev.isNull() || dev->type() != SymbianIDeviceFactory::deviceType())
return result;
- QStringList proFiles = target->qt4Project()->applicationProFilePathes(QLatin1String(S60_DC_PREFIX));
+ QStringList proFiles = project->applicationProFilePathes(QLatin1String(S60_DC_PREFIX));
foreach (const QString &pf, proFiles)
result << Core::Id(pf.toUtf8().constData());
return result;
@@ -407,8 +398,7 @@ DeployConfiguration *S60DeployConfigurationFactory::create(Target *parent, const
if (!canCreate(parent, id))
return 0;
- Qt4SymbianTarget *t = static_cast<Qt4SymbianTarget *>(parent);
- S60DeployConfiguration *dc = new S60DeployConfiguration(t);
+ S60DeployConfiguration *dc = new S60DeployConfiguration(parent);
dc->setDefaultDisplayName(tr("Deploy to Symbian device"));
dc->stepList()->insertStep(0, new S60CreatePackageStep(dc->stepList()));
@@ -418,11 +408,13 @@ DeployConfiguration *S60DeployConfigurationFactory::create(Target *parent, const
bool S60DeployConfigurationFactory::canCreate(Target *parent, const Core::Id id) const
{
- Qt4SymbianTarget * t = qobject_cast<Qt4SymbianTarget *>(parent);
- if (!t || t->id() != Core::Id(Constants::S60_DEVICE_TARGET_ID)
- || !QString::fromUtf8(id.name()).startsWith(QLatin1String(S60_DEPLOYCONFIGURATION_ID)))
+ Qt4Project *project = qobject_cast<Qt4Project *>(parent->project());
+ if (!project)
return false;
- return true;
+ ProjectExplorer::IDevice::ConstPtr dev = ProjectExplorer::DeviceProfileInformation::device(parent->profile());
+ if (dev.isNull() || dev->type() != SymbianIDeviceFactory::deviceType())
+ return false;
+ return id == Core::Id(S60_DEPLOYCONFIGURATION_ID);
}
bool S60DeployConfigurationFactory::canRestore(Target *parent, const QVariantMap& map) const
@@ -434,8 +426,7 @@ DeployConfiguration *S60DeployConfigurationFactory::restore(Target *parent, cons
{
if (!canRestore(parent, map))
return 0;
- Qt4SymbianTarget *t = static_cast<Qt4SymbianTarget *>(parent);
- S60DeployConfiguration *dc = new S60DeployConfiguration(t);
+ S60DeployConfiguration *dc = new S60DeployConfiguration(parent);
if (dc->fromMap(map))
return dc;
@@ -445,7 +436,7 @@ DeployConfiguration *S60DeployConfigurationFactory::restore(Target *parent, cons
bool S60DeployConfigurationFactory::canClone(Target *parent, DeployConfiguration *source) const
{
- if (!qobject_cast<Qt4SymbianTarget *>(parent))
+ if (!qobject_cast<Qt4Project *>(parent->project()))
return false;
return source->id() == Core::Id(S60_DEPLOYCONFIGURATION_ID);
}
@@ -454,7 +445,6 @@ DeployConfiguration *S60DeployConfigurationFactory::clone(Target *parent, Deploy
{
if (!canClone(parent, source))
return 0;
- Qt4SymbianTarget *t = static_cast<Qt4SymbianTarget *>(parent);
- S60DeployConfiguration * old = static_cast<S60DeployConfiguration *>(source);
- return new S60DeployConfiguration(t, old);
+ S60DeployConfiguration *old = static_cast<S60DeployConfiguration *>(source);
+ return new S60DeployConfiguration(parent, old);
}
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h
index ca5552c9a0..ed7de185d1 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h
+++ b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h
@@ -71,9 +71,6 @@ public:
ProjectExplorer::DeployConfigurationWidget *configurationWidget() const;
- const QtSupport::BaseQtVersion *qtVersion() const;
- ProjectExplorer::ToolChain *toolChain() const;
-
char installationDrive() const;
void setInstallationDrive(char drive);
@@ -118,7 +115,6 @@ private:
bool isStaticLibrary(const Qt4ProFileNode &projectNode) const;
bool isApplication(const Qt4ProFileNode &projectNode) const;
bool hasSisPackage(const Qt4ProFileNode &projectNode) const;
- Internal::Qt4SymbianTarget *qt4Target() const;
private:
ProjectExplorer::BuildConfiguration *m_activeBuildConfiguration;
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp b/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp
index 239e981361..b6ab99ee9c 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp
@@ -33,15 +33,18 @@
#include "s60deploystep.h"
#include "qt4buildconfiguration.h"
+#include "qt4project.h"
#include "s60deployconfiguration.h"
#include "s60devicerunconfiguration.h"
#include "symbianidevice.h"
+#include "symbianidevicefactory.h"
#include "codadevice.h"
#include "codaruncontrol.h"
#include <coreplugin/icore.h>
#include <projectexplorer/buildsteplist.h>
#include <projectexplorer/target.h>
+#include <projectexplorer/profileinformation.h>
#include <projectexplorer/projectexplorerconstants.h>
#include <qt4projectmanagerconstants.h>
@@ -678,11 +681,7 @@ S60DeployStepFactory::~S60DeployStepFactory()
bool S60DeployStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const
{
- if (parent->id() != Core::Id(ProjectExplorer::Constants::BUILDSTEPS_DEPLOY))
- return false;
- if (parent->target()->id() != Core::Id(Constants::S60_DEVICE_TARGET_ID))
- return false;
- return (id == Core::Id(S60_DEPLOY_STEP_ID));
+ return canHandle(parent) && id == Core::Id(S60_DEPLOY_STEP_ID);
}
ProjectExplorer::BuildStep *S60DeployStepFactory::create(ProjectExplorer::BuildStepList *parent, const Core::Id id)
@@ -708,6 +707,16 @@ ProjectExplorer::BuildStep *S60DeployStepFactory::clone(ProjectExplorer::BuildSt
return new S60DeployStep(parent, static_cast<S60DeployStep *>(source));
}
+bool S60DeployStepFactory::canHandle(BuildStepList *parent) const
+{
+ if (parent->id() != Core::Id(ProjectExplorer::Constants::BUILDSTEPS_DEPLOY))
+ return false;
+ Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(parent->target()->profile());
+ if (deviceType != SymbianIDeviceFactory::deviceType())
+ return false;
+ return qobject_cast<Qt4Project *>(parent->target()->project());
+}
+
bool S60DeployStepFactory::canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const
{
return canCreate(parent, ProjectExplorer::idFromMap(map));
@@ -726,10 +735,9 @@ ProjectExplorer::BuildStep *S60DeployStepFactory::restore(ProjectExplorer::Build
QList<Core::Id> S60DeployStepFactory::availableCreationIds(ProjectExplorer::BuildStepList *parent) const
{
- if (parent->id() == Core::Id(ProjectExplorer::Constants::BUILDSTEPS_DEPLOY)
- && parent->target()->id() == Core::Id(Constants::S60_DEVICE_TARGET_ID))
- return QList<Core::Id>() << Core::Id(S60_DEPLOY_STEP_ID);
- return QList<Core::Id>();
+ if (!canHandle(parent))
+ return QList<Core::Id>();
+ return QList<Core::Id>() << Core::Id(S60_DEPLOY_STEP_ID);
}
QString S60DeployStepFactory::displayNameForId(const Core::Id id) const
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deploystep.h b/src/plugins/qt4projectmanager/qt-s60/s60deploystep.h
index bbe172f4bd..e2e15e7396 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60deploystep.h
+++ b/src/plugins/qt4projectmanager/qt-s60/s60deploystep.h
@@ -82,6 +82,8 @@ public:
ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map);
bool canClone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *product) const;
ProjectExplorer::BuildStep *clone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *product);
+
+ bool canHandle(ProjectExplorer::BuildStepList *parent) const;
};
class S60DeployStep : public ProjectExplorer::BuildStep
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.cpp b/src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.cpp
index 924ab78920..041fa573b5 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.cpp
@@ -33,7 +33,6 @@
#include "s60devicedebugruncontrol.h"
#include "codaruncontrol.h"
-#include "qt4symbiantarget.h"
#include "s60deployconfiguration.h"
#include "s60devicerunconfiguration.h"
#include "symbianidevice.h"
@@ -41,8 +40,9 @@
#include <coreplugin/icore.h>
#include <debugger/debuggerengine.h>
#include <debugger/debuggerstartparameters.h>
-#include <projectexplorer/project.h>
#include <projectexplorer/buildconfiguration.h>
+#include <projectexplorer/project.h>
+#include <projectexplorer/target.h>
#include <utils/qtcassert.h>
#include <QFileInfo>
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp
index 70d9a978d3..99e304829d 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp
@@ -35,17 +35,20 @@
#include "qt4project.h"
#include "qt4nodes.h"
#include "qt4projectmanagerconstants.h"
-#include "qt4symbiantarget.h"
-#include "qt4target.h"
#include "qt4buildconfiguration.h"
#include "s60deployconfiguration.h"
#include "s60devicerunconfigurationwidget.h"
#include "s60manager.h"
#include "symbianidevice.h"
+#include "symbianidevicefactory.h"
#include "symbianqtversion.h"
#include <utils/qtcassert.h>
+#include <projectexplorer/profileinformation.h>
+#include <projectexplorer/target.h>
+#include <qtsupport/customexecutablerunconfiguration.h>
#include <qtsupport/qtoutputformatter.h>
+#include <qtsupport/qtprofileinformation.h>
using namespace ProjectExplorer;
using namespace Qt4ProjectManager;
@@ -75,17 +78,19 @@ QString pathFromId(Core::Id id)
// ======== S60DeviceRunConfiguration
-S60DeviceRunConfiguration::S60DeviceRunConfiguration(Qt4BaseTarget *parent, const QString &proFilePath) :
- RunConfiguration(parent, Core::Id(S60_DEVICE_RC_ID)),
- m_proFilePath(proFilePath),
- m_validParse(parent->qt4Project()->validParse(proFilePath)),
- m_parseInProgress(parent->qt4Project()->parseInProgress(proFilePath))
+S60DeviceRunConfiguration::S60DeviceRunConfiguration(Target *parent, Core::Id id) :
+ RunConfiguration(parent, id),
+ m_proFilePath(pathFromId(id))
{
+ Qt4Project *project = static_cast<Qt4Project *>(parent->project());
+ m_validParse = project->validParse(m_proFilePath);
+ m_parseInProgress = project->parseInProgress(m_proFilePath);
+
ctor();
}
-S60DeviceRunConfiguration::S60DeviceRunConfiguration(Qt4BaseTarget *target, S60DeviceRunConfiguration *source) :
- RunConfiguration(target, source),
+S60DeviceRunConfiguration::S60DeviceRunConfiguration(Target *parent, S60DeviceRunConfiguration *source) :
+ RunConfiguration(parent, source),
m_proFilePath(source->m_proFilePath),
m_commandLineArguments(source->m_commandLineArguments),
m_validParse(source->m_validParse),
@@ -103,7 +108,7 @@ void S60DeviceRunConfiguration::ctor()
//: S60 device runconfiguration default display name (no profile set)
setDefaultDisplayName(tr("Run on Symbian device"));
- Qt4Project *pro = qt4Target()->qt4Project();
+ Qt4Project *pro = static_cast<Qt4Project *>(target()->project());
connect(pro, SIGNAL(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)),
this, SLOT(proFileUpdate(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)));
}
@@ -126,11 +131,6 @@ S60DeviceRunConfiguration::~S60DeviceRunConfiguration()
{
}
-Qt4SymbianTarget *S60DeviceRunConfiguration::qt4Target() const
-{
- return static_cast<Qt4SymbianTarget *>(target());
-}
-
bool S60DeviceRunConfiguration::isEnabled() const
{
return m_validParse && !m_parseInProgress;
@@ -142,7 +142,7 @@ QString S60DeviceRunConfiguration::disabledReason() const
return tr("The .pro file '%1' is currently being parsed.")
.arg(QFileInfo(m_proFilePath).fileName());
if (!m_validParse)
- return qt4Target()->qt4Project()->disabledReasonForRunConfiguration(m_proFilePath);
+ return static_cast<Qt4Project *>(target()->project())->disabledReasonForRunConfiguration(m_proFilePath);
return QString();
}
@@ -153,7 +153,7 @@ QWidget *S60DeviceRunConfiguration::createConfigurationWidget()
Utils::OutputFormatter *S60DeviceRunConfiguration::createOutputFormatter() const
{
- return new QtSupport::QtOutputFormatter(qt4Target()->qt4Project());
+ return new QtSupport::QtOutputFormatter(target()->project());
}
QVariantMap S60DeviceRunConfiguration::toMap() const
@@ -179,8 +179,8 @@ bool S60DeviceRunConfiguration::fromMap(const QVariantMap &map)
if (!QFileInfo(m_proFilePath).exists())
return false;
- m_validParse = qt4Target()->qt4Project()->validParse(m_proFilePath);
- m_parseInProgress = qt4Target()->qt4Project()->parseInProgress(m_proFilePath);
+ m_validParse = static_cast<Qt4Project *>(target()->project())->validParse(m_proFilePath);
+ m_parseInProgress = static_cast<Qt4Project *>(target()->project())->parseInProgress(m_proFilePath);
setDefaultDisplayName(tr("%1 on Symbian Device").arg(QFileInfo(m_proFilePath).completeBaseName()));
@@ -198,23 +198,16 @@ static inline QString fixBaseNameTarget(const QString &in)
QString S60DeviceRunConfiguration::targetName() const
{
- TargetInformation ti = qt4Target()->qt4Project()->rootQt4ProjectNode()->targetInformation(projectFilePath());
+ TargetInformation ti = static_cast<Qt4Project *>(target()->project())
+ ->rootQt4ProjectNode()->targetInformation(projectFilePath());
if (!ti.valid)
return QString();
return ti.target;
}
-SymbianQtVersion *S60DeviceRunConfiguration::qtVersion() const
-{
- if (const BuildConfiguration *bc = target()->activeBuildConfiguration())
- if (const Qt4BuildConfiguration *qt4bc = qobject_cast<const Qt4BuildConfiguration *>(bc))
- return dynamic_cast<SymbianQtVersion *>(qt4bc->qtVersion());
- return 0;
-}
-
bool S60DeviceRunConfiguration::isDebug() const
{
- const Qt4BuildConfiguration *qt4bc = qt4Target()->activeQt4BuildConfiguration();
+ const Qt4BuildConfiguration *qt4bc = static_cast<const Qt4BuildConfiguration *>(target()->activeBuildConfiguration());
return (qt4bc->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild);
}
@@ -224,12 +217,18 @@ QString S60DeviceRunConfiguration::symbianTarget() const
}
// ABLD/Raptor: Return executable from device/EPOC
-static inline QString localExecutableFromVersion(const SymbianQtVersion *qtv,
- const QString &symbianTarget, /* udeb/urel */
- const QString &targetName,
- const ProjectExplorer::ToolChain *tc)
+static inline QString localExecutableFromVersion(const ProjectExplorer::Profile *p,
+ const QString &symbianTarget, /* udeb/urel */
+ const QString &targetName)
{
- Q_ASSERT(qtv);
+ Q_ASSERT(p);
+
+ ToolChain *tc = ToolChainProfileInformation::toolChain(p);
+ SymbianQtVersion *qtv = dynamic_cast<SymbianQtVersion *>(QtSupport::QtProfileInformation::qtVersion(p));
+ QString root;
+ if (SysRootProfileInformation::hasSysRoot(p))
+ root = SysRootProfileInformation::sysRoot(p).toString();
+
if (!tc)
return QString();
@@ -237,19 +236,18 @@ static inline QString localExecutableFromVersion(const SymbianQtVersion *qtv,
QString platform = S60Manager::platform(tc);
if (qtv->isBuildWithSymbianSbsV2() && platform == QLatin1String("gcce"))
platform = QLatin1String("armv5");
- QTextStream(&localExecutable) << qtv->systemRoot() << "/epoc32/release/"
+ QTextStream(&localExecutable) << root << "/epoc32/release/"
<< platform << '/' << symbianTarget << '/' << targetName << ".exe";
return localExecutable;
}
QString S60DeviceRunConfiguration::localExecutableFileName() const
{
- TargetInformation ti = qt4Target()->qt4Project()->rootQt4ProjectNode()->targetInformation(projectFilePath());
+ TargetInformation ti = static_cast<Qt4Project *>(target()->project())->rootQt4ProjectNode()->targetInformation(projectFilePath());
if (!ti.valid)
return QString();
- ProjectExplorer::ToolChain *tc = target()->activeBuildConfiguration()->toolChain();
- return localExecutableFromVersion(qtVersion(), symbianTarget(), targetName(), tc);
+ return localExecutableFromVersion(target()->profile(), symbianTarget(), targetName());
}
quint32 S60DeviceRunConfiguration::executableUid() const
@@ -293,7 +291,7 @@ QString S60DeviceRunConfiguration::qmlCommandLineArguments() const
QString args;
if (debuggerAspect()->useQmlDebugger()) {
const S60DeployConfiguration *activeDeployConf =
- qobject_cast<S60DeployConfiguration *>(qt4Target()->activeDeployConfiguration());
+ qobject_cast<const S60DeployConfiguration *>(target()->activeDeployConfiguration());
QTC_ASSERT(activeDeployConf, return args);
QSharedPointer<const SymbianIDevice> dev = activeDeployConf->device().dynamicCast<const SymbianIDevice>();
@@ -313,24 +311,22 @@ QString S60DeviceRunConfiguration::proFilePath() const
// ======== S60DeviceRunConfigurationFactory
S60DeviceRunConfigurationFactory::S60DeviceRunConfigurationFactory(QObject *parent) :
- IRunConfigurationFactory(parent)
-{
-}
+ QmakeRunConfigurationFactory(parent)
+{ setObjectName(QLatin1String("S60DeviceRunConfigurationFactory"));}
S60DeviceRunConfigurationFactory::~S60DeviceRunConfigurationFactory()
-{
-}
+{ }
QList<Core::Id> S60DeviceRunConfigurationFactory::availableCreationIds(Target *parent) const
{
QList<Core::Id> result;
- Qt4SymbianTarget *target = qobject_cast<Qt4SymbianTarget *>(parent);
- if (!target || target->id() != Core::Id(Constants::S60_DEVICE_TARGET_ID))
+ if (!canHandle(parent))
return result;
- QStringList proFiles = target->qt4Project()->applicationProFilePathes(QLatin1String(S60_DEVICE_RC_PREFIX));
+ Qt4Project *project = static_cast<Qt4Project *>(parent->project());
+ QStringList proFiles = project->applicationProFilePathes(QLatin1String(S60_DEVICE_RC_PREFIX));
foreach (const QString &pf, proFiles)
- result << Core::Id(pf.toUtf8().constData());
+ result << Core::Id(pf);
return result;
}
@@ -341,12 +337,34 @@ QString S60DeviceRunConfigurationFactory::displayNameForId(const Core::Id id) co
return QString();
}
+bool S60DeviceRunConfigurationFactory::canHandle(Target *t) const
+{
+ if (!t->project()->supportsProfile(t->profile()))
+ return false;
+ if (!qobject_cast<Qt4Project *>(t->project()))
+ return false;
+
+ Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(t->profile());
+ return deviceType == SymbianIDeviceFactory::deviceType();
+}
+
+QList<RunConfiguration *> S60DeviceRunConfigurationFactory::runConfigurationsForNode(Target *t, ProjectExplorer::Node *n)
+{
+ QList<ProjectExplorer::RunConfiguration *> result;
+ foreach (ProjectExplorer::RunConfiguration *rc, t->runConfigurations()) {
+ if (S60DeviceRunConfiguration *s60rc = qobject_cast<S60DeviceRunConfiguration *>(rc))
+ if (s60rc->proFilePath() == n->path())
+ result << rc;
+ }
+ return result;
+}
+
bool S60DeviceRunConfigurationFactory::canCreate(Target *parent, const Core::Id id) const
{
- Qt4SymbianTarget *t = qobject_cast<Qt4SymbianTarget *>(parent);
- if (!t || t->id() != Core::Id(Constants::S60_DEVICE_TARGET_ID))
+ if (!canHandle(parent))
return false;
- return t->qt4Project()->hasApplicationProFile(pathFromId(id));
+ Qt4Project *project = static_cast<Qt4Project *>(parent->project());
+ return project->hasApplicationProFile(pathFromId(id));
}
RunConfiguration *S60DeviceRunConfigurationFactory::create(Target *parent, const Core::Id id)
@@ -354,25 +372,23 @@ RunConfiguration *S60DeviceRunConfigurationFactory::create(Target *parent, const
if (!canCreate(parent, id))
return 0;
- Qt4SymbianTarget *t = static_cast<Qt4SymbianTarget *>(parent);
- return new S60DeviceRunConfiguration(t, pathFromId(id));
+ return new S60DeviceRunConfiguration(parent, id);
}
bool S60DeviceRunConfigurationFactory::canRestore(Target *parent, const QVariantMap &map) const
{
- Qt4SymbianTarget *t = qobject_cast<Qt4SymbianTarget *>(parent);
- if (!t || t->id() != Core::Id(Constants::S60_DEVICE_TARGET_ID))
+ if (!canHandle(parent))
return false;
- QString id = QString::fromUtf8(ProjectExplorer::idFromMap(map).name());
- return id == QLatin1String(S60_DEVICE_RC_ID);
+
+ const Core::Id id = ProjectExplorer::idFromMap(map);
+ return id == Core::Id(S60_DEVICE_RC_ID);
}
RunConfiguration *S60DeviceRunConfigurationFactory::restore(Target *parent, const QVariantMap &map)
{
if (!canRestore(parent, map))
return 0;
- Qt4SymbianTarget *t = static_cast<Qt4SymbianTarget *>(parent);
- S60DeviceRunConfiguration *rc = new S60DeviceRunConfiguration(t, QString());
+ S60DeviceRunConfiguration *rc = new S60DeviceRunConfiguration(parent, idFromMap(map));
if (rc->fromMap(map))
return rc;
@@ -382,7 +398,7 @@ RunConfiguration *S60DeviceRunConfigurationFactory::restore(Target *parent, cons
bool S60DeviceRunConfigurationFactory::canClone(Target *parent, RunConfiguration *source) const
{
- if (!qobject_cast<Qt4SymbianTarget *>(parent))
+ if (!canHandle(parent))
return false;
return source->id() == Core::Id(S60_DEVICE_RC_ID);
}
@@ -391,7 +407,6 @@ RunConfiguration *S60DeviceRunConfigurationFactory::clone(Target *parent, RunCon
{
if (!canClone(parent, source))
return 0;
- Qt4SymbianTarget *t = static_cast<Qt4SymbianTarget *>(parent);
S60DeviceRunConfiguration *old = static_cast<S60DeviceRunConfiguration *>(source);
- return new S60DeviceRunConfiguration(t, old);
+ return new S60DeviceRunConfiguration(parent, old);
}
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.h b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.h
index 1480e04ff7..82f181ac9a 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.h
+++ b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.h
@@ -33,8 +33,10 @@
#ifndef S60DEVICERUNCONFIGURATION_H
#define S60DEVICERUNCONFIGURATION_H
+#include "../qmakerunconfigurationfactory.h"
+#include "../qt4projectmanager_global.h"
+
#include <projectexplorer/runconfiguration.h>
-#include <qt4projectmanager/qt4projectmanager_global.h>
#include <QFutureInterface>
#include <QStringList>
@@ -43,14 +45,12 @@ QT_BEGIN_NAMESPACE
class QWidget;
QT_END_NAMESPACE
+namespace ProjectExplorer { class Node; }
+
namespace Qt4ProjectManager {
-class Qt4BaseTarget;
class Qt4ProFileNode;
-namespace Internal {
-class SymbianQtVersion;
-class Qt4SymbianTarget;
-}
+namespace Internal { class SymbianQtVersion; }
class S60DeviceRunConfigurationFactory;
@@ -60,7 +60,7 @@ class QT4PROJECTMANAGER_EXPORT S60DeviceRunConfiguration : public ProjectExplore
friend class S60DeviceRunConfigurationFactory;
public:
- S60DeviceRunConfiguration(Qt4ProjectManager::Qt4BaseTarget *parent, const QString &proFilePath);
+ S60DeviceRunConfiguration(ProjectExplorer::Target *parent, Core::Id id);
virtual ~S60DeviceRunConfiguration();
bool isEnabled() const;
@@ -89,7 +89,7 @@ signals:
void targetInformationChanged();
protected:
- S60DeviceRunConfiguration(Qt4ProjectManager::Qt4BaseTarget *parent, S60DeviceRunConfiguration *source);
+ S60DeviceRunConfiguration(ProjectExplorer::Target *parent, S60DeviceRunConfiguration *source);
QString defaultDisplayName() const;
virtual bool fromMap(const QVariantMap &map);
@@ -98,8 +98,6 @@ private slots:
private:
void ctor();
- Internal::Qt4SymbianTarget *qt4Target() const;
- Internal::SymbianQtVersion *qtVersion() const;
QString m_proFilePath;
QString m_commandLineArguments;
@@ -107,7 +105,7 @@ private:
bool m_parseInProgress;
};
-class S60DeviceRunConfigurationFactory : public ProjectExplorer::IRunConfigurationFactory
+class S60DeviceRunConfigurationFactory : public QmakeRunConfigurationFactory
{
Q_OBJECT
@@ -125,6 +123,10 @@ public:
QList<Core::Id> availableCreationIds(ProjectExplorer::Target *parent) const;
// used to translate the ids to names to display to the user
QString displayNameForId(const Core::Id id) const;
+
+ bool canHandle(ProjectExplorer::Target *t) const;
+ QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Target *t,
+ ProjectExplorer::Node *n);
};
} // namespace Qt4ProjectManager
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp b/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp
index 35213a401e..252984fd7c 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp
@@ -31,9 +31,7 @@
**************************************************************************/
#include "s60manager.h"
-//#include "qtversionmanager.h"
-//#include "s60devicespreferencepane.h"
#include "s60devicerunconfiguration.h"
#include "s60createpackagestep.h"
#include "s60deployconfiguration.h"
@@ -43,7 +41,6 @@
#include "symbianidevice.h"
#include "symbianidevicefactory.h"
-#include "qt4symbiantargetfactory.h"
#include "s60publishingwizardfactories.h"
#include "gccetoolchain.h"
@@ -120,7 +117,6 @@ S60Manager::S60Manager(QObject *parent) : QObject(parent)
addAutoReleasedObject(new S60DeployStepFactory);
addAutoReleasedObject(new S60DeviceDebugRunControlFactory);
- addAutoReleasedObject(new Qt4SymbianTargetFactory);
addAutoReleasedObject(new S60DeployConfigurationFactory);
addAutoReleasedObject(new S60PublishingWizardFactoryOvi);
@@ -154,7 +150,7 @@ QString S60Manager::platform(const ProjectExplorer::ToolChain *tc)
return target.right(target.lastIndexOf(QLatin1Char('-')));
}
-void S60Manager::delayedInitialize()
+void S60Manager::extensionsInitialize()
{
handleQtVersionChanges();
connect(QtSupport::QtVersionManager::instance(), SIGNAL(qtVersionsChanged(QList<int>,QList<int>,QList<int>)),
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60manager.h b/src/plugins/qt4projectmanager/qt-s60/s60manager.h
index febcefc693..4f7a030b73 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60manager.h
+++ b/src/plugins/qt4projectmanager/qt-s60/s60manager.h
@@ -49,11 +49,12 @@ class S60Manager : public QObject
public:
S60Manager(QObject *parent = 0);
~S60Manager();
+
static S60Manager *instance();
static QString platform(const ProjectExplorer::ToolChain *tc);
- void delayedInitialize();
+ void extensionsInitialize();
private slots:
void symbianDeviceRemoved(const SymbianUtils::SymbianDevice &d);
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60publisherovi.cpp b/src/plugins/qt4projectmanager/qt-s60/s60publisherovi.cpp
index 32c0fcc57e..4d0b8e3dac 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60publisherovi.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60publisherovi.cpp
@@ -31,7 +31,6 @@
**************************************************************************/
#include "s60publisherovi.h"
-#include "qt4symbiantarget.h"
#include "s60certificateinfo.h"
#include "s60manager.h"
@@ -43,7 +42,9 @@
#include <projectexplorer/buildsteplist.h>
#include <projectexplorer/buildstep.h>
+#include <projectexplorer/target.h>
#include <qtsupport/qtversionmanager.h>
+#include <qtsupport/qtprofileinformation.h>
#include <qtsupport/profilereader.h>
#include <utils/qtcassert.h>
@@ -131,6 +132,7 @@ void S60PublisherOvi::cleanUp()
void S60PublisherOvi::completeCreation()
{
+#if 0 // FIXME: This needs serious reworking!
// set active target
m_activeTargetOfProject = qobject_cast<Qt4SymbianTarget *>(m_qt4bc->target());
QTC_ASSERT(m_activeTargetOfProject, return);
@@ -213,6 +215,7 @@ void S60PublisherOvi::completeCreation()
}
}
}
+#endif
}
bool S60PublisherOvi::isDynamicLibrary(const Qt4Project &project) const
@@ -292,9 +295,8 @@ bool S60PublisherOvi::isVendorNameValid(const QString &vendorName) const
QString S60PublisherOvi::qtVersion() const
{
- if (!m_qt4bc->qtVersion())
- return QString();
- return m_qt4bc->qtVersion()->displayName();
+ QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(m_qt4bc->target()->profile());
+ return version ? version->displayName() : QString();
}
QString S60PublisherOvi::uid3() const
@@ -439,7 +441,8 @@ void S60PublisherOvi::publishStepFinished(bool success)
bool S60PublisherOvi::sisExists(QString &sisFile)
{
QString fileNamePostFix = QLatin1String("_installer_unsigned.sis");
- if (m_qt4bc->qtVersion()->qtVersion() == QtSupport::QtVersionNumber(4,6,3) )
+ QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(m_qt4bc->target()->profile());
+ if (version && version->qtVersion() == QtSupport::QtVersionNumber(4,6,3) )
fileNamePostFix = QLatin1String("_installer.sis");
sisFile = m_qt4bc->buildDirectory() + QLatin1Char('/') + m_qt4project->displayName() + fileNamePostFix;
@@ -451,7 +454,8 @@ bool S60PublisherOvi::sisExists(QString &sisFile)
QString S60PublisherOvi::createdSisFileContainingFolder()
{
QString fileNamePostFix = QLatin1String("_installer_unsigned.sis");
- if (m_qt4bc->qtVersion()->qtVersion() == QtSupport::QtVersionNumber(4,6,3) )
+ QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(m_qt4bc->target()->profile());
+ if (version && version->qtVersion() == QtSupport::QtVersionNumber(4,6,3) )
fileNamePostFix = QLatin1String("_installer.sis");
QString resultFile = m_qt4bc->buildDirectory() + QLatin1Char('/') + m_qt4project->displayName() + fileNamePostFix;
@@ -463,7 +467,8 @@ QString S60PublisherOvi::createdSisFileContainingFolder()
QString S60PublisherOvi::createdSisFilePath()
{
QString fileNamePostFix = QLatin1String("_installer_unsigned.sis");
- if (m_qt4bc->qtVersion()->qtVersion() == QtSupport::QtVersionNumber(4,6,3) )
+ QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(m_qt4bc->target()->profile());
+ if (version && version->qtVersion() == QtSupport::QtVersionNumber(4,6,3) )
fileNamePostFix = QLatin1String("_installer.sis");
const QString resultFile = m_qt4bc->buildDirectory() + QLatin1Char('/')
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60publishingbuildsettingspageovi.cpp b/src/plugins/qt4projectmanager/qt-s60/s60publishingbuildsettingspageovi.cpp
index 158c9f98ae..cd92115c4a 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60publishingbuildsettingspageovi.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60publishingbuildsettingspageovi.cpp
@@ -54,6 +54,7 @@ S60PublishingBuildSettingsPageOvi::S60PublishingBuildSettingsPageOvi(S60Publishe
{
m_ui->setupUi(this);
+#if 0 // FIXME: This needs serious work!
QList<Qt4BuildConfiguration *> list;
foreach (const ProjectExplorer::Target *const target, project->targets()) {
if (target->id() != Core::Id(Qt4ProjectManager::Constants::S60_DEVICE_TARGET_ID))
@@ -92,6 +93,9 @@ S60PublishingBuildSettingsPageOvi::S60PublishingBuildSettingsPageOvi(S60Publishe
m_ui->toolchainInfoIconLabel->setToolTip(tr("No valid tool chain has been detected.<br>"
"Define a correct tool chain in \"Options > Tool Chains\""));
populateToolchainList(m_bc);
+#else
+ Q_UNUSED(project);
+#endif
//change the build configuration if the user changes it
connect(m_ui->chooseBuildConfigDropDown, SIGNAL(currentIndexChanged(int)), this, SLOT(buildConfigChosen()));
@@ -106,6 +110,7 @@ bool S60PublishingBuildSettingsPageOvi::isComplete() const
void S60PublishingBuildSettingsPageOvi::populateToolchainList(ProjectExplorer::BuildConfiguration *bc)
{
+#if 0 // FIXME: Do the right thing here...
if (!bc)
return;
@@ -134,6 +139,9 @@ void S60PublishingBuildSettingsPageOvi::populateToolchainList(ProjectExplorer::B
toolchainChosen();
else
bc->setToolChain(m_toolchain);
+#else
+ Q_UNUSED(bc);
+#endif
}
void S60PublishingBuildSettingsPageOvi::buildConfigChosen()
@@ -149,6 +157,7 @@ void S60PublishingBuildSettingsPageOvi::buildConfigChosen()
void S60PublishingBuildSettingsPageOvi::toolchainChosen()
{
+#if 0 // FIXME: Do the right thing!
const int currentIndex = m_ui->chooseToolchainDropDown->currentIndex();
if (currentIndex == -1) {
m_toolchain = 0;
@@ -160,6 +169,7 @@ void S60PublishingBuildSettingsPageOvi::toolchainChosen()
if (m_bc)
m_bc->setToolChain(m_toolchain);
+#endif
emit toolchainConfigurationChosen();
}
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60publishingwizardfactories.cpp b/src/plugins/qt4projectmanager/qt-s60/s60publishingwizardfactories.cpp
index 9ab0e9b60c..3924b1bc18 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60publishingwizardfactories.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60publishingwizardfactories.cpp
@@ -39,6 +39,10 @@
#include <projectexplorer/target.h>
+#include <qtsupport/qtsupportconstants.h>
+#include <qtsupport/baseqtversion.h>
+#include <qtsupport/qtprofileinformation.h>
+
using namespace ProjectExplorer;
namespace Qt4ProjectManager {
@@ -71,7 +75,8 @@ bool S60PublishingWizardFactoryOvi::canCreateWizard(const Project *project) cons
if (!qobject_cast<const Qt4Project *>(project))
return false;
foreach (const Target *const target, project->targets()) {
- if (target->id() == Core::Id(Constants::S60_DEVICE_TARGET_ID))
+ QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target->profile());
+ if (version->type() == QLatin1String(QtSupport::Constants::SYMBIANQT))
return true;
}
return false;
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60publishingwizardfactories.h b/src/plugins/qt4projectmanager/qt-s60/s60publishingwizardfactories.h
index 6bcb4d9bee..4ec25e743d 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60publishingwizardfactories.h
+++ b/src/plugins/qt4projectmanager/qt-s60/s60publishingwizardfactories.h
@@ -38,17 +38,16 @@
namespace Qt4ProjectManager {
namespace Internal {
-class S60PublishingWizardFactoryOvi
- : public ProjectExplorer::IPublishingWizardFactory
+class S60PublishingWizardFactoryOvi : public ProjectExplorer::IPublishingWizardFactory
{
Q_OBJECT
public:
explicit S60PublishingWizardFactoryOvi(QObject *parent =0);
private:
- virtual QString displayName() const;
- virtual QString description() const;
- virtual bool canCreateWizard(const ProjectExplorer::Project *project) const;
- virtual QWizard *createWizard(const ProjectExplorer::Project *project) const;
+ QString displayName() const;
+ QString description() const;
+ bool canCreateWizard(const ProjectExplorer::Project *project) const;
+ QWizard *createWizard(const ProjectExplorer::Project *project) const;
};
} // namespace Internal
} // namespace Qt4ProjectManager
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.cpp b/src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.cpp
index bdb4a94358..774618bf12 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.cpp
@@ -32,20 +32,17 @@
#include "s60runcontrolbase.h"
+#include "qt4buildconfiguration.h"
#include "s60deployconfiguration.h"
#include "s60devicerunconfiguration.h"
-#include "qt4buildconfiguration.h"
-#include "qt4symbiantarget.h"
-#include "qt4target.h"
-
-#include <utils/qtcassert.h>
-
-#include <debugger/debuggerconstants.h>
#include <analyzerbase/analyzerconstants.h>
-
#include <coreplugin/icore.h>
+#include <debugger/debuggerconstants.h>
#include <coreplugin/progressmanager/progressmanager.h>
+#include <projectexplorer/target.h>
+#include <qtsupport/qtprofileinformation.h>
+#include <utils/qtcassert.h>
#include <QDateTime>
#include <QDir>
@@ -96,7 +93,7 @@ S60RunControlBase::S60RunControlBase(RunConfiguration *runConfiguration,
m_commandLineArguments.prepend(QLatin1Char(' '));
m_commandLineArguments.prepend(qmlArgs);
}
- if (const QtSupport::BaseQtVersion *qtv = activeBuildConf->qtVersion()) {
+ if (const QtSupport::BaseQtVersion *qtv = QtSupport::QtProfileInformation::qtVersion(runConfiguration->target()->profile())) {
m_qtDir = qtv->versionInfo().value(QLatin1String("QT_INSTALL_DATA"));
m_qtBinPath = qtv->versionInfo().value(QLatin1String("QT_INSTALL_BINS"));
}
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60runcontrolfactory.cpp b/src/plugins/qt4projectmanager/qt-s60/s60runcontrolfactory.cpp
index f1f96795f8..b9ac0026cf 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60runcontrolfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60runcontrolfactory.cpp
@@ -35,8 +35,8 @@
#include "codaruncontrol.h"
#include "s60devicerunconfiguration.h"
#include "s60deployconfiguration.h"
-#include "qt4symbiantarget.h"
+#include <projectexplorer/target.h>
#include <utils/qtcassert.h>
using namespace ProjectExplorer;
diff --git a/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp b/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp
index 045712879e..7cb2f69230 100644
--- a/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp
@@ -36,6 +36,7 @@
#include "qt-s60/abldparser.h"
#include <projectexplorer/gnumakeparser.h>
+#include <projectexplorer/profileinformation.h>
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/toolchain.h>
#include <projectexplorer/toolchainmanager.h>
@@ -54,14 +55,12 @@ using namespace Qt4ProjectManager;
using namespace Qt4ProjectManager::Internal;
SymbianQtVersion::SymbianQtVersion()
- : BaseQtVersion(),
- m_validSystemRoot(false)
+ : BaseQtVersion()
{
}
SymbianQtVersion::SymbianQtVersion(const Utils::FileName &path, bool isAutodetected, const QString &autodetectionSource)
- : BaseQtVersion(path, isAutodetected, autodetectionSource),
- m_validSystemRoot(false)
+ : BaseQtVersion(path, isAutodetected, autodetectionSource)
{
}
@@ -81,8 +80,7 @@ bool SymbianQtVersion::equals(BaseQtVersion *other)
if (!BaseQtVersion::equals(other))
return false;
SymbianQtVersion *o = static_cast<SymbianQtVersion *>(other);
- return m_sbsV2Directory == o->m_sbsV2Directory
- && m_systemRoot == o->m_systemRoot;
+ return m_sbsV2Directory == o->m_sbsV2Directory;
}
QString SymbianQtVersion::type() const
@@ -94,8 +92,6 @@ bool SymbianQtVersion::isValid() const
{
if (!BaseQtVersion::isValid())
return false;
- if (!m_validSystemRoot)
- return false;
if (isBuildWithSymbianSbsV2() && (m_sbsV2Directory.isEmpty() || !QFileInfo(m_sbsV2Directory + QLatin1String("/sbs")).exists()))
return false;
return true;
@@ -104,8 +100,6 @@ bool SymbianQtVersion::isValid() const
QString SymbianQtVersion::invalidReason() const
{
QString tmp = BaseQtVersion::invalidReason();
- if (tmp.isEmpty() && !m_validSystemRoot)
- return QCoreApplication::translate("QtVersion", "The \"Open C/C++ plugin\" is not installed in the Symbian SDK or the Symbian SDK path is misconfigured");
if (isBuildWithSymbianSbsV2()
&& (m_sbsV2Directory.isEmpty() || !QFileInfo(m_sbsV2Directory + QLatin1String("/sbs")).exists()))
return QCoreApplication::translate("QtVersion", "SBS was not found.");
@@ -113,21 +107,8 @@ QString SymbianQtVersion::invalidReason() const
return tmp;
}
-bool SymbianQtVersion::toolChainAvailable(const QString &id) const
-{
- if (!isValid())
- return false;
- if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) {
- QList<ProjectExplorer::ToolChain *> tcList =
- ProjectExplorer::ToolChainManager::instance()->toolChains();
- return !tcList.isEmpty();
- }
- return false;
-}
-
void SymbianQtVersion::restoreLegacySettings(QSettings *s)
{
- setSystemRoot(QDir::fromNativeSeparators(s->value(QLatin1String("S60SDKDirectory")).toString()));
setSbsV2Directory(QDir::fromNativeSeparators(s->value(QLatin1String("SBSv2Directory")).toString()));
}
@@ -135,14 +116,12 @@ void SymbianQtVersion::fromMap(const QVariantMap &map)
{
BaseQtVersion::fromMap(map);
setSbsV2Directory(QDir::fromNativeSeparators(map.value(QLatin1String("SBSv2Directory")).toString()));
- setSystemRoot(QDir::fromNativeSeparators(map.value(QLatin1String("SystemRoot")).toString()));
}
QVariantMap SymbianQtVersion::toMap() const
{
QVariantMap result = BaseQtVersion::toMap();
result.insert(QLatin1String("SBSv2Directory"), sbsV2Directory());
- result.insert(QLatin1String("SystemRoot"), systemRoot());
return result;
}
@@ -155,16 +134,6 @@ QList<ProjectExplorer::Abi> SymbianQtVersion::detectQtAbis() const
32);
}
-bool SymbianQtVersion::supportsTargetId(const Core::Id id) const
-{
- return supportedTargetIds().contains(id);
-}
-
-QSet<Core::Id> SymbianQtVersion::supportedTargetIds() const
-{
- return QSet<Core::Id>() << Core::Id(Constants::S60_DEVICE_TARGET_ID);
-}
-
QString SymbianQtVersion::description() const
{
return QCoreApplication::translate("QtVersion", "Symbian", "Qt Version is meant for Symbian");
@@ -198,11 +167,11 @@ static const char *S60_EPOC_HEADERS[] = {
"epoc32/include/platform/mw/loc/sc"
};
-void SymbianQtVersion::addToEnvironment(Utils::Environment &env) const
+void SymbianQtVersion::addToEnvironment(const ProjectExplorer::Profile *p, Utils::Environment &env) const
{
- BaseQtVersion::addToEnvironment(env);
+ BaseQtVersion::addToEnvironment(p, env);
// Generic Symbian environment:
- QString epocRootPath = systemRoot();
+ QString epocRootPath = ProjectExplorer::SysRootProfileInformation::sysRoot(p).toString();
QDir epocDir(epocRootPath);
// Clean up epoc root path for the environment:
@@ -253,10 +222,10 @@ void SymbianQtVersion::addToEnvironment(Utils::Environment &env) const
}
}
-QList<ProjectExplorer::HeaderPath> SymbianQtVersion::systemHeaderPathes() const
+QList<ProjectExplorer::HeaderPath> SymbianQtVersion::systemHeaderPathes(const ProjectExplorer::Profile *p) const
{
QList<ProjectExplorer::HeaderPath> result;
- QString root = systemRoot() + QLatin1Char('/');
+ QString root = ProjectExplorer::SysRootProfileInformation::sysRoot(p).toString() + QLatin1Char('/');
const int count = sizeof(S60_EPOC_HEADERS) / sizeof(const char *);
for (int i = 0; i < count; ++i) {
const QDir dir(root + QLatin1String(S60_EPOC_HEADERS[i]));
@@ -264,7 +233,7 @@ QList<ProjectExplorer::HeaderPath> SymbianQtVersion::systemHeaderPathes() const
result.append(ProjectExplorer::HeaderPath(dir.absolutePath(),
ProjectExplorer::HeaderPath::GlobalHeaderPath));
}
- result.append(BaseQtVersion::systemHeaderPathes());
+ result.append(BaseQtVersion::systemHeaderPathes(p));
return result;
}
@@ -313,39 +282,6 @@ void SymbianQtVersion::parseMkSpec(ProFileEvaluator *evaluator) const
BaseQtVersion::parseMkSpec(evaluator);
}
-QList<ProjectExplorer::Task> SymbianQtVersion::reportIssuesImpl(const QString &proFile, const QString &buildDir)
-{
- QList<ProjectExplorer::Task> results = BaseQtVersion::reportIssuesImpl(proFile, buildDir);
- const QString epocRootDir = systemRoot();
- // Report an error if project- and epoc directory are on different drives:
- if (!epocRootDir.startsWith(proFile.left(3), Qt::CaseInsensitive)) {
- // Note: SBSv2 works fine with the EPOCROOT and the sources being on different drives,
- // but it fails when Qt is on a different drive than the sources. Since
- // the SDK installs Qt and the EPOCROOT on the same drive we just stick with this
- // warning.
- results.append(ProjectExplorer::Task(ProjectExplorer::Task::Error,
- QCoreApplication::translate("ProjectExplorer::Internal::S60ProjectChecker",
- "The Symbian SDK and the project sources must reside on the same drive."),
- Utils::FileName(), -1, Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
- }
- return results;
-}
-
-void SymbianQtVersion::setSystemRoot(const QString &root)
-{
- if (root == m_systemRoot)
- return;
- m_systemRoot = root;
-
- m_validSystemRoot = false;
- if (!m_systemRoot.isEmpty()) {
- if (!m_systemRoot.endsWith(QLatin1Char('/')))
- m_systemRoot.append(QLatin1Char('/'));
- QFileInfo cppheader(m_systemRoot + QLatin1String("epoc32/include/stdapis/string.h"));
- m_validSystemRoot = cppheader.exists();
- }
-}
-
Core::FeatureSet SymbianQtVersion::availableFeatures() const
{
Core::FeatureSet features = QtSupport::BaseQtVersion::availableFeatures();
@@ -366,11 +302,6 @@ QString SymbianQtVersion::platformDisplayName() const
return QLatin1String(QtSupport::Constants::SYMBIAN_PLATFORM_TR);
}
-QString SymbianQtVersion::systemRoot() const
-{
- return m_systemRoot;
-}
-
QtSupport::QtConfigWidget *SymbianQtVersion::createConfigurationWidget() const
{
return new SymbianQtConfigWidget(const_cast<SymbianQtVersion *>(this));
@@ -383,16 +314,6 @@ SymbianQtConfigWidget::SymbianQtConfigWidget(SymbianQtVersion *version)
fl->setMargin(0);
setLayout(fl);
- Utils::PathChooser *s60sdkPath = new Utils::PathChooser;
- s60sdkPath->setExpectedKind(Utils::PathChooser::ExistingDirectory);
-
- fl->addRow(tr("S60 SDK:"), s60sdkPath);
-
- s60sdkPath->setPath(QDir::toNativeSeparators(version->systemRoot()));
-
- connect(s60sdkPath, SIGNAL(changed(QString)),
- this, SLOT(updateCurrentS60SDKDirectory(QString)));
-
if (version->isBuildWithSymbianSbsV2()) {
Utils::PathChooser *sbsV2Path = new Utils::PathChooser;
sbsV2Path->setExpectedKind(Utils::PathChooser::ExistingDirectory);
@@ -404,12 +325,6 @@ SymbianQtConfigWidget::SymbianQtConfigWidget(SymbianQtVersion *version)
}
}
-void SymbianQtConfigWidget::updateCurrentS60SDKDirectory(const QString &path)
-{
- m_version->setSystemRoot(QDir::fromNativeSeparators(path));
- emit changed();
-}
-
void SymbianQtConfigWidget::updateCurrentSbsV2Directory(const QString &path)
{
m_version->setSbsV2Directory(QDir::fromNativeSeparators(path));
diff --git a/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.h b/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.h
index d21ea2132c..13c47631af 100644
--- a/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.h
+++ b/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.h
@@ -53,29 +53,21 @@ public:
bool isValid() const;
QString invalidReason() const;
- bool toolChainAvailable(const QString &id) const;
-
void restoreLegacySettings(QSettings *s);
void fromMap(const QVariantMap &map);
QVariantMap toMap() const;
QList<ProjectExplorer::Abi> detectQtAbis() const;
- bool supportsTargetId(const Core::Id id) const;
- QSet<Core::Id> supportedTargetIds() const;
-
QString description() const;
bool supportsShadowBuilds() const;
bool supportsBinaryDebuggingHelper() const;
- void addToEnvironment(Utils::Environment &env) const;
- QList<ProjectExplorer::HeaderPath> systemHeaderPathes() const;
+ void addToEnvironment(const ProjectExplorer::Profile *p, Utils::Environment &env) const;
+ QList<ProjectExplorer::HeaderPath> systemHeaderPathes(const ProjectExplorer::Profile *p) const;
ProjectExplorer::IOutputParser *createOutputParser() const;
- QString systemRoot() const;
- void setSystemRoot(const QString &);
-
bool isBuildWithSymbianSbsV2() const;
QString sbsV2Directory() const;
@@ -88,23 +80,22 @@ public:
QString platformDisplayName() const;
protected:
- QList<ProjectExplorer::Task> reportIssuesImpl(const QString &proFile, const QString &buildDir);
void parseMkSpec(ProFileEvaluator *) const;
private:
QString m_sbsV2Directory;
- QString m_systemRoot;
- mutable bool m_validSystemRoot;
mutable bool m_isBuildUsingSbsV2;
};
class SymbianQtConfigWidget : public QtSupport::QtConfigWidget
{
Q_OBJECT
+
public:
SymbianQtConfigWidget(SymbianQtVersion *version);
+
public slots:
void updateCurrentSbsV2Directory(const QString &path);
- void updateCurrentS60SDKDirectory(const QString &path);
+
private:
SymbianQtVersion *m_version;
};