From 1079f5a1bfe458e709ddcfea4a08f14d68f1434e Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Tue, 10 Apr 2012 16:48:16 +0200 Subject: [PATCH] Symbian: Remove support for S60 emulator The Qt SDK never supported this, so remove it from Qt Creator. Change-Id: I1da9d658195083aa1b6f5d8119cc03c4984e8d77 Reviewed-by: Tobias Hunger --- .../qt4projectmanager/qt-s60/qt-s60.pri | 7 - .../qt-s60/qt4symbiantarget.cpp | 41 +- .../qt-s60/qt4symbiantarget.h | 2 - .../qt-s60/qt4symbiantargetfactory.cpp | 33 +- .../qt-s60/s60emulatorrunconfiguration.cpp | 413 ---------------- .../qt-s60/s60emulatorrunconfiguration.h | 165 ------- .../qt4projectmanager/qt-s60/s60manager.cpp | 6 - .../qt-s60/symbianqtversion.cpp | 24 +- .../qt4projectmanager/qt-s60/winscwparser.cpp | 87 ---- .../qt4projectmanager/qt-s60/winscwparser.h | 59 --- .../qt-s60/winscwtoolchain.cpp | 449 ------------------ .../qt-s60/winscwtoolchain.h | 149 ------ .../qt-s60/winscwtoolchainconfigwidget.ui | 58 --- .../qt4buildconfiguration.cpp | 20 +- .../qt4projectmanager/qt4projectmanager.qbs | 7 - .../qt4projectmanagerconstants.h | 2 - .../wizards/abstractmobileappwizard.cpp | 3 +- .../wizards/guiappwizarddialog.cpp | 3 +- .../wizards/librarywizarddialog.cpp | 3 +- 19 files changed, 23 insertions(+), 1508 deletions(-) delete mode 100644 src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp delete mode 100644 src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.h delete mode 100644 src/plugins/qt4projectmanager/qt-s60/winscwparser.cpp delete mode 100644 src/plugins/qt4projectmanager/qt-s60/winscwparser.h delete mode 100644 src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp delete mode 100644 src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h delete mode 100644 src/plugins/qt4projectmanager/qt-s60/winscwtoolchainconfigwidget.ui diff --git a/src/plugins/qt4projectmanager/qt-s60/qt-s60.pri b/src/plugins/qt4projectmanager/qt-s60/qt-s60.pri index 75b8fcc487c..fc8f64a1fe2 100644 --- a/src/plugins/qt4projectmanager/qt-s60/qt-s60.pri +++ b/src/plugins/qt4projectmanager/qt-s60/qt-s60.pri @@ -3,15 +3,12 @@ SOURCES += $$PWD/s60manager.cpp \ $$PWD/symbianideviceconfigwidget.cpp \ $$PWD/symbianidevicefactory.cpp \ $$PWD/sbsv2parser.cpp \ - $$PWD/winscwtoolchain.cpp \ $$PWD/gccetoolchain.cpp \ - $$PWD/s60emulatorrunconfiguration.cpp \ $$PWD/s60devicerunconfiguration.cpp \ $$PWD/s60devicerunconfigurationwidget.cpp \ $$PWD/rvcttoolchain.cpp \ $$PWD/abldparser.cpp \ $$PWD/rvctparser.cpp \ - $$PWD/winscwparser.cpp \ $$PWD/s60createpackagestep.cpp \ $$PWD/s60deploystep.cpp \ $$PWD/s60createpackageparser.cpp \ @@ -42,15 +39,12 @@ HEADERS += $$PWD/s60manager.h \ $$PWD/symbianideviceconfigwidget.h \ $$PWD/symbianidevicefactory.h \ $$PWD/sbsv2parser.h \ - $$PWD/winscwtoolchain.h \ $$PWD/gccetoolchain.h \ - $$PWD/s60emulatorrunconfiguration.h \ $$PWD/s60devicerunconfiguration.h \ $$PWD/s60devicerunconfigurationwidget.h \ $$PWD/rvcttoolchain.h \ $$PWD/abldparser.h \ $$PWD/rvctparser.h \ - $$PWD/winscwparser.h \ $$PWD/s60createpackagestep.h \ $$PWD/s60deploystep.h \ $$PWD/s60createpackageparser.h \ @@ -79,7 +73,6 @@ HEADERS += $$PWD/s60manager.h \ FORMS += $$PWD/s60createpackagestep.ui \ $$PWD/s60certificatedetailsdialog.ui \ $$PWD/rvcttoolchainconfigwidget.ui \ - $$PWD/winscwtoolchainconfigwidget.ui \ $$PWD/s60publishingbuildsettingspageovi.ui \ $$PWD/s60publishingresultspageovi.ui \ $$PWD/s60publishingsissettingspageovi.ui diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.cpp b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.cpp index 89ae8a468bd..d4c826b6251 100644 --- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.cpp @@ -38,7 +38,6 @@ #include "symbianidevice.h" #include "qt-s60/s60deployconfiguration.h" -#include "qt-s60/s60emulatorrunconfiguration.h" #include "qt-s60/s60devicerunconfiguration.h" #include @@ -64,8 +63,6 @@ Qt4SymbianTarget::~Qt4SymbianTarget() QString Qt4SymbianTarget::defaultDisplayName(const QString &id) { - if (id == QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) - return QApplication::translate("Qt4ProjectManager::Qt4Target", "Symbian Emulator", "Qt4 Symbian Emulator target display name"); if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) return QApplication::translate("Qt4ProjectManager::Qt4Target", "Symbian Device", "Qt4 Symbian Device target display name"); return QString(); @@ -73,8 +70,6 @@ QString Qt4SymbianTarget::defaultDisplayName(const QString &id) QIcon Qt4SymbianTarget::iconForId(const QString &id) { - if (id == QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) - return QIcon(QLatin1String(":/projectexplorer/images/SymbianEmulator.png")); if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) return QIcon(QLatin1String(":/projectexplorer/images/SymbianDevice.png")); return QIcon(); @@ -85,26 +80,6 @@ ProjectExplorer::IBuildConfigurationFactory *Qt4SymbianTarget::buildConfiguratio return m_buildConfigurationFactory; } -QList Qt4SymbianTarget::possibleToolChains(ProjectExplorer::BuildConfiguration *bc) const -{ - QList candidates = Qt4BaseTarget::possibleToolChains(bc); - - QList tmp; - if (id() == QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) { - foreach (ProjectExplorer::ToolChain *tc, candidates) { - if (tc->id().startsWith(QLatin1String(Constants::WINSCW_TOOLCHAIN_ID))) - tmp.append(tc); - } - } else if (id() == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) { - foreach (ProjectExplorer::ToolChain *tc, candidates) { - if (!tc->id().startsWith(QLatin1String(Qt4ProjectManager::Constants::WINSCW_TOOLCHAIN_ID))) - tmp.append(tc); - } - } - - return tmp; -} - void Qt4SymbianTarget::createApplicationProFiles(bool reparse) { if (!reparse) @@ -116,15 +91,7 @@ void Qt4SymbianTarget::createApplicationProFiles(bool reparse) foreach (Qt4ProFileNode *pro, profiles) paths << pro->path(); - if (id() == QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) { - foreach (ProjectExplorer::RunConfiguration *rc, runConfigurations()) - if (S60EmulatorRunConfiguration *qt4rc = qobject_cast(rc)) - paths.remove(qt4rc->proFilePath()); - - // Only add new runconfigurations if there are none. - foreach (const QString &path, paths) - addRunConfiguration(new S60EmulatorRunConfiguration(this, path)); - } else if (id() == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) { + if (id() == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) { foreach (ProjectExplorer::RunConfiguration *rc, runConfigurations()) if (S60DeviceRunConfiguration *qt4rc = qobject_cast(rc)) paths.remove(qt4rc->proFilePath()); @@ -144,11 +111,7 @@ QList Qt4SymbianTarget::runConfigurationsFo { QList result; foreach (ProjectExplorer::RunConfiguration *rc, runConfigurations()) { - if (id() == QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) { - if (S60EmulatorRunConfiguration * s60rc = qobject_cast(rc)) - if (s60rc->proFilePath() == n->path()) - result << rc; - } else if (id() == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) { + if (id() == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) { if (S60DeviceRunConfiguration *s60rc = qobject_cast(rc)) if (s60rc->proFilePath() == n->path()) result << rc; diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.h b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.h index f02b6b3e25e..6412e93e918 100644 --- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.h +++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.h @@ -53,8 +53,6 @@ public: ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const; - QList possibleToolChains(ProjectExplorer::BuildConfiguration *bc) const; - void createApplicationProFiles(bool reparse); virtual QList runConfigurationsForNode(ProjectExplorer::Node *n); diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp index 6b7febfb4ef..d02ae2e804c 100644 --- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp @@ -37,7 +37,6 @@ #include "qt-s60/s60deployconfiguration.h" #include "qt-s60/s60devicerunconfiguration.h" -#include "qt-s60/s60emulatorrunconfiguration.h" #include "qt-s60/s60createpackagestep.h" #include "qt-s60/s60deploystep.h" #include "qt-s60/qt4symbiantarget.h" @@ -70,15 +69,13 @@ Qt4SymbianTargetFactory::~Qt4SymbianTargetFactory() bool Qt4SymbianTargetFactory::supportsTargetId(const QString &id) const { - return id == QLatin1String(Constants::S60_DEVICE_TARGET_ID) - || id == QLatin1String(Constants::S60_EMULATOR_TARGET_ID); + return id == QLatin1String(Constants::S60_DEVICE_TARGET_ID); } QStringList Qt4SymbianTargetFactory::supportedTargetIds() const { QStringList ids; - ids << QLatin1String(Constants::S60_DEVICE_TARGET_ID) - << QLatin1String(Constants::S60_EMULATOR_TARGET_ID); + ids << QLatin1String(Constants::S60_DEVICE_TARGET_ID); return ids; } @@ -89,8 +86,6 @@ QString Qt4SymbianTargetFactory::displayNameForId(const QString &id) const QIcon Qt4SymbianTargetFactory::iconForId(const QString &id) const { - if (id == QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) - return QIcon(QLatin1String(":/projectexplorer/images/SymbianEmulator.png")); if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) return QIcon(QLatin1String(":/projectexplorer/images/SymbianDevice.png")); return QIcon(); @@ -164,21 +159,12 @@ QList Qt4SymbianTargetFactory::availableBuildConfigurati const QtSupport::QtVersionNumber &maximumQtVersion, const Core::FeatureSet &requiredFeatures) { - QList infos - = Qt4BaseTargetFactory::availableBuildConfigurations(id, proFilePath, minimumQtVersion, maximumQtVersion, requiredFeatures); - if (id != QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) - return infos; - // For emulator filter out all non debug builds - QList tmp; - foreach (const BuildConfigurationInfo &info, infos) - if (info.buildConfig & QtSupport::BaseQtVersion::DebugBuild) - tmp << info; - return tmp; + return Qt4BaseTargetFactory::availableBuildConfigurations(id, proFilePath, minimumQtVersion, maximumQtVersion, requiredFeatures); } bool Qt4SymbianTargetFactory::selectByDefault(const QString &id) const { - return id != QLatin1String(Constants::S60_EMULATOR_TARGET_ID); + return true; } QSet Qt4SymbianTargetFactory::targetFeatures(const QString & /*id*/) const @@ -202,15 +188,8 @@ ProjectExplorer::Target *Qt4SymbianTargetFactory::create(ProjectExplorer::Projec QtSupport::BaseQtVersion::QmakeBuildConfigs config = qtVersion->defaultBuildConfig(); QList infos; - if (id != QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) { - infos.append(BuildConfigurationInfo(qtVersion->uniqueId(), config, QString(), QString())); - infos.append(BuildConfigurationInfo(qtVersion->uniqueId(), config ^ QtSupport::BaseQtVersion::DebugBuild, QString(), QString())); - } else { - if (config & QtSupport::BaseQtVersion::DebugBuild) - infos.append(BuildConfigurationInfo(qtVersion->uniqueId(), config, QString(), QString())); - else - infos.append(BuildConfigurationInfo(qtVersion->uniqueId(), config ^ QtSupport::BaseQtVersion::DebugBuild, QString(), QString())); - } + infos.append(BuildConfigurationInfo(qtVersion->uniqueId(), config, QString(), QString())); + infos.append(BuildConfigurationInfo(qtVersion->uniqueId(), config ^ QtSupport::BaseQtVersion::DebugBuild, QString(), QString())); return create(parent, id, infos); } diff --git a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp deleted file mode 100644 index 1a1a2146a77..00000000000 --- a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp +++ /dev/null @@ -1,413 +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 "s60emulatorrunconfiguration.h" - -#include "qt4project.h" -#include "qt4target.h" -#include "qt4nodes.h" -#include "s60manager.h" -#include "qt4symbiantarget.h" -#include "qt4projectmanagerconstants.h" -#include "qt4buildconfiguration.h" - -#include - -#include -#include -#include -#include - -#include -#include -#include - -using namespace ProjectExplorer; -using namespace Qt4ProjectManager; -using namespace Qt4ProjectManager::Internal; - -namespace { -const char * const S60_EMULATOR_RC_ID("Qt4ProjectManager.S60EmulatorRunConfiguration"); -const char * const S60_EMULATOR_RC_PREFIX("Qt4ProjectManager.S60EmulatorRunConfiguration."); - -const char * const PRO_FILE_KEY("Qt4ProjectManager.S60EmulatorRunConfiguration.ProFile"); - -QString pathFromId(const QString &id) -{ - if (!id.startsWith(QLatin1String(S60_EMULATOR_RC_PREFIX))) - return QString(); - return id.mid(QString::fromLatin1(S60_EMULATOR_RC_PREFIX).size()); -} - -} - -// ======== S60EmulatorRunConfiguration - -S60EmulatorRunConfiguration::S60EmulatorRunConfiguration(Qt4BaseTarget *parent, const QString &proFilePath) : - RunConfiguration(parent, QLatin1String(S60_EMULATOR_RC_ID)), - m_proFilePath(proFilePath), - m_validParse(parent->qt4Project()->validParse(proFilePath)), - m_parseInProgress(parent->qt4Project()->parseInProgress(proFilePath)) -{ - ctor(); -} - -S60EmulatorRunConfiguration::S60EmulatorRunConfiguration(Qt4BaseTarget *parent, S60EmulatorRunConfiguration *source) : - RunConfiguration(parent, source), - m_proFilePath(source->m_proFilePath), - m_validParse(source->m_validParse), - m_parseInProgress(source->m_parseInProgress) -{ - ctor(); -} - -void S60EmulatorRunConfiguration::ctor() -{ - if (!m_proFilePath.isEmpty()) - //: S60 emulator run configuration default display name, %1 is base pro-File name - setDefaultDisplayName(tr("%1 in Symbian Emulator").arg(QFileInfo(m_proFilePath).completeBaseName())); - else - //: S60 emulator run configuration default display name (no pro-file name) - setDefaultDisplayName(tr("Run on Symbian Emulator")); - Qt4Project *pro = qt4Target()->qt4Project(); - connect(pro, SIGNAL(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)), - this, SLOT(proFileUpdate(Qt4ProjectManager::Qt4ProFileNode*,bool,bool))); -} - - -S60EmulatorRunConfiguration::~S60EmulatorRunConfiguration() -{ -} - -void S60EmulatorRunConfiguration::proFileUpdate(Qt4ProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress) -{ - if (m_proFilePath != pro->path()) - return; - bool enabled = isEnabled(); - m_validParse = success; - m_parseInProgress = parseInProgress; - if (enabled != isEnabled()) { - emit enabledChanged(); - } - if (parseInProgress) - emit targetInformationChanged(); -} - -Qt4SymbianTarget *S60EmulatorRunConfiguration::qt4Target() const -{ - return static_cast(target()); -} - -bool S60EmulatorRunConfiguration::isEnabled() const -{ - return m_validParse && !m_parseInProgress; -} - -QString S60EmulatorRunConfiguration::disabledReason() const -{ - if (m_parseInProgress) - return tr("The .pro file is currently being parsed."); - if (!m_validParse) - return tr("The .pro file could not be parsed."); - return QString(); -} - -QWidget *S60EmulatorRunConfiguration::createConfigurationWidget() -{ - return new S60EmulatorRunConfigurationWidget(this); -} - -Utils::OutputFormatter *S60EmulatorRunConfiguration::createOutputFormatter() const -{ - return new QtSupport::QtOutputFormatter(qt4Target()->qt4Project()); -} - -QVariantMap S60EmulatorRunConfiguration::toMap() const -{ - QVariantMap map(ProjectExplorer::RunConfiguration::toMap()); - const QDir projectDir = QDir(target()->project()->projectDirectory()); - map.insert(QLatin1String(PRO_FILE_KEY), projectDir.relativeFilePath(m_proFilePath)); - return map; -} - -bool S60EmulatorRunConfiguration::fromMap(const QVariantMap &map) -{ - const QDir projectDir = QDir(target()->project()->projectDirectory()); - m_proFilePath = QDir::cleanPath(projectDir.filePath(map.value(QLatin1String(PRO_FILE_KEY)).toString())); - - if (m_proFilePath.isEmpty()) - return false; - - m_validParse = qt4Target()->qt4Project()->validParse(m_proFilePath); - m_parseInProgress = qt4Target()->qt4Project()->parseInProgress(m_proFilePath); - - //: S60 emulator run configuration default display name, %1 is base pro-File name - setDefaultDisplayName(tr("%1 in Symbian Emulator").arg(QFileInfo(m_proFilePath).completeBaseName())); - - return RunConfiguration::fromMap(map); -} - -QString S60EmulatorRunConfiguration::executable() const -{ - if (!qt4Target()) - return QString(); - Qt4BuildConfiguration *qt4bc = qt4Target()->activeQt4BuildConfiguration(); - if (!qt4bc) - return QString(); - QtSupport::BaseQtVersion *qtVersion = qt4bc->qtVersion(); - if (!qtVersion) - return QString(); - QString baseDir = qtVersion->systemRoot(); - QString qmakeBuildConfig = QLatin1String("urel"); - if (qt4bc->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild) - qmakeBuildConfig = QLatin1String("udeb"); - baseDir += QLatin1String("/epoc32/release/winscw/") + qmakeBuildConfig; - - TargetInformation ti = qt4Target()->qt4Project()->rootQt4ProjectNode()->targetInformation(m_proFilePath); - if (!ti.valid) - return QString(); - QString executable = QDir::toNativeSeparators(QDir::cleanPath(baseDir + QLatin1Char('/') + ti.target)); - executable += QLatin1String(".exe"); - - return executable; -} - -QString S60EmulatorRunConfiguration::proFilePath() const -{ - return m_proFilePath; -} - -// ======== S60EmulatorRunConfigurationWidget - -S60EmulatorRunConfigurationWidget::S60EmulatorRunConfigurationWidget(S60EmulatorRunConfiguration *runConfiguration, - QWidget *parent) - : QWidget(parent), - m_runConfiguration(runConfiguration), - m_detailsWidget(new Utils::DetailsWidget), - m_executableLabel(new QLabel(m_runConfiguration->executable())) -{ - m_detailsWidget->setState(Utils::DetailsWidget::NoSummary); - QVBoxLayout *mainBoxLayout = new QVBoxLayout(); - mainBoxLayout->setMargin(0); - - QHBoxLayout *hl = new QHBoxLayout(); - hl->addStretch(); - m_disabledIcon = new QLabel(this); - m_disabledIcon->setPixmap(QPixmap(QLatin1String(":/projectexplorer/images/compile_warning.png"))); - hl->addWidget(m_disabledIcon); - m_disabledReason = new QLabel(this); - m_disabledReason->setVisible(false); - hl->addWidget(m_disabledReason); - hl->addStretch(); - mainBoxLayout->addLayout(hl); - - setLayout(mainBoxLayout); - mainBoxLayout->addWidget(m_detailsWidget); - QWidget *detailsContainer = new QWidget; - m_detailsWidget->setWidget(detailsContainer); - - QFormLayout *detailsFormLayout = new QFormLayout(); - detailsFormLayout->setMargin(0); - detailsContainer->setLayout(detailsFormLayout); - - detailsFormLayout->addRow(tr("Executable:"), m_executableLabel); - - connect(m_runConfiguration, SIGNAL(targetInformationChanged()), - this, SLOT(updateTargetInformation())); - - connect(m_runConfiguration, SIGNAL(enabledChanged()), - this, SLOT(runConfigurationEnabledChange())); - - runConfigurationEnabledChange(); -} - -void S60EmulatorRunConfigurationWidget::updateTargetInformation() -{ - m_executableLabel->setText(m_runConfiguration->executable()); -} - -void S60EmulatorRunConfigurationWidget::runConfigurationEnabledChange() -{ - bool enabled = m_runConfiguration->isEnabled(); - m_detailsWidget->setEnabled(enabled); - m_disabledIcon->setVisible(!enabled); - m_disabledReason->setVisible(!enabled); - m_disabledReason->setText(m_runConfiguration->disabledReason()); -} - -// ======== S60EmulatorRunConfigurationFactory - -S60EmulatorRunConfigurationFactory::S60EmulatorRunConfigurationFactory(QObject *parent) - : IRunConfigurationFactory(parent) -{ -} - -S60EmulatorRunConfigurationFactory::~S60EmulatorRunConfigurationFactory() -{ -} - -bool S60EmulatorRunConfigurationFactory::canCreate(Target *parent, const QString &id) const -{ - Qt4SymbianTarget *t = qobject_cast(parent); - if (!t || - t->id() != QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) - return false; - return t->qt4Project()->hasApplicationProFile(pathFromId(id)); -} - -RunConfiguration *S60EmulatorRunConfigurationFactory::create(Target *parent, const QString &id) -{ - if (!canCreate(parent, id)) - return 0; - Qt4SymbianTarget *t = static_cast(parent); - return new S60EmulatorRunConfiguration(t, pathFromId(id)); -} - -bool S60EmulatorRunConfigurationFactory::canRestore(Target *parent, const QVariantMap &map) const -{ - Qt4SymbianTarget *t = qobject_cast(parent); - if (!t || - t->id() != QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) - return false; - QString id(ProjectExplorer::idFromMap(map)); - return id == QLatin1String(S60_EMULATOR_RC_ID); -} - -RunConfiguration *S60EmulatorRunConfigurationFactory::restore(Target *parent, const QVariantMap &map) -{ - if (!canRestore(parent, map)) - return 0; - Qt4SymbianTarget *t = static_cast(parent); - S60EmulatorRunConfiguration *rc = new S60EmulatorRunConfiguration(t, QString()); - if (rc->fromMap(map)) - return rc; - delete rc; - return 0; -} - -bool S60EmulatorRunConfigurationFactory::canClone(Target *parent, RunConfiguration *source) const -{ - return canCreate(parent, source->id()); -} - -RunConfiguration *S60EmulatorRunConfigurationFactory::clone(Target *parent, RunConfiguration *source) -{ - if (!canClone(parent, source)) - return 0; - Qt4SymbianTarget *t = static_cast(parent); - return new S60EmulatorRunConfiguration(t, QString()); -} - -QStringList S60EmulatorRunConfigurationFactory::availableCreationIds(Target *parent) const -{ - Qt4SymbianTarget *t = qobject_cast(parent); - if (!t || - t->id() != QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) - return QStringList(); - - return t->qt4Project()->applicationProFilePathes(QLatin1String(S60_EMULATOR_RC_PREFIX)); -} - -QString S60EmulatorRunConfigurationFactory::displayNameForId(const QString &id) const -{ - if (!pathFromId(id).isEmpty()) - return tr("%1 in Symbian Emulator").arg(QFileInfo(pathFromId(id)).completeBaseName()); - return QString(); -} - -// ======== S60EmulatorRunControl - -S60EmulatorRunControl::S60EmulatorRunControl(S60EmulatorRunConfiguration *runConfiguration, RunMode mode) - : RunControl(runConfiguration, mode) -{ - // FIXME: This should be configurable! - Utils::Environment env = runConfiguration->qt4Target()->activeBuildConfiguration()->environment(); - m_applicationLauncher.setEnvironment(env); - - m_executable = runConfiguration->executable(); - connect(&m_applicationLauncher, SIGNAL(applicationError(QString)), - this, SLOT(slotError(QString))); - connect(&m_applicationLauncher, SIGNAL(appendMessage(QString,Utils::OutputFormat)), - this, SLOT(slotAppendMessage(QString,Utils::OutputFormat))); - connect(&m_applicationLauncher, SIGNAL(processExited(int)), - this, SLOT(processExited(int))); - connect(&m_applicationLauncher, SIGNAL(bringToForegroundRequested(quint64)), - this, SLOT(bringApplicationToForeground(quint64))); -} - -void S60EmulatorRunControl::start() -{ - m_applicationLauncher.start(ApplicationLauncher::Gui, m_executable, QString()); - setApplicationProcessHandle(ProcessHandle(m_applicationLauncher.applicationPID())); - emit started(); - - QString msg = tr("Starting %1...\n").arg(QDir::toNativeSeparators(m_executable)); - appendMessage(msg, Utils::NormalMessageFormat); -} - -RunControl::StopResult S60EmulatorRunControl::stop() -{ - m_applicationLauncher.stop(); - return StoppedSynchronously; -} - -bool S60EmulatorRunControl::isRunning() const -{ - return m_applicationLauncher.isRunning(); -} - -QIcon S60EmulatorRunControl::icon() const -{ - return QIcon(QLatin1String(ProjectExplorer::Constants::ICON_RUN_SMALL)); -} - -void S60EmulatorRunControl::slotError(const QString & err) -{ - appendMessage(err, Utils::ErrorMessageFormat); - emit finished(); -} - -void S60EmulatorRunControl::slotAppendMessage(const QString &line, Utils::OutputFormat format) -{ - static QString prefix = tr("[Qt Message]"); - static int prefixLength = prefix.length(); - int index = line.indexOf(prefix); - if (index != -1) - appendMessage(line.mid(index + prefixLength + 1), format); -} - -void S60EmulatorRunControl::processExited(int exitCode) -{ - QString msg = tr("%1 exited with code %2\n"); - appendMessage(msg, exitCode ? Utils::ErrorMessageFormat : Utils::NormalMessageFormat); - emit finished(); -} diff --git a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.h b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.h deleted file mode 100644 index be38f4c2381..00000000000 --- a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.h +++ /dev/null @@ -1,165 +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 S60EMULATORRUNCONFIGURATION_H -#define S60EMULATORRUNCONFIGURATION_H - -#include -#include - -#include -#include - -QT_BEGIN_NAMESPACE -class QLabel; -class QLineEdit; -QT_END_NAMESPACE - -namespace Utils { -class DetailsWidget; -} - -namespace Qt4ProjectManager { -class Qt4Project; -class Qt4BaseTarget; -class Qt4ProFileNode; - -namespace Internal { -class Qt4SymbianTarget; -class S60EmulatorRunConfigurationFactory; - -class S60EmulatorRunConfiguration : public ProjectExplorer::RunConfiguration -{ - Q_OBJECT - friend class S60EmulatorRunConfigurationFactory; - -public: - S60EmulatorRunConfiguration(Qt4ProjectManager::Qt4BaseTarget *parent, const QString &proFilePath); - virtual ~S60EmulatorRunConfiguration(); - - Qt4SymbianTarget *qt4Target() const; - - bool isEnabled() const; - QString disabledReason() const; - QWidget *createConfigurationWidget(); - - Utils::OutputFormatter *createOutputFormatter() const; - - QString executable() const; - - QVariantMap toMap() const; - - QString proFilePath() const; - -signals: - void targetInformationChanged(); - -private slots: - void proFileUpdate(Qt4ProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress); - -protected: - S60EmulatorRunConfiguration(Qt4ProjectManager::Qt4BaseTarget *parent, S60EmulatorRunConfiguration *source); - virtual bool fromMap(const QVariantMap &map); - -private: - void ctor(); - void updateTarget(); - - QString m_proFilePath; - bool m_validParse; - bool m_parseInProgress; -}; - -class S60EmulatorRunConfigurationWidget : public QWidget -{ - Q_OBJECT -public: - explicit S60EmulatorRunConfigurationWidget(S60EmulatorRunConfiguration *runConfiguration, - QWidget *parent = 0); - -private slots: - void updateTargetInformation(); - void runConfigurationEnabledChange(); - -private: - S60EmulatorRunConfiguration *m_runConfiguration; - QLabel *m_disabledIcon; - QLabel *m_disabledReason; - Utils::DetailsWidget *m_detailsWidget; - QLabel *m_executableLabel; -}; - -class S60EmulatorRunConfigurationFactory : public ProjectExplorer::IRunConfigurationFactory -{ - Q_OBJECT -public: - explicit S60EmulatorRunConfigurationFactory(QObject *parent = 0); - ~S60EmulatorRunConfigurationFactory(); - - bool canCreate(ProjectExplorer::Target *project, const QString &id) const; - ProjectExplorer::RunConfiguration *create(ProjectExplorer::Target *parent, const QString &id); - bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; - ProjectExplorer::RunConfiguration *restore(ProjectExplorer::Target *parent, const QVariantMap &map); - bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const; - ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source); - - QStringList availableCreationIds(ProjectExplorer::Target *pro) const; - // used to translate the ids to names to display to the user - QString displayNameForId(const QString &id) const; -}; - -class S60EmulatorRunControl : public ProjectExplorer::RunControl -{ - Q_OBJECT -public: - S60EmulatorRunControl(S60EmulatorRunConfiguration *runConfiguration, - ProjectExplorer::RunMode mode); - ~S60EmulatorRunControl() {} - void start(); - virtual StopResult stop(); - bool isRunning() const; - QIcon icon() const; - -private slots: - void processExited(int exitCode); - void slotAppendMessage(const QString &line, Utils::OutputFormat); - void slotError(const QString & error); - -private: - ProjectExplorer::ApplicationLauncher m_applicationLauncher; - QString m_executable; -}; - -} // namespace Internal -} // namespace Qt4ProjectManager - -#endif // S60EMULATORRUNCONFIGURATION_H diff --git a/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp b/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp index 2edb915fff2..df0651746d4 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp @@ -34,7 +34,6 @@ //#include "qtversionmanager.h" //#include "s60devicespreferencepane.h" -#include "s60emulatorrunconfiguration.h" #include "s60devicerunconfiguration.h" #include "s60createpackagestep.h" #include "s60deployconfiguration.h" @@ -49,7 +48,6 @@ #include "gccetoolchain.h" #include "rvcttoolchain.h" -#include "winscwtoolchain.h" #include "symbianqtversionfactory.h" #include @@ -116,11 +114,7 @@ S60Manager::S60Manager(QObject *parent) : QObject(parent) addAutoReleasedObject(new GcceToolChainFactory); addAutoReleasedObject(new RvctToolChainFactory); - addAutoReleasedObject(new WinscwToolChainFactory); - addAutoReleasedObject(new S60EmulatorRunConfigurationFactory); - addAutoReleasedObject(new RunControlFactory - (ProjectExplorer::NormalRunMode, tr("Run in Emulator"), parent)); addAutoReleasedObject(new S60DeviceRunConfigurationFactory); addAutoReleasedObject(new S60RunControlFactory(ProjectExplorer::NormalRunMode, tr("Run on Device"), parent)); diff --git a/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp b/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp index 7d20e8374a9..d5bfcaae440 100644 --- a/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp @@ -117,27 +117,10 @@ bool SymbianQtVersion::toolChainAvailable(const QString &id) const { if (!isValid()) return false; - if (id == QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) { -#ifndef Q_OS_WIN - return false; -#endif - if (!QFileInfo(systemRoot() + QLatin1String("/Epoc32/release/winscw/udeb/epoc.exe")).exists()) - return false; + if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) { QList tcList = ProjectExplorer::ToolChainManager::instance()->toolChains(); - foreach (ProjectExplorer::ToolChain *tc, tcList) { - if (tc->id().startsWith(QLatin1String(Constants::WINSCW_TOOLCHAIN_ID))) - return true; - } - return false; - } else if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) { - QList tcList = - ProjectExplorer::ToolChainManager::instance()->toolChains(); - foreach (ProjectExplorer::ToolChain *tc, tcList) { - if (!tc->id().startsWith(QLatin1String(Qt4ProjectManager::Constants::WINSCW_TOOLCHAIN_ID))) - return true; - } - return false; + return !tcList.isEmpty(); } return false; } @@ -179,8 +162,7 @@ bool SymbianQtVersion::supportsTargetId(const QString &id) const QSet SymbianQtVersion::supportedTargetIds() const { - return QSet() << QLatin1String(Constants::S60_DEVICE_TARGET_ID) - << QLatin1String(Constants::S60_EMULATOR_TARGET_ID); + return QSet() << QLatin1String(Constants::S60_DEVICE_TARGET_ID); } QString SymbianQtVersion::description() const diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwparser.cpp b/src/plugins/qt4projectmanager/qt-s60/winscwparser.cpp deleted file mode 100644 index 63786474eeb..00000000000 --- a/src/plugins/qt4projectmanager/qt-s60/winscwparser.cpp +++ /dev/null @@ -1,87 +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 "winscwparser.h" - -#include -#include - -using namespace Qt4ProjectManager; -using namespace ProjectExplorer; -using namespace ProjectExplorer::Constants; - -WinscwParser::WinscwParser() -{ - setObjectName(QLatin1String("WinscwParser")); - // linker problems: - m_linkerProblem.setPattern(QLatin1String("^(\\S*)\\(\\S+\\):\\s(.+)$")); - m_linkerProblem.setMinimal(true); - - // WINSCW issue: - m_compilerProblem.setPattern(QLatin1String("^([^\\(\\)]+[^\\d]):(\\d+):\\s(.+)$")); - m_compilerProblem.setMinimal(true); -} - -void WinscwParser::stdOutput(const QString &line) -{ - QString lne = line.trimmed(); - - if (m_compilerProblem.indexIn(lne) > -1) { - Task task(Task::Error, - m_compilerProblem.cap(3) /* description */, - Utils::FileName::fromUserInput(m_compilerProblem.cap(1)) /* filename */, - m_compilerProblem.cap(2).toInt() /* linenumber */, - Core::Id(TASK_CATEGORY_COMPILE)); - if (task.description.startsWith(QLatin1String("warning: "))) { - task.type = Task::Warning; - task.description = task.description.mid(9); - } - emit addTask(task); - return; - } - IOutputParser::stdOutput(line); -} - -void WinscwParser::stdError(const QString &line) -{ - QString lne = line.trimmed(); - - if (m_linkerProblem.indexIn(lne) > -1) { - emit addTask(Task(Task::Error, - m_linkerProblem.cap(2) /* description */, - Utils::FileName::fromUserInput(m_linkerProblem.cap(1)) /* filename */, - -1 /* linenumber */, - Core::Id(TASK_CATEGORY_COMPILE))); - return; - } - IOutputParser::stdError(line); -} diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwparser.h b/src/plugins/qt4projectmanager/qt-s60/winscwparser.h deleted file mode 100644 index 2340993b9f0..00000000000 --- a/src/plugins/qt4projectmanager/qt-s60/winscwparser.h +++ /dev/null @@ -1,59 +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 WINSCWPARSER_H -#define WINSCWPARSER_H - -#include - -#include - -namespace Qt4ProjectManager { - -class WinscwParser : public ProjectExplorer::IOutputParser -{ - Q_OBJECT - -public: - WinscwParser(); - - virtual void stdOutput(const QString &line); - virtual void stdError(const QString &line); - -private: - QRegExp m_compilerProblem; - QRegExp m_linkerProblem; -}; - -} // namespace Qt4ProjectManager - -#endif // WINSCWPARSER_H diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp deleted file mode 100644 index 036da9e6d00..00000000000 --- a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp +++ /dev/null @@ -1,449 +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 "winscwtoolchain.h" - -#include "qt4projectmanager/qt4projectmanagerconstants.h" - -#include "ui_winscwtoolchainconfigwidget.h" -#include "winscwparser.h" - -#include -#include -#include -#include - -#include -#include -#include - -namespace Qt4ProjectManager { -namespace Internal { - -static const char winscwCompilerPathKeyC[] = "Qt4ProjectManager.Winscw.CompilerPath"; -static const char winscwSystemIncludePathKeyC[] = "Qt4ProjectManager.Winscw.IncludePath"; -static const char winscwSystemLibraryPathKeyC[] = "Qt4ProjectManager.Winscw.LibraryPath"; - -static const char *const WINSCW_DEFAULT_SYSTEM_INCLUDES[] = { - "/MSL/MSL_C/MSL_Common/Include", - "/MSL/MSL_C/MSL_Win32/Include", - "/MSL/MSL_CMSL_X86", - "/MSL/MSL_C++/MSL_Common/Include", - "/MSL/MSL_Extras/MSL_Common/Include", - "/MSL/MSL_Extras/MSL_Win32/Include", - "/Win32-x86 Support/Headers/Win32 SDK", - 0 -}; - -static const char *const WINSCW_DEFAULT_SYSTEM_LIBRARIES[] = { - "/Win32-x86 Support/Libraries/Win32 SDK", - "/Runtime/Runtime_x86/Runtime_Win32/Libs", - 0 -}; - -static Utils::FileName winscwRoot(const Utils::FileName &pathIn) -{ - Utils::FileName path = pathIn; - if (path.isEmpty()) - return Utils::FileName(); - - path = path.parentDir(); - path = path.parentDir(); - path = path.parentDir(); - path.appendPath(QLatin1String("Symbian_Support")); - return path; -} - -static QString toNativePath(const QStringList &list) -{ - return QDir::toNativeSeparators(list.join(QString(QLatin1Char(';')))); -} - -static QStringList fromNativePath(const QString &list) -{ - return QDir::fromNativeSeparators(list).split(QLatin1Char(';')); -} - -static QStringList detectIncludesFor(const Utils::FileName &path) -{ - Utils::FileName root = winscwRoot(path); - QStringList result; - for (int i = 0; WINSCW_DEFAULT_SYSTEM_INCLUDES[i] != 0; ++i) { - QDir dir(root.toString() + QLatin1String(WINSCW_DEFAULT_SYSTEM_INCLUDES[i])); - if (dir.exists()) - result.append(dir.absolutePath()); - } - return result; -} - -static QStringList detectLibrariesFor(const Utils::FileName &path) -{ - Utils::FileName root = winscwRoot(path); - QStringList result; - for (int i = 0; WINSCW_DEFAULT_SYSTEM_LIBRARIES[i] != 0; ++i) { - QDir dir(root.toString() + QLatin1String(WINSCW_DEFAULT_SYSTEM_LIBRARIES[i])); - if (dir.exists()) - result.append(dir.absolutePath()); - } - return result; -} - -// -------------------------------------------------------------------------- -// WinscwToolChain -// -------------------------------------------------------------------------- - -WinscwToolChain::WinscwToolChain(bool autodetected) : - ProjectExplorer::ToolChain(QLatin1String(Constants::WINSCW_TOOLCHAIN_ID), autodetected) -{ } - -WinscwToolChain::WinscwToolChain(const WinscwToolChain &tc) : - ProjectExplorer::ToolChain(tc), - m_systemIncludePathes(tc.m_systemIncludePathes), - m_systemLibraryPathes(tc.m_systemLibraryPathes), - m_compilerPath(tc.m_compilerPath) -{ } - -WinscwToolChain::~WinscwToolChain() -{ } - -QString WinscwToolChain::type() const -{ - return QLatin1String("winscw"); -} - -QString WinscwToolChain::typeDisplayName() const -{ - return WinscwToolChainFactory::tr("WINSCW"); -} - -ProjectExplorer::Abi WinscwToolChain::targetAbi() const -{ - return ProjectExplorer::Abi(ProjectExplorer::Abi::ArmArchitecture, ProjectExplorer::Abi::SymbianOS, - ProjectExplorer::Abi::SymbianEmulatorFlavor, - ProjectExplorer::Abi::ElfFormat, 32); -} - -QString WinscwToolChain::legacyId() const -{ - return QLatin1String(Constants::WINSCW_TOOLCHAIN_ID) + QLatin1Char(':') + m_compilerPath.toString(); -} - -bool WinscwToolChain::isValid() const -{ - if (m_compilerPath.isEmpty()) - return false; - - QFileInfo fi(m_compilerPath.toFileInfo()); - return fi.exists() && fi.isExecutable(); -} - -QByteArray WinscwToolChain::predefinedMacros(const QStringList &cxxflags) const -{ - Q_UNUSED(cxxflags); - return QByteArray("#define __SYMBIAN32__\n"); -} - -ProjectExplorer::ToolChain::CompilerFlags WinscwToolChain::compilerFlags(const QStringList &cxxflags) const -{ - Q_UNUSED(cxxflags); - return NO_FLAGS; -} - -QList WinscwToolChain::systemHeaderPaths() const -{ - QList result; - foreach (const QString &value, m_systemIncludePathes) - result.append(ProjectExplorer::HeaderPath(value, ProjectExplorer::HeaderPath::GlobalHeaderPath)); - return result; -} - -void WinscwToolChain::addToEnvironment(Utils::Environment &env) const -{ - if (!isValid()) - return; - - env.set(QLatin1String("MWCSYM2INCLUDES"), toNativePath(m_systemIncludePathes)); - env.set(QLatin1String("MWSYM2LIBRARIES"), toNativePath(m_systemLibraryPathes)); - env.set(QLatin1String("MWSYM2LIBRARYFILES"), - QLatin1String("MSL_All_MSE_Symbian_D.lib;gdi32.lib;user32.lib;kernel32.lib")); - env.prependOrSetPath(m_compilerPath.toString()); -} - -QString WinscwToolChain::makeCommand() const -{ -#if defined Q_OS_WIN - return QLatin1String("make.exe"); -#else - return QLatin1String("make"); -#endif -} - -Utils::FileName WinscwToolChain::debuggerCommand() const -{ - return Utils::FileName(); -} - -QString WinscwToolChain::defaultMakeTarget() const -{ - return QLatin1String("winscw"); -} - -ProjectExplorer::IOutputParser *WinscwToolChain::outputParser() const -{ - return new WinscwParser; -} - -bool WinscwToolChain::operator ==(const ProjectExplorer::ToolChain &tc) const -{ - if (!ToolChain::operator ==(tc)) - return false; - - const WinscwToolChain *tcPtr = dynamic_cast(&tc); - Q_ASSERT(tcPtr); - return m_compilerPath == tcPtr->m_compilerPath - && m_systemIncludePathes == tcPtr->m_systemIncludePathes - && m_systemLibraryPathes == tcPtr->m_systemLibraryPathes; -} - -ProjectExplorer::ToolChainConfigWidget *WinscwToolChain::configurationWidget() -{ - return new WinscwToolChainConfigWidget(this); -} - -ProjectExplorer::ToolChain *WinscwToolChain::clone() const -{ - return new WinscwToolChain(*this); -} - -QVariantMap WinscwToolChain::toMap() const -{ - QVariantMap result = ToolChain::toMap(); - result.insert(QLatin1String(winscwCompilerPathKeyC), m_compilerPath.toString()); - const QString semicolon = QString(QLatin1Char(';')); - result.insert(QLatin1String(winscwSystemIncludePathKeyC), m_systemIncludePathes.join(semicolon)); - result.insert(QLatin1String(winscwSystemLibraryPathKeyC), m_systemLibraryPathes.join(semicolon)); - return result; -} - -bool WinscwToolChain::fromMap(const QVariantMap &data) -{ - if (!ToolChain::fromMap(data)) - return false; - m_compilerPath = Utils::FileName::fromString(data.value(QLatin1String(winscwCompilerPathKeyC)).toString()); - const QChar semicolon = QLatin1Char(';'); - m_systemIncludePathes = data.value(QLatin1String(winscwSystemIncludePathKeyC)).toString().split(semicolon); - m_systemLibraryPathes = data.value(QLatin1String(winscwSystemLibraryPathKeyC)).toString().split(semicolon); - return isValid(); -} - -void WinscwToolChain::setSystemIncludePathes(const QStringList &pathes) -{ - if (m_systemIncludePathes == pathes) - return; - m_systemIncludePathes = pathes; - toolChainUpdated(); -} - -QStringList WinscwToolChain::systemIncludePathes() const -{ - return m_systemIncludePathes; -} - -void WinscwToolChain::setSystemLibraryPathes(const QStringList &pathes) -{ - if (m_systemLibraryPathes == pathes) - return; - m_systemLibraryPathes = pathes; - toolChainUpdated(); -} - -QStringList WinscwToolChain::systemLibraryPathes() const -{ - return m_systemLibraryPathes; -} - -void WinscwToolChain::setCompilerCommand(const Utils::FileName &path) -{ - if (m_compilerPath == path) - return; - - m_compilerPath = path; - toolChainUpdated(); -} - -Utils::FileName WinscwToolChain::compilerCommand() const -{ - return m_compilerPath; -} - -// -------------------------------------------------------------------------- -// ToolChainConfigWidget -// -------------------------------------------------------------------------- - -WinscwToolChainConfigWidget::WinscwToolChainConfigWidget(WinscwToolChain *tc) : - ProjectExplorer::ToolChainConfigWidget(tc), - m_ui(new Ui::WinscwToolChainConfigWidget) -{ - m_ui->setupUi(this); - - m_ui->compilerPath->setExpectedKind(Utils::PathChooser::ExistingCommand); - connect(m_ui->compilerPath, SIGNAL(changed(QString)), - this, SLOT(handleCompilerPathUpdate())); - connect(m_ui->includeEdit, SIGNAL(textChanged(QString)), this, SLOT(makeDirty())); - connect(m_ui->libraryEdit, SIGNAL(textChanged(QString)), this, SLOT(makeDirty())); - - discard(); -} - -WinscwToolChainConfigWidget::~WinscwToolChainConfigWidget() -{ - delete m_ui; -} - -void WinscwToolChainConfigWidget::apply() -{ - WinscwToolChain *tc = static_cast(toolChain()); - Q_ASSERT(tc); - tc->setCompilerCommand(m_ui->compilerPath->fileName()); - tc->setSystemIncludePathes(fromNativePath(m_ui->includeEdit->text())); - tc->setSystemLibraryPathes(fromNativePath(m_ui->libraryEdit->text())); -} - -void WinscwToolChainConfigWidget::discard() -{ - WinscwToolChain *tc = static_cast(toolChain()); - Q_ASSERT(tc); - m_ui->compilerPath->setFileName(tc->compilerCommand()); - m_ui->includeEdit->setText(toNativePath(tc->systemIncludePathes())); - m_ui->libraryEdit->setText(toNativePath(tc->systemLibraryPathes())); -} - -bool WinscwToolChainConfigWidget::isDirty() const -{ - WinscwToolChain *tc = static_cast(toolChain()); - Q_ASSERT(tc); - return tc->compilerCommand() != m_ui->compilerPath->fileName() - || tc->systemIncludePathes() != fromNativePath(m_ui->includeEdit->text()) - || tc->systemLibraryPathes() != fromNativePath(m_ui->libraryEdit->text()); -} - -void WinscwToolChainConfigWidget::handleCompilerPathUpdate() -{ - Utils::FileName path = m_ui->compilerPath->fileName(); - if (path.isEmpty()) - return; - if (!path.toFileInfo().exists()) - return; - m_ui->includeEdit->setText(toNativePath(detectIncludesFor(path))); - m_ui->libraryEdit->setText(toNativePath(detectLibrariesFor(path))); -} - -void WinscwToolChainConfigWidget::makeDirty() -{ - emit dirty(); -} - -// -------------------------------------------------------------------------- -// ToolChainFactory -// -------------------------------------------------------------------------- - -WinscwToolChainFactory::WinscwToolChainFactory() : - ProjectExplorer::ToolChainFactory() -{ } - -QString WinscwToolChainFactory::displayName() const -{ - return tr("WINSCW"); -} - -QString WinscwToolChainFactory::id() const -{ - return QLatin1String(Constants::WINSCW_TOOLCHAIN_ID); -} - -QList WinscwToolChainFactory::autoDetect() -{ - QList result; - - // Compatibility to pre-2.2: - while (true) { - const QString path = QtSupport::QtVersionManager::instance()->popPendingMwcUpdate(); - if (path.isNull()) - break; - - QFileInfo fi(path + QLatin1String("/x86Build/Symbian_Tools/Command_Line_Tools/mwwinrc.exe")); - if (fi.exists() && fi.isExecutable()) { - WinscwToolChain *tc = new WinscwToolChain(false); - tc->setCompilerCommand(Utils::FileName(fi)); - tc->setDisplayName(tr("WINSCW from Qt version")); - result.append(tc); - } - } - - Utils::FileName cc = Utils::FileName::fromString(Utils::Environment::systemEnvironment().searchInPath(QLatin1String("mwwinrc"))); - if (!cc.isEmpty()) { - WinscwToolChain *tc = new WinscwToolChain(true); - tc->setCompilerCommand(cc); - tc->setSystemIncludePathes(detectIncludesFor(cc)); - tc->setSystemLibraryPathes(detectLibrariesFor(cc)); - result.append(tc); - } - return result; -} - -bool WinscwToolChainFactory::canCreate() -{ - return true; -} - -ProjectExplorer::ToolChain *WinscwToolChainFactory::create() -{ - return new WinscwToolChain(false); -} - -bool WinscwToolChainFactory::canRestore(const QVariantMap &data) -{ - return idFromMap(data).startsWith(QLatin1String(Constants::WINSCW_TOOLCHAIN_ID)); -} - -ProjectExplorer::ToolChain *WinscwToolChainFactory::restore(const QVariantMap &data) -{ - WinscwToolChain *tc = new WinscwToolChain(false); - if (tc->fromMap(data)) - return tc; - - delete tc; - return 0; -} - -} // namespace Internal -} // namespace Qt4ProjectManager diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h deleted file mode 100644 index 070eeed0ede..00000000000 --- a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h +++ /dev/null @@ -1,149 +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 WINSCWTOOLCHAIN_H -#define WINSCWTOOLCHAIN_H - -#include -#include - -namespace Qt4ProjectManager { -namespace Internal { -namespace Ui { -class WinscwToolChainConfigWidget; -} // namespace Ui - -// -------------------------------------------------------------------------- -// WinscwToolChain -// -------------------------------------------------------------------------- - -class WinscwToolChain : public ProjectExplorer::ToolChain -{ -public: - WinscwToolChain(const WinscwToolChain &); - ~WinscwToolChain(); - - QString type() const; - QString typeDisplayName() const; - ProjectExplorer::Abi targetAbi() const; - QString legacyId() const; - - bool isValid() const; - - QByteArray predefinedMacros(const QStringList &list) const; - ProjectExplorer::ToolChain::CompilerFlags compilerFlags(const QStringList &cxxflags) const; - QList systemHeaderPaths() const; - void addToEnvironment(Utils::Environment &env) const; - QString makeCommand() const; - Utils::FileName compilerCommand() const; - Utils::FileName debuggerCommand() const; - QString defaultMakeTarget() const; - ProjectExplorer::IOutputParser *outputParser() const; - - bool operator ==(const ProjectExplorer::ToolChain &) const; - - ProjectExplorer::ToolChainConfigWidget *configurationWidget(); - ProjectExplorer::ToolChain *clone() const; - - QVariantMap toMap() const; - bool fromMap(const QVariantMap &data); - - void setSystemIncludePathes(const QStringList &); - QStringList systemIncludePathes() const; - - void setSystemLibraryPathes(const QStringList &); - QStringList systemLibraryPathes() const; - - void setCompilerCommand(const Utils::FileName &); - -private: - explicit WinscwToolChain(bool); - - QStringList m_systemIncludePathes; - QStringList m_systemLibraryPathes; - Utils::FileName m_compilerPath; - - friend class WinscwToolChainFactory; -}; - -// -------------------------------------------------------------------------- -// WinscwToolChainConfigWidget -// -------------------------------------------------------------------------- - -class WinscwToolChainConfigWidget : public ProjectExplorer::ToolChainConfigWidget -{ - Q_OBJECT - -public: - WinscwToolChainConfigWidget(WinscwToolChain *); - ~WinscwToolChainConfigWidget(); - - void apply(); - void discard(); - bool isDirty() const; - -private slots: - void handleCompilerPathUpdate(); - void makeDirty(); - -private: - Ui::WinscwToolChainConfigWidget *m_ui; -}; - -// -------------------------------------------------------------------------- -// WinscwToolChainFactory -// -------------------------------------------------------------------------- - -class WinscwToolChainFactory : public ProjectExplorer::ToolChainFactory -{ - Q_OBJECT - -public: - WinscwToolChainFactory(); - - QString displayName() const; - QString id() const; - - QList autoDetect(); - - bool canCreate(); - ProjectExplorer::ToolChain *create(); - - // Used by the ToolChainManager to restore user-generated tool chains - bool canRestore(const QVariantMap &data); - ProjectExplorer::ToolChain *restore(const QVariantMap &data); -}; - -} // namespace Internal -} // namespace Qt4ProjectManager - -#endif // WINSCWTOOLCHAIN_H diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchainconfigwidget.ui b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchainconfigwidget.ui deleted file mode 100644 index cee83846120..00000000000 --- a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchainconfigwidget.ui +++ /dev/null @@ -1,58 +0,0 @@ - - - Qt4ProjectManager::Internal::WinscwToolChainConfigWidget - - - - 0 - 0 - 428 - 95 - - - - Dialog - - - - - - Compiler path: - - - - - - - - - - System include path: - - - - - - - - - - System library path: - - - - - - - - - - - Utils::PathChooser - QLineEdit -
utils/pathchooser.h
-
-
- - -
diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp index b7cd3e3b342..4951dd14e63 100644 --- a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp @@ -762,18 +762,16 @@ BuildConfiguration *Qt4BuildConfigurationFactory::create(ProjectExplorer::Target (version->defaultBuildConfig() | QtSupport::BaseQtVersion::DebugBuild), QString(), QString(), false); - if (qt4Target->id() != QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) { - //: Release build configuration. We recommend not translating it. - QString defaultReleaseName = tr("%1 Release").arg(version->displayName()); - QString customReleaseName; - if (buildConfigurationName != version->displayName()) - customReleaseName = tr("%1 Release").arg(buildConfigurationName); + //: Release build configuration. We recommend not translating it. + QString defaultReleaseName = tr("%1 Release").arg(version->displayName()); + QString customReleaseName; + if (buildConfigurationName != version->displayName()) + customReleaseName = tr("%1 Release").arg(buildConfigurationName); - bc = qt4Target->addQt4BuildConfiguration(defaultReleaseName, customReleaseName, - version, - (version->defaultBuildConfig() & ~QtSupport::BaseQtVersion::DebugBuild), - QString(), QString(), false); - } + bc = qt4Target->addQt4BuildConfiguration(defaultReleaseName, customReleaseName, + version, + (version->defaultBuildConfig() & ~QtSupport::BaseQtVersion::DebugBuild), + QString(), QString(), false); return bc; } diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.qbs b/src/plugins/qt4projectmanager/qt4projectmanager.qbs index 8b26dd0e307..a3735593fca 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager.qbs +++ b/src/plugins/qt4projectmanager/qt4projectmanager.qbs @@ -147,7 +147,6 @@ QtcPlugin { "qt-desktop/simulatorqtversionfactory.cpp", "qt-desktop/simulatorqtversionfactory.h", "qt-s60/rvcttoolchainconfigwidget.ui", - "qt-s60/winscwtoolchainconfigwidget.ui", "qt-s60/abldparser.cpp", "qt-s60/abldparser.h", "qt-s60/certificatepathchooser.cpp", @@ -206,18 +205,12 @@ QtcPlugin { "qt-s60/symbianqtversion.h", "qt-s60/symbianqtversionfactory.cpp", "qt-s60/symbianqtversionfactory.h", - "qt-s60/winscwparser.cpp", - "qt-s60/winscwparser.h", - "qt-s60/winscwtoolchain.cpp", - "qt-s60/winscwtoolchain.h", "qt-s60/codaruncontrol.cpp", "qt-s60/codaruncontrol.h", "qt-s60/s60deploystep.cpp", "qt-s60/s60deploystep.h", "qt-s60/s60devicedebugruncontrol.cpp", "qt-s60/s60devicedebugruncontrol.h", - "qt-s60/s60emulatorrunconfiguration.cpp", - "qt-s60/s60emulatorrunconfiguration.h", "qt-s60/s60manager.cpp", "qt-s60/s60runcontrolbase.cpp", "qt-s60/s60runcontrolbase.h", diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerconstants.h b/src/plugins/qt4projectmanager/qt4projectmanagerconstants.h index 1dab4876717..8ce436ce5b4 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanagerconstants.h +++ b/src/plugins/qt4projectmanager/qt4projectmanagerconstants.h @@ -76,7 +76,6 @@ const char QT4PROJECT_ID[] = "Qt4ProjectManager.Qt4Project"; // Targets const char DESKTOP_TARGET_ID[] = "Qt4ProjectManager.Target.DesktopTarget"; -const char S60_EMULATOR_TARGET_ID[] = "Qt4ProjectManager.Target.S60EmulatorTarget"; const char S60_DEVICE_TARGET_ID[] = "Qt4ProjectManager.Target.S60DeviceTarget"; const char MAEMO5_DEVICE_TARGET_ID[] = "Qt4ProjectManager.Target.MaemoDeviceTarget"; const char HARMATTAN_DEVICE_TARGET_ID[] = "Qt4ProjectManager.Target.HarmattanDeviceTarget"; @@ -92,7 +91,6 @@ const char SHADOWBUILD_TARGETFEATURE_ID[] = "Qt4ProjectManager.TargetFeature.Sha const char GCCE_TOOLCHAIN_ID[] = "Qt4ProjectManager.ToolChain.GCCE"; const char MAEMO_TOOLCHAIN_ID[] = "Qt4ProjectManager.ToolChain.Maemo"; const char RVCT_TOOLCHAIN_ID[] = "Qt4ProjectManager.ToolChain.RVCT"; -const char WINSCW_TOOLCHAIN_ID[] = "Qt4ProjectManager.ToolChain.WINSCW"; // ICONS const char ICON_QT_PROJECT[] = ":/qt4projectmanager/images/qt_project.png"; diff --git a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp index 1cfb9647390..ed5a18905a8 100644 --- a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp @@ -204,8 +204,7 @@ Utils::WizardProgressItem *AbstractMobileAppWizardDialog::itemOfNextGenericPage( bool AbstractMobileAppWizardDialog::isSymbianTargetSelected() const { - return m_targetsPage->isTargetSelected(QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) - || m_targetsPage->isTargetSelected(QLatin1String(Constants::S60_DEVICE_TARGET_ID)); + return m_targetsPage->isTargetSelected(QLatin1String(Constants::S60_DEVICE_TARGET_ID)); } bool AbstractMobileAppWizardDialog::isFremantleTargetSelected() const diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp index 6a72bfe67c9..65d32e1843b 100644 --- a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp @@ -120,8 +120,7 @@ GuiAppParameters GuiAppWizardDialog::parameters() const || isTargetSelected(QLatin1String(Constants::MEEGO_DEVICE_TARGET_ID))) { rc.widgetWidth = 800; rc.widgetHeight = 480; - } else if (isTargetSelected(QLatin1String(Constants::S60_DEVICE_TARGET_ID)) || - isTargetSelected(QLatin1String(Constants::S60_EMULATOR_TARGET_ID))) { + } else if (isTargetSelected(QLatin1String(Constants::S60_DEVICE_TARGET_ID))) { rc.widgetWidth = 360; rc.widgetHeight = 640; } else { diff --git a/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp index 9dc08805f20..b973bfb8a3d 100644 --- a/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp @@ -235,8 +235,7 @@ int LibraryWizardDialog::nextId() const int next = m_modulesPageId; - const bool symbianTargetEnabled = isTargetSelected(QLatin1String(Constants::S60_DEVICE_TARGET_ID)) - || isTargetSelected(QLatin1String(Constants::S60_EMULATOR_TARGET_ID)); + const bool symbianTargetEnabled = isTargetSelected(QLatin1String(Constants::S60_DEVICE_TARGET_ID)); // If there was no Symbian target defined we omit "Symbian specific" step // We also omit this step if the library type is not dll