diff options
Diffstat (limited to 'src/plugins')
465 files changed, 3562 insertions, 2803 deletions
diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index ad76118014..543c66ab26 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -223,43 +223,57 @@ void AndroidConfigurations::setConfig(const AndroidConfig &devConfigs) detectToolchainHost(); save(); - updateAvailablePlatforms(); + updateAvailableNdkPlatforms(); + updateAvailableSdkPlatforms(); updateAutomaticKitList(); updateAndroidDevice(); emit updated(); } -void AndroidConfigurations::updateAvailablePlatforms() +void AndroidConfigurations::updateAvailableNdkPlatforms() { - m_availablePlatforms.clear(); + m_availableNdkPlatforms.clear(); FileName path = m_config.ndkLocation; QDirIterator it(path.appendPath(QLatin1String("platforms")).toString(), QStringList() << QLatin1String("android-*"), QDir::Dirs); while (it.hasNext()) { const QString &fileName = it.next(); - m_availablePlatforms.push_back(fileName.mid(fileName.lastIndexOf(QLatin1Char('-')) + 1).toInt()); + m_availableNdkPlatforms.push_back(fileName.mid(fileName.lastIndexOf(QLatin1Char('-')) + 1).toInt()); } - qSort(m_availablePlatforms.begin(), m_availablePlatforms.end(), qGreater<int>()); + qSort(m_availableNdkPlatforms.begin(), m_availableNdkPlatforms.end(), qGreater<int>()); } -QStringList AndroidConfigurations::sdkTargets(int minApiLevel) const +void AndroidConfigurations::updateAvailableSdkPlatforms() { - QStringList targets; + m_availableSdkPlatforms.clear(); + QProcess proc; proc.start(androidToolPath().toString(), QStringList() << QLatin1String("list") << QLatin1String("target")); // list avaialbe AVDs if (!proc.waitForFinished(-1)) { proc.terminate(); - return targets; + return; } while (proc.canReadLine()) { const QString line = QString::fromLocal8Bit(proc.readLine().trimmed()); int index = line.indexOf(QLatin1String("\"android-")); if (index == -1) continue; - QString apiLevel = line.mid(index + 1, line.length() - index - 2); - if (apiLevel.mid(apiLevel.lastIndexOf(QLatin1Char('-')) + 1).toInt() >= minApiLevel) - targets.push_back(apiLevel); + QString androidTarget = line.mid(index + 1, line.length() - index - 2); + int apiLevel = androidTarget.mid(androidTarget.lastIndexOf(QLatin1Char('-')) + 1).toInt(); + QVector<int>::iterator it = qLowerBound(m_availableSdkPlatforms.begin(), m_availableSdkPlatforms.end(), apiLevel, qGreater<int>()); + m_availableSdkPlatforms.insert(it, apiLevel); } - return targets; +} + +QStringList AndroidConfigurations::sdkTargets(int minApiLevel) const +{ + QStringList result; + for (int i = 0; i < m_availableSdkPlatforms.size(); ++i) { + if (m_availableSdkPlatforms.at(i) >= minApiLevel) + result << QLatin1String("android-") + QString::number(m_availableSdkPlatforms.at(i)); + else + break; + } + return result; } FileName AndroidConfigurations::adbToolPath() const @@ -470,6 +484,8 @@ QString AndroidConfigurations::createAVD(int minApiLevel, QString targetArch) co QDialog d; Ui::AddNewAVDDialog avdDialog; avdDialog.setupUi(&d); + // NOTE: adb list targets does actually include information on which abis are supported per apilevel + // we aren't using that information here avdDialog.targetComboBox->addItems(sdkTargets(minApiLevel)); if (targetArch.isEmpty()) @@ -735,17 +751,17 @@ QStringList AndroidConfigurations::getAbis(const QString &device) const return result; } -QString AndroidConfigurations::highestAvailableAndroidPlatform() const +QString AndroidConfigurations::highestAndroidSdk() const { - if (m_availablePlatforms.isEmpty()) + if (m_availableSdkPlatforms.isEmpty()) return QString(); - return QLatin1String("android-") + QString::number(m_availablePlatforms.first()); + return QLatin1String("android-") + QString::number(m_availableSdkPlatforms.first()); } -QString AndroidConfigurations::bestMatch(const QString &targetAPI) const +QString AndroidConfigurations::bestNdkPlatformMatch(const QString &targetAPI) const { int target = targetAPI.mid(targetAPI.lastIndexOf(QLatin1Char('-')) + 1).toInt(); - foreach (int apiLevel, m_availablePlatforms) { + foreach (int apiLevel, m_availableNdkPlatforms) { if (apiLevel <= target) return QString::fromLatin1("android-%1").arg(apiLevel); } @@ -901,7 +917,8 @@ AndroidConfigurations::AndroidConfigurations(QObject *parent) : QObject(parent) { load(); - updateAvailablePlatforms(); + updateAvailableNdkPlatforms(); + updateAvailableSdkPlatforms(); connect(ProjectExplorer::SessionManager::instance(), SIGNAL(projectRemoved(ProjectExplorer::Project*)), this, SLOT(clearDefaultDevices(ProjectExplorer::Project*))); diff --git a/src/plugins/android/androidconfigurations.h b/src/plugins/android/androidconfigurations.h index a8d044a205..64d7e08068 100644 --- a/src/plugins/android/androidconfigurations.h +++ b/src/plugins/android/androidconfigurations.h @@ -107,7 +107,7 @@ public: QString startAVD(const QString &name, int apiLevel, QString cpuAbi) const; bool startAVDAsync(const QString &avdName) const; QString waitForAvd(int apiLevel, const QString &cpuAbi) const; - QString bestMatch(const QString &targetAPI) const; + QString bestNdkPlatformMatch(const QString &targetAPI) const; QStringList makeExtraSearchDirectories() const; @@ -124,7 +124,7 @@ public: AndroidDeviceInfo showDeviceDialog(ProjectExplorer::Project *project, int apiLevel, const QString &abi); void setDefaultDevice(ProjectExplorer::Project *project, const QString &abi, const QString &serialNumber); // serial number or avd name QString defaultDevice(ProjectExplorer::Project *project, const QString &abi) const; // serial number or avd name - QString highestAvailableAndroidPlatform() const; + QString highestAndroidSdk() const; public slots: void clearDefaultDevices(ProjectExplorer::Project *project); @@ -145,12 +145,15 @@ private: int getSDKVersion(const QString &device) const; QStringList getAbis(const QString &device) const; - void updateAvailablePlatforms(); + void updateAvailableNdkPlatforms(); + void updateAvailableSdkPlatforms(); static AndroidConfigurations *m_instance; AndroidConfig m_config; - QVector<int> m_availablePlatforms; + QVector<int> m_availableNdkPlatforms; + QVector<int> m_availableSdkPlatforms; + mutable QHash<QString, QString> m_serialNumberToDeviceName; QMap<ProjectExplorer::Project *, QMap<QString, QString> > m_defaultDeviceForAbi; diff --git a/src/plugins/android/androiddebugsupport.cpp b/src/plugins/android/androiddebugsupport.cpp index 6b480f6fd1..f623b7e1b6 100644 --- a/src/plugins/android/androiddebugsupport.cpp +++ b/src/plugins/android/androiddebugsupport.cpp @@ -43,9 +43,9 @@ #include <projectexplorer/target.h> #include <projectexplorer/toolchain.h> -#include <qt4projectmanager/qt4buildconfiguration.h> -#include <qt4projectmanager/qt4nodes.h> -#include <qt4projectmanager/qt4project.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> +#include <qt4projectmanager/qmakenodes.h> +#include <qt4projectmanager/qmakeproject.h> #include <qtsupport/qtkitinformation.h> #include <QDir> @@ -53,7 +53,7 @@ using namespace Debugger; using namespace ProjectExplorer; -using namespace Qt4ProjectManager; +using namespace QmakeProjectManager; namespace Android { namespace Internal { diff --git a/src/plugins/android/androiddeployconfiguration.cpp b/src/plugins/android/androiddeployconfiguration.cpp index ab1227d9c2..1dfac6e0d8 100644 --- a/src/plugins/android/androiddeployconfiguration.cpp +++ b/src/plugins/android/androiddeployconfiguration.cpp @@ -39,7 +39,7 @@ #include <projectexplorer/target.h> #include <projectexplorer/toolchain.h> -#include <qt4projectmanager/qt4project.h> +#include <qt4projectmanager/qmakeproject.h> #include <qtsupport/qtkitinformation.h> #include <qtsupport/qtsupportconstants.h> @@ -124,7 +124,7 @@ DeployConfiguration *AndroidDeployConfigurationFactory::clone(Target *parent, De QList<Core::Id> AndroidDeployConfigurationFactory::availableCreationIds(Target *parent) const { QList<Core::Id> ids; - if (!qobject_cast<Qt4ProjectManager::Qt4Project *>(parent->project())) + if (!qobject_cast<QmakeProjectManager::Qt4Project *>(parent->project())) return ids; if (!parent->project()->supportsKit(parent->kit())) diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp index 56ca22ec9f..349af21734 100644 --- a/src/plugins/android/androiddeployqtstep.cpp +++ b/src/plugins/android/androiddeployqtstep.cpp @@ -45,9 +45,9 @@ #include <projectexplorer/target.h> #include <projectexplorer/project.h> #include <qtsupport/qtkitinformation.h> -#include <qt4projectmanager/qt4buildconfiguration.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4nodes.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakenodes.h> #include <QInputDialog> #include <QMessageBox> @@ -158,7 +158,7 @@ void AndroidDeployQtStep::ctor() m_verbose = false; // will be overwriten by settings if the user choose something different - m_buildTargetSdk = AndroidConfigurations::instance().highestAvailableAndroidPlatform(); + m_buildTargetSdk = AndroidConfigurations::instance().highestAndroidSdk(); connect(project(), SIGNAL(proFilesEvaluated()), this, SLOT(updateInputFile())); @@ -167,7 +167,7 @@ void AndroidDeployQtStep::ctor() bool AndroidDeployQtStep::init() { if (AndroidManager::checkForQt51Files(project()->projectDirectory())) - emit addOutput(tr("Found old Android folder in source directory. Qt 5.2 does not use that folder by default."), ErrorOutput); + emit addOutput(tr("Found old folder \"android\" in source directory. Qt 5.2 does not use that folder by default."), ErrorOutput); m_targetArch = AndroidManager::targetArch(target()); if (m_targetArch.isEmpty()) { @@ -188,8 +188,8 @@ bool AndroidDeployQtStep::init() m_serialNumber = info.serialNumber; } - Qt4ProjectManager::Qt4BuildConfiguration *bc - = static_cast<Qt4ProjectManager::Qt4BuildConfiguration *>(target()->activeBuildConfiguration()); + QmakeProjectManager::Qt4BuildConfiguration *bc + = static_cast<QmakeProjectManager::Qt4BuildConfiguration *>(target()->activeBuildConfiguration()); if (m_signPackage) { // check keystore and certificate passwords @@ -344,12 +344,12 @@ void AndroidDeployQtStep::runCommand(const QString &program, const QStringList & void AndroidDeployQtStep::updateInputFile() { - Qt4ProjectManager::Qt4Project *pro = static_cast<Qt4ProjectManager::Qt4Project *>(project()); - QList<Qt4ProjectManager::Qt4ProFileNode *> nodes = pro->applicationProFiles(); + QmakeProjectManager::Qt4Project *pro = static_cast<QmakeProjectManager::Qt4Project *>(project()); + QList<QmakeProjectManager::Qt4ProFileNode *> nodes = pro->applicationProFiles(); QStringList inputFiles; - foreach (Qt4ProjectManager::Qt4ProFileNode *node, nodes) - inputFiles << node->singleVariableValue(Qt4ProjectManager::AndroidDeploySettingsFile); + foreach (QmakeProjectManager::Qt4ProFileNode *node, nodes) + inputFiles << node->singleVariableValue(QmakeProjectManager::AndroidDeploySettingsFile); if (!inputFiles.contains(m_inputFile)) m_inputFile.clear(); diff --git a/src/plugins/android/androiddeployqtwidget.cpp b/src/plugins/android/androiddeployqtwidget.cpp index 8a46ebce5e..d7c4c3885b 100644 --- a/src/plugins/android/androiddeployqtwidget.cpp +++ b/src/plugins/android/androiddeployqtwidget.cpp @@ -38,9 +38,9 @@ #include "androidextralibrarylistmodel.h" #include <projectexplorer/target.h> -#include <qt4projectmanager/qt4buildconfiguration.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4nodes.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakenodes.h> #include <QFileDialog> @@ -135,7 +135,7 @@ AndroidDeployQtWidget::AndroidDeployQtWidget(AndroidDeployQtStep *step) connect(m_ui->createAndroidManifestButton, SIGNAL(clicked()), this, SLOT(createManifestButton())); - m_extraLibraryListModel = new AndroidExtraLibraryListModel(static_cast<Qt4ProjectManager::Qt4Project *>(m_step->project()), + m_extraLibraryListModel = new AndroidExtraLibraryListModel(static_cast<QmakeProjectManager::Qt4Project *>(m_step->project()), this); m_ui->androidExtraLibsListView->setModel(m_extraLibraryListModel); @@ -156,8 +156,8 @@ AndroidDeployQtWidget::~AndroidDeployQtWidget() void AndroidDeployQtWidget::checkProjectTemplate() { - Qt4ProjectManager::Qt4Project *project = static_cast<Qt4ProjectManager::Qt4Project *>(m_step->project()); - if (project->rootQt4ProjectNode()->projectType() == Qt4ProjectManager::ApplicationTemplate) + QmakeProjectManager::Qt4Project *project = static_cast<QmakeProjectManager::Qt4Project *>(m_step->project()); + if (project->rootQt4ProjectNode()->projectType() == QmakeProjectManager::ApplicationTemplate) m_ui->additionalLibrariesGroupBox->setEnabled(true); else m_ui->additionalLibrariesGroupBox->setEnabled(false); @@ -171,9 +171,9 @@ void AndroidDeployQtWidget::createManifestButton() void AndroidDeployQtWidget::updateInputFileUi() { - Qt4ProjectManager::Qt4Project *project - = static_cast<Qt4ProjectManager::Qt4Project *>(m_step->project()); - QList<Qt4ProjectManager::Qt4ProFileNode *> nodes = project->applicationProFiles(); + QmakeProjectManager::Qt4Project *project + = static_cast<QmakeProjectManager::Qt4Project *>(m_step->project()); + QList<QmakeProjectManager::Qt4ProFileNode *> nodes = project->applicationProFiles(); int size = nodes.size(); if (size == 0 || size == 1) { // there's nothing to select, e.g. before parsing @@ -185,8 +185,8 @@ void AndroidDeployQtWidget::updateInputFileUi() m_ui->inputFileComboBox->setVisible(true); m_ui->inputFileComboBox->clear(); - foreach (Qt4ProjectManager::Qt4ProFileNode *node, nodes) { - QString file = node->singleVariableValue(Qt4ProjectManager::AndroidDeploySettingsFile); + foreach (QmakeProjectManager::Qt4ProFileNode *node, nodes) { + QString file = node->singleVariableValue(QmakeProjectManager::AndroidDeploySettingsFile); m_ui->inputFileComboBox->addItem(node->displayName(), file); } @@ -325,8 +325,8 @@ void AndroidDeployQtWidget::activeBuildConfigurationChanged() disconnect(m_currentBuildConfiguration, SIGNAL(qmakeBuildConfigurationChanged()), this, SLOT(updateSigningWarning())); updateSigningWarning(); - Qt4ProjectManager::Qt4BuildConfiguration *bc - = qobject_cast<Qt4ProjectManager::Qt4BuildConfiguration *>(m_step->target()->activeBuildConfiguration()); + QmakeProjectManager::Qt4BuildConfiguration *bc + = qobject_cast<QmakeProjectManager::Qt4BuildConfiguration *>(m_step->target()->activeBuildConfiguration()); m_currentBuildConfiguration = bc; if (bc) connect(bc, SIGNAL(qmakeBuildConfigurationChanged()), this, SLOT(updateSigningWarning())); @@ -335,7 +335,7 @@ void AndroidDeployQtWidget::activeBuildConfigurationChanged() void AndroidDeployQtWidget::updateSigningWarning() { - Qt4ProjectManager::Qt4BuildConfiguration *bc = qobject_cast<Qt4ProjectManager::Qt4BuildConfiguration *>(m_step->target()->activeBuildConfiguration()); + QmakeProjectManager::Qt4BuildConfiguration *bc = qobject_cast<QmakeProjectManager::Qt4BuildConfiguration *>(m_step->target()->activeBuildConfiguration()); bool debug = bc && (bc->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild); if (m_step->signPackage() && debug) { m_ui->signingDebugWarningIcon->setVisible(true); diff --git a/src/plugins/android/androiddeployqtwidget.h b/src/plugins/android/androiddeployqtwidget.h index a3ef1d9b96..003ed3f1fc 100644 --- a/src/plugins/android/androiddeployqtwidget.h +++ b/src/plugins/android/androiddeployqtwidget.h @@ -38,7 +38,7 @@ QT_BEGIN_NAMESPACE namespace Ui { class AndroidDeployQtWidget; } QT_END_NAMESPACE -namespace Qt4ProjectManager { class Qt4BuildConfiguration; } +namespace QmakeProjectManager { class Qt4BuildConfiguration; } namespace Android { namespace Internal { @@ -85,7 +85,7 @@ private: Ui::AndroidDeployQtWidget *m_ui; AndroidDeployQtStep *m_step; AndroidExtraLibraryListModel *m_extraLibraryListModel; - Qt4ProjectManager::Qt4BuildConfiguration *m_currentBuildConfiguration; + QmakeProjectManager::Qt4BuildConfiguration *m_currentBuildConfiguration; bool m_ignoreChange; }; diff --git a/src/plugins/android/androiddeployqtwidget.ui b/src/plugins/android/androiddeployqtwidget.ui index 599ae3f9bc..a726f9134f 100644 --- a/src/plugins/android/androiddeployqtwidget.ui +++ b/src/plugins/android/androiddeployqtwidget.ui @@ -210,7 +210,7 @@ <item row="0" column="0"> <widget class="QLabel" name="inputFileLabel"> <property name="text"> - <string>Android deploy Qt input file:</string> + <string>Input file for androiddeployqt:</string> </property> </widget> </item> @@ -241,7 +241,7 @@ <item> <widget class="QLabel" name="oldFilesWarningLabel"> <property name="text"> - <string>Qt no longer uses the android folder in the project's source directory.</string> + <string>Qt no longer uses the folder "android" in the project's source directory.</string> </property> <property name="wordWrap"> <bool>true</bool> diff --git a/src/plugins/android/androiddeploystep.cpp b/src/plugins/android/androiddeploystep.cpp index b26860d393..3fadfce5fe 100644 --- a/src/plugins/android/androiddeploystep.cpp +++ b/src/plugins/android/androiddeploystep.cpp @@ -44,9 +44,9 @@ #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/buildsteplist.h> #include <projectexplorer/target.h> -#include <qt4projectmanager/qt4buildconfiguration.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4nodes.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakenodes.h> #include <qtsupport/qtkitinformation.h> @@ -56,7 +56,7 @@ using namespace Core; using namespace ProjectExplorer; -using namespace Qt4ProjectManager; +using namespace QmakeProjectManager; namespace Android { namespace Internal { @@ -143,7 +143,7 @@ bool AndroidDeployStep::init() } m_ndkToolChainVersion = static_cast<AndroidToolChain *>(tc)->ndkToolChainVersion(); - QString arch = static_cast<Qt4Project *>(project())->rootQt4ProjectNode()->singleVariableValue(Qt4ProjectManager::AndroidArchVar); + QString arch = static_cast<Qt4Project *>(project())->rootQt4ProjectNode()->singleVariableValue(QmakeProjectManager::AndroidArchVar); if (!arch.isEmpty()) m_libgnustl = AndroidManager::libGnuStl(arch, m_ndkToolChainVersion); return true; @@ -498,4 +498,4 @@ void AndroidDeployStep::writeOutput(const QString &text, OutputFormat format) } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace Android diff --git a/src/plugins/android/androiddeploystepwidget.cpp b/src/plugins/android/androiddeploystepwidget.cpp index 68cb6b0c83..f148576a98 100644 --- a/src/plugins/android/androiddeploystepwidget.cpp +++ b/src/plugins/android/androiddeploystepwidget.cpp @@ -134,4 +134,4 @@ void AndroidDeployStepWidget::resetDefaultDevices() } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace Android diff --git a/src/plugins/android/androidextralibrarylistmodel.cpp b/src/plugins/android/androidextralibrarylistmodel.cpp index 491c3d5065..8d51017866 100644 --- a/src/plugins/android/androidextralibrarylistmodel.cpp +++ b/src/plugins/android/androidextralibrarylistmodel.cpp @@ -29,13 +29,13 @@ ****************************************************************************/ #include "androidextralibrarylistmodel.h" -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4nodes.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakenodes.h> using namespace Android; using namespace Internal; -AndroidExtraLibraryListModel::AndroidExtraLibraryListModel(Qt4ProjectManager::Qt4Project *project, +AndroidExtraLibraryListModel::AndroidExtraLibraryListModel(QmakeProjectManager::Qt4Project *project, QObject *parent) : QAbstractItemModel(parent) , m_project(project) @@ -77,18 +77,18 @@ QVariant AndroidExtraLibraryListModel::data(const QModelIndex &index, int role) void AndroidExtraLibraryListModel::reset() { - if (m_project->rootQt4ProjectNode()->projectType() != Qt4ProjectManager::ApplicationTemplate) + if (m_project->rootQt4ProjectNode()->projectType() != QmakeProjectManager::ApplicationTemplate) return; beginResetModel(); - Qt4ProjectManager::Qt4ProFileNode *node = m_project->rootQt4ProjectNode(); - m_entries = node->variableValue(Qt4ProjectManager::AndroidExtraLibs); + QmakeProjectManager::Qt4ProFileNode *node = m_project->rootQt4ProjectNode(); + m_entries = node->variableValue(QmakeProjectManager::AndroidExtraLibs); endResetModel(); } void AndroidExtraLibraryListModel::addEntries(const QStringList &list) { - if (m_project->rootQt4ProjectNode()->projectType() != Qt4ProjectManager::ApplicationTemplate) + if (m_project->rootQt4ProjectNode()->projectType() != QmakeProjectManager::ApplicationTemplate) return; beginInsertRows(QModelIndex(), m_entries.size(), m_entries.size() + list.size()); @@ -96,7 +96,7 @@ void AndroidExtraLibraryListModel::addEntries(const QStringList &list) foreach (QString path, list) m_entries += QDir(m_project->projectDirectory()).relativeFilePath(path); - Qt4ProjectManager::Qt4ProFileNode *node = m_project->rootQt4ProjectNode(); + QmakeProjectManager::Qt4ProFileNode *node = m_project->rootQt4ProjectNode(); node->setProVariable(QLatin1String("ANDROID_EXTRA_LIBS"), m_entries.join(QLatin1String(" "))); endInsertRows(); @@ -109,7 +109,7 @@ bool greaterModelIndexByRow(const QModelIndex &a, const QModelIndex &b) void AndroidExtraLibraryListModel::removeEntries(QModelIndexList list) { - if (list.isEmpty() || m_project->rootQt4ProjectNode()->projectType() != Qt4ProjectManager::ApplicationTemplate) + if (list.isEmpty() || m_project->rootQt4ProjectNode()->projectType() != QmakeProjectManager::ApplicationTemplate) return; std::sort(list.begin(), list.end(), greaterModelIndexByRow); @@ -128,6 +128,6 @@ void AndroidExtraLibraryListModel::removeEntries(QModelIndexList list) endRemoveRows(); } - Qt4ProjectManager::Qt4ProFileNode *node = m_project->rootQt4ProjectNode(); + QmakeProjectManager::Qt4ProFileNode *node = m_project->rootQt4ProjectNode(); node->setProVariable(QLatin1String("ANDROID_EXTRA_LIBS"), m_entries.join(QLatin1String(" "))); } diff --git a/src/plugins/android/androidextralibrarylistmodel.h b/src/plugins/android/androidextralibrarylistmodel.h index a4f5f203a3..d343acbaf4 100644 --- a/src/plugins/android/androidextralibrarylistmodel.h +++ b/src/plugins/android/androidextralibrarylistmodel.h @@ -34,7 +34,7 @@ #include <QAbstractItemModel> #include <QStringList> -namespace Qt4ProjectManager { class Qt4Project; } +namespace QmakeProjectManager { class Qt4Project; } namespace Android { namespace Internal { @@ -42,7 +42,7 @@ class AndroidExtraLibraryListModel : public QAbstractItemModel { Q_OBJECT public: - explicit AndroidExtraLibraryListModel(Qt4ProjectManager::Qt4Project *project, + explicit AndroidExtraLibraryListModel(QmakeProjectManager::Qt4Project *project, QObject *parent = 0); QModelIndex index(int row, int column, const QModelIndex &parent) const; @@ -58,7 +58,7 @@ private slots: void reset(); private: - Qt4ProjectManager::Qt4Project *m_project; + QmakeProjectManager::Qt4Project *m_project; QStringList m_entries; }; diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index 29208b19ff..1b0a1d503f 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -42,10 +42,10 @@ #include <projectexplorer/projectexplorer.h> #include <projectexplorer/session.h> #include <projectexplorer/target.h> -#include <qt4projectmanager/qt4nodes.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4projectmanagerconstants.h> -#include <qt4projectmanager/qt4buildconfiguration.h> +#include <qt4projectmanager/qmakenodes.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakeprojectmanagerconstants.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> #include <qtsupport/customexecutablerunconfiguration.h> #include <qtsupport/qtkitinformation.h> #include <qtsupport/qtsupportconstants.h> @@ -127,7 +127,7 @@ namespace Internal { bool AndroidManager::supportsAndroid(ProjectExplorer::Target *target) { - if (!qobject_cast<Qt4ProjectManager::Qt4Project *>(target->project())) + if (!qobject_cast<QmakeProjectManager::Qt4Project *>(target->project())) return false; QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target->kit()); return version && version->platformName() == QLatin1String(QtSupport::Constants::ANDROID_PLATFORM); @@ -237,17 +237,17 @@ QString AndroidManager::buildTargetSDK(ProjectExplorer::Target *target) fallback = QLatin1String("android-9"); if (!createAndroidTemplatesIfNecessary(target)) - return AndroidConfigurations::instance().bestMatch(fallback); + return fallback; QFile file(defaultPropertiesPath(target).toString()); if (!file.open(QIODevice::ReadOnly)) - return AndroidConfigurations::instance().bestMatch(fallback); + return fallback; while (!file.atEnd()) { QByteArray line = file.readLine(); if (line.startsWith("target=")) return QString::fromLatin1(line.trimmed().mid(7)); } - return AndroidConfigurations::instance().bestMatch(fallback); + return fallback; } bool AndroidManager::setBuildTargetSDK(ProjectExplorer::Target *target, const QString &sdk) @@ -259,13 +259,13 @@ bool AndroidManager::setBuildTargetSDK(ProjectExplorer::Target *target, const QS QString AndroidManager::targetArch(ProjectExplorer::Target *target) { - Qt4ProjectManager::Qt4Project *pro = qobject_cast<Qt4ProjectManager::Qt4Project *>(target->project()); + QmakeProjectManager::Qt4Project *pro = qobject_cast<QmakeProjectManager::Qt4Project *>(target->project()); if (!pro) return QString(); - Qt4ProjectManager::Qt4ProFileNode *node = pro->rootQt4ProjectNode(); + QmakeProjectManager::Qt4ProFileNode *node = pro->rootQt4ProjectNode(); if (!node) return QString(); - return node->singleVariableValue(Qt4ProjectManager::AndroidArchVar); + return node->singleVariableValue(QmakeProjectManager::AndroidArchVar); } Utils::FileName AndroidManager::dirPath(ProjectExplorer::Target *target) @@ -330,11 +330,11 @@ Utils::FileName AndroidManager::apkPath(ProjectExplorer::Target *target, BuildTy QStringList AndroidManager::availableTargetApplications(ProjectExplorer::Target *target) { QStringList apps; - Qt4ProjectManager::Qt4Project *qt4Project = qobject_cast<Qt4ProjectManager::Qt4Project *>(target->project()); + QmakeProjectManager::Qt4Project *qt4Project = qobject_cast<QmakeProjectManager::Qt4Project *>(target->project()); if (!qt4Project) return apps; - foreach (Qt4ProjectManager::Qt4ProFileNode *proFile, qt4Project->applicationProFiles()) { - if (proFile->projectType() == Qt4ProjectManager::ApplicationTemplate) { + foreach (QmakeProjectManager::Qt4ProFileNode *proFile, qt4Project->applicationProFiles()) { + if (proFile->projectType() == QmakeProjectManager::ApplicationTemplate) { if (proFile->targetInformation().target.startsWith(QLatin1String("lib")) && proFile->targetInformation().target.endsWith(QLatin1String(".so"))) apps << proFile->targetInformation().target.mid(3, proFile->targetInformation().target.lastIndexOf(QLatin1Char('.')) - 3); @@ -509,9 +509,9 @@ QString AndroidManager::targetApplicationPath(ProjectExplorer::Target *target) QString selectedApp = targetApplication(target); if (selectedApp.isEmpty()) return QString(); - Qt4ProjectManager::Qt4Project *qt4Project = qobject_cast<Qt4ProjectManager::Qt4Project *>(target->project()); - foreach (Qt4ProjectManager::Qt4ProFileNode *proFile, qt4Project->applicationProFiles()) { - if (proFile->projectType() == Qt4ProjectManager::ApplicationTemplate) { + QmakeProjectManager::Qt4Project *qt4Project = qobject_cast<QmakeProjectManager::Qt4Project *>(target->project()); + foreach (QmakeProjectManager::Qt4ProFileNode *proFile, qt4Project->applicationProFiles()) { + if (proFile->projectType() == QmakeProjectManager::ApplicationTemplate) { if (proFile->targetInformation().target.startsWith(QLatin1String("lib")) && proFile->targetInformation().target.endsWith(QLatin1String(".so"))) { if (proFile->targetInformation().target.mid(3, proFile->targetInformation().target.lastIndexOf(QLatin1Char('.')) - 3) @@ -529,7 +529,7 @@ QString AndroidManager::targetApplicationPath(ProjectExplorer::Target *target) bool AndroidManager::createAndroidTemplatesIfNecessary(ProjectExplorer::Target *target) { QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target->kit()); - Qt4ProjectManager::Qt4Project *qt4Project = qobject_cast<Qt4ProjectManager::Qt4Project*>(target->project()); + QmakeProjectManager::Qt4Project *qt4Project = qobject_cast<QmakeProjectManager::Qt4Project*>(target->project()); if (!qt4Project || !qt4Project->rootProjectNode() || !version) return false; @@ -620,7 +620,7 @@ bool AndroidManager::createAndroidTemplatesIfNecessary(ProjectExplorer::Target * return false; } - updateTarget(target, AndroidConfigurations::instance().sdkTargets(minApiLevel).at(0)); + updateTarget(target, sdks.first()); QStringList apps = availableTargetApplications(target); if (!apps.isEmpty()) setTargetApplication(target, apps.at(0)); @@ -804,16 +804,16 @@ QVector<AndroidManager::Library> AndroidManager::availableQtLibsWithDependencies if (tc->type() != QLatin1String(Constants::ANDROID_TOOLCHAIN_TYPE)) return QVector<AndroidManager::Library>(); - Qt4ProjectManager::Qt4Project *project = static_cast<Qt4ProjectManager::Qt4Project *>(target->project()); - QString arch = project->rootQt4ProjectNode()->singleVariableValue(Qt4ProjectManager::AndroidArchVar); + QmakeProjectManager::Qt4Project *project = static_cast<QmakeProjectManager::Qt4Project *>(target->project()); + QString arch = project->rootQt4ProjectNode()->singleVariableValue(QmakeProjectManager::AndroidArchVar); AndroidToolChain *atc = static_cast<AndroidToolChain *>(tc); QString libgnustl = libGnuStl(arch, atc->ndkToolChainVersion()); Utils::FileName readelfPath = AndroidConfigurations::instance().readelfPath(target->activeRunConfiguration()->abi().architecture(), atc->ndkToolChainVersion()); - const Qt4ProjectManager::Qt4Project *const qt4Project - = qobject_cast<const Qt4ProjectManager::Qt4Project *>(target->project()); + const QmakeProjectManager::Qt4Project *const qt4Project + = qobject_cast<const QmakeProjectManager::Qt4Project *>(target->project()); if (!qt4Project || !version) return QVector<AndroidManager::Library>(); QString qtLibsPath = version->qmakeProperty("QT_INSTALL_LIBS"); @@ -904,12 +904,12 @@ bool AndroidManager::setBundledInLib(ProjectExplorer::Target *target, const QStr QStringList AndroidManager::availablePrebundledLibs(ProjectExplorer::Target *target) { QStringList libs; - Qt4ProjectManager::Qt4Project *qt4Project = qobject_cast<Qt4ProjectManager::Qt4Project *>(target->project()); + QmakeProjectManager::Qt4Project *qt4Project = qobject_cast<QmakeProjectManager::Qt4Project *>(target->project()); if (!qt4Project) return libs; - foreach (Qt4ProjectManager::Qt4ProFileNode *node, qt4Project->allProFiles()) - if (node->projectType() == Qt4ProjectManager::LibraryTemplate) + foreach (QmakeProjectManager::Qt4ProFileNode *node, qt4Project->allProFiles()) + if (node->projectType() == QmakeProjectManager::LibraryTemplate) libs << node->targetInformation().target; return libs; } @@ -1317,4 +1317,4 @@ bool AndroidManager::checkForQt51Files(const QString &projectDirectory) } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace Android diff --git a/src/plugins/android/androidmanifesteditorwidget.cpp b/src/plugins/android/androidmanifesteditorwidget.cpp index db4af083ee..35cfc45153 100644 --- a/src/plugins/android/androidmanifesteditorwidget.cpp +++ b/src/plugins/android/androidmanifesteditorwidget.cpp @@ -44,7 +44,7 @@ #include <projectexplorer/projectexplorer.h> #include <projectexplorer/kitinformation.h> #include <texteditor/texteditoractionhandler.h> -#include <qt4projectmanager/qt4project.h> +#include <qt4projectmanager/qmakeproject.h> #include <QLineEdit> #include <QFileInfo> diff --git a/src/plugins/android/androidpackagecreationstep.cpp b/src/plugins/android/androidpackagecreationstep.cpp index b405012e62..285f7b3ee5 100644 --- a/src/plugins/android/androidpackagecreationstep.cpp +++ b/src/plugins/android/androidpackagecreationstep.cpp @@ -42,9 +42,9 @@ #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/runconfiguration.h> #include <projectexplorer/target.h> -#include <qt4projectmanager/qt4buildconfiguration.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4nodes.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakenodes.h> #include <qtsupport/qtkitinformation.h> #include <coreplugin/icore.h> @@ -72,7 +72,7 @@ namespace { const QLatin1String CertificateSeparator("*******************************************"); } -using namespace Qt4ProjectManager; +using namespace QmakeProjectManager; AndroidPackageCreationStep::AndroidPackageCreationStep(BuildStepList *bsl) : BuildStep(bsl, CreatePackageId) @@ -109,7 +109,7 @@ bool AndroidPackageCreationStep::init() // Copying m_androidDir = AndroidManager::dirPath(target()); Utils::FileName path = m_androidDir; - QString androidTargetArch = project->rootQt4ProjectNode()->singleVariableValue(Qt4ProjectManager::AndroidArchVar); + QString androidTargetArch = project->rootQt4ProjectNode()->singleVariableValue(QmakeProjectManager::AndroidArchVar); if (androidTargetArch.isEmpty()) { raiseError(tr("Cannot create Android package: No ANDROID_TARGET_ARCH set in make spec.")); return false; @@ -435,7 +435,7 @@ void AndroidPackageCreationStep::collectFiles(QList<DeployItem> *deployList, return; Qt4Project *project = static_cast<Qt4Project *>(target()->project()); - QString androidTargetArch = project->rootQt4ProjectNode()->singleVariableValue(Qt4ProjectManager::AndroidArchVar); + QString androidTargetArch = project->rootQt4ProjectNode()->singleVariableValue(QmakeProjectManager::AndroidArchVar); QString androidAssetsPath = m_androidDir.toString() + QLatin1String("/assets/"); QString androidJarPath = m_androidDir.toString() + QLatin1String("/libs/"); @@ -882,4 +882,4 @@ void AndroidPackageCreationStep::raiseError(const QString &shortMsg, const Core::Id AndroidPackageCreationStep::CreatePackageId("Qt4ProjectManager.AndroidPackageCreationStep"); } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace Android diff --git a/src/plugins/android/androidpackagecreationwidget.cpp b/src/plugins/android/androidpackagecreationwidget.cpp index 66f5691035..57f885e8c5 100644 --- a/src/plugins/android/androidpackagecreationwidget.cpp +++ b/src/plugins/android/androidpackagecreationwidget.cpp @@ -41,7 +41,7 @@ #include <projectexplorer/projectexplorer.h> #include <projectexplorer/buildmanager.h> #include <projectexplorer/projectexplorerconstants.h> -#include <qt4projectmanager/qt4buildconfiguration.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> #include <qt4projectmanager/qmakestep.h> #include <QTimer> @@ -56,7 +56,7 @@ namespace Android { namespace Internal { using namespace ProjectExplorer; -using namespace Qt4ProjectManager; +using namespace QmakeProjectManager; ///////////////////////////// CheckModel ///////////////////////////// diff --git a/src/plugins/android/androidpackagecreationwidget.h b/src/plugins/android/androidpackagecreationwidget.h index 9362ba54e5..91d2313da4 100644 --- a/src/plugins/android/androidpackagecreationwidget.h +++ b/src/plugins/android/androidpackagecreationwidget.h @@ -41,7 +41,7 @@ class QFileSystemWatcher; namespace Ui { class AndroidPackageCreationWidget; } QT_END_NAMESPACE -namespace Qt4ProjectManager { class Qt4BuildConfiguration; } +namespace QmakeProjectManager { class Qt4BuildConfiguration; } namespace Android { namespace Internal { @@ -112,7 +112,7 @@ private: CheckModel *m_qtLibsModel; CheckModel *m_prebundledLibs; QFileSystemWatcher *m_fileSystemWatcher; - Qt4ProjectManager::Qt4BuildConfiguration *m_currentBuildConfiguration; + QmakeProjectManager::Qt4BuildConfiguration *m_currentBuildConfiguration; }; } // namespace Internal diff --git a/src/plugins/android/androidpackageinstallationstep.cpp b/src/plugins/android/androidpackageinstallationstep.cpp index 8f8350c217..c94cfdfe53 100644 --- a/src/plugins/android/androidpackageinstallationstep.cpp +++ b/src/plugins/android/androidpackageinstallationstep.cpp @@ -94,6 +94,8 @@ bool AndroidPackageInstallationStep::init() appendOutputParser(parser); outputParser()->setWorkingDirectory(pp->effectiveWorkingDirectory()); + m_androidDirToClean = m_androidDirectory == BuildDirectory ? dirPath : QString(); + return AbstractProcessStep::init(); } @@ -105,6 +107,22 @@ bool AndroidPackageInstallationStep::fromMap(const QVariantMap &map) return true; } +void AndroidPackageInstallationStep::run(QFutureInterface<bool> &fi) +{ + QString error; + Utils::FileName androidDir = Utils::FileName::fromString(m_androidDirToClean); + if (!m_androidDirToClean.isEmpty()&& androidDir.toFileInfo().exists()) { + emit addOutput(tr("Removing directory %1").arg(m_androidDirToClean), MessageOutput); + if (!Utils::FileUtils::removeRecursively(androidDir, &error)) { + emit addOutput(error, ErrorOutput); + fi.reportResult(false); + emit finished(); + return; + } + } + AbstractProcessStep::run(fi); +} + QVariantMap AndroidPackageInstallationStep::toMap() const { QVariantMap map = AbstractProcessStep::toMap(); diff --git a/src/plugins/android/androidpackageinstallationstep.h b/src/plugins/android/androidpackageinstallationstep.h index 4c5a60fdc9..4608c1d7ea 100644 --- a/src/plugins/android/androidpackageinstallationstep.h +++ b/src/plugins/android/androidpackageinstallationstep.h @@ -52,10 +52,12 @@ public: ProjectExplorer::BuildStepConfigWidget *createConfigWidget(); bool immutable() const; + void run(QFutureInterface<bool> &fi); private: AndroidPackageInstallationStep(ProjectExplorer::BuildStepList *bc, AndroidPackageInstallationStep *other); AndroidDirectory m_androidDirectory; + QString m_androidDirToClean; static const Core::Id Id; }; diff --git a/src/plugins/android/androidqtversion.cpp b/src/plugins/android/androidqtversion.cpp index c329302ffd..6298812797 100644 --- a/src/plugins/android/androidqtversion.cpp +++ b/src/plugins/android/androidqtversion.cpp @@ -35,8 +35,8 @@ #include <utils/environment.h> #include <utils/hostosinfo.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4projectmanagerconstants.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakeprojectmanagerconstants.h> #include <qtsupport/qtkitinformation.h> #include <qtsupport/qtsupportconstants.h> @@ -50,7 +50,7 @@ using namespace Android::Internal; using namespace ProjectExplorer; -using namespace Qt4ProjectManager; +using namespace QmakeProjectManager; AndroidQtVersion::AndroidQtVersion() : QtSupport::BaseQtVersion() @@ -109,7 +109,7 @@ void AndroidQtVersion::addToEnvironment(const ProjectExplorer::Kit *k, Utils::En env.set(QLatin1String("ANDROID_NDK_HOST"), AndroidConfigurations::instance().config().toolchainHost); env.set(QLatin1String("ANDROID_NDK_ROOT"), AndroidConfigurations::instance().config().ndkLocation.toUserOutput()); - Qt4Project *qt4pro = qobject_cast<Qt4ProjectManager::Qt4Project *>(ProjectExplorerPlugin::instance()->currentProject()); + Qt4Project *qt4pro = qobject_cast<QmakeProjectManager::Qt4Project *>(ProjectExplorerPlugin::instance()->currentProject()); if (!qt4pro || !qt4pro->activeTarget() || QtSupport::QtKitInformation::qtVersion(k)->type() != QLatin1String(Constants::ANDROIDQT)) return; @@ -122,8 +122,7 @@ void AndroidQtVersion::addToEnvironment(const ProjectExplorer::Kit *k, Utils::En return; env.set(QLatin1String("ANDROID_NDK_PLATFORM"), - AndroidConfigurations::instance().bestMatch(AndroidManager::buildTargetSDK(target))); - + AndroidConfigurations::instance().bestNdkPlatformMatch(AndroidManager::buildTargetSDK(target))); } QString AndroidQtVersion::description() const diff --git a/src/plugins/android/androidrunconfiguration.cpp b/src/plugins/android/androidrunconfiguration.cpp index a7d433b0af..5625358d84 100644 --- a/src/plugins/android/androidrunconfiguration.cpp +++ b/src/plugins/android/androidrunconfiguration.cpp @@ -37,8 +37,8 @@ #include <projectexplorer/target.h> #include <qtsupport/qtoutputformatter.h> #include <qtsupport/qtkitinformation.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4nodes.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakenodes.h> #include <utils/qtcassert.h> @@ -47,7 +47,7 @@ const char PRO_FILE_KEY[] = "Qt4ProjectManager.Qt4RunConfiguration.ProFile"; } using namespace ProjectExplorer; -using Qt4ProjectManager::Qt4Project; +using QmakeProjectManager::Qt4Project; namespace Android { namespace Internal { @@ -74,8 +74,8 @@ AndroidRunConfiguration::AndroidRunConfiguration(Target *parent, AndroidRunConfi void AndroidRunConfiguration::init() { setDefaultDisplayName(defaultDisplayName()); - connect(target()->project(), SIGNAL(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)), - this, SLOT(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool))); + connect(target()->project(), SIGNAL(proFileUpdated(QmakeProjectManager::Qt4ProFileNode*,bool,bool)), + this, SLOT(proFileUpdated(QmakeProjectManager::Qt4ProFileNode*,bool,bool))); } bool AndroidRunConfiguration::fromMap(const QVariantMap &map) @@ -112,7 +112,7 @@ QString AndroidRunConfiguration::disabledReason() const return QString(); } -void AndroidRunConfiguration::proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress) +void AndroidRunConfiguration::proFileUpdated(QmakeProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress) { if (m_proFilePath != pro->path()) return; diff --git a/src/plugins/android/androidrunconfiguration.h b/src/plugins/android/androidrunconfiguration.h index 7290b84d7b..523e4936e8 100644 --- a/src/plugins/android/androidrunconfiguration.h +++ b/src/plugins/android/androidrunconfiguration.h @@ -35,7 +35,7 @@ #include <projectexplorer/runconfiguration.h> -namespace Qt4ProjectManager { class Qt4ProFileNode; } +namespace QmakeProjectManager { class Qt4ProFileNode; } namespace Android { namespace Internal { @@ -70,7 +70,7 @@ protected: bool fromMap(const QVariantMap &map); QVariantMap toMap() const; private slots: - void proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress); + void proFileUpdated(QmakeProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress); private: void init(); diff --git a/src/plugins/android/androidruncontrol.cpp b/src/plugins/android/androidruncontrol.cpp index 50e54135dc..8b8e2ae5fa 100644 --- a/src/plugins/android/androidruncontrol.cpp +++ b/src/plugins/android/androidruncontrol.cpp @@ -111,4 +111,4 @@ QIcon AndroidRunControl::icon() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace Android diff --git a/src/plugins/android/androidrunfactories.cpp b/src/plugins/android/androidrunfactories.cpp index 493380b709..170b860318 100644 --- a/src/plugins/android/androidrunfactories.cpp +++ b/src/plugins/android/androidrunfactories.cpp @@ -40,15 +40,15 @@ #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/target.h> #include <debugger/debuggerconstants.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4nodes.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakenodes.h> #include <qtsupport/customexecutablerunconfiguration.h> #include <qtsupport/qtkitinformation.h> #include <qtsupport/qtsupportconstants.h> using namespace ProjectExplorer; -using namespace Qt4ProjectManager; +using namespace QmakeProjectManager; namespace Android { namespace Internal { @@ -180,4 +180,4 @@ RunControl *AndroidRunControlFactory::create(RunConfiguration *runConfig, } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace Android diff --git a/src/plugins/android/androidrunfactories.h b/src/plugins/android/androidrunfactories.h index 3fa64f60e5..eb9105bfab 100644 --- a/src/plugins/android/androidrunfactories.h +++ b/src/plugins/android/androidrunfactories.h @@ -43,7 +43,7 @@ class Node; namespace Android { namespace Internal { -class AndroidRunConfigurationFactory : public Qt4ProjectManager::QmakeRunConfigurationFactory +class AndroidRunConfigurationFactory : public QmakeProjectManager::QmakeRunConfigurationFactory { Q_OBJECT diff --git a/src/plugins/android/androidrunner.cpp b/src/plugins/android/androidrunner.cpp index e00cb95e68..cb7d251274 100644 --- a/src/plugins/android/androidrunner.cpp +++ b/src/plugins/android/androidrunner.cpp @@ -403,4 +403,4 @@ QString AndroidRunner::displayName() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace Android diff --git a/src/plugins/android/createandroidmanifestwizard.cpp b/src/plugins/android/createandroidmanifestwizard.cpp index 1ecdadc22e..6a7912b6db 100644 --- a/src/plugins/android/createandroidmanifestwizard.cpp +++ b/src/plugins/android/createandroidmanifestwizard.cpp @@ -30,8 +30,8 @@ #include "createandroidmanifestwizard.h" #include <projectexplorer/target.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4nodes.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakenodes.h> #include <proparser/prowriter.h> #include <QComboBox> #include <QFormLayout> @@ -43,8 +43,8 @@ using namespace Android; using namespace Android::Internal; -using Qt4ProjectManager::Qt4Project; -using Qt4ProjectManager::Qt4ProFileNode; +using QmakeProjectManager::Qt4Project; +using QmakeProjectManager::Qt4ProFileNode; // // NoApplicationProFilePage @@ -96,7 +96,7 @@ void ChooseProFilePage::nodeSelected(int index) ChooseDirectoryPage::ChooseDirectoryPage(CreateAndroidManifestWizard *wizard) : m_wizard(wizard), m_androidPackageSourceDir(0) { - QString androidPackageDir = m_wizard->node()->singleVariableValue(Qt4ProjectManager::AndroidPackageSourceDir); + QString androidPackageDir = m_wizard->node()->singleVariableValue(QmakeProjectManager::AndroidPackageSourceDir); QFormLayout *fl = new QFormLayout(this); QLabel *label = new QLabel(this); @@ -147,12 +147,12 @@ CreateAndroidManifestWizard::CreateAndroidManifestWizard(ProjectExplorer::Target } } -Qt4ProjectManager::Qt4ProFileNode *CreateAndroidManifestWizard::node() const +QmakeProjectManager::Qt4ProFileNode *CreateAndroidManifestWizard::node() const { return m_node; } -void CreateAndroidManifestWizard::setNode(Qt4ProjectManager::Qt4ProFileNode *node) +void CreateAndroidManifestWizard::setNode(QmakeProjectManager::Qt4ProFileNode *node) { m_node = node; } @@ -205,7 +205,7 @@ void CreateAndroidManifestWizard::createAndroidManifestFile() return; } - if (m_node->singleVariableValue(Qt4ProjectManager::AndroidPackageSourceDir).isEmpty()) { + if (m_node->singleVariableValue(QmakeProjectManager::AndroidPackageSourceDir).isEmpty()) { // and now time for some magic QString dir = QFileInfo(fileName).absolutePath(); QString value = QLatin1String("$$PWD/") diff --git a/src/plugins/android/createandroidmanifestwizard.h b/src/plugins/android/createandroidmanifestwizard.h index 5fb4eb8bf0..348090333c 100644 --- a/src/plugins/android/createandroidmanifestwizard.h +++ b/src/plugins/android/createandroidmanifestwizard.h @@ -37,7 +37,7 @@ class QComboBox; QT_END_NAMESPACE namespace ProjectExplorer { class Target; } -namespace Qt4ProjectManager { class Qt4ProFileNode; } +namespace QmakeProjectManager { class Qt4ProFileNode; } namespace Android { namespace Internal { @@ -57,7 +57,7 @@ class ChooseProFilePage : public QWizardPage { Q_OBJECT public: - ChooseProFilePage(CreateAndroidManifestWizard *wizard, const QList<Qt4ProjectManager::Qt4ProFileNode *> &nodes); + ChooseProFilePage(CreateAndroidManifestWizard *wizard, const QList<QmakeProjectManager::Qt4ProFileNode *> &nodes); private slots: void nodeSelected(int index); private: @@ -81,8 +81,8 @@ class CreateAndroidManifestWizard : public Utils::Wizard public: CreateAndroidManifestWizard(ProjectExplorer::Target *target); - Qt4ProjectManager::Qt4ProFileNode *node() const; - void setNode(Qt4ProjectManager::Qt4ProFileNode *node); + QmakeProjectManager::Qt4ProFileNode *node() const; + void setNode(QmakeProjectManager::Qt4ProFileNode *node); QString sourceFileName() const; @@ -93,7 +93,7 @@ public slots: private: void createAndroidManifestFile(); ProjectExplorer::Target *m_target; - Qt4ProjectManager::Qt4ProFileNode *m_node; + QmakeProjectManager::Qt4ProFileNode *m_node; QString m_directory; }; } diff --git a/src/plugins/bookmarks/bookmarksplugin.cpp b/src/plugins/bookmarks/bookmarksplugin.cpp index 256121c92d..d3e298a034 100644 --- a/src/plugins/bookmarks/bookmarksplugin.cpp +++ b/src/plugins/bookmarks/bookmarksplugin.cpp @@ -183,6 +183,10 @@ void BookmarksPlugin::editorAboutToClose(Core::IEditor *editor) void BookmarksPlugin::requestContextMenu(TextEditor::ITextEditor *editor, int lineNumber, QMenu *menu) { + // Don't set bookmarks in disassembler views. + if (editor->document()->property("DisassemblerView").toBool()) + return; + m_bookmarkMarginActionLineNumber = lineNumber; m_bookmarkMarginActionFileName = editor->document()->filePath(); diff --git a/src/plugins/cmakeprojectmanager/cmakeeditor.h b/src/plugins/cmakeprojectmanager/cmakeeditor.h index b5102dabfb..55e7639a24 100644 --- a/src/plugins/cmakeprojectmanager/cmakeeditor.h +++ b/src/plugins/cmakeprojectmanager/cmakeeditor.h @@ -104,6 +104,6 @@ public: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace CMakeProjectManager #endif // CMAKEEDITOR_H diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index 7b36de8cf0..0604edde96 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -34,7 +34,7 @@ #include "cppeditorplugin.h" #include "cppfollowsymbolundercursor.h" #include "cpphighlighter.h" -#include "cpppreprocessoradditionwidget.h" +#include "cpppreprocessordialog.h" #include "cppquickfixassistant.h" #include <coreplugin/actionmanager/actioncontainer.h> @@ -701,19 +701,15 @@ void CPPEditorWidget::selectAll() void CPPEditorWidget::setMimeType(const QString &mt) { - const QString &fileName = editor()->document()->filePath(); - // Check if this editor belongs to a project - QList<ProjectPart::Ptr> projectParts = m_modelManager->projectPart(fileName); - if (projectParts.isEmpty()) - projectParts = m_modelManager->projectPartFromDependencies(fileName); - if (!projectParts.isEmpty()) { - if (ProjectExplorer::Project *project = projectParts.first()->project) { - QByteArray additionalDefines = project->additionalCppDefines() - .value(projectParts.first()->projectFile).toByteArray(); - m_modelManager->cppEditorSupport(editor())->snapshotUpdater()->setEditorDefines( - additionalDefines); - } - } + const QString &filePath = editor()->document()->filePath(); + const QString &projectFile = ProjectExplorer::SessionManager::value( + QLatin1String(Constants::CPP_PREPROCESSOR_PROJECT_PREFIX) + filePath).toString(); + const QByteArray &additionalDirectives = ProjectExplorer::SessionManager::value( + projectFile + QLatin1Char(',') + filePath).toByteArray(); + + QSharedPointer<SnapshotUpdater> updater + = m_modelManager->cppEditorSupport(editor())->snapshotUpdater(); + updater->setEditorDefines(additionalDirectives); BaseTextEditorWidget::setMimeType(mt); setObjCEnabled(mt == QLatin1String(CppTools::Constants::OBJECTIVE_C_SOURCE_MIMETYPE) @@ -1968,28 +1964,21 @@ void CPPEditorWidget::onCommentsSettingsChanged(const CppTools::CommentsSettings void CPPEditorWidget::showPreProcessorWidget() { const QString &fileName = editor()->document()->filePath(); - // Check if this editor belongs to a project + // Check if this editor belongs to a project QList<ProjectPart::Ptr> projectParts = m_modelManager->projectPart(fileName); if (projectParts.isEmpty()) projectParts = m_modelManager->projectPartFromDependencies(fileName); if (projectParts.isEmpty()) projectParts << m_modelManager->fallbackProjectPart(); - PreProcessorAdditionPopUp::instance()->show(this, projectParts); - - connect(PreProcessorAdditionPopUp::instance(), - SIGNAL(finished(QByteArray)), - SLOT(preProcessorWidgetFinished(QByteArray))); -} - -void CPPEditorWidget::preProcessorWidgetFinished(const QByteArray &additionalDefines) -{ - PreProcessorAdditionPopUp::instance()->disconnect(this); - QSharedPointer<SnapshotUpdater> updater - = m_modelManager->cppEditorSupport(editor())->snapshotUpdater(); - updater->setEditorDefines(additionalDefines); - updater->update(m_modelManager->workingCopy()); + CppPreProcessorDialog preProcessorDialog(this, projectParts); + if (preProcessorDialog.exec() == QDialog::Accepted) { + QSharedPointer<SnapshotUpdater> updater + = m_modelManager->cppEditorSupport(editor())->snapshotUpdater(); + updater->setEditorDefines(preProcessorDialog.additionalPreProcessorDirectives().toLatin1()); + updater->update(m_modelManager->workingCopy()); + } } #include <cppeditor.moc> diff --git a/src/plugins/cppeditor/cppeditor.h b/src/plugins/cppeditor/cppeditor.h index 1a5fe51d37..ae1f57e31b 100644 --- a/src/plugins/cppeditor/cppeditor.h +++ b/src/plugins/cppeditor/cppeditor.h @@ -144,6 +144,7 @@ public Q_SLOTS: void renameSymbolUnderCursor(); void renameUsages(); void findUsages(); + void showPreProcessorWidget(); void renameUsagesNow(const QString &replacement = QString()); void semanticRehighlight(bool force = false); void highlighterStarted(QFuture<TextEditor::HighlightingResult> *highlighter, @@ -187,9 +188,6 @@ private Q_SLOTS: void onCommentsSettingsChanged(const CppTools::CommentsSettings &settings); - void showPreProcessorWidget(); - void preProcessorWidgetFinished(const QByteArray &additionalDefines); - private: void markSymbols(const QTextCursor &tc, const CppTools::SemanticInfo &info); bool sortedOutline() const; diff --git a/src/plugins/cppeditor/cppeditor.pro b/src/plugins/cppeditor/cppeditor.pro index e0d9f7b0c4..64ffa94641 100644 --- a/src/plugins/cppeditor/cppeditor.pro +++ b/src/plugins/cppeditor/cppeditor.pro @@ -25,7 +25,7 @@ HEADERS += cppeditorplugin.h \ cppincludehierarchyitem.h \ cppincludehierarchytreeview.h \ cppvirtualfunctionassistprovider.h \ - cpppreprocessoradditionwidget.h + cpppreprocessordialog.h SOURCES += cppeditorplugin.cpp \ cppautocompleter.cpp \ @@ -49,7 +49,7 @@ SOURCES += cppeditorplugin.cpp \ cppincludehierarchyitem.cpp \ cppincludehierarchytreeview.cpp \ cppvirtualfunctionassistprovider.cpp \ - cpppreprocessoradditionwidget.cpp + cpppreprocessordialog.cpp RESOURCES += cppeditor.qrc @@ -67,4 +67,4 @@ equals(TEST, 1) { } FORMS += \ - cpppreprocessoradditionwidget.ui + cpppreprocessordialog.ui diff --git a/src/plugins/cppeditor/cppeditor.qbs b/src/plugins/cppeditor/cppeditor.qbs index 7ca766b74c..d8c465ad55 100644 --- a/src/plugins/cppeditor/cppeditor.qbs +++ b/src/plugins/cppeditor/cppeditor.qbs @@ -50,9 +50,9 @@ QtcPlugin { "cppincludehierarchytreeview.h", "cppoutline.cpp", "cppoutline.h", - "cpppreprocessoradditionwidget.cpp", - "cpppreprocessoradditionwidget.h", - "cpppreprocessoradditionwidget.ui", + "cpppreprocessordialog.cpp", + "cpppreprocessordialog.h", + "cpppreprocessordialog.ui", "cppquickfixassistant.cpp", "cppquickfixassistant.h", "cppquickfix.cpp", diff --git a/src/plugins/cppeditor/cppeditorconstants.h b/src/plugins/cppeditor/cppeditorconstants.h index ae87b13ead..378789f911 100644 --- a/src/plugins/cppeditor/cppeditorconstants.h +++ b/src/plugins/cppeditor/cppeditorconstants.h @@ -41,6 +41,7 @@ const char SWITCH_DECLARATION_DEFINITION[] = "CppEditor.SwitchDeclarationDefinit const char OPEN_DECLARATION_DEFINITION_IN_NEXT_SPLIT[] = "CppEditor.OpenDeclarationDefinitionInNextSplit"; const char RENAME_SYMBOL_UNDER_CURSOR[] = "CppEditor.RenameSymbolUnderCursor"; const char FIND_USAGES[] = "CppEditor.FindUsages"; +const char OPEN_PREPROCESSOR_DIALOG[] = "CppEditor.OpenPreprocessorDialog"; const char M_REFACTORING_MENU_INSERTION_POINT[] = "CppEditor.RefactorGroup"; const char UPDATE_CODEMODEL[] = "CppEditor.UpdateCodeModel"; @@ -62,6 +63,8 @@ const char WIZARD_TR_CATEGORY[] = QT_TRANSLATE_NOOP("CppEditor", "C++"); const char CPP_SNIPPETS_GROUP_ID[] = "C++"; +const char CPP_PREPROCESSOR_PROJECT_PREFIX[] = "CppPreprocessorProject-"; + } // namespace Constants } // namespace CppEditor diff --git a/src/plugins/cppeditor/cppeditorplugin.cpp b/src/plugins/cppeditor/cppeditorplugin.cpp index 4ffa0d93d6..b9c66de4a1 100644 --- a/src/plugins/cppeditor/cppeditorplugin.cpp +++ b/src/plugins/cppeditor/cppeditorplugin.cpp @@ -210,6 +210,13 @@ bool CppEditorPlugin::initialize(const QStringList & /*arguments*/, QString *err contextMenu->addAction(cmd); cppToolsMenu->addAction(cmd); + QAction *openPreprocessorDialog = new QAction(tr("Additional Preprocessor Directives"), this); + cmd = ActionManager::registerAction(openPreprocessorDialog, + Constants::OPEN_PREPROCESSOR_DIALOG, context); + cmd->setDefaultKeySequence(QKeySequence()); + connect(openPreprocessorDialog, SIGNAL(triggered()), this, SLOT(showPreProcessorDialog())); + cppToolsMenu->addAction(cmd); + QAction *switchDeclarationDefinition = new QAction(tr("Switch Between Function Declaration/Definition"), this); cmd = ActionManager::registerAction(switchDeclarationDefinition, Constants::SWITCH_DECLARATION_DEFINITION, context, true); @@ -326,32 +333,39 @@ ExtensionSystem::IPlugin::ShutdownFlag CppEditorPlugin::aboutToShutdown() return SynchronousShutdown; } +static CPPEditorWidget *currentCppEditorWidget() +{ + return qobject_cast<CPPEditorWidget*>(EditorManager::currentEditor()->widget()); +} + void CppEditorPlugin::switchDeclarationDefinition() { - CPPEditorWidget *editor = qobject_cast<CPPEditorWidget*>(EditorManager::currentEditor()->widget()); - if (editor) - editor->switchDeclarationDefinition(/*inNextSplit*/ false); + if (CPPEditorWidget *editorWidget = currentCppEditorWidget()) + editorWidget->switchDeclarationDefinition(/*inNextSplit*/ false); } void CppEditorPlugin::openDeclarationDefinitionInNextSplit() { - CPPEditorWidget *editor = qobject_cast<CPPEditorWidget*>(EditorManager::currentEditor()->widget()); - if (editor) - editor->switchDeclarationDefinition(/*inNextSplit*/ true); + if (CPPEditorWidget *editorWidget = currentCppEditorWidget()) + editorWidget->switchDeclarationDefinition(/*inNextSplit*/ true); } void CppEditorPlugin::renameSymbolUnderCursor() { - CPPEditorWidget *editor = qobject_cast<CPPEditorWidget*>(EditorManager::currentEditor()->widget()); - if (editor) - editor->renameSymbolUnderCursor(); + if (CPPEditorWidget *editorWidget = currentCppEditorWidget()) + editorWidget->renameSymbolUnderCursor(); } void CppEditorPlugin::findUsages() { - CPPEditorWidget *editor = qobject_cast<CPPEditorWidget*>(EditorManager::currentEditor()->widget()); - if (editor) - editor->findUsages(); + if (CPPEditorWidget *editorWidget = currentCppEditorWidget()) + editorWidget->findUsages(); +} + +void CppEditorPlugin::showPreProcessorDialog() +{ + if (CPPEditorWidget *editorWidget = currentCppEditorWidget()) + editorWidget->showPreProcessorWidget(); } void CppEditorPlugin::onTaskStarted(Core::Id type) @@ -381,14 +395,13 @@ void CppEditorPlugin::currentEditorChanged(IEditor *editor) if (!editor) return; - if (CPPEditorWidget *textEditor = qobject_cast<CPPEditorWidget *>(editor->widget())) - textEditor->semanticRehighlight(/*force = */ true); + if (CPPEditorWidget *editorWidget = currentCppEditorWidget()) + editorWidget->semanticRehighlight(/*force = */ true); } void CppEditorPlugin::openTypeHierarchy() { - CPPEditorWidget *editor = qobject_cast<CPPEditorWidget*>(EditorManager::currentEditor()->widget()); - if (editor) { + if (currentCppEditorWidget()) { NavigationWidget *navigation = NavigationWidget::instance(); navigation->activateSubWidget(Constants::TYPE_HIERARCHY_ID); emit typeHierarchyRequested(); @@ -397,9 +410,7 @@ void CppEditorPlugin::openTypeHierarchy() void CppEditorPlugin::openIncludeHierarchy() { - CPPEditorWidget *editor - = qobject_cast<CPPEditorWidget*>(Core::EditorManager::currentEditor()->widget()); - if (editor) { + if (currentCppEditorWidget()) { Core::NavigationWidget *navigation = Core::NavigationWidget::instance(); navigation->activateSubWidget(Core::Id(Constants::INCLUDE_HIERARCHY_ID)); emit includeHierarchyRequested(); diff --git a/src/plugins/cppeditor/cppeditorplugin.h b/src/plugins/cppeditor/cppeditorplugin.h index c1eb519de1..33e32593f4 100644 --- a/src/plugins/cppeditor/cppeditorplugin.h +++ b/src/plugins/cppeditor/cppeditorplugin.h @@ -81,6 +81,7 @@ public slots: void openTypeHierarchy(); void openIncludeHierarchy(); void findUsages(); + void showPreProcessorDialog(); void renameSymbolUnderCursor(); void switchDeclarationDefinition(); @@ -153,6 +154,12 @@ private slots: void test_doxygen_comments_cpp_styleA_indented_continuation(); void test_doxygen_comments_cpp_styleA_corner_case(); + void test_quickfix_CompleteSwitchCaseStatement_basic1(); + void test_quickfix_CompleteSwitchCaseStatement_basic2(); + void test_quickfix_CompleteSwitchCaseStatement_oneValueMissing(); + void test_quickfix_CompleteSwitchCaseStatement_QTCREATORBUG10366_1(); + void test_quickfix_CompleteSwitchCaseStatement_QTCREATORBUG10366_2(); + void test_quickfix_GenerateGetterSetter_basicGetterWithPrefix(); void test_quickfix_GenerateGetterSetter_basicGetterWithPrefixAndNamespace(); void test_quickfix_GenerateGetterSetter_basicGetterWithPrefixAndNamespaceToCpp(); diff --git a/src/plugins/cppeditor/cpppreprocessoradditionwidget.cpp b/src/plugins/cppeditor/cpppreprocessoradditionwidget.cpp deleted file mode 100644 index 7762af59cc..0000000000 --- a/src/plugins/cppeditor/cpppreprocessoradditionwidget.cpp +++ /dev/null @@ -1,171 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, 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, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - -#include "cpppreprocessoradditionwidget.h" -#include "ui_cpppreprocessoradditionwidget.h" - -#include "cppsnippetprovider.h" - -#include <utils/tooltip/tipcontents.h> -#include <utils/tooltip/tooltip.h> -#include <projectexplorer/project.h> - -#include <QDebug> - -using namespace CppEditor::Internal; - -PreProcessorAdditionWidget::PreProcessorAdditionWidget(QWidget *parent) - : QWidget(parent) - , ui(new Ui::CppPreProcessorAdditionWidget) -{ - ui->setupUi(this); - CppEditor::Internal::CppSnippetProvider prov; - prov.decorateEditor(ui->additionalEdit); - setAttribute(Qt::WA_QuitOnClose, false); - setFocusPolicy(Qt::StrongFocus); - ui->additionalEdit->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); -} - -PreProcessorAdditionWidget::~PreProcessorAdditionWidget() -{ - emit finished(); - delete ui; -} - -PreProcessorAdditionPopUp *PreProcessorAdditionPopUp::instance() -{ - static PreProcessorAdditionPopUp inst; - return &inst; -} - -void PreProcessorAdditionPopUp::show(QWidget *parent, - const QList<CppTools::ProjectPart::Ptr> &projectParts) -{ - m_widget = new PreProcessorAdditionWidget(); - m_originalPartAdditions.clear(); - foreach (CppTools::ProjectPart::Ptr projectPart, projectParts) { - ProjectPartAddition addition; - addition.projectPart = projectPart; - m_widget->ui->projectComboBox->addItem(projectPart->displayName); - addition.additionalDefines = projectPart->project - ->additionalCppDefines().value(projectPart->projectFile).toByteArray(); - m_originalPartAdditions << addition; - } - m_partAdditions = m_originalPartAdditions; - - m_widget->ui->additionalEdit->setPlainText(QLatin1String( - m_partAdditions[m_widget->ui->projectComboBox->currentIndex()].additionalDefines)); - - QPoint pos = parent->mapToGlobal(parent->rect().topRight()); - pos.setX(pos.x() - m_widget->width()); - showInternal(pos, Utils::WidgetContent(m_widget, true), parent, QRect()); - - connect(m_widget->ui->additionalEdit, SIGNAL(textChanged()), SLOT(textChanged())); - connect(m_widget->ui->projectComboBox, SIGNAL(currentIndexChanged(int)), - SLOT(projectChanged(int))); - connect(m_widget, SIGNAL(finished()), SLOT(finish())); - connect(m_widget->ui->buttonBox, SIGNAL(accepted()), SLOT(apply())); - connect(m_widget->ui->buttonBox, SIGNAL(rejected()), SLOT(cancel())); -} - -bool PreProcessorAdditionPopUp::eventFilter(QObject *o, QEvent *event) -{ - // Filter out some events that would hide the widget, when they would be handled by the ToolTip - switch (event->type()) { - case QEvent::Leave: - // This event would hide the ToolTip because the view isn't a child of the WidgetContent - if (m_widget->ui->projectComboBox->view() == qApp->focusWidget()) - return false; - break; - case QEvent::KeyPress: - case QEvent::KeyRelease: - case QEvent::ShortcutOverride: - // Catch the escape key to close the widget - if (static_cast<QKeyEvent *>(event)->key() == Qt::Key_Escape) { - hideTipImmediately(); - return true; - } - break; - case QEvent::MouseButtonPress: - case QEvent::MouseButtonRelease: - case QEvent::MouseButtonDblClick: - case QEvent::Wheel: - // This event would hide the ToolTip because the viewport isn't a child of the WidgetContent - if (o == m_widget->ui->projectComboBox->view()->viewport()) - return false; - break; - default: - break; - } - return Utils::ToolTip::eventFilter(o, event); -} - -void PreProcessorAdditionPopUp::textChanged() -{ - m_partAdditions[m_widget->ui->projectComboBox->currentIndex()].additionalDefines - = m_widget->ui->additionalEdit->toPlainText().toLatin1(); -} - - -void PreProcessorAdditionPopUp::finish() -{ - m_widget->disconnect(this); - foreach (ProjectPartAddition partAddition, m_originalPartAdditions) { - QVariantMap settings = partAddition.projectPart->project->additionalCppDefines(); - if (!settings[partAddition.projectPart->projectFile].toString().isEmpty() - && !partAddition.additionalDefines.isEmpty()) { - settings[partAddition.projectPart->projectFile] = partAddition.additionalDefines; - partAddition.projectPart->project->setAdditionalCppDefines(settings); - } - } - emit finished(m_originalPartAdditions.value(m_widget->ui->projectComboBox->currentIndex()) - .additionalDefines); -} - -void PreProcessorAdditionPopUp::projectChanged(int index) -{ - m_widget->ui->additionalEdit->setPlainText( - QLatin1String(m_partAdditions[index].additionalDefines)); -} - -void PreProcessorAdditionPopUp::apply() -{ - m_originalPartAdditions = m_partAdditions; - hideTipImmediately(); -} - -void PreProcessorAdditionPopUp::cancel() -{ - m_partAdditions = m_originalPartAdditions; - hideTipImmediately(); -} - -PreProcessorAdditionPopUp::PreProcessorAdditionPopUp() - : m_widget(0) -{} diff --git a/src/plugins/cppeditor/cpppreprocessoradditionwidget.ui b/src/plugins/cppeditor/cpppreprocessoradditionwidget.ui deleted file mode 100644 index 101ba17d3f..0000000000 --- a/src/plugins/cppeditor/cpppreprocessoradditionwidget.ui +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>CppEditor::Internal::CppPreProcessorAdditionWidget</class> - <widget class="QWidget" name="CppEditor::Internal::CppPreProcessorAdditionWidget"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>415</width> - <height>395</height> - </rect> - </property> - <property name="focusPolicy"> - <enum>Qt::StrongFocus</enum> - </property> - <property name="windowTitle"> - <string>PP</string> - </property> - <property name="autoFillBackground"> - <bool>true</bool> - </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QLabel" name="projectLabel"> - <property name="text"> - <string>Project:</string> - </property> - </widget> - </item> - <item> - <widget class="QComboBox" name="projectComboBox"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - </item> - </layout> - </item> - <item> - <widget class="Line" name="separator"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="additionalLabel"> - <property name="text"> - <string>Additional</string> - </property> - </widget> - </item> - <item> - <widget class="TextEditor::SnippetEditorWidget" name="additionalEdit"/> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_2"> - <item> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QDialogButtonBox" name="buttonBox"> - <property name="standardButtons"> - <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - <customwidgets> - <customwidget> - <class>TextEditor::SnippetEditorWidget</class> - <extends>QPlainTextEdit</extends> - <header>texteditor/snippets/snippeteditor.h</header> - </customwidget> - </customwidgets> - <resources/> - <connections/> -</ui> diff --git a/src/plugins/cppeditor/cpppreprocessordialog.cpp b/src/plugins/cppeditor/cpppreprocessordialog.cpp new file mode 100644 index 0000000000..e964962555 --- /dev/null +++ b/src/plugins/cppeditor/cpppreprocessordialog.cpp @@ -0,0 +1,129 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +#include "cpppreprocessordialog.h" +#include "ui_cpppreprocessordialog.h" + +#include "cppeditor.h" +#include "cppeditorconstants.h" +#include "cppsnippetprovider.h" + +#include <projectexplorer/session.h> + +using namespace CppEditor::Internal; + +static bool projectPartLessThan(const CppTools::ProjectPart::Ptr &projectPart1, + const CppTools::ProjectPart::Ptr &projectPart2) +{ + return projectPart1->displayName < projectPart2->displayName; +} + +CppPreProcessorDialog::CppPreProcessorDialog(CPPEditorWidget *editorWidget, + const QList<CppTools::ProjectPart::Ptr> &projectParts) + : QDialog(editorWidget) + , m_ui(new Ui::CppPreProcessorDialog()) + , m_filePath(editorWidget->editor()->document()->filePath()) +{ + setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); + + m_ui->setupUi(this); + m_ui->editorLabel->setText(m_ui->editorLabel->text().arg(QFileInfo(m_filePath).fileName())); + m_ui->editWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); + + CppSnippetProvider().decorateEditor(m_ui->editWidget); + + const QString ¤tProjectFile = ProjectExplorer::SessionManager::value( + QLatin1String(Constants::CPP_PREPROCESSOR_PROJECT_PREFIX) + m_filePath).toString(); + int currentIndex = 0; + + QList<CppTools::ProjectPart::Ptr> sortedProjectParts(projectParts); + qStableSort(sortedProjectParts.begin(), sortedProjectParts.end(), projectPartLessThan); + + foreach (CppTools::ProjectPart::Ptr projectPart, sortedProjectParts) { + m_ui->projectComboBox->addItem(projectPart->displayName); + ProjectPartAddition addition; + addition.projectPart = projectPart; + addition.additionalDirectives = ProjectExplorer::SessionManager::value( + projectPart->projectFile + QLatin1Char(',') + m_filePath).toString(); + if (projectPart->projectFile == currentProjectFile) + currentIndex = m_ui->projectComboBox->count() - 1; + m_partAdditions << addition; + } + if (m_ui->projectComboBox->count() <= 1) + m_ui->projectComboBox->setEnabled(false); + m_ui->projectComboBox->setCurrentIndex(currentIndex); + m_ui->editWidget->setPlainText(m_partAdditions.value(currentIndex).additionalDirectives); + + connect(m_ui->projectComboBox, SIGNAL(currentIndexChanged(int)), SLOT(projectChanged(int))); + connect(m_ui->editWidget, SIGNAL(textChanged()), SLOT(textChanged())); +} + +CppPreProcessorDialog::~CppPreProcessorDialog() +{ + delete m_ui; +} + +int CppPreProcessorDialog::exec() +{ + if (QDialog::exec() == Rejected) + return Rejected; + + ProjectExplorer::SessionManager::setValue( + QLatin1String(Constants::CPP_PREPROCESSOR_PROJECT_PREFIX) + m_filePath, + m_partAdditions[m_ui->projectComboBox->currentIndex()].projectPart->projectFile); + + foreach (ProjectPartAddition partAddition, m_partAdditions) { + const QString &previousDirectives = ProjectExplorer::SessionManager::value( + partAddition.projectPart->projectFile + + QLatin1Char(',') + + m_filePath).toString(); + if (previousDirectives != partAddition.additionalDirectives) { + ProjectExplorer::SessionManager::setValue( + partAddition.projectPart->projectFile + QLatin1Char(',') + m_filePath, + partAddition.additionalDirectives); + } + } + return Accepted; +} + +QString CppPreProcessorDialog::additionalPreProcessorDirectives() const +{ + return m_ui->editWidget->toPlainText(); +} + +void CppPreProcessorDialog::projectChanged(int index) +{ + m_ui->editWidget->setPlainText(m_partAdditions[index].additionalDirectives); +} + +void CppPreProcessorDialog::textChanged() +{ + m_partAdditions[m_ui->projectComboBox->currentIndex()].additionalDirectives + = m_ui->editWidget->toPlainText(); +} diff --git a/src/plugins/cppeditor/cpppreprocessoradditionwidget.h b/src/plugins/cppeditor/cpppreprocessordialog.h index 828805ca1d..c56e397fe1 100644 --- a/src/plugins/cppeditor/cpppreprocessoradditionwidget.h +++ b/src/plugins/cppeditor/cpppreprocessordialog.h @@ -27,70 +27,47 @@ ** ****************************************************************************/ -#ifndef CPPPREPROCESSORADDITIONWIDGET_H -#define CPPPREPROCESSORADDITIONWIDGET_H +#ifndef CPPPREPROCESSORDIALOG_H +#define CPPPREPROCESSORDIALOG_H #include <cpptools/cppmodelmanagerinterface.h> -#include <utils/tooltip/tooltip.h> -#include <QWidget> -#include <QVariantMap> -#include <QPointer> +#include <QDialog> namespace CppEditor { namespace Internal { -namespace Ui { class CppPreProcessorAdditionWidget; } +namespace Ui { class CppPreProcessorDialog; } -class PreProcessorAdditionWidget : public QWidget -{ - Q_OBJECT - -public: - explicit PreProcessorAdditionWidget(QWidget *parent = 0); - ~PreProcessorAdditionWidget(); - Ui::CppPreProcessorAdditionWidget *ui; +class CPPEditorWidget; -signals: - void finished(); -}; - -class PreProcessorAdditionPopUp : public Utils::ToolTip +class CppPreProcessorDialog : public QDialog { Q_OBJECT public: - ~PreProcessorAdditionPopUp(){} - static PreProcessorAdditionPopUp *instance(); - - void show(QWidget *parent, const QList<CppTools::ProjectPart::Ptr> &projectPartAdditions); - bool eventFilter(QObject *o, QEvent *event); + explicit CppPreProcessorDialog(CPPEditorWidget *editorWidget, + const QList<CppTools::ProjectPart::Ptr> &projectParts); + ~CppPreProcessorDialog(); -signals: - void finished(const QByteArray &additionalDefines); + int exec(); + QString additionalPreProcessorDirectives() const; private slots: - void textChanged(); - void finish(); void projectChanged(int index); - void apply(); - void cancel(); - -protected: - explicit PreProcessorAdditionPopUp(); + void textChanged(); private: struct ProjectPartAddition { CppTools::ProjectPart::Ptr projectPart; - QByteArray additionalDefines; + QString additionalDirectives; }; - PreProcessorAdditionWidget* m_widget; - QList<ProjectPartAddition> m_originalPartAdditions; + Ui::CppPreProcessorDialog *m_ui; QList<ProjectPartAddition> m_partAdditions; - + QString m_filePath; }; -} // namespace CPPEditor } // namespace Internal +} // namespace CPPEditor -#endif // CPPPREPROCESSORADDITIONWIDGET_H +#endif // CPPPREPROCESSORDIALOG_H diff --git a/src/plugins/cppeditor/cpppreprocessordialog.ui b/src/plugins/cppeditor/cpppreprocessordialog.ui new file mode 100644 index 0000000000..28c7b5f47b --- /dev/null +++ b/src/plugins/cppeditor/cpppreprocessordialog.ui @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>CppEditor::Internal::CppPreProcessorDialog</class> + <widget class="QDialog" name="CppEditor::Internal::CppPreProcessorDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>300</height> + </rect> + </property> + <property name="windowTitle"> + <string>Additional C++ Preprocess Directives</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QLabel" name="projectLabel"> + <property name="text"> + <string>Project:</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="projectComboBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="Line" name="separator"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="editorLabel"> + <property name="text"> + <string>Additional C++ Preprocessor Directives for %1:</string> + </property> + </widget> + </item> + <item> + <widget class="TextEditor::SnippetEditorWidget" name="editWidget"/> + </item> + <item> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + </property> + </widget> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>TextEditor::SnippetEditorWidget</class> + <extends>QPlainTextEdit</extends> + <header location="global">texteditor/snippets/snippeteditor.h</header> + </customwidget> + </customwidgets> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>accepted()</signal> + <receiver>CppEditor::Internal::CppPreProcessorDialog</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel"> + <x>248</x> + <y>254</y> + </hint> + <hint type="destinationlabel"> + <x>157</x> + <y>274</y> + </hint> + </hints> + </connection> + <connection> + <sender>buttonBox</sender> + <signal>rejected()</signal> + <receiver>CppEditor::Internal::CppPreProcessorDialog</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel"> + <x>316</x> + <y>260</y> + </hint> + <hint type="destinationlabel"> + <x>286</x> + <y>274</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/src/plugins/cppeditor/cppquickfix_test.cpp b/src/plugins/cppeditor/cppquickfix_test.cpp index 31c4b6513f..55fad435e7 100644 --- a/src/plugins/cppeditor/cppquickfix_test.cpp +++ b/src/plugins/cppeditor/cppquickfix_test.cpp @@ -349,6 +349,186 @@ private: } // anonymous namespace +/// Checks: All enum values are added as case statements for a blank switch. +void CppEditorPlugin::test_quickfix_CompleteSwitchCaseStatement_basic1() +{ + const QByteArray original = + "enum EnumType { V1, V2 };\n" + "\n" + "void f()\n" + "{\n" + " EnumType t;\n" + " @switch (t) {\n" + " }\n" + "}\n"; + ; + const QByteArray expected = + "enum EnumType { V1, V2 };\n" + "\n" + "void f()\n" + "{\n" + " EnumType t;\n" + " switch (t) {\n" + " case V1:\n" + " break;\n" + " case V2:\n" + " break;\n" + " }\n" + "}\n" + "\n" + ; + + CompleteSwitchCaseStatement factory; + TestCase data(original, expected); + data.run(&factory); +} + +/// Checks: All enum values are added as case statements for a blank switch with a default case. +void CppEditorPlugin::test_quickfix_CompleteSwitchCaseStatement_basic2() +{ + const QByteArray original = + "enum EnumType { V1, V2 };\n" + "\n" + "void f()\n" + "{\n" + " EnumType t;\n" + " @switch (t) {\n" + " default:\n" + " break;\n" + " }\n" + "}\n"; + ; + const QByteArray expected = + "enum EnumType { V1, V2 };\n" + "\n" + "void f()\n" + "{\n" + " EnumType t;\n" + " switch (t) {\n" + " case V1:\n" + " break;\n" + " case V2:\n" + " break;\n" + " default:\n" + " break;\n" + " }\n" + "}\n" + "\n" + ; + + CompleteSwitchCaseStatement factory; + TestCase data(original, expected); + data.run(&factory); +} + +/// Checks: The missing enum value is added. +void CppEditorPlugin::test_quickfix_CompleteSwitchCaseStatement_oneValueMissing() +{ + const QByteArray original = + "enum EnumType { V1, V2 };\n" + "\n" + "void f()\n" + "{\n" + " EnumType t;\n" + " @switch (t) {\n" + " case V2:\n" + " break;\n" + " default:\n" + " break;\n" + " }\n" + "}\n"; + ; + const QByteArray expected = + "enum EnumType { V1, V2 };\n" + "\n" + "void f()\n" + "{\n" + " EnumType t;\n" + " switch (t) {\n" + " case V1:\n" + " break;\n" + " case V2:\n" + " break;\n" + " default:\n" + " break;\n" + " }\n" + "}\n" + "\n" + ; + + CompleteSwitchCaseStatement factory; + TestCase data(original, expected); + data.run(&factory); +} + +/// Checks: Find the correct enum type despite there being a declaration with the same name. +void CppEditorPlugin::test_quickfix_CompleteSwitchCaseStatement_QTCREATORBUG10366_1() +{ + const QByteArray original = + "enum test { TEST_1, TEST_2 };\n" + "\n" + "void f() {\n" + " enum test test;\n" + " @switch (test) {\n" + " }\n" + "}\n" + ; + const QByteArray expected = + "enum test { TEST_1, TEST_2 };\n" + "\n" + "void f() {\n" + " enum test test;\n" + " switch (test) {\n" + " case TEST_1:\n" + " break;\n" + " case TEST_2:\n" + " break;\n" + " }\n" + "}\n" + "\n" + ; + + CompleteSwitchCaseStatement factory; + TestCase data(original, expected); + data.run(&factory); +} + +/// Checks: Find the correct enum type despite there being a declaration with the same name. +void CppEditorPlugin::test_quickfix_CompleteSwitchCaseStatement_QTCREATORBUG10366_2() +{ + const QByteArray original = + "enum test1 { Wrong11, Wrong12 };\n" + "enum test { Right1, Right2 };\n" + "enum test2 { Wrong21, Wrong22 };\n" + "\n" + "int main() {\n" + " enum test test;\n" + " @switch (test) {\n" + " }\n" + "}\n" + ; + const QByteArray expected = + "enum test1 { Wrong11, Wrong12 };\n" + "enum test { Right1, Right2 };\n" + "enum test2 { Wrong21, Wrong22 };\n" + "\n" + "int main() {\n" + " enum test test;\n" + " switch (test) {\n" + " case Right1:\n" + " break;\n" + " case Right2:\n" + " break;\n" + " }\n" + "}\n" + "\n" + ; + + CompleteSwitchCaseStatement factory; + TestCase data(original, expected); + data.run(&factory); +} + /// Checks: /// 1. If the name does not start with ("m_" or "_") and does not /// end with "_", we are forced to prefix the getter with "get". diff --git a/src/plugins/cppeditor/cppquickfixes.cpp b/src/plugins/cppeditor/cppquickfixes.cpp index dcdd879686..6956cb9c78 100644 --- a/src/plugins/cppeditor/cppquickfixes.cpp +++ b/src/plugins/cppeditor/cppquickfixes.cpp @@ -2295,9 +2295,16 @@ Enum *findEnum(const QList<LookupItem> &results, const LookupContext &ctxt) if (Enum *e = type->asEnumType()) return e; if (const NamedType *namedType = type->asNamedType()) { - const QList<LookupItem> candidates = - ctxt.lookup(namedType->name(), result.scope()); - return findEnum(candidates, ctxt); + if (ClassOrNamespace *con = ctxt.lookupType(namedType->name(), result.scope())) { + const QList<Enum *> enums = con->unscopedEnums(); + const Name *referenceName = namedType->name(); + foreach (Enum *e, enums) { + if (const Name *candidateName = e->name()) { + if (candidateName->isEqualTo(referenceName)) + return e; + } + } + } } } diff --git a/src/plugins/cpptools/cppcompletion_test.cpp b/src/plugins/cpptools/cppcompletion_test.cpp index 755d0d9b98..3eed35b507 100644 --- a/src/plugins/cpptools/cppcompletion_test.cpp +++ b/src/plugins/cpptools/cppcompletion_test.cpp @@ -2070,6 +2070,55 @@ void CppToolsPlugin::test_completion_recursive_using_typedef_declarations() QCOMPARE(completions.size(), 0); } +void CppToolsPlugin::test_completion_recursive_typedefs_in_templates1() +{ + const QByteArray source = + "template<typename From>\n" + "struct simplify_type {\n" + " typedef From SimpleType;\n" + "};\n" + "\n" + "template<class To, class From>\n" + "struct cast_retty {\n" + " typedef typename cast_retty_wrap<To, From,\n" + " typename simplify_type<From>::SimpleType>::ret_type ret_type;\n" + "};\n" + "\n" + "template<class To, class From, class SimpleFrom>\n" + "struct cast_retty_wrap {\n" + " typedef typename cast_retty<To, SimpleFrom>::ret_type ret_type;\n" + "};\n" + "\n" + "void f()\n" + "{\n" + " @;\n" + "}\n" + ; + CompletionTestCase test(source, "cast_retty<T1, T2>::ret_type."); + + const QStringList completions = test.getCompletions(); + QCOMPARE(completions.size(), 0); +} + +void CppToolsPlugin::test_completion_recursive_typedefs_in_templates2() +{ + const QByteArray source = + "template<class T>\n" + "struct recursive {\n" + " typedef typename recursive<T>::ret_type ret_type;\n" + "};\n" + "\n" + "void f()\n" + "{\n" + " @;\n" + "}\n" + ; + CompletionTestCase test(source, "recursive<T1>::ret_type.foo"); + + const QStringList completions = test.getCompletions(); + QCOMPARE(completions.size(), 0); +} + void CppToolsPlugin::test_completion_prefix_first_QTCREATORBUG_8737() { const QByteArray source = diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp index 4e5957ca45..2bd90a6059 100644 --- a/src/plugins/cpptools/cppfindreferences.cpp +++ b/src/plugins/cpptools/cppfindreferences.cpp @@ -72,6 +72,97 @@ static QByteArray getSource(const QString &fileName, } } +static QByteArray typeId(Symbol *symbol) +{ + if (symbol->asEnum()) { + return QByteArray("e"); + } else if (symbol->asFunction()) { + return QByteArray("f"); + } else if (symbol->asNamespace()) { + return QByteArray("n"); + } else if (symbol->asTemplate()) { + return QByteArray("t"); + } else if (symbol->asNamespaceAlias()) { + return QByteArray("na"); + } else if (symbol->asClass()) { + return QByteArray("c"); + } else if (symbol->asBlock()) { + return QByteArray("b"); + } else if (symbol->asUsingNamespaceDirective()) { + return QByteArray("u"); + } else if (symbol->asUsingDeclaration()) { + return QByteArray("ud"); + } else if (symbol->asDeclaration()) { + QByteArray temp("d,"); + Overview pretty; + temp.append(pretty.prettyType(symbol->type()).toLatin1()); + return temp; + } else if (symbol->asArgument()) { + return QByteArray("a"); + } else if (symbol->asTypenameArgument()) { + return QByteArray("ta"); + } else if (symbol->asBaseClass()) { + return QByteArray("bc"); + } else if (symbol->asForwardClassDeclaration()) { + return QByteArray("fcd"); + } else if (symbol->asQtPropertyDeclaration()) { + return QByteArray("qpd"); + } else if (symbol->asQtEnum()) { + return QByteArray("qe"); + } else if (symbol->asObjCBaseClass()) { + return QByteArray("ocbc"); + } else if (symbol->asObjCBaseProtocol()) { + return QByteArray("ocbp"); + } else if (symbol->asObjCClass()) { + return QByteArray("occ"); + } else if (symbol->asObjCForwardClassDeclaration()) { + return QByteArray("ocfd"); + } else if (symbol->asObjCProtocol()) { + return QByteArray("ocp"); + } else if (symbol->asObjCForwardProtocolDeclaration()) { + return QByteArray("ocfpd"); + } else if (symbol->asObjCMethod()) { + return QByteArray("ocm"); + } else if (symbol->asObjCPropertyDeclaration()) { + return QByteArray("ocpd"); + } + return QByteArray("unknown"); +} + +static QByteArray idForSymbol(Symbol *symbol) +{ + QByteArray uid(typeId(symbol)); + if (const Identifier *id = symbol->identifier()) { + uid.append("|"); + uid.append(QByteArray(id->chars(), id->size())); + } else if (Scope *scope = symbol->enclosingScope()) { + // add the index of this symbol within its enclosing scope + // (counting symbols without identifier of the same type) + int count = 0; + Scope::iterator it = scope->firstMember(); + while (it != scope->lastMember() && *it != symbol) { + Symbol *val = *it; + ++it; + if (val->identifier() || typeId(val) != uid) + continue; + ++count; + } + uid.append(QString::number(count).toLocal8Bit()); + } + return uid; +} + +static QList<QByteArray> fullIdForSymbol(Symbol *symbol) +{ + QList<QByteArray> uid; + Symbol *current = symbol; + do { + uid.prepend(idForSymbol(current)); + current = current->enclosingScope(); + } while (current); + return uid; +} + namespace { class ProcessFile: public std::unary_function<QString, QList<Usage> > @@ -246,10 +337,10 @@ void CppFindReferences::findUsages(CPlusPlus::Symbol *symbol, search->setSearchAgainSupported(true); connect(search, SIGNAL(searchAgainRequested()), this, SLOT(searchAgain())); CppFindReferencesParameters parameters; - parameters.context = context; - parameters.symbol = symbol; + parameters.symbolId = fullIdForSymbol(symbol); + parameters.symbolFileName = QByteArray(symbol->fileName()); search->setUserData(qVariantFromValue(parameters)); - findAll_helper(search); + findAll_helper(search, symbol, context); } void CppFindReferences::renameUsages(CPlusPlus::Symbol *symbol, const CPlusPlus::LookupContext &context, @@ -262,10 +353,10 @@ void CppFindReferences::renameUsages(CPlusPlus::Symbol *symbol, const CPlusPlus: } } -void CppFindReferences::findAll_helper(Find::SearchResult *search) +void CppFindReferences::findAll_helper(Find::SearchResult *search, CPlusPlus::Symbol *symbol, + const CPlusPlus::LookupContext &context) { - CppFindReferencesParameters parameters = search->userData().value<CppFindReferencesParameters>(); - if (!(parameters.symbol && parameters.symbol->identifier())) { + if (!(symbol && symbol->identifier())) { search->finishSearch(false); return; } @@ -276,8 +367,7 @@ void CppFindReferences::findAll_helper(Find::SearchResult *search) Find::SearchResultWindow::instance()->popup(IOutputPane::ModeSwitch | IOutputPane::WithFocus); const CppModelManagerInterface::WorkingCopy workingCopy = _modelManager->workingCopy(); QFuture<Usage> result; - result = QtConcurrent::run(&find_helper, workingCopy, - parameters.context, this, parameters.symbol); + result = QtConcurrent::run(&find_helper, workingCopy, context, this, symbol); createWatcher(result, search); FutureProgress *progress = ProgressManager::addTask(result, tr("Searching"), @@ -303,92 +393,13 @@ void CppFindReferences::searchAgain() CppFindReferencesParameters parameters = search->userData().value<CppFindReferencesParameters>(); Snapshot snapshot = CppModelManagerInterface::instance()->snapshot(); search->restart(); - if (!findSymbol(¶meters, snapshot)) { + LookupContext context; + Symbol *symbol = findSymbol(parameters, snapshot, &context); + if (!symbol) { search->finishSearch(false); return; } - search->setUserData(qVariantFromValue(parameters)); - findAll_helper(search); -} - -static QByteArray typeId(Symbol *symbol) -{ - if (symbol->asEnum()) { - return QByteArray("e"); - } else if (symbol->asFunction()) { - return QByteArray("f"); - } else if (symbol->asNamespace()) { - return QByteArray("n"); - } else if (symbol->asTemplate()) { - return QByteArray("t"); - } else if (symbol->asNamespaceAlias()) { - return QByteArray("na"); - } else if (symbol->asClass()) { - return QByteArray("c"); - } else if (symbol->asBlock()) { - return QByteArray("b"); - } else if (symbol->asUsingNamespaceDirective()) { - return QByteArray("u"); - } else if (symbol->asUsingDeclaration()) { - return QByteArray("ud"); - } else if (symbol->asDeclaration()) { - QByteArray temp("d,"); - Overview pretty; - temp.append(pretty.prettyType(symbol->type()).toLatin1()); - return temp; - } else if (symbol->asArgument()) { - return QByteArray("a"); - } else if (symbol->asTypenameArgument()) { - return QByteArray("ta"); - } else if (symbol->asBaseClass()) { - return QByteArray("bc"); - } else if (symbol->asForwardClassDeclaration()) { - return QByteArray("fcd"); - } else if (symbol->asQtPropertyDeclaration()) { - return QByteArray("qpd"); - } else if (symbol->asQtEnum()) { - return QByteArray("qe"); - } else if (symbol->asObjCBaseClass()) { - return QByteArray("ocbc"); - } else if (symbol->asObjCBaseProtocol()) { - return QByteArray("ocbp"); - } else if (symbol->asObjCClass()) { - return QByteArray("occ"); - } else if (symbol->asObjCForwardClassDeclaration()) { - return QByteArray("ocfd"); - } else if (symbol->asObjCProtocol()) { - return QByteArray("ocp"); - } else if (symbol->asObjCForwardProtocolDeclaration()) { - return QByteArray("ocfpd"); - } else if (symbol->asObjCMethod()) { - return QByteArray("ocm"); - } else if (symbol->asObjCPropertyDeclaration()) { - return QByteArray("ocpd"); - } - return QByteArray("unknown"); -} - -static QByteArray idForSymbol(Symbol *symbol) -{ - QByteArray uid(typeId(symbol)); - if (const Identifier *id = symbol->identifier()) { - uid.append("|"); - uid.append(QByteArray(id->chars(), id->size())); - } else if (Scope *scope = symbol->enclosingScope()) { - // add the index of this symbol within its enclosing scope - // (counting symbols without identifier of the same type) - int count = 0; - Scope::iterator it = scope->firstMember(); - while (it != scope->lastMember() && *it != symbol) { - Symbol *val = *it; - ++it; - if (val->identifier() || typeId(val) != uid) - continue; - ++count; - } - uid.append(QString::number(count).toLocal8Bit()); - } - return uid; + findAll_helper(search, symbol, context); } namespace { @@ -430,12 +441,13 @@ private: }; } -bool CppFindReferences::findSymbol(CppFindReferencesParameters *parameters, - const Snapshot &snapshot) +CPlusPlus::Symbol *CppFindReferences::findSymbol(const CppFindReferencesParameters ¶meters, + const Snapshot &snapshot, LookupContext *context) { - QString symbolFile = QLatin1String(parameters->symbol->fileName()); + QTC_ASSERT(context, return 0); + QString symbolFile = QLatin1String(parameters.symbolFileName); if (!snapshot.contains(symbolFile)) - return false; + return 0; Document::Ptr newSymbolDocument = snapshot.document(symbolFile); // document is not parsed and has no bindings yet, do it @@ -444,22 +456,14 @@ bool CppFindReferences::findSymbol(CppFindReferencesParameters *parameters, snapshot.preprocessedDocument(source, newSymbolDocument->fileName()); doc->check(); - // construct id of old symbol - QList<QByteArray> uid; - Symbol *current = parameters->symbol; - do { - uid.prepend(idForSymbol(current)); - current = current->enclosingScope(); - } while (current); // find matching symbol in new document and return the new parameters - SymbolFinder finder(uid); + SymbolFinder finder(parameters.symbolId); finder.accept(doc->globalNamespace()); if (finder.result()) { - parameters->symbol = finder.result(); - parameters->context = LookupContext(doc, snapshot); - return true; + *context = LookupContext(doc, snapshot); + return finder.result(); } - return false; + return 0; } void CppFindReferences::displayResults(int first, int last) diff --git a/src/plugins/cpptools/cppfindreferences.h b/src/plugins/cpptools/cppfindreferences.h index 13f2da5fc6..c902ed0a85 100644 --- a/src/plugins/cpptools/cppfindreferences.h +++ b/src/plugins/cpptools/cppfindreferences.h @@ -54,8 +54,8 @@ namespace Internal { class CppFindReferencesParameters { public: - CPlusPlus::LookupContext context; - CPlusPlus::Symbol *symbol; + QList<QByteArray> symbolId; + QByteArray symbolFileName; }; class CppFindReferences: public QObject @@ -92,12 +92,13 @@ private: const QString &replacement, bool replace); void findMacroUses(const CPlusPlus::Macro ¯o, const QString &replacement, bool replace); - void findAll_helper(Find::SearchResult *search); + void findAll_helper(Find::SearchResult *search, CPlusPlus::Symbol *symbol, + const CPlusPlus::LookupContext &context); CPlusPlus::DependencyTable dependencyTable() const; void setDependencyTable(const CPlusPlus::DependencyTable &newTable); void createWatcher(const QFuture<CPlusPlus::Usage> &future, Find::SearchResult *search); - bool findSymbol(CppFindReferencesParameters *parameters, - const CPlusPlus::Snapshot &snapshot); + CPlusPlus::Symbol *findSymbol(const CppFindReferencesParameters ¶meters, + const CPlusPlus::Snapshot &snapshot, CPlusPlus::LookupContext *context); private: QPointer<CppModelManagerInterface> _modelManager; diff --git a/src/plugins/cpptools/cpptoolsplugin.h b/src/plugins/cpptools/cpptoolsplugin.h index da09cbe15e..d9633708dc 100644 --- a/src/plugins/cpptools/cpptoolsplugin.h +++ b/src/plugins/cpptools/cpptoolsplugin.h @@ -153,6 +153,8 @@ private slots: void test_completion_recursive_using_declarations1(); void test_completion_recursive_using_declarations2(); void test_completion_recursive_using_typedef_declarations(); + void test_completion_recursive_typedefs_in_templates1(); + void test_completion_recursive_typedefs_in_templates2(); void test_completion_prefix_first_QTCREATORBUG_8737(); void test_completion_prefix_first_QTCREATORBUG_9236(); diff --git a/src/plugins/debugger/breakwindow.cpp b/src/plugins/debugger/breakwindow.cpp index 66443ef1f3..310f99751c 100644 --- a/src/plugins/debugger/breakwindow.cpp +++ b/src/plugins/debugger/breakwindow.cpp @@ -33,6 +33,7 @@ #include "debuggeractions.h" #include "debuggercore.h" +#include <coreplugin/mainwindow.h> #include <utils/pathchooser.h> #include <utils/qtcassert.h> #include <utils/savedaction.h> @@ -865,7 +866,7 @@ void BreakTreeView::setBreakpointsEnabled(const BreakpointModelIds &ids, bool en void BreakTreeView::deleteAllBreakpoints() { - if (QMessageBox::warning(debuggerCore()->mainWindow(), + if (QMessageBox::warning(Core::ICore::mainWindow(), tr("Remove All Breakpoints"), tr("Are you sure you want to remove all breakpoints " "from all files in the current session?"), diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 1b0eada5ad..52331b4e18 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -207,7 +207,7 @@ static QMessageBox * nonModalMessageBox(QMessageBox::Icon icon, const QString &title, const QString &text) { QMessageBox *mb = new QMessageBox(icon, title, text, QMessageBox::Ok, - debuggerCore()->mainWindow()); + Core::ICore::mainWindow()); mb->setAttribute(Qt::WA_DeleteOnClose); mb->show(); return mb; diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 571cdc48d3..7f422ec8cc 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -66,6 +66,7 @@ #include <QDebug> #include <QTimer> #include <QFileInfo> +#include <QDir> #include <QMessageBox> @@ -534,7 +535,7 @@ void DebuggerEngine::gotoLocation(const Location &loc) // return; - const QString file = loc.fileName(); + const QString file = QDir::cleanPath(loc.fileName()); const int line = loc.lineNumber(); bool newEditor = false; IEditor *editor = EditorManager::openEditor(file, Id(), diff --git a/src/plugins/debugger/debuggerkitconfigwidget.cpp b/src/plugins/debugger/debuggerkitconfigwidget.cpp index 06467f50f0..ece61bb99e 100644 --- a/src/plugins/debugger/debuggerkitconfigwidget.cpp +++ b/src/plugins/debugger/debuggerkitconfigwidget.cpp @@ -86,52 +86,157 @@ DebuggerKitInformation::DebuggerKitInformation() QVariant DebuggerKitInformation::defaultValue(Kit *k) const { -// This is only called from Kit::Kit() -// if (isValidDebugger(k)) { -// DebuggerItem *item = DebuggerItemManager::debuggerFromKit(k); -// QTC_ASSERT(item, return QVariant()); -// return item->id; -// } - ToolChain *tc = ToolChainKitInformation::toolChain(k); - return DebuggerItemManager::defaultDebugger(tc); + QTC_ASSERT(tc, return QVariant()); + + const Abi toolChainAbi = tc->targetAbi(); + foreach (const DebuggerItem &item, DebuggerItemManager::debuggers()) + foreach (const Abi targetAbi, item.abis()) + if (targetAbi.isCompatibleWith(toolChainAbi)) + return item.id(); + + return QVariant(); } void DebuggerKitInformation::setup(Kit *k) { - k->setValue(DebuggerKitInformation::id(), defaultValue(k)); -} + // Get one of the available debugger matching the kit's toolchain. + const ToolChain *tc = ToolChainKitInformation::toolChain(k); + const Abi toolChainAbi = tc ? tc->targetAbi() : Abi::hostAbi(); -// Check the configuration errors and return a flag mask. Provide a quick check and -// a verbose one with a list of errors. + // This can be anything (Id, binary path, "auto") + const QVariant rawId = k->value(DebuggerKitInformation::id()); -enum DebuggerConfigurationErrors { - NoDebugger = 0x1, - DebuggerNotFound = 0x2, - DebuggerNotExecutable = 0x4, - DebuggerNeedsAbsolutePath = 0x8 -}; - -static QVariant debuggerPathOrId(const Kit *k) -{ - QTC_ASSERT(k, return QString()); - QVariant id = k->value(DebuggerKitInformation::id()); - if (!id.isValid()) - return id; // Invalid. + enum { + NotDetected, DetectedAutomatically, DetectedByFile, DetectedById + } detection = NotDetected; + DebuggerEngineType autoEngine = NoEngineType; + FileName fileName; // With 3.0 we have: // <value type="QString" key="Debugger.Information">{75ecf347-f221-44c3-b613-ea1d29929cd4}</value> - if (id.type() == QVariant::String) - return id; - // Before we had: // <valuemap type="QVariantMap" key="Debugger.Information"> // <value type="QString" key="Binary">/data/dev/debugger/gdb-git/gdb/gdb</value> // <value type="int" key="EngineType">1</value> // </valuemap> - return id.toMap().value(QLatin1String("Binary")); + // Or for force auto-detected CDB + // <valuemap type="QVariantMap" key="Debugger.Information"> + // <value type="QString" key="Binary">auto</value> + // <value type="int" key="EngineType">4</value> + // </valuemap> + + if (rawId.isNull()) { + // Initial setup of a kit + detection = NotDetected; + } else if (rawId.type() == QVariant::String) { + detection = DetectedById; + } else { + QMap<QString, QVariant> map = rawId.toMap(); + QString binary = map.value(QLatin1String("Binary")).toString(); + if (binary == QLatin1String("auto")) { + detection = DetectedAutomatically; + autoEngine = DebuggerEngineType(map.value(QLatin1String("EngineType")).toInt()); + } else { + detection = DetectedByFile; + fileName = FileName::fromUserInput(binary); + } + } + + const DebuggerItem *bestItem = 0; + DebuggerItem::MatchLevel bestLevel = DebuggerItem::DoesNotMatch; + foreach (const DebuggerItem &item, DebuggerItemManager::debuggers()) { + const DebuggerItem *goodItem = 0; + if (detection == DetectedById && item.id() == rawId) + goodItem = &item; + if (detection == DetectedByFile && item.command() == fileName) + goodItem = &item; + if (detection == DetectedAutomatically && item.engineType() == autoEngine) + goodItem = &item; + + if (goodItem) { + DebuggerItem::MatchLevel level = goodItem->matchTarget(toolChainAbi); + if (level > bestLevel) { + bestLevel = level; + bestItem = goodItem; + } + } + } + + // If we have an existing debugger with matching id _and_ + // matching target ABI we are fine. + if (bestItem) { + k->setValue(DebuggerKitInformation::id(), bestItem->id()); + return; + } + + // We didn't find an existing debugger that matched by whatever + // data we found in the kit (i.e. no id, filename, "auto") + // (or what we found did not match ABI-wise) + // Let's try to pick one with matching ABI. + QVariant bestId; + bestLevel = DebuggerItem::DoesNotMatch; + foreach (const DebuggerItem &item, DebuggerItemManager::debuggers()) { + DebuggerItem::MatchLevel level = item.matchTarget(toolChainAbi); + if (level > bestLevel) { + bestLevel = level; + bestId = item.id(); + } + } + + k->setValue(DebuggerKitInformation::id(), bestId); } + +// This handles the upgrade path from 2.8 to 3.0 +void DebuggerKitInformation::fix(Kit *k) +{ + // This can be Id, binary path, but not "auto" anymore. + const QVariant rawId = k->value(DebuggerKitInformation::id()); + + if (rawId.isNull()) // No debugger set, that is fine. + return; + + if (rawId.type() == QVariant::String) { + if (!DebuggerItemManager::findById(rawId)) { + qWarning("Unknown debugger id %s in kit %s", + qPrintable(rawId.toString()), qPrintable(k->displayName())); + k->setValue(DebuggerKitInformation::id(), QVariant()); + } + return; // All fine (now). + } + + QMap<QString, QVariant> map = rawId.toMap(); + QString binary = map.value(QLatin1String("Binary")).toString(); + if (binary == QLatin1String("auto")) { + // This should not happen as "auto" is handled by setup() already. + QTC_CHECK(false); + k->setValue(DebuggerKitInformation::id(), QVariant()); + return; + } + + FileName fileName = FileName::fromUserInput(binary); + const DebuggerItem *item = DebuggerItemManager::findByCommand(fileName); + if (!item) { + qWarning("Debugger command %s invalid in kit %s", + qPrintable(binary), qPrintable(k->displayName())); + k->setValue(DebuggerKitInformation::id(), QVariant()); + return; + } + + k->setValue(DebuggerKitInformation::id(), item->id()); +} + +// Check the configuration errors and return a flag mask. Provide a quick check and +// a verbose one with a list of errors. + +enum DebuggerConfigurationErrors { + NoDebugger = 0x1, + DebuggerNotFound = 0x2, + DebuggerNotExecutable = 0x4, + DebuggerNeedsAbsolutePath = 0x8 +}; + static unsigned debuggerConfigurationErrors(const Kit *k) { QTC_ASSERT(k, return NoDebugger); @@ -165,16 +270,9 @@ static unsigned debuggerConfigurationErrors(const Kit *k) const DebuggerItem *DebuggerKitInformation::debugger(const Kit *kit) { - if (!kit) - return 0; - QVariant pathOrId = debuggerPathOrId(kit); - foreach (const DebuggerItem &item, DebuggerItemManager::debuggers()) { - if (item.id() == pathOrId) - return &item; - if (item.command() == FileName::fromUserInput(pathOrId.toString())) - return &item; - } - return 0; + QTC_ASSERT(kit, return 0); + const QVariant id = kit->value(DebuggerKitInformation::id()); + return DebuggerItemManager::findById(id); } bool DebuggerKitInformation::isValidDebugger(const Kit *k) @@ -276,32 +374,39 @@ static FileName userSettingsFileName() return FileName::fromString(settingsLocation.absolutePath() + QLatin1String(DEBUGGER_FILENAME)); } -static QList<DebuggerItem> readDebuggers(const FileName &fileName) +static void readDebuggers(const FileName &fileName, bool isSystem) { - QList<DebuggerItem> result; - PersistentSettingsReader reader; if (!reader.load(fileName)) - return result; + return; QVariantMap data = reader.restoreValues(); // Check version int version = data.value(QLatin1String(DEBUGGER_FILE_VERSION_KEY), 0).toInt(); if (version < 1) - return result; + return; int count = data.value(QLatin1String(DEBUGGER_COUNT_KEY), 0).toInt(); for (int i = 0; i < count; ++i) { const QString key = QString::fromLatin1(DEBUGGER_DATA_KEY) + QString::number(i); if (!data.contains(key)) - break; + continue; const QVariantMap dbMap = data.value(key).toMap(); DebuggerItem item; item.fromMap(dbMap); - result.append(item); + if (isSystem) { + item.setAutoDetected(true); + // SDK debuggers are always considered to be up-to-date, so no need to recheck them. + } else { + // User settings. + if (item.isAutoDetected() && !item.isValid()) { + qWarning() << QString::fromLatin1("DebuggerItem \"%1\" (%2) dropped since it is not valid") + .arg(item.command().toString()).arg(item.id().toString()); + continue; + } + } + DebuggerItemManager::registerDebugger(item); } - - return result; } QList<DebuggerItem> DebuggerItemManager::m_debuggers; @@ -340,7 +445,7 @@ DebuggerItemModel *DebuggerItemManager::model() return m_model; } -void DebuggerItemManager::autoDetectCdbDebugger() +void DebuggerItemManager::autoDetectCdbDebuggers() { QList<FileName> cdbs; @@ -398,16 +503,34 @@ void DebuggerItemManager::autoDetectCdbDebugger() } } -void DebuggerItemManager::autoDetectDebuggers() +void DebuggerItemManager::autoDetectGdbOrLldbDebuggers() { - autoDetectCdbDebugger(); - QStringList filters; filters.append(QLatin1String("gdb-i686-pc-mingw32")); filters.append(QLatin1String("gdb")); filters.append(QLatin1String("lldb")); filters.append(QLatin1String("lldb-*")); +// DebuggerItem result; +// result.setAutoDetected(true); +// result.setDisplayName(tr("Auto-detected for Tool Chain %1").arg(tc->displayName())); + /* + // Check suggestions from the SDK. + Environment env = Environment::systemEnvironment(); + if (tc) { + tc->addToEnvironment(env); // Find MinGW gdb in toolchain environment. + QString path = tc->suggestedDebugger().toString(); + if (!path.isEmpty()) { + const QFileInfo fi(path); + if (!fi.isAbsolute()) + path = env.searchInPath(path); + result.command = FileName::fromString(path); + result.engineType = engineTypeFromBinary(path); + return maybeAddDebugger(result, false); + } + } + */ + QFileInfoList suspects; QStringList path = Environment::systemEnvironment().path(); @@ -457,6 +580,8 @@ void DebuggerItemManager::readLegacyDebuggers() continue; if (fn.startsWith(QLatin1Char('{'))) continue; + if (fn == QLatin1String("auto")) + continue; FileName command = FileName::fromUserInput(fn); if (findByCommand(command)) continue; @@ -489,46 +614,16 @@ const DebuggerItem *DebuggerItemManager::findById(const QVariant &id) void DebuggerItemManager::restoreDebuggers() { - QList<DebuggerItem> dbsToCheck; - // Read debuggers from SDK QFileInfo systemSettingsFile(Core::ICore::settings(QSettings::SystemScope)->fileName()); - QList<DebuggerItem> dbsToRegister = - readDebuggers(FileName::fromString(systemSettingsFile.absolutePath() + QLatin1String(DEBUGGER_FILENAME))); - - // These are autodetected. - for (int i = 0, n = dbsToRegister.size(); i != n; ++i) - dbsToRegister[i].setAutoDetected(true); - - // SDK debuggers are always considered to be up-to-date, so no need to recheck them. + readDebuggers(FileName::fromString(systemSettingsFile.absolutePath() + QLatin1String(DEBUGGER_FILENAME)), true); // Read all debuggers from user file. - foreach (const DebuggerItem &item, readDebuggers(userSettingsFileName())) { - if (item.isAutoDetected()) - dbsToCheck.append(item); - else - dbsToRegister.append(item); - } - - // Keep debuggers that were not rediscovered but are still executable and delete the rest - foreach (const DebuggerItem &item, dbsToCheck) { - if (!item.isValid()) { - qWarning() << QString::fromLatin1("DebuggerItem \"%1\" (%2) dropped since it is not valid") - .arg(item.command().toString()).arg(item.id().toString()); - } else { - dbsToRegister.append(item); - } - } - - for (int i = 0, n = dbsToRegister.size(); i != n; ++i) { - DebuggerItem item = dbsToRegister.at(i); - if (findByCommand(item.command())) - continue; - addDebugger(item); - } + readDebuggers(userSettingsFileName(), false); // Auto detect current. - autoDetectDebuggers(); + autoDetectCdbDebuggers(); + autoDetectGdbOrLldbDebuggers(); // Add debuggers from pre-3.x profiles.xml readLegacyDebuggers(); @@ -560,7 +655,6 @@ void DebuggerItemManager::registerDebugger(const DebuggerItem &item) { if (findByCommand(item.command())) return; - addDebugger(item); } @@ -617,72 +711,6 @@ void DebuggerItemManager::setItemData(const QVariant &id, const QString &display } } -QVariant DebuggerItemManager::defaultDebugger(ToolChain *tc) -{ - QTC_ASSERT(tc, return QVariant()); - - DebuggerItem result; - result.setAutoDetected(true); - result.setDisplayName(tr("Auto-detected for Tool Chain %1").arg(tc->displayName())); - - Abi abi = Abi::hostAbi(); - if (tc) - abi = tc->targetAbi(); - -// if (abis.first().wordWidth() == 32) -// result.first = cdb.toString(); -// else if (abis.first().wordWidth() == 64) -// result.second = cdb.toString(); -// // prefer 64bit debugger, even for 32bit binaries: -// if (!result.second.isEmpty()) -// result.first = result.second; - - - foreach (const DebuggerItem &item, m_debuggers) - foreach (const Abi targetAbi, item.abis()) - if (targetAbi.isCompatibleWith(abi)) - return item.id(); - - return QVariant(); - - /* - // CDB for windows: - if (abi.os() == Abi::WindowsOS && abi.osFlavor() != Abi::WindowsMSysFlavor) { - QPair<QString, QString> cdbs = autoDetectCdbDebugger(); - result.command = FileName::fromString(abi.wordWidth() == 32 ? cdbs.first : cdbs.second); - result.engineType = CdbEngineType; - return maybeAddDebugger(result, false); - } - - // Check suggestions from the SDK. - Environment env = Environment::systemEnvironment(); - if (tc) { - tc->addToEnvironment(env); // Find MinGW gdb in toolchain environment. - QString path = tc->suggestedDebugger().toString(); - if (!path.isEmpty()) { - const QFileInfo fi(path); - if (!fi.isAbsolute()) - path = env.searchInPath(path); - result.command = FileName::fromString(path); - result.engineType = engineTypeFromBinary(path); - return maybeAddDebugger(result, false); - } - } - - // Default to GDB, system GDB - result.engineType = GdbEngineType; - QString gdb; - const QString systemGdb = QLatin1String("gdb"); - // MinGW: Search for the python-enabled gdb first. - if (abi.os() == Abi::WindowsOS && abi.osFlavor() == Abi::WindowsMSysFlavor) - gdb = env.searchInPath(QLatin1String("gdb-i686-pc-mingw32")); - if (gdb.isEmpty()) - gdb = env.searchInPath(systemGdb); - result.command = FileName::fromString(env.searchInPath(gdb.isEmpty() ? systemGdb : gdb)); - return maybeAddDebugger(result, false); - */ -} - namespace Internal { static QList<QStandardItem *> describeItem(const DebuggerItem &item) @@ -924,7 +952,9 @@ void DebuggerKitConfigWidget::manageDebuggers() void DebuggerKitConfigWidget::currentDebuggerChanged(int) { - m_kit->setValue(DebuggerKitInformation::id(), m_comboBox->itemData(m_comboBox->currentIndex())); + int currentIndex = m_comboBox->currentIndex(); + QVariant id = m_comboBox->itemData(currentIndex); + m_kit->setValue(DebuggerKitInformation::id(), id); } void DebuggerKitConfigWidget::onDebuggerAdded(const QVariant &id, const QString &displayName) diff --git a/src/plugins/debugger/debuggerkitinformation.cpp b/src/plugins/debugger/debuggerkitinformation.cpp index 01c0ddba56..fc01bf2e6a 100644 --- a/src/plugins/debugger/debuggerkitinformation.cpp +++ b/src/plugins/debugger/debuggerkitinformation.cpp @@ -67,15 +67,22 @@ void DebuggerItem::reinitializeFromFile() QByteArray ba = proc.readAll(); if (ba.contains("gdb")) { m_engineType = GdbEngineType; -// const char needle[] = "This GDB was configured as \""; -// int pos1 = ba.indexOf(needle); -// if (pos1 != -1) { -// pos1 += sizeof(needle); -// int pos2 = ba.indexOf('"', pos1 + 1); -// QByteArray target = ba.mid(pos1, pos2 - pos1); -// abis.append(Abi::abiFromTargetTriplet(target)); // FIXME: Doesn't exist yet. -// } - m_abis = Abi::abisOfBinary(m_command); // FIXME: Wrong. + const char needle[] = "This GDB was configured as \""; + // E.g. "--host=i686-pc-linux-gnu --target=arm-unknown-nto-qnx6.5.0". + // or "i686-linux-gnu" + int pos1 = ba.indexOf(needle); + if (pos1 != -1) { + pos1 += int(sizeof(needle)); + int pos2 = ba.indexOf('"', pos1 + 1); + QByteArray target = ba.mid(pos1, pos2 - pos1); + int pos3 = target.indexOf("--target="); + if (pos3 >= 0) + target = target.mid(pos3 + 9); + m_abis.append(Abi::abiFromTargetTriplet(QString::fromLatin1(target))); + } else { + // Fallback. + m_abis = Abi::abisOfBinary(m_command); // FIXME: Wrong. + } return; } if (ba.contains("lldb") || ba.startsWith("LLDB")) { @@ -178,6 +185,45 @@ void DebuggerItem::setAbi(const Abi &abi) m_abis.append(abi); } +static DebuggerItem::MatchLevel matchSingle(const Abi &debuggerAbi, const Abi &targetAbi) +{ + if (debuggerAbi.architecture() != Abi::UnknownArchitecture + && debuggerAbi.architecture() != targetAbi.architecture()) + return DebuggerItem::DoesNotMatch; + + if (debuggerAbi.os() != Abi::UnknownOS + && debuggerAbi.os() != targetAbi.os()) + return DebuggerItem::DoesNotMatch; + + if (debuggerAbi.binaryFormat() != Abi::UnknownFormat + && debuggerAbi.binaryFormat() != targetAbi.binaryFormat()) + return DebuggerItem::DoesNotMatch; + + if (debuggerAbi.wordWidth() != 0 && debuggerAbi.wordWidth() != targetAbi.wordWidth()) + return DebuggerItem::DoesNotMatch; + + if (debuggerAbi.os() == Abi::WindowsOS) { + if (debuggerAbi.osFlavor() == Abi::WindowsMSysFlavor && targetAbi.osFlavor() != Abi::WindowsMSysFlavor) + return DebuggerItem::DoesNotMatch; + if (debuggerAbi.osFlavor() != Abi::WindowsMSysFlavor && targetAbi.osFlavor() == Abi::WindowsMSysFlavor) + return DebuggerItem::DoesNotMatch; + return DebuggerItem::MatchesSomewhat; + } + + return DebuggerItem::MatchesPerfectly; +} + +DebuggerItem::MatchLevel DebuggerItem::matchTarget(const Abi &targetAbi) const +{ + MatchLevel bestMatch = DoesNotMatch; + foreach (const Abi &debuggerAbi, m_abis) { + MatchLevel currentMatch = matchSingle(debuggerAbi, targetAbi); + if (currentMatch > bestMatch) + bestMatch = currentMatch; + } + return bestMatch; +} + bool Debugger::DebuggerItem::isValid() const { return m_engineType != NoEngineType; diff --git a/src/plugins/debugger/debuggerkitinformation.h b/src/plugins/debugger/debuggerkitinformation.h index e0b66fc08a..de965ca985 100644 --- a/src/plugins/debugger/debuggerkitinformation.h +++ b/src/plugins/debugger/debuggerkitinformation.h @@ -77,6 +77,9 @@ public: void setAbis(const QList<ProjectExplorer::Abi> &abis); void setAbi(const ProjectExplorer::Abi &abi); + enum MatchLevel { DoesNotMatch, MatchesSomewhat, MatchesPerfectly }; + MatchLevel matchTarget(const ProjectExplorer::Abi &targetAbi) const; + QStringList abiNames() const; private: @@ -113,7 +116,6 @@ public: static const DebuggerItem *findByCommand(const Utils::FileName &command); static const DebuggerItem *findById(const QVariant &id); - static QVariant defaultDebugger(ProjectExplorer::ToolChain *tc); static void restoreDebuggers(); static QString uniqueDisplayName(const QString &base); static void setItemData(const QVariant &id, const QString& displayName, const Utils::FileName &fileName); @@ -126,8 +128,8 @@ public slots: private: explicit DebuggerItemManager(QObject *parent = 0); - static void autoDetectDebuggers(); - static void autoDetectCdbDebugger(); + static void autoDetectGdbOrLldbDebuggers(); + static void autoDetectCdbDebuggers(); static void readLegacyDebuggers(); static Utils::PersistentSettingsWriter *m_writer; @@ -151,6 +153,7 @@ public: { return DebuggerKitInformation::validateDebugger(k); } void setup(ProjectExplorer::Kit *k); + void fix(ProjectExplorer::Kit *k); static const DebuggerItem *debugger(const ProjectExplorer::Kit *kit); diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index c04890fd70..a01bdc9b63 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -682,7 +682,7 @@ static bool currentTextEditorPosition(ContextData *data) const IDocument *document = textEditor->document(); QTC_ASSERT(document, return false); data->fileName = document->filePath(); - if (textEditor->property("DisassemblerView").toBool()) { + if (document->property(Constants::OPENED_WITH_DISASSEMBLY).toBool()) { int lineNumber = textEditor->currentLine(); QString line = textEditor->textDocument()->contents() .section(QLatin1Char('\n'), lineNumber - 1, lineNumber - 1); @@ -1084,7 +1084,7 @@ public slots: QTC_ASSERT(act, return); const BreakpointModelId id = act->data().value<BreakpointModelId>(); QTC_ASSERT(id > 0, return); - BreakTreeView::editBreakpoint(id, mainWindow()); + BreakTreeView::editBreakpoint(id, ICore::mainWindow()); } void slotRunToLine() @@ -1575,13 +1575,13 @@ void DebuggerPluginPrivate::debugProjectBreakMain() void DebuggerPluginPrivate::startAndDebugApplication() { DebuggerStartParameters sp; - if (StartApplicationDialog::run(mainWindow(), &sp)) + if (StartApplicationDialog::run(ICore::mainWindow(), &sp)) DebuggerRunControlFactory::createAndScheduleRun(sp); } void DebuggerPluginPrivate::attachCore() { - AttachCoreDialog dlg(mainWindow()); + AttachCoreDialog dlg(ICore::mainWindow()); const QString lastExternalKit = configValue("LastExternalKit").toString(); if (!lastExternalKit.isEmpty()) @@ -1623,7 +1623,7 @@ void DebuggerPluginPrivate::startRemoteCdbSession() QTC_ASSERT(kit && fillParameters(&sp, kit), return); sp.startMode = AttachToRemoteServer; sp.closeMode = KillAtClose; - StartRemoteCdbDialog dlg(mainWindow()); + StartRemoteCdbDialog dlg(ICore::mainWindow()); QString previousConnection = configValue(connectionKey).toString(); if (previousConnection.isEmpty()) previousConnection = QLatin1String("localhost:1234"); @@ -1639,7 +1639,7 @@ void DebuggerPluginPrivate::attachToRemoteServer() { DebuggerStartParameters sp; sp.startMode = AttachToRemoteServer; - if (StartApplicationDialog::run(mainWindow(), &sp)) { + if (StartApplicationDialog::run(ICore::mainWindow(), &sp)) { sp.closeMode = KillAtClose; sp.serverStartScript.clear(); DebuggerRunControlFactory::createAndScheduleRun(sp); @@ -1661,7 +1661,7 @@ void DebuggerPluginPrivate::attachToProcess(bool startServerOnly) const DebuggerKitChooser::Mode mode = startServerOnly ? DebuggerKitChooser::RemoteDebugging : DebuggerKitChooser::LocalDebugging; DebuggerKitChooser *kitChooser = new DebuggerKitChooser(mode); - DeviceProcessesDialog *dlg = new DeviceProcessesDialog(kitChooser, mainWindow()); + DeviceProcessesDialog *dlg = new DeviceProcessesDialog(kitChooser, ICore::mainWindow()); dlg->addAcceptButton(ProjectExplorer::DeviceProcessesDialog::tr("&Attach to Process")); dlg->showAllDevices(); if (dlg->exec() == QDialog::Rejected) { @@ -1676,7 +1676,7 @@ void DebuggerPluginPrivate::attachToProcess(bool startServerOnly) QTC_ASSERT(device, return); DeviceProcessItem process = dlg->currentProcess(); if (process.pid == 0) { - QMessageBox::warning(mainWindow(), tr("Warning"), + QMessageBox::warning(ICore::mainWindow(), tr("Warning"), tr("Cannot attach to process with PID 0")); return; } @@ -1725,7 +1725,7 @@ void DebuggerPluginPrivate::attachExternalApplication(RunControl *rc) void DebuggerPluginPrivate::attachToQmlPort() { DebuggerStartParameters sp; - AttachToQmlPortDialog dlg(mainWindow()); + AttachToQmlPortDialog dlg(ICore::mainWindow()); const QVariant qmlServerPort = configValue("LastQmlServerPort"); if (qmlServerPort.isValid()) @@ -1779,7 +1779,7 @@ void DebuggerPluginPrivate::attachToQmlPort() void DebuggerPluginPrivate::startRemoteEngine() { DebuggerStartParameters sp; - StartRemoteEngineDialog dlg(mainWindow()); + StartRemoteEngineDialog dlg(ICore::mainWindow()); if (dlg.exec() != QDialog::Accepted) return; @@ -1840,10 +1840,10 @@ void DebuggerPluginPrivate::requestContextMenu(ITextEditor *editor, bool contextUsable = true; BreakpointModelId id = BreakpointModelId(); - const QString fileName = editor->document()->filePath(); - if (editor->property("DisassemblerView").toBool()) { - args.fileName = fileName; - QString line = editor->textDocument()->contents() + ITextEditorDocument *document = editor->textDocument(); + args.fileName = document->filePath(); + if (document->property(Constants::OPENED_WITH_DISASSEMBLY).toBool()) { + QString line = document->contents() .section(QLatin1Char('\n'), lineNumber - 1, lineNumber - 1); BreakpointResponse needle; needle.type = BreakpointByAddress; @@ -1853,7 +1853,6 @@ void DebuggerPluginPrivate::requestContextMenu(ITextEditor *editor, id = breakHandler()->findSimilarBreakpoint(needle); contextUsable = args.address != 0; } else { - args.fileName = editor->document()->filePath(); id = breakHandler() ->findBreakpointByFileAndLine(args.fileName, lineNumber); if (!id) @@ -1937,7 +1936,7 @@ void DebuggerPluginPrivate::requestContextMenu(ITextEditor *editor, if (currentEngine()->state() == InferiorStopOk && currentEngine()->hasCapability(DisassemblerCapability)) { StackFrame frame; - frame.function = cppFunctionAt(fileName, lineNumber); + frame.function = cppFunctionAt(args.fileName, lineNumber); frame.line = 42; // trick gdb into mixed mode. if (!frame.function.isEmpty()) { const QString text = tr("Disassemble Function \"%1\"") @@ -1956,7 +1955,7 @@ void DebuggerPluginPrivate::toggleBreakpoint() ITextEditor *textEditor = currentTextEditor(); QTC_ASSERT(textEditor, return); const int lineNumber = textEditor->currentLine(); - if (textEditor->property("DisassemblerView").toBool()) { + if (textEditor->property(Constants::OPENED_WITH_DISASSEMBLY).toBool()) { QString line = textEditor->textDocument()->contents() .section(QLatin1Char('\n'), lineNumber - 1, lineNumber - 1); quint64 address = DisassemblerLine::addressFromDisassemblyLine(line); @@ -2400,7 +2399,7 @@ void DebuggerPluginPrivate::updateDebugWithoutDeployMenu() void DebuggerPluginPrivate::dumpLog() { - QString fileName = QFileDialog::getSaveFileName(mainWindow(), + QString fileName = QFileDialog::getSaveFileName(ICore::mainWindow(), tr("Save Debugger Log"), QDir::tempPath()); if (fileName.isEmpty()) return; @@ -2412,7 +2411,7 @@ void DebuggerPluginPrivate::dumpLog() ts << m_logWindow->combinedContents(); saver.setResult(&ts); } - saver.finalize(mainWindow()); + saver.finalize(ICore::mainWindow()); } /*! Activates the previous mode when the current mode is the debug mode. */ @@ -2666,7 +2665,7 @@ QMessageBox *showMessageBox(int icon, const QString &title, { QMessageBox *mb = new QMessageBox(QMessageBox::Icon(icon), title, text, QMessageBox::StandardButtons(buttons), - debuggerCore()->mainWindow()); + ICore::mainWindow()); mb->setAttribute(Qt::WA_DeleteOnClose); mb->show(); return mb; diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp index db0d791da8..a301f443fe 100644 --- a/src/plugins/debugger/debuggerrunner.cpp +++ b/src/plugins/debugger/debuggerrunner.cpp @@ -212,7 +212,7 @@ void DebuggerRunControl::start() static bool checked = true; if (!checked) break; - CheckableMessageBox::information(debuggerCore()->mainWindow(), + CheckableMessageBox::information(Core::ICore::mainWindow(), tr("Debugger"), warningMessage, tr("&Show this message again."), diff --git a/src/plugins/debugger/gdb/classicgdbengine.cpp b/src/plugins/debugger/gdb/classicgdbengine.cpp index 8e01de03d3..3d355dcf57 100644 --- a/src/plugins/debugger/gdb/classicgdbengine.cpp +++ b/src/plugins/debugger/gdb/classicgdbengine.cpp @@ -1256,7 +1256,7 @@ void GdbEngine::handleStackListLocalsClassic(const GdbResponse &response) static void showQtDumperLibraryWarning(const QString &details) { - QMessageBox dialog(debuggerCore()->mainWindow()); + QMessageBox dialog(Core::ICore::mainWindow()); QPushButton *qtPref = dialog.addButton(DebuggerCore::tr("Open Qt Options"), QMessageBox::ActionRole); QPushButton *helperOff = dialog.addButton(DebuggerCore::tr("Turn off Helper Usage"), diff --git a/src/plugins/debugger/gdb/startgdbserverdialog.cpp b/src/plugins/debugger/gdb/startgdbserverdialog.cpp index dc6f4fe2d6..5623bdf4c7 100644 --- a/src/plugins/debugger/gdb/startgdbserverdialog.cpp +++ b/src/plugins/debugger/gdb/startgdbserverdialog.cpp @@ -35,6 +35,7 @@ #include <debugger/debuggerruncontrolfactory.h> #include <debugger/debuggerstartparameters.h> +#include <coreplugin/icore.h> #include <projectexplorer/kitchooser.h> #include <projectexplorer/devicesupport/deviceprocesslist.h> #include <projectexplorer/devicesupport/deviceprocessesdialog.h> @@ -189,7 +190,7 @@ void GdbServerStarter::attach(int port) localExecutable = candidate; } if (localExecutable.isEmpty()) { - QMessageBox::warning(DebuggerPlugin::mainWindow(), tr("Warning"), + QMessageBox::warning(ICore::mainWindow(), tr("Warning"), tr("Cannot find local executable for remote process \"%1\".") .arg(d->process.exe)); return; @@ -197,7 +198,7 @@ void GdbServerStarter::attach(int port) QList<Abi> abis = Abi::abisOfBinary(Utils::FileName::fromString(localExecutable)); if (abis.isEmpty()) { - QMessageBox::warning(DebuggerPlugin::mainWindow(), tr("Warning"), + QMessageBox::warning(ICore::mainWindow(), tr("Warning"), tr("Cannot find ABI for remote process \"%1\".") .arg(d->process.exe)); return; diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp index e23959914e..9526e5e608 100644 --- a/src/plugins/debugger/lldb/lldbengine.cpp +++ b/src/plugins/debugger/lldb/lldbengine.cpp @@ -133,7 +133,6 @@ void LldbEngine::setupEngine() QTC_ASSERT(state() == EngineSetupRequested, qDebug() << state()); m_lldbCmd = startParameters().debuggerCommand; - showMessage(_("STARTING LLDB ") + m_lldbCmd); connect(&m_lldbProc, SIGNAL(error(QProcess::ProcessError)), SLOT(handleLldbError(QProcess::ProcessError))); @@ -147,8 +146,14 @@ void LldbEngine::setupEngine() connect(this, SIGNAL(outputReady(QByteArray)), SLOT(handleResponse(QByteArray)), Qt::QueuedConnection); - m_lldbProc.start(_("python"), QStringList() << _("-i") - << (Core::ICore::resourcePath() + _("/debugger/lldbbridge.py")) << m_lldbCmd); + QStringList args; + args.append(_("-i")); + args.append(Core::ICore::resourcePath() + _("/debugger/lldbbridge.py")); + args.append(m_lldbCmd); + showMessage(_("STARTING LLDB ") + args.join(QLatin1String(" "))); + m_lldbProc.setEnvironment(startParameters().environment.toStringList()); + + m_lldbProc.start(_("python"), args); if (!m_lldbProc.waitForStarted()) { const QString msg = tr("Unable to start LLDB '%1': %2") diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp index 03958d9bd2..0082315158 100644 --- a/src/plugins/debugger/watchhandler.cpp +++ b/src/plugins/debugger/watchhandler.cpp @@ -546,7 +546,7 @@ static QString reformatCharacter(int code, int format) const QString codeS = reformatInteger(code, format); if (code < 0) // Append unsigned value. return codeS + QLatin1String(" / ") + reformatInteger(256 + code, format); - const QChar c = QLatin1Char(code); + const QChar c = QChar(uint(code)); if (c.isPrint()) return codeS + QLatin1String(" '") + c + QLatin1Char('\''); switch (code) { @@ -645,7 +645,7 @@ QString WatchModel::formattedValue(const WatchData &data) const if (isIntegralValue(value)) { // Append quoted, printable character also for decimal. const int format = itemFormat(data); - if (data.type.endsWith("char")) { + if (data.type.endsWith("char") || data.type.endsWith("QChar")) { bool ok; const int code = value.toInt(&ok); return ok ? reformatCharacter(code, format) : value; diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index cf9bff5dd5..d06d99cd53 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -1773,6 +1773,8 @@ public: QPlainTextEdit *m_plaintextedit; bool m_wasReadOnly; // saves read-only state of document + bool m_inFakeVim; // true if currently processing a key press or a command + FakeVimHandler *q; int m_oldExternalPosition; // copy from last event to check for external changes int m_oldExternalAnchor; @@ -1956,8 +1958,7 @@ public: static struct GlobalData { GlobalData() - : inFakeVim(false) - , passing(false) + : passing(false) , mode(CommandMode) , submode(NoSubMode) , subsubmode(NoSubSubMode) @@ -1983,7 +1984,6 @@ public: } // Current state. - bool inFakeVim; // true if currently processing a key press or a command bool passing; // let the core see the next event Mode mode; SubMode submode; @@ -2127,13 +2127,13 @@ void FakeVimHandler::Private::focus() void FakeVimHandler::Private::enterFakeVim() { - QTC_ASSERT(!g.inFakeVim, qDebug() << "enterFakeVim() shouldn't be called recursively!"; return); + QTC_ASSERT(!m_inFakeVim, qDebug() << "enterFakeVim() shouldn't be called recursively!"; return); m_cursor = EDITOR(textCursor()); if (m_cursor.isNull()) m_cursor = QTextCursor(document()); - g.inFakeVim = true; + m_inFakeVim = true; removeEventFilter(); @@ -2156,7 +2156,7 @@ void FakeVimHandler::Private::enterFakeVim() void FakeVimHandler::Private::leaveFakeVim(bool needUpdate) { - QTC_ASSERT(g.inFakeVim, qDebug() << "enterFakeVim() not called before leaveFakeVim()!"; return); + QTC_ASSERT(m_inFakeVim, qDebug() << "enterFakeVim() not called before leaveFakeVim()!"; return); // The command might have destroyed the editor. if (m_textedit || m_plaintextedit) { @@ -2192,7 +2192,7 @@ void FakeVimHandler::Private::leaveFakeVim(bool needUpdate) installEventFilter(); } - g.inFakeVim = false; + m_inFakeVim = false; } bool FakeVimHandler::Private::wantsOverride(QKeyEvent *ev) @@ -2312,6 +2312,8 @@ void FakeVimHandler::Private::removeEventFilter() void FakeVimHandler::Private::setupWidget() { + enterFakeVim(); + resetCommandMode(); if (m_textedit) m_textedit->setLineWrapMode(QTextEdit::NoWrap); @@ -2321,8 +2323,7 @@ void FakeVimHandler::Private::setupWidget() updateEditor(); importSelection(); - if (!g.inFakeVim) - updateMiniBuffer(); + updateMiniBuffer(); updateCursorShape(); recordJump(); @@ -2330,8 +2331,7 @@ void FakeVimHandler::Private::setupWidget() if (atEndOfLine() && !isVisualMode() && !isInsertMode()) moveLeft(); - m_oldExternalAnchor = anchor(); - m_oldExternalPosition = position(); + leaveFakeVim(); } void FakeVimHandler::Private::exportSelection() @@ -4032,7 +4032,7 @@ bool FakeVimHandler::Private::handleNoSubMode(const Input &input) setDotCommand(_("%1J"), count()); } else if (input.isControl('l')) { // screen redraw. should not be needed - } else if (input.is('m')) { + } else if (!g.gflag && input.is('m')) { g.subsubmode = MarkSubSubMode; } else if (isVisualMode() && (input.is('o') || input.is('O'))) { int pos = position(); @@ -7001,8 +7001,6 @@ bool FakeVimHandler::Private::passEventToEditor(QEvent &event) emit q->requestSetBlockSelection(true); updateCursorShape(); - installEventFilter(); - if (accepted) m_cursor = EDITOR(textCursor()); @@ -7496,6 +7494,7 @@ void FakeVimHandler::Private::enterCommandMode(Mode returnToMode) void FakeVimHandler::Private::enterExMode(const QString &contents) { g.currentMessage.clear(); + g.commandBuffer.clear(); if (isVisualMode()) g.commandBuffer.setContents(QString::fromLatin1("'<,'>") + contents, contents.size() + 5); else @@ -8225,7 +8224,7 @@ void FakeVimHandler::setTextCursorPosition(int position) d->m_fakeEnd = false; d->setTargetColumn(); - if (!Private::g.inFakeVim) + if (!d->m_inFakeVim) d->commitCursor(); } diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp index ea9bf53292..9d806d7da1 100644 --- a/src/plugins/git/gitplugin.cpp +++ b/src/plugins/git/gitplugin.cpp @@ -839,7 +839,7 @@ void GitPlugin::resetRepository() QTC_ASSERT(state.hasTopLevel(), return); QString topLevel = state.topLevel(); - LogChangeDialog dialog(true); + LogChangeDialog dialog(true, Core::ICore::mainWindow()); ResetItemDelegate delegate(dialog.widget()); dialog.setWindowTitle(tr("Undo Changes to %1").arg(QDir::toNativeSeparators(topLevel))); if (dialog.runDialog(topLevel)) @@ -857,7 +857,7 @@ void GitPlugin::startRebase() return; if (!m_gitClient->beginStashScope(topLevel, QLatin1String("Rebase-i"))) return; - LogChangeDialog dialog(false); + LogChangeDialog dialog(false, Core::ICore::mainWindow()); RebaseItemDelegate delegate(dialog.widget()); dialog.setWindowTitle(tr("Interactive Rebase")); if (dialog.runDialog(topLevel, QString(), false)) diff --git a/src/plugins/git/logchangedialog.h b/src/plugins/git/logchangedialog.h index f7f099920e..f95604d84c 100644 --- a/src/plugins/git/logchangedialog.h +++ b/src/plugins/git/logchangedialog.h @@ -80,7 +80,7 @@ class LogChangeDialog : public QDialog { Q_OBJECT public: - LogChangeDialog(bool isReset, QWidget *parent = 0); + LogChangeDialog(bool isReset, QWidget *parent); bool runDialog(const QString &repository, const QString &commit = QString(), bool includeRemote = true); diff --git a/src/plugins/help/helpviewer.cpp b/src/plugins/help/helpviewer.cpp index 825f7b141f..b063faa5d6 100644 --- a/src/plugins/help/helpviewer.cpp +++ b/src/plugins/help/helpviewer.cpp @@ -126,14 +126,13 @@ bool HelpViewer::launchWithExternalApp(const QUrl &url) if (!saver.hasError()) saver.write(helpEngine.fileData(resolvedUrl)); if (saver.finalize(Core::ICore::mainWindow())) - return QDesktopServices::openUrl(QUrl(saver.fileName())); + QDesktopServices::openUrl(QUrl(saver.fileName())); + return true; } + return false; } - - if (url.scheme() == QLatin1String("mailto")) - return QDesktopServices::openUrl(url); - - return false; + QDesktopServices::openUrl(url); + return true; } void HelpViewer::home() diff --git a/src/plugins/ios/iosbuildstep.cpp b/src/plugins/ios/iosbuildstep.cpp index df63f0ef8c..c20006a0ad 100644 --- a/src/plugins/ios/iosbuildstep.cpp +++ b/src/plugins/ios/iosbuildstep.cpp @@ -43,11 +43,11 @@ #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/toolchain.h> #include <projectexplorer/gcctoolchain.h> -#include <qt4projectmanager/qt4buildconfiguration.h> -#include <qt4projectmanager/qt4projectmanagerconstants.h> -#include <qt4projectmanager/qt4projectmanager.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4nodes.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> +#include <qt4projectmanager/qmakeprojectmanagerconstants.h> +#include <qt4projectmanager/qmakeprojectmanager.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakenodes.h> #include <qtsupport/qtkitinformation.h> #include <qtsupport/qtparser.h> #include <coreplugin/variablemanager.h> @@ -57,7 +57,7 @@ using namespace Core; using namespace ProjectExplorer; -using namespace Qt4ProjectManager; +using namespace QmakeProjectManager; namespace Ios { namespace Internal { diff --git a/src/plugins/ios/iosconfigurations.cpp b/src/plugins/ios/iosconfigurations.cpp index b3c79f97e1..9dac4889b3 100644 --- a/src/plugins/ios/iosconfigurations.cpp +++ b/src/plugins/ios/iosconfigurations.cpp @@ -319,7 +319,7 @@ void IosConfigurations::updateAutomaticKitList() Debugger::DebuggerKitInformation::setDebugger(newKit, debugger); SysRootKitInformation::setSysRoot(newKit, p.sdkPath); - //Qt4ProjectManager::QmakeKitInformation::setMkspec(newKit, + // QmakeProjectManager::QmakeKitInformation::setMkspec(newKit, // Utils::FileName::fromString(QLatin1String("macx-ios-clang"))); KitManager::registerKit(newKit); existingKits << newKit; diff --git a/src/plugins/ios/iosdebugsupport.cpp b/src/plugins/ios/iosdebugsupport.cpp index 5f731b02b8..a2890c84ef 100644 --- a/src/plugins/ios/iosdebugsupport.cpp +++ b/src/plugins/ios/iosdebugsupport.cpp @@ -39,16 +39,16 @@ #include <debugger/debuggerstartparameters.h> #include <projectexplorer/target.h> -#include <qt4projectmanager/qt4buildconfiguration.h> -#include <qt4projectmanager/qt4nodes.h> -#include <qt4projectmanager/qt4project.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> +#include <qt4projectmanager/qmakenodes.h> +#include <qt4projectmanager/qmakeproject.h> #include <qtsupport/qtkitinformation.h> #include <QDir> using namespace Debugger; using namespace ProjectExplorer; -using namespace Qt4ProjectManager; +using namespace QmakeProjectManager; namespace Ios { namespace Internal { diff --git a/src/plugins/ios/iosdeployconfiguration.cpp b/src/plugins/ios/iosdeployconfiguration.cpp index 975a62647a..ef54b45ac4 100644 --- a/src/plugins/ios/iosdeployconfiguration.cpp +++ b/src/plugins/ios/iosdeployconfiguration.cpp @@ -35,7 +35,7 @@ #include <projectexplorer/buildsteplist.h> #include <projectexplorer/target.h> -#include <qt4projectmanager/qt4project.h> +#include <qt4projectmanager/qmakeproject.h> #include <qtsupport/qtkitinformation.h> #include <qtsupport/qtsupportconstants.h> @@ -112,7 +112,7 @@ DeployConfiguration *IosDeployConfigurationFactory::clone(Target *parent, Deploy QList<Core::Id> IosDeployConfigurationFactory::availableCreationIds(Target *parent) const { QList<Core::Id> ids; - if (!qobject_cast<Qt4ProjectManager::Qt4Project *>(parent->project())) + if (!qobject_cast<QmakeProjectManager::Qt4Project *>(parent->project())) return ids; if (!parent->project()->supportsKit(parent->kit())) return ids; diff --git a/src/plugins/ios/iosdeploystep.cpp b/src/plugins/ios/iosdeploystep.cpp index 6d9d89beeb..7c6e201f9f 100644 --- a/src/plugins/ios/iosdeploystep.cpp +++ b/src/plugins/ios/iosdeploystep.cpp @@ -39,9 +39,9 @@ #include <projectexplorer/buildconfiguration.h> #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/target.h> -#include <qt4projectmanager/qt4buildconfiguration.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4nodes.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakenodes.h> #include <qtsupport/qtkitinformation.h> @@ -50,7 +50,7 @@ #define ASSERT_STATE(state) ASSERT_STATE_GENERIC(State, state, m_state) using namespace ProjectExplorer; -using namespace Qt4ProjectManager; +using namespace QmakeProjectManager; namespace Ios { namespace Internal { @@ -239,4 +239,4 @@ IosSimulator::ConstPtr IosDeployStep::iossimulator() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace Ios diff --git a/src/plugins/ios/iosdeploystepwidget.cpp b/src/plugins/ios/iosdeploystepwidget.cpp index d1e09b7adb..56e12e4de7 100644 --- a/src/plugins/ios/iosdeploystepwidget.cpp +++ b/src/plugins/ios/iosdeploystepwidget.cpp @@ -67,4 +67,4 @@ QString IosDeployStepWidget::summaryText() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace Ios diff --git a/src/plugins/ios/iosmanager.cpp b/src/plugins/ios/iosmanager.cpp index 16fddc102b..263aa13798 100644 --- a/src/plugins/ios/iosmanager.cpp +++ b/src/plugins/ios/iosmanager.cpp @@ -35,10 +35,10 @@ #include <projectexplorer/session.h> #include <projectexplorer/target.h> #include <projectexplorer/toolchain.h> -#include <qt4projectmanager/qt4nodes.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4projectmanagerconstants.h> -#include <qt4projectmanager/qt4buildconfiguration.h> +#include <qt4projectmanager/qmakenodes.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakeprojectmanagerconstants.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> #include <qtsupport/customexecutablerunconfiguration.h> #include <qtsupport/qtkitinformation.h> #include <qtsupport/qtsupportconstants.h> @@ -50,7 +50,7 @@ #include <QApplication> #include <QDomDocument> -using namespace Qt4ProjectManager; +using namespace QmakeProjectManager; using namespace ProjectExplorer; namespace Ios { @@ -58,7 +58,7 @@ namespace Internal { bool IosManager::supportsIos(ProjectExplorer::Target *target) { - if (!qobject_cast<Qt4ProjectManager::Qt4Project *>(target->project())) + if (!qobject_cast<QmakeProjectManager::Qt4Project *>(target->project())) return false; QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target->kit()); return version && version->type() == QLatin1String(Ios::Constants::IOSQT); @@ -72,4 +72,4 @@ QString IosManager::resDirForTarget(Target *target) } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace Ios diff --git a/src/plugins/ios/iosqtversion.cpp b/src/plugins/ios/iosqtversion.cpp index 881cc41567..352a7c8b69 100644 --- a/src/plugins/ios/iosqtversion.cpp +++ b/src/plugins/ios/iosqtversion.cpp @@ -35,8 +35,8 @@ #include <utils/environment.h> #include <utils/hostosinfo.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4projectmanagerconstants.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakeprojectmanagerconstants.h> #include <qtsupport/qtkitinformation.h> #include <qtsupport/qtsupportconstants.h> @@ -47,7 +47,7 @@ using namespace Ios::Internal; using namespace ProjectExplorer; -using namespace Qt4ProjectManager; +using namespace QmakeProjectManager; IosQtVersion::IosQtVersion() : QtSupport::BaseQtVersion() diff --git a/src/plugins/ios/iosrunconfiguration.cpp b/src/plugins/ios/iosrunconfiguration.cpp index 851d6574be..5c07d65594 100644 --- a/src/plugins/ios/iosrunconfiguration.cpp +++ b/src/plugins/ios/iosrunconfiguration.cpp @@ -36,9 +36,9 @@ #include <projectexplorer/deployconfiguration.h> #include <projectexplorer/buildstep.h> #include <projectexplorer/buildsteplist.h> -#include <qt4projectmanager/qt4buildconfiguration.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4nodes.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakenodes.h> #include <qtsupport/qtoutputformatter.h> #include <qtsupport/qtkitinformation.h> #include "ui_iosrunconfiguration.h" @@ -49,7 +49,7 @@ #include <utils/qtcassert.h> using namespace ProjectExplorer; -using namespace Qt4ProjectManager; +using namespace QmakeProjectManager; namespace Ios { namespace Internal { diff --git a/src/plugins/ios/iosrunconfiguration.ui b/src/plugins/ios/iosrunconfiguration.ui index 0b6e5f75b9..fd9cfd341a 100644 --- a/src/plugins/ios/iosrunconfiguration.ui +++ b/src/plugins/ios/iosrunconfiguration.ui @@ -26,7 +26,7 @@ <item row="1" column="0"> <widget class="QLabel" name="argumentsLabel"> <property name="text"> - <string>Aguments:</string> + <string>Arguments:</string> </property> </widget> </item> diff --git a/src/plugins/ios/iosruncontrol.cpp b/src/plugins/ios/iosruncontrol.cpp index cbba7f0245..551ef33f85 100644 --- a/src/plugins/ios/iosruncontrol.cpp +++ b/src/plugins/ios/iosruncontrol.cpp @@ -109,4 +109,4 @@ QIcon IosRunControl::icon() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace Ios diff --git a/src/plugins/ios/iosrunfactories.cpp b/src/plugins/ios/iosrunfactories.cpp index c5517270bd..5f9acfb5e3 100644 --- a/src/plugins/ios/iosrunfactories.cpp +++ b/src/plugins/ios/iosrunfactories.cpp @@ -39,8 +39,8 @@ #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/target.h> #include <debugger/debuggerconstants.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4nodes.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakenodes.h> #include <qtsupport/customexecutablerunconfiguration.h> #include <qtsupport/qtkitinformation.h> #include <qtsupport/qtsupportconstants.h> @@ -48,7 +48,7 @@ using namespace ProjectExplorer; -using namespace Qt4ProjectManager; +using namespace QmakeProjectManager; namespace Ios { namespace Internal { @@ -173,4 +173,4 @@ RunControl *IosRunControlFactory::create(RunConfiguration *runConfig, } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace Ios diff --git a/src/plugins/ios/iosrunfactories.h b/src/plugins/ios/iosrunfactories.h index c7de3148a7..60ada9a867 100644 --- a/src/plugins/ios/iosrunfactories.h +++ b/src/plugins/ios/iosrunfactories.h @@ -43,7 +43,7 @@ class Node; namespace Ios { namespace Internal { -class IosRunConfigurationFactory : public Qt4ProjectManager::QmakeRunConfigurationFactory +class IosRunConfigurationFactory : public QmakeProjectManager::QmakeRunConfigurationFactory { Q_OBJECT diff --git a/src/plugins/ios/iosrunner.cpp b/src/plugins/ios/iosrunner.cpp index 868e2bb34f..26fdcc6507 100644 --- a/src/plugins/ios/iosrunner.cpp +++ b/src/plugins/ios/iosrunner.cpp @@ -50,7 +50,7 @@ IosRunner::IosRunner(QObject *parent, IosRunConfiguration *runConfig, bool debug : QObject(parent), m_toolHandler(0), m_bundleDir(runConfig->bundleDir().toString()), m_arguments(runConfig->commandLineArguments()), m_device(ProjectExplorer::DeviceKitInformation::device(runConfig->target()->kit())), - m_debuggingMode(debuggingMode), m_cleanExit(false), m_didWarn(false) + m_debuggingMode(debuggingMode), m_cleanExit(false) { } @@ -157,9 +157,6 @@ void IosRunner::handleAppOutput(IosToolHandler *handler, const QString &output) void IosRunner::warnAboutRunFail() { - if (m_didWarn) - return; - m_didWarn = true; QMessageBox mBox; mBox.setText(tr("Running on iOS device failed.")); mBox.setInformativeText(tr("The certificates in Xcode or the device might be outdated. Check the certificates in the organizer window of Xcode, and try again.")); @@ -169,11 +166,24 @@ void IosRunner::warnAboutRunFail() mBox.exec(); } +void IosRunner::warnAboutDeployFail() +{ + QMessageBox mBox; + mBox.setText(tr("Deploying to iOS device failed.")); + mBox.setInformativeText(tr("This might be due to an incorrect Info.plist or outdated certificates in Xcode or device (see organizer window of Xcode).")); + mBox.setStandardButtons(QMessageBox::Ok); + mBox.setDefaultButton(QMessageBox::Ok); + mBox.setIcon(QMessageBox::Information); + mBox.exec(); +} + void IosRunner::handleErrorMsg(IosToolHandler *handler, const QString &msg) { Q_UNUSED(handler); if (msg.contains(QLatin1String("AMDeviceStartService returned -402653150"))) QTimer::singleShot(0, this, SLOT(warnAboutRunFail())); + else if (msg.contains(QLatin1String("AMDeviceInstallApplication returned -402653103"))) + QTimer::singleShot(0, this, SLOT(warnAboutDeployFail())); emit errorMsg(msg); } @@ -199,4 +209,4 @@ QString IosRunner::displayName() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace Ios diff --git a/src/plugins/ios/iosrunner.h b/src/plugins/ios/iosrunner.h index 99b6f8d804..c5042e10e0 100644 --- a/src/plugins/ios/iosrunner.h +++ b/src/plugins/ios/iosrunner.h @@ -71,6 +71,7 @@ signals: void finished(bool cleanExit); private slots: void warnAboutRunFail(); + void warnAboutDeployFail(); void handleDidStartApp(Ios::IosToolHandler *handler, const QString &bundlePath, const QString &deviceId, Ios::IosToolHandler::OpStatus status); void handleGotGdbserverSocket(Ios::IosToolHandler *handler, const QString &bundlePath, @@ -88,7 +89,6 @@ private: ProjectExplorer::IDevice::ConstPtr m_device; bool m_debuggingMode; bool m_cleanExit; - bool m_didWarn; }; } // namespace Internal diff --git a/src/plugins/projectexplorer/abi.cpp b/src/plugins/projectexplorer/abi.cpp index 83705825cc..b0c45aa001 100644 --- a/src/plugins/projectexplorer/abi.cpp +++ b/src/plugins/projectexplorer/abi.cpp @@ -162,6 +162,9 @@ static QList<Abi> parseCoffHeader(const QByteArray &data) case 11: flavor = Abi::WindowsMsvc2012Flavor; break; + case 12: + flavor = Abi::WindowsMsvc2013Flavor; + break; default: // Keep unknown flavor if (minorLinker != 0) flavor = Abi::WindowsMSysFlavor; // MSVC seems to avoid using minor numbers @@ -402,6 +405,8 @@ Abi::Abi(const QString &abiString) : m_osFlavor = WindowsMsvc2010Flavor; else if (abiParts.at(2) == QLatin1String("msvc2012") && m_os == WindowsOS) m_osFlavor = WindowsMsvc2012Flavor; + else if (abiParts.at(2) == QLatin1String("msvc2013") && m_os == WindowsOS) + m_osFlavor = WindowsMsvc2013Flavor; else if (abiParts.at(2) == QLatin1String("msys") && m_os == WindowsOS) m_osFlavor = WindowsMSysFlavor; else if (abiParts.at(2) == QLatin1String("ce") && m_os == WindowsOS) @@ -650,6 +655,8 @@ QString Abi::toString(const OSFlavor &of) return QLatin1String("msvc2010"); case ProjectExplorer::Abi::WindowsMsvc2012Flavor: return QLatin1String("msvc2012"); + case ProjectExplorer::Abi::WindowsMsvc2013Flavor: + return QLatin1String("msvc2013"); case ProjectExplorer::Abi::WindowsMSysFlavor: return QLatin1String("msys"); case ProjectExplorer::Abi::WindowsCEFlavor: @@ -699,7 +706,8 @@ QList<Abi::OSFlavor> Abi::flavorsForOs(const Abi::OS &o) return result << GenericUnixFlavor << SolarisUnixFlavor << UnknownFlavor; case WindowsOS: return result << WindowsMsvc2005Flavor << WindowsMsvc2008Flavor << WindowsMsvc2010Flavor - << WindowsMsvc2012Flavor << WindowsMSysFlavor << WindowsCEFlavor << UnknownFlavor; + << WindowsMsvc2012Flavor << WindowsMsvc2013Flavor << WindowsMSysFlavor + << WindowsCEFlavor << UnknownFlavor; case UnknownOS: return result << UnknownFlavor; default: @@ -717,7 +725,9 @@ Abi Abi::hostAbi() #if defined (Q_OS_WIN) os = WindowsOS; -#if _MSC_VER == 1700 +#if _MSC_VER == 1800 + subos = WindowsMsvc2013Flavor; +#elif _MSC_VER == 1700 subos = WindowsMsvc2012Flavor; #elif _MSC_VER == 1600 subos = WindowsMsvc2010Flavor; @@ -883,6 +893,18 @@ void ProjectExplorer::ProjectExplorerPlugin::testAbiOfBinary_data() << QString::fromLatin1("ppc-macos-generic-mach_o-32bit") << QString::fromLatin1("x86-macos-generic-mach_o-64bit")); + QTest::newRow("executable: win msvc2013 64bit") + << QString::fromLatin1("%1/executables/x86-windows-mvsc2013-pe-64bit.exe").arg(prefix) + << (QStringList() << QString::fromLatin1("x86-windows-msvc2013-pe-64bit")); + QTest::newRow("executable: win msvc2013 32bit") + << QString::fromLatin1("%1/executables/x86-windows-mvsc2013-pe-32bit.exe").arg(prefix) + << (QStringList() << QString::fromLatin1("x86-windows-msvc2013-pe-32bit")); + QTest::newRow("dynamic: win msvc2013 64bit") + << QString::fromLatin1("%1/dynamic/x86-windows-mvsc2013-pe-64bit.dll").arg(prefix) + << (QStringList() << QString::fromLatin1("x86-windows-msvc2013-pe-64bit")); + QTest::newRow("dynamic: win msvc2013 32bit") + << QString::fromLatin1("%1/dynamic/x86-windows-mvsc2013-pe-32bit.dll").arg(prefix) + << (QStringList() << QString::fromLatin1("x86-windows-msvc2013-pe-32bit")); QTest::newRow("dynamic QtCore: win msvc2010 64bit") << QString::fromLatin1("%1/dynamic/win-msvc2010-64bit.dll").arg(prefix) << (QStringList() << QString::fromLatin1("x86-windows-msvc2010-pe-64bit")); diff --git a/src/plugins/projectexplorer/abi.h b/src/plugins/projectexplorer/abi.h index a805a1be04..473918b918 100644 --- a/src/plugins/projectexplorer/abi.h +++ b/src/plugins/projectexplorer/abi.h @@ -88,6 +88,7 @@ public: WindowsMsvc2008Flavor, WindowsMsvc2010Flavor, WindowsMsvc2012Flavor, + WindowsMsvc2013Flavor, WindowsMSysFlavor, WindowsCEFlavor, diff --git a/src/plugins/projectexplorer/abiwidget.cpp b/src/plugins/projectexplorer/abiwidget.cpp index 05d15a211b..062edf1899 100644 --- a/src/plugins/projectexplorer/abiwidget.cpp +++ b/src/plugins/projectexplorer/abiwidget.cpp @@ -79,8 +79,6 @@ AbiWidget::AbiWidget(QWidget *parent) : layout->addWidget(d->m_abi); connect(d->m_abi, SIGNAL(currentIndexChanged(int)), this, SLOT(modeChanged())); - layout->addSpacing(10); - d->m_architectureComboBox = new QComboBox(this); layout->addWidget(d->m_architectureComboBox); for (int i = 0; i <= static_cast<int>(Abi::UnknownArchitecture); ++i) @@ -90,6 +88,7 @@ AbiWidget::AbiWidget(QWidget *parent) : QLabel *separator1 = new QLabel(this); separator1->setText(QLatin1String("-")); + separator1->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); layout->addWidget(separator1); d->m_osComboBox = new QComboBox(this); @@ -101,6 +100,7 @@ AbiWidget::AbiWidget(QWidget *parent) : QLabel *separator2 = new QLabel(this); separator2->setText(QLatin1String("-")); + separator2->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); layout->addWidget(separator2); d->m_osFlavorComboBox = new QComboBox(this); @@ -110,6 +110,7 @@ AbiWidget::AbiWidget(QWidget *parent) : QLabel *separator3 = new QLabel(this); separator3->setText(QLatin1String("-")); + separator3->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); layout->addWidget(separator3); d->m_binaryFormatComboBox = new QComboBox(this); @@ -121,6 +122,7 @@ AbiWidget::AbiWidget(QWidget *parent) : QLabel *separator4 = new QLabel(this); separator4->setText(QLatin1String("-")); + separator4->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); layout->addWidget(separator4); d->m_wordWidthComboBox = new QComboBox(this); diff --git a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp index cf20d23f1b..15ad063896 100644 --- a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp +++ b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp @@ -99,7 +99,8 @@ ToolChain::CompilerFlags AbstractMsvcToolChain::compilerFlags(const QStringList flags &= ~MicrosoftExtensions; if (m_abi.osFlavor() == Abi::WindowsMsvc2010Flavor - || m_abi.osFlavor() == Abi::WindowsMsvc2012Flavor) + || m_abi.osFlavor() == Abi::WindowsMsvc2012Flavor + || m_abi.osFlavor() == Abi::WindowsMsvc2013Flavor) flags |= StandardCxx11; return flags; diff --git a/src/plugins/projectexplorer/devicesupport/deviceapplicationrunner.cpp b/src/plugins/projectexplorer/devicesupport/deviceapplicationrunner.cpp index fa46dc1680..4a413ac08a 100644 --- a/src/plugins/projectexplorer/devicesupport/deviceapplicationrunner.cpp +++ b/src/plugins/projectexplorer/devicesupport/deviceapplicationrunner.cpp @@ -50,10 +50,6 @@ class DeviceApplicationRunner::DeviceApplicationRunnerPrivate { public: DeviceProcess *deviceProcess; - IDevice::ConstPtr device; - QTimer stopTimer; - QString command; - QStringList arguments; Utils::Environment environment; QString workingDir; State state; @@ -67,9 +63,6 @@ DeviceApplicationRunner::DeviceApplicationRunner(QObject *parent) : { d->deviceProcess = 0; d->state = Inactive; - - d->stopTimer.setSingleShot(true); - connect(&d->stopTimer, SIGNAL(timeout()), SLOT(handleStopTimeout())); } DeviceApplicationRunner::~DeviceApplicationRunner() @@ -91,22 +84,34 @@ void DeviceApplicationRunner::setWorkingDirectory(const QString &workingDirector void DeviceApplicationRunner::start(const IDevice::ConstPtr &device, const QString &command, const QStringList &arguments) { - QTC_ASSERT(device->canCreateProcess(), return); QTC_ASSERT(d->state == Inactive, return); - d->device = device; - d->command = command; - d->arguments = arguments; - d->stopRequested = false; - d->success = true; - - if (!d->device) { + if (!device) { emit reportError(tr("Cannot run: No device.")); setFinished(); return; } - runApplication(); + if (!device->canCreateProcess()) { + emit reportError(tr("Cannot run: Device is not able to create processes.")); + setFinished(); + return; + } + + d->stopRequested = false; + d->success = true; + + d->state = Run; + d->deviceProcess = device->createProcess(this); + connect(d->deviceProcess, SIGNAL(started()), SIGNAL(remoteProcessStarted())); + connect(d->deviceProcess, SIGNAL(readyReadStandardOutput()), SLOT(handleRemoteStdout())); + connect(d->deviceProcess, SIGNAL(readyReadStandardError()), SLOT(handleRemoteStderr())); + connect(d->deviceProcess, SIGNAL(error(QProcess::ProcessError)), + SLOT(handleApplicationError(QProcess::ProcessError))); + connect(d->deviceProcess, SIGNAL(finished()), SLOT(handleApplicationFinished())); + d->deviceProcess->setEnvironment(d->environment); + d->deviceProcess->setWorkingDirectory(d->workingDir); + d->deviceProcess->start(command, arguments); } void DeviceApplicationRunner::stop() @@ -118,7 +123,6 @@ void DeviceApplicationRunner::stop() emit reportProgress(tr("User requested stop. Shutting down...")); switch (d->state) { case Run: - d->stopTimer.start(10000); d->deviceProcess->terminate(); break; case Inactive: @@ -126,6 +130,15 @@ void DeviceApplicationRunner::stop() } } +void DeviceApplicationRunner::handleApplicationError(QProcess::ProcessError error) +{ + if (error == QProcess::FailedToStart) { + emit reportError(tr("Application failed to start: %1") + .arg(d->deviceProcess->errorString())); + setFinished(); + } +} + void DeviceApplicationRunner::setFinished() { if (d->state == Inactive) @@ -141,30 +154,20 @@ void DeviceApplicationRunner::setFinished() emit finished(d->success); } -void DeviceApplicationRunner::handleStopTimeout() -{ - QTC_ASSERT(d->stopRequested && d->state == Run, return); - - emit reportError(tr("Application did not finish in time, aborting.")); - d->success = false; - setFinished(); -} - void DeviceApplicationRunner::handleApplicationFinished() { QTC_ASSERT(d->state == Run, return); - d->stopTimer.stop(); if (d->deviceProcess->exitStatus() == QProcess::CrashExit) { - emit reportError(tr("Remote application crashed: %1").arg(d->deviceProcess->errorString())); + emit reportError(d->deviceProcess->errorString()); d->success = false; } else { const int exitCode = d->deviceProcess->exitCode(); if (exitCode != 0) { - emit reportError(tr("Remote application finished with exit code %1.").arg(exitCode)); + emit reportError(tr("Application finished with exit code %1.").arg(exitCode)); d->success = false; } else { - emit reportProgress(tr("Remote application finished with exit code 0.")); + emit reportProgress(tr("Application finished with exit code 0.")); } } setFinished(); @@ -182,19 +185,4 @@ void DeviceApplicationRunner::handleRemoteStderr() emit remoteStderr(d->deviceProcess->readAllStandardError()); } -void DeviceApplicationRunner::runApplication() -{ - QTC_ASSERT(d->state == Inactive, return); - - d->state = Run; - d->deviceProcess = d->device->createProcess(this); - connect(d->deviceProcess, SIGNAL(started()), SIGNAL(remoteProcessStarted())); - connect(d->deviceProcess, SIGNAL(readyReadStandardOutput()), SLOT(handleRemoteStdout())); - connect(d->deviceProcess, SIGNAL(readyReadStandardError()), SLOT(handleRemoteStderr())); - connect(d->deviceProcess, SIGNAL(finished()), SLOT(handleApplicationFinished())); - d->deviceProcess->setEnvironment(d->environment); - d->deviceProcess->setWorkingDirectory(d->workingDir); - d->deviceProcess->start(d->command, d->arguments); -} - } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/devicesupport/deviceapplicationrunner.h b/src/plugins/projectexplorer/devicesupport/deviceapplicationrunner.h index fbb9fc3213..7481ac0271 100644 --- a/src/plugins/projectexplorer/devicesupport/deviceapplicationrunner.h +++ b/src/plugins/projectexplorer/devicesupport/deviceapplicationrunner.h @@ -34,6 +34,7 @@ #include "../projectexplorer_export.h" #include <QObject> +#include <QProcess> QT_BEGIN_NAMESPACE class QStringList; @@ -66,13 +67,12 @@ signals: void finished(bool success); private slots: - void handleStopTimeout(); + void handleApplicationError(QProcess::ProcessError error); void handleApplicationFinished(); void handleRemoteStdout(); void handleRemoteStderr(); private: - void runApplication(); void setFinished(); class DeviceApplicationRunnerPrivate; diff --git a/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp b/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp index af738701d5..0346bafb20 100644 --- a/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp +++ b/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp @@ -38,6 +38,7 @@ #include <utils/qtcassert.h> #include <QString> +#include <QTimer> namespace ProjectExplorer { @@ -54,6 +55,8 @@ public: QStringList arguments; QString errorMessage; QSsh::SshRemoteProcess::ExitStatus exitStatus; + DeviceProcessSignalOperation::Ptr killOperation; + QTimer killTimer; QByteArray stdOut; QByteArray stdErr; int exitCode; @@ -70,6 +73,7 @@ SshDeviceProcess::SshDeviceProcess(const IDevice::ConstPtr &device, QObject *par d->connection = 0; d->state = SshDeviceProcessPrivate::Inactive; setSshServerSupportsSignals(false); + connect(&d->killTimer, SIGNAL(timeout()), SLOT(handleKillOperationTimeout())); } SshDeviceProcess::~SshDeviceProcess() @@ -223,6 +227,7 @@ void SshDeviceProcess::handleDisconnected() emit error(QProcess::FailedToStart); break; case SshDeviceProcessPrivate::ProcessRunning: + d->exitStatus = QSsh::SshRemoteProcess::CrashExit; emit finished(); default: break; @@ -271,6 +276,26 @@ void SshDeviceProcess::handleStderr() emit readyReadStandardError(); } +void SshDeviceProcess::handleKillOperationFinished(const QString &errorMessage) +{ + QTC_ASSERT(d->state == SshDeviceProcessPrivate::ProcessRunning, return); + if (errorMessage.isEmpty()) // Process will finish as expected; nothing to do here. + return; + + d->exitStatus = QSsh::SshRemoteProcess::CrashExit; // Not entirely true, but it will get the message across. + d->errorMessage = tr("Failed to kill remote process: %1").arg(errorMessage); + d->setState(SshDeviceProcessPrivate::Inactive); + emit finished(); +} + +void SshDeviceProcess::handleKillOperationTimeout() +{ + d->exitStatus = QSsh::SshRemoteProcess::CrashExit; // Not entirely true, but it will get the message across. + d->errorMessage = tr("Timeout waiting for remote process to finish."); + d->setState(SshDeviceProcessPrivate::Inactive); + emit finished(); +} + QString SshDeviceProcess::fullCommandLine() const { QString cmdLine = executable(); @@ -296,10 +321,17 @@ void SshDeviceProcess::SshDeviceProcessPrivate::doSignal(QSsh::SshRemoteProcess: process->sendSignal(signal); } else { DeviceProcessSignalOperation::Ptr signalOperation = q->device()->signalOperation(); - if (signal == QSsh::SshRemoteProcess::IntSignal) + if (signal == QSsh::SshRemoteProcess::IntSignal) { signalOperation->interruptProcess(executable); - else + } else { + if (killOperation) // We are already in the process of killing the app. + return; + killOperation = signalOperation; + connect(signalOperation.data(), SIGNAL(finished(QString)), q, + SLOT(handleKillOperationFinished(QString))); + killTimer.start(5000); signalOperation->killProcess(executable); + } } break; } @@ -314,6 +346,11 @@ void SshDeviceProcess::SshDeviceProcessPrivate::setState(SshDeviceProcess::SshDe if (state != Inactive) return; + if (killOperation) { + killOperation->disconnect(q); + killOperation.clear(); + } + killTimer.stop(); if (process) process->disconnect(q); if (connection) { diff --git a/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.h b/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.h index 1b82398319..90f413bbe6 100644 --- a/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.h +++ b/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.h @@ -74,6 +74,8 @@ private slots: void handleProcessFinished(int exitStatus); void handleStdout(); void handleStderr(); + void handleKillOperationFinished(const QString &errorMessage); + void handleKillOperationTimeout(); private: virtual QString fullCommandLine() const; diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp index d548534cc6..7d16bc23a7 100644 --- a/src/plugins/projectexplorer/kit.cpp +++ b/src/plugins/projectexplorer/kit.cpp @@ -69,29 +69,34 @@ class KitPrivate public: KitPrivate(Id id) : m_id(id), + m_nestedBlockingLevel(0), m_autodetected(false), m_sdkProvided(false), m_isValid(true), m_hasWarning(false), - m_nestedBlockingLevel(0), + m_hasValidityInfo(false), m_mustNotify(false), m_mustNotifyAboutDisplayName(false) { if (!id.isValid()) m_id = Id::fromString(QUuid::createUuid().toString()); + + m_displayName = QCoreApplication::translate("ProjectExplorer::Kit", "Unnamed"); + m_iconPath = Utils::FileName::fromString(QLatin1String(":///DESKTOP///")); } QString m_displayName; Id m_id; + int m_nestedBlockingLevel; bool m_autodetected; bool m_sdkProvided; bool m_isValid; bool m_hasWarning; - QIcon m_icon; - Utils::FileName m_iconPath; - int m_nestedBlockingLevel; + bool m_hasValidityInfo; bool m_mustNotify; bool m_mustNotifyAboutDisplayName; + QIcon m_icon; + Utils::FileName m_iconPath; QHash<Core::Id, QVariant> m_data; QSet<Core::Id> m_sticky; @@ -107,12 +112,41 @@ public: Kit::Kit(Core::Id id) : d(new Internal::KitPrivate(id)) { - KitGuard g(this); foreach (KitInformation *sti, KitManager::kitInformation()) - setValue(sti->id(), sti->defaultValue(this)); + d->m_data.insert(sti->id(), sti->defaultValue(this)); - setDisplayName(QCoreApplication::translate("ProjectExplorer::Kit", "Unnamed")); - setIconPath(Utils::FileName::fromString(QLatin1String(":///DESKTOP///"))); + d->m_icon = icon(d->m_iconPath); +} + +Kit::Kit(const QVariantMap &data) : + d(new Internal::KitPrivate(Core::Id())) +{ + d->m_id = Id::fromSetting(data.value(QLatin1String(ID_KEY))); + + d->m_autodetected = data.value(QLatin1String(AUTODETECTED_KEY)).toBool(); + + // if we don't have that setting assume that autodetected implies sdk + QVariant value = data.value(QLatin1String(SDK_PROVIDED_KEY)); + if (value.isValid()) + d->m_sdkProvided = value.toBool(); + else + d->m_sdkProvided = d->m_autodetected; + + d->m_displayName = data.value(QLatin1String(DISPLAYNAME_KEY), + d->m_displayName).toString(); + d->m_iconPath = Utils::FileName::fromString(data.value(QLatin1String(ICON_KEY), + d->m_iconPath.toString()).toString()); + d->m_icon = icon(d->m_iconPath); + + QVariantMap extra = data.value(QLatin1String(DATA_KEY)).toMap(); + d->m_data.clear(); // remove default values + const QVariantMap::ConstIterator cend = extra.constEnd(); + for (QVariantMap::ConstIterator it = extra.constBegin(); it != cend; ++it) + d->m_data.insert(Id::fromString(it.key()), it.value()); + + QStringList mutableInfoList = data.value(QLatin1String(MUTABLE_INFO_KEY)).toStringList(); + foreach (const QString &mutableInfo, mutableInfoList) + d->m_mutable.insert(Core::Id::fromString(mutableInfo)); } Kit::~Kit() @@ -172,11 +206,20 @@ void Kit::copyFrom(const Kit *k) bool Kit::isValid() const { - return d->m_id.isValid() && d->m_isValid; + if (!d->m_id.isValid()) + return false; + + if (!d->m_hasValidityInfo) + validate(); + + return d->m_isValid; } bool Kit::hasWarning() const { + if (!d->m_hasValidityInfo) + validate(); + return d->m_hasWarning; } @@ -197,6 +240,7 @@ QList<Task> Kit::validate() const result.append(tmp); } qSort(result); + d->m_hasValidityInfo = true; return result; } @@ -447,37 +491,6 @@ QString Kit::toHtml() const return rc; } -bool Kit::fromMap(const QVariantMap &data) -{ - KitGuard g(this); - Id id = Id::fromSetting(data.value(QLatin1String(ID_KEY))); - if (!id.isValid()) - return false; - d->m_id = id; - d->m_autodetected = data.value(QLatin1String(AUTODETECTED_KEY)).toBool(); - // if we don't have that setting assume that autodetected implies sdk - QVariant value = data.value(QLatin1String(SDK_PROVIDED_KEY)); - if (value.isValid()) - d->m_sdkProvided = value.toBool(); - else - d->m_sdkProvided = d->m_autodetected; - setDisplayName(data.value(QLatin1String(DISPLAYNAME_KEY)).toString()); - setIconPath(Utils::FileName::fromString(data.value(QLatin1String(ICON_KEY)).toString())); - - QVariantMap extra = data.value(QLatin1String(DATA_KEY)).toMap(); - d->m_data.clear(); // remove default values - const QVariantMap::ConstIterator cend = extra.constEnd(); - for (QVariantMap::ConstIterator it = extra.constBegin(); it != cend; ++it) - setValue(Id::fromString(it.key()), it.value()); - - QStringList mutableInfoList = data.value(QLatin1String(MUTABLE_INFO_KEY)).toStringList(); - foreach (const QString &mutableInfo, mutableInfoList) { - d->m_mutable.insert(Core::Id::fromString(mutableInfo)); - } - - return true; -} - void Kit::setAutoDetected(bool detected) { d->m_autodetected = detected; @@ -528,7 +541,7 @@ void Kit::kitUpdated() d->m_mustNotify = true; return; } - validate(); + d->m_hasValidityInfo = false; KitManager::notifyAboutUpdate(this); } @@ -539,7 +552,7 @@ void Kit::kitDisplayNameChanged() d->m_mustNotify = false; return; } - validate(); + d->m_hasValidityInfo = false; KitManager::notifyAboutDisplayNameChange(this); } diff --git a/src/plugins/projectexplorer/kit.h b/src/plugins/projectexplorer/kit.h index 72deab3edd..0bd64ccf7a 100644 --- a/src/plugins/projectexplorer/kit.h +++ b/src/plugins/projectexplorer/kit.h @@ -113,6 +113,7 @@ private: void setSdkProvided(bool sdkProvided); ~Kit(); + Kit(const QVariantMap &data); // Unimplemented. Kit(const Kit &other); @@ -122,9 +123,8 @@ private: void kitUpdated(); QVariantMap toMap() const; - bool fromMap(const QVariantMap &value); - Internal::KitPrivate *d; + Internal::KitPrivate *const d; friend class KitInformation; friend class KitManager; diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index 88f5ed77af..e7bb8bc19a 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -358,10 +358,11 @@ KitManager::KitList KitManager::restoreKits(const Utils::FileName &fileName) const QVariantMap stMap = data.value(key).toMap(); - Kit *k = new Kit; - if (k->fromMap(stMap)) { + Kit *k = new Kit(stMap); + if (k->id().isValid()) { result.kits.append(k); } else { + // If the Id is broken, then do not trust the rest of the data either. delete k; qWarning("Warning: Unable to restore kits stored in %s at position %d.", qPrintable(fileName.toUserOutput()), i); @@ -493,6 +494,8 @@ void KitManager::notifyAboutUpdate(ProjectExplorer::Kit *k) bool KitManager::registerKit(ProjectExplorer::Kit *k) { QTC_ASSERT(isLoaded(), return false); + QTC_ASSERT(k->id().isValid(), return false); + if (!k) return true; foreach (Kit *current, kits()) { diff --git a/src/plugins/projectexplorer/kitmodel.cpp b/src/plugins/projectexplorer/kitmodel.cpp index ca449e0718..d41149c603 100644 --- a/src/plugins/projectexplorer/kitmodel.cpp +++ b/src/plugins/projectexplorer/kitmodel.cpp @@ -92,15 +92,6 @@ KitModel::KitModel(QBoxLayout *parentLayout, QObject *parent) : m_defaultNode(0), m_keepUnique(true) { - connect(KitManager::instance(), SIGNAL(kitAdded(ProjectExplorer::Kit*)), - this, SLOT(addKit(ProjectExplorer::Kit*))); - connect(KitManager::instance(), SIGNAL(kitRemoved(ProjectExplorer::Kit*)), - this, SLOT(removeKit(ProjectExplorer::Kit*))); - connect(KitManager::instance(), SIGNAL(unmanagedKitUpdated(ProjectExplorer::Kit*)), - this, SLOT(updateKit(ProjectExplorer::Kit*))); - connect(KitManager::instance(), SIGNAL(defaultkitChanged()), - this, SLOT(changeDefaultKit())); - m_root = new KitNode(0); m_autoRoot = new KitNode(m_root); m_manualRoot = new KitNode(m_root); @@ -109,6 +100,15 @@ KitModel::KitModel(QBoxLayout *parentLayout, QObject *parent) : addKit(k); changeDefaultKit(); + + connect(KitManager::instance(), SIGNAL(kitAdded(ProjectExplorer::Kit*)), + this, SLOT(addKit(ProjectExplorer::Kit*))); + connect(KitManager::instance(), SIGNAL(kitRemoved(ProjectExplorer::Kit*)), + this, SLOT(removeKit(ProjectExplorer::Kit*))); + connect(KitManager::instance(), SIGNAL(unmanagedKitUpdated(ProjectExplorer::Kit*)), + this, SLOT(updateKit(ProjectExplorer::Kit*))); + connect(KitManager::instance(), SIGNAL(defaultkitChanged()), + this, SLOT(changeDefaultKit())); } KitModel::~KitModel() diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp index e3544f7949..cb0f7f6686 100644 --- a/src/plugins/projectexplorer/msvctoolchain.cpp +++ b/src/plugins/projectexplorer/msvctoolchain.cpp @@ -103,7 +103,9 @@ static Abi findAbiOfMsvc(MsvcToolChain::Type type, MsvcToolChain::Platform platf else if (version == QLatin1String("v7.0A") || version == QLatin1String("v7.1")) msvcVersionString = QLatin1String("10.0"); } - if (msvcVersionString.startsWith(QLatin1String("11."))) + if (msvcVersionString.startsWith(QLatin1String("12."))) + flavor = Abi::WindowsMsvc2013Flavor; + else if (msvcVersionString.startsWith(QLatin1String("11."))) flavor = Abi::WindowsMsvc2012Flavor; else if (msvcVersionString.startsWith(QLatin1String("10."))) flavor = Abi::WindowsMsvc2010Flavor; @@ -359,6 +361,12 @@ QList<Utils::FileName> MsvcToolChain::suggestedMkspecList() const << Utils::FileName::fromString(QLatin1String("win32-msvc2012")) << Utils::FileName::fromString(QLatin1String("win32-msvc2010")); break; + case ProjectExplorer::Abi::WindowsMsvc2013Flavor: + QList<Utils::FileName>() + << Utils::FileName::fromString(QLatin1String("win32-msvc2013")) + << Utils::FileName::fromString(QLatin1String("win32-msvc2012")) + << Utils::FileName::fromString(QLatin1String("win32-msvc2010")); + break; default: break; } diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp index b70f20254b..d43a9c20c0 100644 --- a/src/plugins/projectexplorer/project.cpp +++ b/src/plugins/projectexplorer/project.cpp @@ -71,7 +71,6 @@ const char TARGET_KEY_PREFIX[] = "ProjectExplorer.Project.Target."; const char TARGET_COUNT_KEY[] = "ProjectExplorer.Project.TargetCount"; const char EDITOR_SETTINGS_KEY[] = "ProjectExplorer.Project.EditorSettings"; const char PLUGIN_SETTINGS_KEY[] = "ProjectExplorer.Project.PluginSettings"; -const char CPP_SETTINGS_KEY[] = "ProjectExplorer.Project.CppSettings"; } // namespace namespace ProjectExplorer { @@ -92,7 +91,6 @@ public: Core::Context m_projectContext; Core::Context m_projectLanguages; QVariantMap m_pluginSettings; - QVariantMap m_additionalCppDefines; SettingsAccessor *m_accessor; }; @@ -343,7 +341,6 @@ QVariantMap Project::toMap() const map.insert(QLatin1String(EDITOR_SETTINGS_KEY), d->m_editorConfiguration->toMap()); map.insert(QLatin1String(PLUGIN_SETTINGS_KEY), d->m_pluginSettings); - map.insert(QLatin1String(CPP_SETTINGS_KEY), d->m_additionalCppDefines); return map; } @@ -371,8 +368,6 @@ bool Project::fromMap(const QVariantMap &map) if (map.contains(QLatin1String(PLUGIN_SETTINGS_KEY))) d->m_pluginSettings = map.value(QLatin1String(PLUGIN_SETTINGS_KEY)).toMap(); - if (map.contains(QLatin1String(CPP_SETTINGS_KEY))) - d->m_additionalCppDefines = map.value(QLatin1String(CPP_SETTINGS_KEY)).toMap(); bool ok; int maxI(map.value(QLatin1String(TARGET_COUNT_KEY), 0).toInt(&ok)); @@ -477,16 +472,6 @@ void Project::setNamedSettings(const QString &name, const QVariant &value) d->m_pluginSettings.insert(name, value); } -QVariantMap Project::additionalCppDefines() const -{ - return d->m_additionalCppDefines; -} - -void Project::setAdditionalCppDefines(const QVariantMap value) const -{ - d->m_additionalCppDefines = value; -} - bool Project::needsConfiguration() const { return false; diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h index c61db0cb21..8a0560af5c 100644 --- a/src/plugins/projectexplorer/project.h +++ b/src/plugins/projectexplorer/project.h @@ -123,9 +123,6 @@ public: QVariant namedSettings(const QString &name) const; void setNamedSettings(const QString &name, const QVariant &value); - QVariantMap additionalCppDefines() const; - void setAdditionalCppDefines(const QVariantMap value) const; - virtual bool needsConfiguration() const; virtual void configureAsExampleProject(const QStringList &platforms); diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index 61d7289365..d4bc1e293e 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -273,6 +273,7 @@ void ProjectWindow::aboutToShutdown() { showProperties(-1, -1); // that's a bit stupid, but otherwise stuff is still // connected to the session + disconnect(KitManager::instance(), 0, this, 0); disconnect(SessionManager::instance(), 0, this, 0); } diff --git a/src/plugins/projectexplorer/settingsaccessor.cpp b/src/plugins/projectexplorer/settingsaccessor.cpp index 6fe011ef75..1796bc1004 100644 --- a/src/plugins/projectexplorer/settingsaccessor.cpp +++ b/src/plugins/projectexplorer/settingsaccessor.cpp @@ -1514,15 +1514,15 @@ QVariantMap Version1Handler::update(Project *project, const QVariantMap &map) "CMake Default target display name")); else if (project->id() == "Qt4ProjectManager.Qt4Project") targets << TargetDescription(QString::fromLatin1("Qt4ProjectManager.Target.DesktopTarget"), - QCoreApplication::translate("Qt4ProjectManager::Internal::Qt4Target", + QCoreApplication::translate("QmakeProjectManager::Internal::Qt4Target", "Desktop", "Qt4 Desktop target display name")) << TargetDescription(QString::fromLatin1("Qt4ProjectManager.Target.MaemoEmulatorTarget"), - QCoreApplication::translate("Qt4ProjectManager::Internal::Qt4Target", + QCoreApplication::translate("QmakeProjectManager::Internal::Qt4Target", "Maemo Emulator", "Qt4 Maemo Emulator target display name")) << TargetDescription(QString::fromLatin1("Qt4ProjectManager.Target.MaemoDeviceTarget"), - QCoreApplication::translate("Qt4ProjectManager::Internal::Qt4Target", + QCoreApplication::translate("QmakeProjectManager::Internal::Qt4Target", "Maemo Device", "Qt4 Maemo Device target display name")); else if (project->id() == "QmlProjectManager.QmlProject") diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp index b867943518..3211a8f35f 100644 --- a/src/plugins/projectexplorer/target.cpp +++ b/src/plugins/projectexplorer/target.cpp @@ -769,6 +769,9 @@ bool Target::fromMap(const QVariantMap &map) if (!d->m_kit) return false; + setDisplayName(d->m_kit->displayName()); // Overwrite displayname read from file + setDefaultDisplayName(d->m_kit->displayName()); + bool ok; int bcCount = map.value(QLatin1String(BC_COUNT_KEY), 0).toInt(&ok); if (!ok || bcCount < 0) diff --git a/src/plugins/qbsprojectmanager/images/groups.png b/src/plugins/qbsprojectmanager/images/groups.png Binary files differnew file mode 100644 index 0000000000..96388c0e22 --- /dev/null +++ b/src/plugins/qbsprojectmanager/images/groups.png diff --git a/src/plugins/qbsprojectmanager/images/groups@2x.png b/src/plugins/qbsprojectmanager/images/groups@2x.png Binary files differnew file mode 100644 index 0000000000..d03831830f --- /dev/null +++ b/src/plugins/qbsprojectmanager/images/groups@2x.png diff --git a/src/plugins/qbsprojectmanager/images/productgear.png b/src/plugins/qbsprojectmanager/images/productgear.png Binary files differnew file mode 100644 index 0000000000..42fcf5f44c --- /dev/null +++ b/src/plugins/qbsprojectmanager/images/productgear.png diff --git a/src/plugins/qbsprojectmanager/images/productgear@2x.png b/src/plugins/qbsprojectmanager/images/productgear@2x.png Binary files differnew file mode 100644 index 0000000000..49d595f9d9 --- /dev/null +++ b/src/plugins/qbsprojectmanager/images/productgear@2x.png diff --git a/src/plugins/qbsprojectmanager/qbsnodes.cpp b/src/plugins/qbsprojectmanager/qbsnodes.cpp index 16caaed3ec..54afff6f22 100644 --- a/src/plugins/qbsprojectmanager/qbsnodes.cpp +++ b/src/plugins/qbsprojectmanager/qbsnodes.cpp @@ -30,6 +30,7 @@ #include "qbsnodes.h" #include "qbsproject.h" +#include "qbsprojectmanagerconstants.h" #include "qbsrunconfiguration.h" #include <coreplugin/fileiconprovider.h> @@ -67,16 +68,15 @@ static QString displayNameFromPath(const QString &path, const QString &base) return name; } -static QIcon generateIcon() +static QIcon generateIcon(const QString &overlay) { const QSize desiredSize = QSize(16, 16); - const QIcon projectBaseIcon(QString::fromLatin1(QtSupport::Constants::ICON_QT_PROJECT)); - const QPixmap projectPixmap = Core::FileIconProvider::overlayIcon(QStyle::SP_DirIcon, - projectBaseIcon, - desiredSize); + const QIcon overlayIcon(overlay); + const QPixmap pixmap + = Core::FileIconProvider::overlayIcon(QStyle::SP_DirIcon, overlayIcon, desiredSize); QIcon result; - result.addPixmap(projectPixmap); + result.addPixmap(pixmap); return result; } @@ -84,9 +84,9 @@ static QIcon generateIcon() namespace QbsProjectManager { namespace Internal { -QIcon QbsProjectNode::m_projectIcon = generateIcon(); -QIcon QbsProductNode::m_productIcon = QIcon(QString::fromLatin1(ProjectExplorer::Constants::ICON_REBUILD_SMALL)); -QIcon QbsGroupNode::m_groupIcon = QIcon(QString::fromLatin1(ProjectExplorer::Constants::ICON_BUILD_SMALL)); +QIcon QbsGroupNode::m_groupIcon; +QIcon QbsProjectNode::m_projectIcon; +QIcon QbsProductNode::m_productIcon; class FileTreeNode { public: @@ -327,6 +327,9 @@ QbsGroupNode::QbsGroupNode(const qbs::GroupData *grp, const QString &productPath QbsBaseProjectNode(QString()), m_qbsGroupData(0) { + if (m_groupIcon.isNull()) + m_groupIcon = QIcon(QString::fromLatin1(Constants::QBS_GROUP_ICON)); + setIcon(m_groupIcon); QbsFileNode *idx = new QbsFileNode(grp->location().fileName(), @@ -465,6 +468,9 @@ void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root, QbsProductNode::QbsProductNode(const qbs::ProductData &prd) : QbsBaseProjectNode(prd.location().fileName()) { + if (m_productIcon.isNull()) + m_productIcon = generateIcon(QString::fromLatin1(Constants::QBS_PRODUCT_OVERLAY_ICON)); + setIcon(m_productIcon); ProjectExplorer::FileNode *idx = new QbsFileNode(prd.location().fileName(), @@ -650,6 +656,9 @@ const qbs::ProjectData QbsProjectNode::qbsProjectData() const void QbsProjectNode::ctor() { + if (m_projectIcon.isNull()) + m_projectIcon = generateIcon(QString::fromLatin1(QtSupport::Constants::ICON_QT_PROJECT)); + setIcon(m_projectIcon); addFileNodes(QList<ProjectExplorer::FileNode *>() << new ProjectExplorer::FileNode(path(), ProjectExplorer::ProjectFileType, false), this); diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index cdf44807d5..87123b5ef6 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -286,6 +286,9 @@ void QbsProject::handleQbsParsingDone(bool success) delete m_qbsUpdateFutureInterface; m_qbsUpdateFutureInterface = 0; + if (!project.isValid()) + return; + m_rootProjectNode->update(project); updateDocuments(project.isValid() ? project.buildSystemFiles() : QSet<QString>() << m_fileName); @@ -426,6 +429,10 @@ void QbsProject::parse(const QVariantMap &config, const Environment &env, const return; } + // Some people don't like it when files are created as a side effect of opening a project, + // so do not store the build graph if the build directory does not exist yet. + params.setDryRun(!QFileInfo(dir).exists()); + params.setBuildRoot(dir); params.setProjectFilePath(m_fileName); params.setIgnoreDifferentProjectFilePath(false); diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp b/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp index 25c03da351..fb20982f45 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp @@ -60,10 +60,8 @@ QbsManager::QbsManager(Internal::QbsProjectManagerPlugin *plugin) : m_plugin(plugin), m_defaultPropertyProvider(new DefaultPropertyProvider) { - if (!m_settings) - m_settings = new qbs::Settings(QLatin1String("QtProject"), QLatin1String("qbs")); - if (!m_preferences) - m_preferences = new qbs::Preferences(m_settings); + m_settings = new qbs::Settings(QLatin1String("QtProject"), QLatin1String("qbs")); + m_preferences = new qbs::Preferences(m_settings); setObjectName(QLatin1String("QbsProjectManager")); connect(ProjectExplorer::KitManager::instance(), SIGNAL(kitsChanged()), this, SLOT(pushKitsToQbs())); @@ -89,6 +87,7 @@ QbsManager::~QbsManager() { delete m_defaultPropertyProvider; delete m_settings; + delete m_preferences; } QString QbsManager::mimeType() const diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.pro b/src/plugins/qbsprojectmanager/qbsprojectmanager.pro index 8f8319e037..47e40a1f22 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.pro +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.pro @@ -62,3 +62,6 @@ FORMS = \ qbsbuildstepconfigwidget.ui \ qbscleanstepconfigwidget.ui \ qbsinstallstepconfigwidget.ui + +RESOURCES += \ + qbsprojectmanager.qrc diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs b/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs index adb8969087..af2759e317 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs @@ -57,6 +57,7 @@ QtcPlugin { cpp.dynamicLibraries: base.concat(externalQbsDynamicLibraries) files: [ + "qbsprojectmanager.qrc", "defaultpropertyprovider.cpp", "defaultpropertyprovider.h", "propertyprovider.h", diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.qrc b/src/plugins/qbsprojectmanager/qbsprojectmanager.qrc new file mode 100644 index 0000000000..d313a995f1 --- /dev/null +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.qrc @@ -0,0 +1,8 @@ +<RCC> + <qresource prefix="/qbsprojectmanager"> + <file>images/groups.png</file> + <file>images/groups@2x.png</file> + <file>images/productgear.png</file> + <file>images/productgear@2x.png</file> + </qresource> +</RCC> diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h b/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h index 2566214522..7633c7fc88 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h +++ b/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h @@ -63,6 +63,10 @@ static const char QBS_CONFIG_PROFILE_KEY[] = "qbs.profile"; static const char QBS_CONFIG_DECLARATIVE_DEBUG_KEY[] = "Qt.declarative.qmlDebugging"; static const char QBS_CONFIG_QUICK_DEBUG_KEY[] = "Qt.quick.qmlDebugging"; +// Icons: +static const char QBS_GROUP_ICON[] = ":/qbsprojectmanager/images/groups.png"; +static const char QBS_PRODUCT_OVERLAY_ICON[] = ":/qbsprojectmanager/images/productgear.png"; + } // namespace Constants } // namespace QbsProjectManager diff --git a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp index 2a63ac88ec..697f460659 100644 --- a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp @@ -105,8 +105,8 @@ QbsRunConfiguration::QbsRunConfiguration(ProjectExplorer::Target *parent, QbsRun m_commandLineArguments(source->m_commandLineArguments), m_runMode(source->m_runMode), m_userWorkingDirectory(source->m_userWorkingDirectory), - m_currentInstallStep(source->m_currentInstallStep), - m_currentBuildStepList(source->m_currentBuildStepList) + m_currentInstallStep(0), // no need to copy this, we will get if from the DC anyway. + m_currentBuildStepList(0) // ditto { ctor(); } diff --git a/src/plugins/qbsprojectmanager/qbsrunconfiguration.h b/src/plugins/qbsprojectmanager/qbsrunconfiguration.h index 469c6089cf..dabc7b7b73 100644 --- a/src/plugins/qbsprojectmanager/qbsrunconfiguration.h +++ b/src/plugins/qbsprojectmanager/qbsrunconfiguration.h @@ -131,8 +131,8 @@ private: bool m_userSetName; QString m_userWorkingDirectory; - QbsInstallStep *m_currentInstallStep; - ProjectExplorer::BuildStepList *m_currentBuildStepList; + QbsInstallStep *m_currentInstallStep; // We do not take ownership! + ProjectExplorer::BuildStepList *m_currentBuildStepList; // We do not take ownership! }; class QbsRunConfigurationWidget : public QWidget diff --git a/src/plugins/qmldesigner/components/integration/componentview.cpp b/src/plugins/qmldesigner/components/integration/componentview.cpp index 082b3e220b..122c14797a 100644 --- a/src/plugins/qmldesigner/components/integration/componentview.cpp +++ b/src/plugins/qmldesigner/components/integration/componentview.cpp @@ -85,7 +85,7 @@ void ComponentView::removeSingleNodeFromList(const ModelNode &node) } -int ComponentView::indexForNode(const ModelNode &node) +int ComponentView::indexForNode(const ModelNode &node) const { for (int row = 0; row < m_standardItemModel->rowCount(); row++) { if (m_standardItemModel->item(row)->data(ModelNodeRole).toInt() == node.internalId()) @@ -94,7 +94,7 @@ int ComponentView::indexForNode(const ModelNode &node) return -1; } -int ComponentView::indexOfMaster() +int ComponentView::indexOfMaster() const { for (int row = 0; row < m_standardItemModel->rowCount(); row++) { if (m_standardItemModel->item(row)->data(ModelNodeRole).toInt() == 0) @@ -104,12 +104,57 @@ int ComponentView::indexOfMaster() return -1; } +bool ComponentView::hasMasterEntry() const +{ + return indexOfMaster() >= 0; +} + +bool ComponentView::hasEntryForNode(const ModelNode &node) const +{ + return indexForNode(node) >= 0; +} + void ComponentView::addMasterDocument() { - QStandardItem *item = new QStandardItem("master"); - item->setData(QVariant::fromValue(0), ModelNodeRole); - item->setEditable(false); - m_standardItemModel->appendRow(item); + if (!hasMasterEntry()) { + QStandardItem *item = new QStandardItem("master"); + item->setData(QVariant::fromValue(0), ModelNodeRole); + item->setEditable(false); + m_standardItemModel->appendRow(item); + } +} + +void ComponentView::removeMasterDocument() +{ + m_standardItemModel->removeColumn(indexOfMaster()); +} + +QString ComponentView::descriptionForNode(const ModelNode &node) const +{ + QString description; + + if (!node.id().isEmpty()) { + description = node.id(); + } else if (node.hasParentProperty()) { + ModelNode parentNode = node.parentProperty().parentModelNode(); + + if (parentNode.id().isEmpty()) + description = parentNode.simplifiedTypeName() + QLatin1Char(' '); + else + description = parentNode.id() + QLatin1Char(' '); + + description += node.parentProperty().name(); + } + + return description; +} + +void ComponentView::updateDescription(const ModelNode &node) +{ + int nodeIndex = indexForNode(node); + + if (nodeIndex > -1) + m_standardItemModel->item(nodeIndex)->setText(descriptionForNode(node)); } void ComponentView::modelAttached(Model *model) @@ -161,23 +206,12 @@ void ComponentView::searchForComponentAndAddToList(const ModelNode &node) addMasterDocument(); } - if (!node.id().isEmpty()) { - QStandardItem *item = new QStandardItem(node.id()); - item->setData(QVariant::fromValue(node.internalId()), ModelNodeRole); - item->setEditable(false); - removeSingleNodeFromList(node); //remove node if already present - m_standardItemModel->appendRow(item); - } else { - QString description; - if (node.hasParentProperty()) { - ModelNode parentNode = node.parentProperty().parentModelNode(); - - if (parentNode.id().isEmpty()) - description = parentNode.simplifiedTypeName() + QLatin1Char(' '); - else - description = parentNode.id() + QLatin1Char(' '); - } - description += node.parentProperty().name(); + if (!hasEntryForNode(node)) { + QString description = descriptionForNode(node); + + + + QStandardItem *item = new QStandardItem(description); item->setData(QVariant::fromValue(node.internalId()), ModelNodeRole); item->setEditable(false); @@ -203,6 +237,9 @@ void ComponentView::searchForComponentAndRemoveFromList(const ModelNode &node) if (childNode.nodeSourceType() == ModelNode::NodeWithComponentSource) removeSingleNodeFromList(childNode); } + + if (m_standardItemModel->rowCount() == 1) + removeMasterDocument(); } void ComponentView::nodeAboutToBeReparented(const ModelNode &/*node*/, const NodeAbstractProperty &/*newPropertyParent*/, const NodeAbstractProperty &/*oldPropertyParent*/, AbstractView::PropertyChangeFlags /*propertyChange*/) {} @@ -210,9 +247,15 @@ void ComponentView::nodeAboutToBeReparented(const ModelNode &/*node*/, const Nod void ComponentView::nodeReparented(const ModelNode &node, const NodeAbstractProperty &/*newPropertyParent*/, const NodeAbstractProperty &/*oldPropertyParent*/, AbstractView::PropertyChangeFlags /*propertyChange*/) { searchForComponentAndAddToList(node); + + updateDescription(node); +} + +void ComponentView::nodeIdChanged(const ModelNode& node, const QString& /*newId*/, const QString& /*oldId*/) +{ + updateDescription(node); } -void ComponentView::nodeIdChanged(const ModelNode& /*node*/, const QString& /*newId*/, const QString& /*oldId*/) {} void ComponentView::propertiesAboutToBeRemoved(const QList<AbstractProperty>& /*propertyList*/) {} void ComponentView::propertiesRemoved(const QList<AbstractProperty>& /*propertyList*/) {} void ComponentView::variantPropertiesChanged(const QList<VariantProperty>& /*propertyList*/, PropertyChangeFlags /*propertyChange*/) {} diff --git a/src/plugins/qmldesigner/components/integration/componentview.h b/src/plugins/qmldesigner/components/integration/componentview.h index 43842dcab0..5ec589b2a1 100644 --- a/src/plugins/qmldesigner/components/integration/componentview.h +++ b/src/plugins/qmldesigner/components/integration/componentview.h @@ -126,9 +126,14 @@ private: //functions void searchForComponentAndAddToList(const ModelNode &node); void searchForComponentAndRemoveFromList(const ModelNode &node); void removeSingleNodeFromList(const ModelNode &node); - int indexForNode(const ModelNode &node); - int indexOfMaster(); + int indexForNode(const ModelNode &node) const; + int indexOfMaster() const; + bool hasMasterEntry() const; + bool hasEntryForNode(const ModelNode &node) const; void addMasterDocument(); + void removeMasterDocument(); + QString descriptionForNode(const ModelNode &node) const; + void updateDescription(const ModelNode &node); private: QStandardItemModel *m_standardItemModel; diff --git a/src/plugins/qmldesigner/componentsplugin/Controls/ButtonSpecifics.qml b/src/plugins/qmldesigner/componentsplugin/Controls/ButtonSpecifics.qml index 00c8eaba43..4633c06fc3 100644 --- a/src/plugins/qmldesigner/componentsplugin/Controls/ButtonSpecifics.qml +++ b/src/plugins/qmldesigner/componentsplugin/Controls/ButtonSpecifics.qml @@ -27,144 +27,144 @@ ** ****************************************************************************/ -import Bauhaus 1.0 -import HelperWidgets 1.0 - -QWidget { - layout: QVBoxLayout { - topMargin: 0 - bottomMargin: 0 - leftMargin: 0 - rightMargin: 0 - spacing: 0 - GroupBox { - finished: finishedNotify; - caption: qsTr("Button") - layout: VerticalLayout { - - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Text") - toolTip: qsTr("The text shown on the button") - } - LineEdit { - backendValue: backendValues.text - baseStateFlag: isBaseState; - translation: true - } - } - } - - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Checked") - toolTip: qsTr("The state of the button") - } - CheckBox { - text: backendValues.checked.value - backendValue: backendValues.checked - baseStateFlag: isBaseState - checkable: true - } - } - } - - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Checkable") - toolTip: qsTr("Determines whether the button is checkable or not.") - } - CheckBox { - text: backendValues.checkable.value - backendValue: backendValues.checkable - baseStateFlag: isBaseState - checkable: true - } - } - } - - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Enabled") - toolTip: qsTr("Determines whether the button is enabled or not.") - } - CheckBox { - text: backendValues.enabled.value - backendValue: backendValues.enabled - baseStateFlag: isBaseState - checkable: true - } - } - } - - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Default button") - toolTip: qsTr("Sets the button as the default button in a dialog.") - } - CheckBox { - text: backendValues.defaultbutton.value - backendValue: backendValues.defaultbutton - baseStateFlag: isBaseState - checkable: true - } - } - } - - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Tool tip") - toolTip: qsTr("The tool tip shown for the button.") - } - LineEdit { - backendValue: backendValues.toolTip - baseStateFlag: isBaseState; - translation: true - } - } - } - - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Focus on press") - toolTip: "Determines whether the check box gets focus if pressed." - } - CheckBox { - text: backendValues.activeFocusOnPress.value - backendValue: backendValues.activeFocusOnPress - baseStateFlag: isBaseState - checkable: true - } - } - } - - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Icon source") - toolTip: qsTr("The URL of an icon resource.") - } - - FileWidget { - enabled: isBaseState || backendValues.id.value != ""; - fileName: backendValues.iconSource.value; - onFileNameChanged: { - backendValues.iconSource.value = fileName; - } - itemNode: anchorBackend.itemNode - filter: "*.png *.gif *.jpg *.bmp *.jpeg" - showComboBox: true - } - } +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Button") + + SectionLayout { + + Label { + text: qsTr("Text") + toolTip: qsTr("The text shown on the button") + } + + SecondColumnLayout { + LineEdit { + backendValue: backendValues.text + implicitWidth: 180 + } + ExpandingSpacer { + } } + + Label { + text: qsTr("Checked") + toolTip: qsTr("The state of the button") + } + + SecondColumnLayout { + CheckBox { + backendValue: backendValues.checked + implicitWidth: 180 + } + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Checkable") + toolTip: qsTr("Determines whether the button is checkable or not.") + } + + SecondColumnLayout { + CheckBox { + backendValue: backendValues.checkable + implicitWidth: 180 + } + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Enabled") + toolTip: qsTr("Determines whether the button is enabled or not.") + } + + SecondColumnLayout { + CheckBox { + backendValue: backendValues.enabled + implicitWidth: 180 + } + ExpandingSpacer { + + } + } + + + Label { + text: qsTr("Default button") + toolTip: qsTr("Sets the button as the default button in a dialog.") + } + + SecondColumnLayout { + CheckBox { + backendValue: backendValues.defaultbutton + implicitWidth: 180 + } + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Tool tip") + toolTip: qsTr("The tool tip shown for the button.") + } + + SecondColumnLayout { + LineEdit { + backendValue: backendValues.toolTip + implicitWidth: 180 + } + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Focus on press") + toolTip: "Determines whether the check box gets focus if pressed." + } + + SecondColumnLayout { + CheckBox { + backendValue: backendValues.activeFocusOnPress + implicitWidth: 180 + } + ExpandingSpacer { + + } + } + + + Label { + text: qsTr("Icon source") + toolTip: qsTr("The URL of an icon resource.") + } + + SecondColumnLayout { + LineEdit { + backendValue: backendValues.iconSource + implicitWidth: 180 + } + ExpandingSpacer { + + } + } + + } } } diff --git a/src/plugins/qmldesigner/componentsplugin/Controls/CheckBoxSpecifics.qml b/src/plugins/qmldesigner/componentsplugin/Controls/CheckBoxSpecifics.qml index 412fdeb95b..7ec2cfd91d 100644 --- a/src/plugins/qmldesigner/componentsplugin/Controls/CheckBoxSpecifics.qml +++ b/src/plugins/qmldesigner/componentsplugin/Controls/CheckBoxSpecifics.qml @@ -27,54 +27,67 @@ ** ****************************************************************************/ -import HelperWidgets 1.0 -import Bauhaus 1.0 -GroupBox { - caption: "Check Box" - layout: VerticalLayout { +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Text") - toolTip: qsTr("The text label for the check box") - } +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Check Box") + + SectionLayout { + + Label { + text: qsTr("Text") + toolTip: qsTr("The text shown on the check button") + } + + SecondColumnLayout { LineEdit { backendValue: backendValues.text - baseStateFlag: isBaseState - translation: true + implicitWidth: 180 } - } - } + ExpandingSpacer { - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Checked") - toolTip: qsTr("Determines whether the check box is checkable or not.") } + } + + Label { + text: qsTr("Checked") + toolTip: qsTr("The state of the check button") + } + + SecondColumnLayout { CheckBox { - text: backendValues.checked.value backendValue: backendValues.checked - baseStateFlag: isBaseState - checkable: true + implicitWidth: 180 } - } - } + ExpandingSpacer { - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Focus on press") - toolTip: "Determines whether the check box gets focus if pressed." } + } + + + Label { + text: qsTr("Focus on press") + toolTip: "Determines whether the check box gets focus if pressed." + } + + SecondColumnLayout { CheckBox { - text: backendValues.activeFocusOnPress.value backendValue: backendValues.activeFocusOnPress - baseStateFlag: isBaseState - checkable: true + implicitWidth: 180 + } + ExpandingSpacer { + } } + } } } diff --git a/src/plugins/qmldesigner/componentsplugin/Controls/ComboBoxSpecifics.qml b/src/plugins/qmldesigner/componentsplugin/Controls/ComboBoxSpecifics.qml index 151d47bd32..c645055654 100644 --- a/src/plugins/qmldesigner/componentsplugin/Controls/ComboBoxSpecifics.qml +++ b/src/plugins/qmldesigner/componentsplugin/Controls/ComboBoxSpecifics.qml @@ -27,40 +27,51 @@ ** ****************************************************************************/ +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 -import HelperWidgets 1.0 -import Bauhaus 1.0 +Column { + anchors.left: parent.left + anchors.right: parent.right -GroupBox { - caption: "Combo Box" - layout: VerticalLayout { + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Combo Box") - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Tool tip") - toolTip: qsTr("The tool tip shown for the combobox.") - } + SectionLayout { + + Label { + text: qsTr("Tool tip") + toolTip: qsTr("The tool tip shown for the combobox.") + } + + SecondColumnLayout { LineEdit { backendValue: backendValues.tooltip - baseStateFlag: isBaseState + implicitWidth: 180 } - } - } + ExpandingSpacer { - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Focus on press") - toolTip: "Determines whether the combobox gets focus if pressed." } + } + + Label { + text: qsTr("Focus on press") + toolTip: "Determines whether the combobox gets focus if pressed." + } + + SecondColumnLayout { CheckBox { - text: backendValues.activeFocusOnPress.value backendValue: backendValues.activeFocusOnPress - baseStateFlag: isBaseState - checkable: true + implicitWidth: 180 + } + ExpandingSpacer { + } } + } } } diff --git a/src/plugins/qmldesigner/componentsplugin/Controls/RadioButtonSpecifics.qml b/src/plugins/qmldesigner/componentsplugin/Controls/RadioButtonSpecifics.qml index 25ed160c0f..d15172f3bb 100644 --- a/src/plugins/qmldesigner/componentsplugin/Controls/RadioButtonSpecifics.qml +++ b/src/plugins/qmldesigner/componentsplugin/Controls/RadioButtonSpecifics.qml @@ -27,55 +27,68 @@ ** ****************************************************************************/ -import HelperWidgets 1.0 -import Bauhaus 1.0 - -GroupBox { - caption: "Radio Button" - layout: VerticalLayout { - - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Text") - toolTip: qsTr("The text label for the radio button") - } +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Radio Button") + + SectionLayout { + + Label { + text: qsTr("Text") + toolTip: qsTr("The text label for the radio button") + } + + SecondColumnLayout { LineEdit { backendValue: backendValues.text - baseStateFlag: isBaseState - translation: true + implicitWidth: 180 } - } - } + ExpandingSpacer { - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Checked") - toolTip: qsTr("Determines whether the radio button is checkable or not.") } + } + + Label { + text: qsTr("Checked") + toolTip: qsTr("Determines whether the radio button is checkable or not.") + } + + SecondColumnLayout { CheckBox { - text: backendValues.checked.value backendValue: backendValues.checked - baseStateFlag: isBaseState - checkable: true + implicitWidth: 180 } - } - } + ExpandingSpacer { - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Focus on press") - toolTip: "Determines whether the check box gets focus if pressed." } + } + + + Label { + + text: qsTr("Focus on press") + toolTip: "Determines whether the radio button gets focus if pressed." + } + + SecondColumnLayout { CheckBox { - text: backendValues.activeFocusOnPress.value backendValue: backendValues.activeFocusOnPress - baseStateFlag: isBaseState - checkable: true + implicitWidth: 180 + } + ExpandingSpacer { + } } + } } } diff --git a/src/plugins/qmldesigner/componentsplugin/Controls/TextAreaSpecifics.qml b/src/plugins/qmldesigner/componentsplugin/Controls/TextAreaSpecifics.qml index bf519b8698..9bd9a5c56c 100644 --- a/src/plugins/qmldesigner/componentsplugin/Controls/TextAreaSpecifics.qml +++ b/src/plugins/qmldesigner/componentsplugin/Controls/TextAreaSpecifics.qml @@ -27,164 +27,177 @@ ** ****************************************************************************/ -import HelperWidgets 1.0 -import Bauhaus 1.0 - -QWidget { - layout: QVBoxLayout { - topMargin: 0 - bottomMargin: 0 - leftMargin: 0 - rightMargin: 0 - spacing: 0 - - GroupBox { - caption: "Text Area" - - layout: VerticalLayout { - - - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Text") - toolTip: qsTr("The text of the text area") - } - LineEdit { - backendValue: backendValues.text - baseStateFlag: isBaseState - } - } - } - - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Read only") - toolTip: qsTr("Determines whether the text area is read only.") - } - CheckBox { - text: backendValues.readOnly.value - backendValue: backendValues.readOnly - baseStateFlag: isBaseState - checkable: true - } - } - } - - ColorGroupBox { - caption: qsTr("Color") - toolTip: qsTr("The color of the text") - finished: finishedNotify - backendColor: backendValues.color - } - - - IntEditor { +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Color") + + + ColorEditor { + caption: qsTr("Color") + backendendValue: backendValues.color + supportGradient: false + } + } + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Text Area") + + SectionLayout { + + Label { + text: qsTr("Text") + toolTip: qsTr("The text shown on the button") + } + + SecondColumnLayout { + LineEdit { + backendValue: backendValues.text + implicitWidth: 180 + } + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Read only") + toolTip: qsTr("Determines whether the text field is read only.") + } + + SecondColumnLayout { + CheckBox { + backendValue: backendValues.readOnly + implicitWidth: 180 + } + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Document margins") + toolTip: qsTr("The margins of the text area") + } + + SectionLayout { + SpinBox { backendValue: backendValues.documentMargins - caption: qsTr("Document margins") - toolTip: qsTr("The margins of the text area") - baseStateFlag: isBaseState - slider: false - } - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Frame") - toolTip: qsTr("Determines whether the text area has a frame.") - } - CheckBox { - text: backendValues.frame.value - backendValue: backendValues.frame - baseStateFlag: isBaseState - checkable: true - } - } - } - - IntEditor { + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + + Label { + text: qsTr("Frame width") + toolTip: qsTr("The width of the frame") + } + + SectionLayout { + SpinBox { backendValue: backendValues.frameWidth - caption: qsTr("Frame width") - toolTip: qsTr("The width of the frame") - baseStateFlag: isBaseState - slider: false + minimumValue: 0; + maximumValue: 1000; + decimals: 0 } - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Contents frame") - toolTip: qsTr("Determines whether the frame around contents is shown.") - } - CheckBox { - text: backendValues.frameAroundContents.value - backendValue: backendValues.frameAroundContents - baseStateFlag: isBaseState - checkable: true - } - } + ExpandingSpacer { + } + } + Label { + text: qsTr("Contents frame") + toolTip: qsTr("Determines whether the frame around contents is shown.") } - } - FontGroupBox { + SecondColumnLayout { + CheckBox { + backendValue: backendValues.frameAroundContents + implicitWidth: 180 + } + ExpandingSpacer { + + } + } } - GroupBox { - caption: qsTr("Focus Handling") - - layout: VerticalLayout { - - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Highlight on focus") - toolTip: qsTr("Determines whether the text area is highlighted on focus.") - } - CheckBox { - text: backendValues.highlightOnFocus.value - backendValue: backendValues.highlightOnFocus - baseStateFlag: isBaseState - checkable: true - } - } - } - - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Tab changes focus") - toolTip: qsTr("Determines whether tab changes the focus of the text area.") - } - CheckBox { - text: backendValues.tabChangesFocus.value - backendValue: backendValues.tabChangesFocus - baseStateFlag: isBaseState - checkable: true - } - } - } - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Focus on press") - toolTip: qsTr("Determines whether the text area gets focus if pressed.") - } - CheckBox { - text: backendValues.activeFocusOnPress.value - backendValue: backendValues.activeFocusOnPress - baseStateFlag: isBaseState - checkable: true - } - } + } + + FontSection { + showStyle: false + } + + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Focus Handling") + + SectionLayout { + + Label { + text: qsTr("Highlight on focus") + toolTip: qsTr("Determines whether the text area is highlighted on focus.") + } + + SecondColumnLayout { + CheckBox { + backendValue: backendValues.highlightOnFocus + implicitWidth: 180 } + ExpandingSpacer { + } + } + + Label { + text: qsTr("Tab changes focus") + toolTip: qsTr("Determines whether tab changes the focus of the text area.") + } + + SecondColumnLayout { + CheckBox { + backendValue: backendValues.tabChangesFocus + implicitWidth: 180 + } + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Focus on press") + toolTip: qsTr("Determines whether the text area gets focus if pressed.") } - } - ScrollArea { + SecondColumnLayout { + CheckBox { + backendValue: backendValues.activeFocusOnPress + implicitWidth: 180 + } + ExpandingSpacer { + + } + } } } diff --git a/src/plugins/qmldesigner/componentsplugin/Controls/TextFieldSpecifics.qml b/src/plugins/qmldesigner/componentsplugin/Controls/TextFieldSpecifics.qml index 8204cf83ed..7bad915625 100644 --- a/src/plugins/qmldesigner/componentsplugin/Controls/TextFieldSpecifics.qml +++ b/src/plugins/qmldesigner/componentsplugin/Controls/TextFieldSpecifics.qml @@ -27,123 +27,118 @@ ** ****************************************************************************/ -import Bauhaus 1.0 -import HelperWidgets 1.0 - -QWidget { - layout: QVBoxLayout { - topMargin: 0 - bottomMargin: 0 - leftMargin: 0 - rightMargin: 0 - spacing: 0 - GroupBox { - finished: finishedNotify; - caption: qsTr("Text Field") - layout: VerticalLayout { - - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Text") - toolTip: qsTr("The text shown on the text field") - } - LineEdit { - backendValue: backendValues.text - baseStateFlag: isBaseState; - translation: true - } - } +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Text Field") + + SectionLayout { + + Label { + text: qsTr("Text") + toolTip: qsTr("The text shown on the button") + } + + SecondColumnLayout { + LineEdit { + backendValue: backendValues.text + implicitWidth: 180 } + ExpandingSpacer { - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Placeholder text") - toolTip: qsTr("The placeholder text") - } - LineEdit { - backendValue: backendValues.placeholderText - baseStateFlag: isBaseState; - translation: true - } - } } + } + + Label { + text: qsTr("Placeholder text") + toolTip: qsTr("The placeholder text") + } - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Read only") - toolTip: qsTr("Determines whether the text field is read only.") - } - CheckBox { - text: backendValues.readOnly.value - backendValue: backendValues.readOnly - baseStateFlag: isBaseState - checkable: true - } - } + SecondColumnLayout { + LineEdit { + backendValue: backendValues.placeholderText + implicitWidth: 180 } + ExpandingSpacer { - QWidget { - layout: HorizontalLayout { - Label { - text: qsTr("Password mode") - toolTip: qsTr("Determines whether the text field is in password mode.") - } - CheckBox { - text: backendValues.passwordMode.value - backendValue: backendValues.passwordMode - baseStateFlag: isBaseState - checkable: true - } - } } + } - QWidget { - layout: HorizontalLayout { + Label { + text: qsTr("Read only") + toolTip: qsTr("Determines whether the text field is read only.") + } - Label { - text: qsTr("Input mask") - toolTip: qsTr("Restricts the valid text in the text field.") - } + SecondColumnLayout { + CheckBox { + backendValue: backendValues.readOnly + implicitWidth: 180 + } + ExpandingSpacer { - LineEdit { - backendValue: backendValues.inputMask - baseStateFlag: isBaseState - } - } } + } - QWidget { - layout: HorizontalLayout { - - Label { - text: qsTr("Echo mode") - toolTip: qsTr("Specifies how the text is displayed in the text field.") - } - - ComboBox { - baseStateFlag: isBaseState - items : { ["Normal", "Password", "PasswordEchoOnEdit", "NoEcho"] } - currentText: backendValues.echoMode.value; - onItemsChanged: { - currentText = backendValues.echoMode.value; - } - backendValue: backendValues.echoMode - } - } + Label { + text: qsTr("Password mode") + toolTip: qsTr("Determines whether the text field is in password mode.") + } + + SecondColumnLayout { + CheckBox { + backendValue: backendValues.passwordMode + implicitWidth: 180 } + ExpandingSpacer { + } } - } - FontGroupBox { + Label { + text: qsTr("Input mask") + toolTip: qsTr("Restricts the valid text in the text field.") + } - } + SecondColumnLayout { + LineEdit { + backendValue: backendValues.inputMask + implicitWidth: 180 + } + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Echo mode") + toolTip: qsTr("Specifies how the text is displayed in the text field.") + } + + SecondColumnLayout { + ComboBox { + backendValue: backendValues.echoMode + implicitWidth: 180 + model: ["Normal", "Password", "PasswordEchoOnEdit", "NoEcho"] + } + ExpandingSpacer { + + } + } - ScrollArea { } + + } + + FontSection { + showStyle: false } } diff --git a/src/plugins/qmldesigner/componentsplugin/componentsplugin.qrc b/src/plugins/qmldesigner/componentsplugin/componentsplugin.qrc index c139996ee0..cbf529aeb6 100644 --- a/src/plugins/qmldesigner/componentsplugin/componentsplugin.qrc +++ b/src/plugins/qmldesigner/componentsplugin/componentsplugin.qrc @@ -36,7 +36,7 @@ <file>images/window.png</file> <file>images/window16.png</file> </qresource> - <qresource prefix="/propertyeditor/QtQuick"> + <qresource prefix="/propertyEditorQmlSources/QtQuick"> <file>Controls/ButtonSpecifics.qml</file> <file>Controls/TextFieldSpecifics.qml</file> <file>Controls/TextAreaSpecifics.qml</file> diff --git a/src/plugins/qmldesigner/designercore/exceptions/exception.cpp b/src/plugins/qmldesigner/designercore/exceptions/exception.cpp index 1076f18174..08b1917911 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/exception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/exception.cpp @@ -84,6 +84,12 @@ bool Exception::shouldAssert() return s_shouldAssert; } +bool Exception::warnAboutException() +{ + static bool warnException = !qgetenv("QTCREATOR_QTQUICKDESIGNER_WARN_EXCEPTION").isEmpty(); + return warnException; +} + /*! Constructs an exception. \a line uses the __LINE__ macro, \a function uses the __FUNCTION__ or the Q_FUNC_INFO macro, and \a file uses @@ -125,6 +131,12 @@ QString Exception::backTrace() const return m_backTrace; } +void Exception::createWarning() const +{ + if (warnAboutException()) + qDebug() << *this; +} + /*! Returns the optional description of this exception as a string. */ diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidargumentexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidargumentexception.cpp index 6ce15aa9e3..aa5776bf3b 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidargumentexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidargumentexception.cpp @@ -50,7 +50,7 @@ InvalidArgumentException::InvalidArgumentException(int line, const QString &argument) : Exception(line, function, file), m_argument(argument) { - + createWarning(); } QString InvalidArgumentException::description() const diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalididexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalididexception.cpp index 264016ffd6..64a1ff27b4 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalididexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalididexception.cpp @@ -56,6 +56,7 @@ InvalidIdException::InvalidIdException(int line, m_id(id), m_description(description) { + createWarning(); } QString InvalidIdException::type() const diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidmetainfoexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidmetainfoexception.cpp index 9d207b91d8..054c288a8d 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidmetainfoexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidmetainfoexception.cpp @@ -48,6 +48,7 @@ InvalidMetaInfoException::InvalidMetaInfoException(int line, const QString &file) : Exception(line, function, file) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidmodelnodeexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidmodelnodeexception.cpp index 058ff197f3..94235d15df 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidmodelnodeexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidmodelnodeexception.cpp @@ -48,6 +48,7 @@ InvalidModelNodeException::InvalidModelNodeException(int line, const QString &file) : Exception(line, function, file) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidmodelstateexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidmodelstateexception.cpp index 114379472f..b8e93a6c83 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidmodelstateexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidmodelstateexception.cpp @@ -49,6 +49,7 @@ InvalidModelStateException::InvalidModelStateException(int line, const QString &file) : Exception(line, function, file) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidpropertyexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidpropertyexception.cpp index 3f33734c63..1523699f73 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidpropertyexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidpropertyexception.cpp @@ -48,6 +48,7 @@ InvalidPropertyException::InvalidPropertyException(int line, const QString &argument) : Exception(line, function, file), m_argument(argument) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidqmlsourceexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidqmlsourceexception.cpp index acdecda042..027b766cad 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidqmlsourceexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidqmlsourceexception.cpp @@ -49,6 +49,7 @@ InvalidQmlSourceException::InvalidQmlSourceException(int line, : Exception(line, function, file), m_qmlSource(qmlSource) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidreparentingexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidreparentingexception.cpp index 3ba27caa90..ad2acfebdc 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidreparentingexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidreparentingexception.cpp @@ -47,6 +47,7 @@ InvalidReparentingException::InvalidReparentingException(int line, const QString &file) : Exception(line, function, file) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidslideindexexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidslideindexexception.cpp index c0fa1ee9b9..3c2d9d723d 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidslideindexexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidslideindexexception.cpp @@ -48,6 +48,7 @@ InvalidSlideIndexException::InvalidSlideIndexException(int line, const QString &file) : Exception(line, function, file) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/modificationgroupexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/modificationgroupexception.cpp index 3d7f935d0c..571505573c 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/modificationgroupexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/modificationgroupexception.cpp @@ -47,6 +47,7 @@ ModificationGroupException::ModificationGroupException(int line, const QString &file) : Exception(line, function, file) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/removebasestateexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/removebasestateexception.cpp index 436ba7943c..745492d042 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/removebasestateexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/removebasestateexception.cpp @@ -48,6 +48,7 @@ RemoveBaseStateException::RemoveBaseStateException(int line, const QString &file) : Exception(line, function, file) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/rewritingexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/rewritingexception.cpp index 03c4cca339..90d8391eaa 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/rewritingexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/rewritingexception.cpp @@ -38,6 +38,7 @@ RewritingException::RewritingException(int line, const QString &documentTextContent): Exception(line, function, file), m_description(description), m_documentTextContent(documentTextContent) { + createWarning(); } QString RewritingException::type() const diff --git a/src/plugins/qmldesigner/designercore/include/exception.h b/src/plugins/qmldesigner/designercore/include/exception.h index 34d9d5b496..8f0eae075f 100644 --- a/src/plugins/qmldesigner/designercore/include/exception.h +++ b/src/plugins/qmldesigner/designercore/include/exception.h @@ -53,8 +53,11 @@ public: QString file() const; QString backTrace() const; + void createWarning() const; + static void setShouldAssert(bool assert); static bool shouldAssert(); + static bool warnAboutException(); private: int m_line; diff --git a/src/plugins/qmldesigner/designercore/model/abstractview.cpp b/src/plugins/qmldesigner/designercore/model/abstractview.cpp index 20efe516f4..77373431c8 100644 --- a/src/plugins/qmldesigner/designercore/model/abstractview.cpp +++ b/src/plugins/qmldesigner/designercore/model/abstractview.cpp @@ -369,6 +369,7 @@ QString AbstractView::generateNewId(const QString prefixName) const while (hasId(newId)) { counter += 1; newId = QString("%1%2").arg(firstCharToLower(prefixName)).arg(counter); + newId.remove(QRegExp(QLatin1String("[^a-zA-Z0-9_]"))); } return newId; diff --git a/src/plugins/qmlprofiler/qmlprofiler.qbs b/src/plugins/qmlprofiler/qmlprofiler.qbs index a9d7554019..27e16ed0cd 100644 --- a/src/plugins/qmlprofiler/qmlprofiler.qbs +++ b/src/plugins/qmlprofiler/qmlprofiler.qbs @@ -10,7 +10,6 @@ QtcPlugin { Depends { name: "Qt.quick"; condition: product.condition; } Depends { name: "Core" } Depends { name: "AnalyzerBase" } - Depends { name: "QmlProjectManager" } Depends { name: "Qt4ProjectManager" } Depends { name: "RemoteLinux" } Depends { name: "ProjectExplorer" } diff --git a/src/plugins/qmlprojectmanager/qmlapplicationwizard.cpp b/src/plugins/qmlprojectmanager/qmlapplicationwizard.cpp index 74661acaa5..da2ab6750e 100644 --- a/src/plugins/qmlprojectmanager/qmlapplicationwizard.cpp +++ b/src/plugins/qmlprojectmanager/qmlapplicationwizard.cpp @@ -35,8 +35,8 @@ #include <projectexplorer/customwizard/customwizard.h> #include <projectexplorer/kitmanager.h> #include <projectexplorer/projectexplorerconstants.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4projectmanagerconstants.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakeprojectmanagerconstants.h> #include <qtsupport/qtkitinformation.h> #include "qmlprojectmanager.h" @@ -47,7 +47,7 @@ using namespace Core; using namespace ExtensionSystem; using namespace ProjectExplorer; -using namespace Qt4ProjectManager; +using namespace QmakeProjectManager; namespace QmlProjectManager { namespace Internal { @@ -71,7 +71,7 @@ QmlApplicationWizard::QmlApplicationWizard(const TemplateInfo &templateInfo) setWizardKind(ProjectWizard); setCategory(QLatin1String(ProjectExplorer::Constants::QT_APPLICATION_WIZARD_CATEGORY)); setId(QLatin1String("QA.QMLB Application")); - setIcon(QIcon(QLatin1String(Qt4ProjectManager::Constants::ICON_QTQUICK_APP))); + setIcon(QIcon(QLatin1String(QmakeProjectManager::Constants::ICON_QTQUICK_APP))); setDisplayCategory( QLatin1String(ProjectExplorer::Constants::QT_APPLICATION_WIZARD_CATEGORY_DISPLAY)); setDisplayName(tr("Qt Quick Application")); @@ -105,7 +105,7 @@ void QmlApplicationWizard::createInstances(ExtensionSystem::IPlugin *plugin) } wizard->setRequiredFeatures(features); - wizard->setIcon(QIcon(QLatin1String(Qt4ProjectManager::Constants::ICON_QTQUICK_APP))); + wizard->setIcon(QIcon(QLatin1String(QmakeProjectManager::Constants::ICON_QTQUICK_APP))); plugin->addAutoReleasedObject(wizard); } } diff --git a/src/plugins/qmlprojectmanager/qmlprojectmanager.qbs b/src/plugins/qmlprojectmanager/qmlprojectmanager.qbs index 94652ae91f..473569d626 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectmanager.qbs +++ b/src/plugins/qmlprojectmanager/qmlprojectmanager.qbs @@ -13,7 +13,6 @@ QtcPlugin { Depends { name: "QmlJS" } Depends { name: "QmlJSTools" } Depends { name: "QmlDebug" } - Depends { name: "Debugger" } Depends { name: "QtSupport" } Depends { name: "app_version_header" } @@ -34,8 +33,7 @@ QtcPlugin { "qmlprojectplugin.cpp", "qmlprojectplugin.h", "qmlprojectrunconfiguration.cpp", "qmlprojectrunconfiguration.h", "qmlprojectrunconfigurationfactory.cpp", "qmlprojectrunconfigurationfactory.h", - "qmlprojectrunconfigurationwidget.cpp", "qmlprojectrunconfigurationwidget.h", - "qmlprojectruncontrol.cpp", "qmlprojectruncontrol.h", + "qmlprojectrunconfigurationwidget.cpp", "qmlprojectrunconfigurationwidget.h" ] } diff --git a/src/plugins/qnx/bardescriptordocument.cpp b/src/plugins/qnx/bardescriptordocument.cpp index 1236186b6e..23bda2a6dd 100644 --- a/src/plugins/qnx/bardescriptordocument.cpp +++ b/src/plugins/qnx/bardescriptordocument.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptordocument.h b/src/plugins/qnx/bardescriptordocument.h index 88e5929a7d..e29fdf562f 100644 --- a/src/plugins/qnx/bardescriptordocument.h +++ b/src/plugins/qnx/bardescriptordocument.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptordocumentnodehandlers.cpp b/src/plugins/qnx/bardescriptordocumentnodehandlers.cpp index ddf1930ab4..071d3fc68c 100644 --- a/src/plugins/qnx/bardescriptordocumentnodehandlers.cpp +++ b/src/plugins/qnx/bardescriptordocumentnodehandlers.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptordocumentnodehandlers.h b/src/plugins/qnx/bardescriptordocumentnodehandlers.h index 1da5c3bf79..5e7c6908c1 100644 --- a/src/plugins/qnx/bardescriptordocumentnodehandlers.h +++ b/src/plugins/qnx/bardescriptordocumentnodehandlers.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditor.cpp b/src/plugins/qnx/bardescriptoreditor.cpp index 93f93e6e97..159e074a7f 100644 --- a/src/plugins/qnx/bardescriptoreditor.cpp +++ b/src/plugins/qnx/bardescriptoreditor.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -39,6 +39,8 @@ #include <projectexplorer/task.h> #include <projectexplorer/taskhub.h> #include <utils/qtcassert.h> +#include <texteditor/texteditorconstants.h> +#include <texteditor/basetexteditor.h> #include <QAction> #include <QToolBar> @@ -80,6 +82,9 @@ BarDescriptorEditor::BarDescriptorEditor(BarDescriptorEditorWidget *editorWidget m_actionGroup->addAction(sourceAction); generalAction->setChecked(true); + + setContext(Core::Context(Constants::QNX_BAR_DESCRIPTOR_EDITOR_CONTEXT, + TextEditor::Constants::C_TEXTEDITOR)); } bool BarDescriptorEditor::open(QString *errorString, const QString &fileName, const QString &realFileName) diff --git a/src/plugins/qnx/bardescriptoreditor.h b/src/plugins/qnx/bardescriptoreditor.h index cf0397fc75..da07c43030 100644 --- a/src/plugins/qnx/bardescriptoreditor.h +++ b/src/plugins/qnx/bardescriptoreditor.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorabstractpanelwidget.cpp b/src/plugins/qnx/bardescriptoreditorabstractpanelwidget.cpp index 4feed728d4..66d1542ca8 100644 --- a/src/plugins/qnx/bardescriptoreditorabstractpanelwidget.cpp +++ b/src/plugins/qnx/bardescriptoreditorabstractpanelwidget.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorabstractpanelwidget.h b/src/plugins/qnx/bardescriptoreditorabstractpanelwidget.h index e5336040d6..45e09b640c 100644 --- a/src/plugins/qnx/bardescriptoreditorabstractpanelwidget.h +++ b/src/plugins/qnx/bardescriptoreditorabstractpanelwidget.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorassetswidget.cpp b/src/plugins/qnx/bardescriptoreditorassetswidget.cpp index a6e6cf88d6..c3ec7990d3 100644 --- a/src/plugins/qnx/bardescriptoreditorassetswidget.cpp +++ b/src/plugins/qnx/bardescriptoreditorassetswidget.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorassetswidget.h b/src/plugins/qnx/bardescriptoreditorassetswidget.h index de7f4f3a70..55b85a2b94 100644 --- a/src/plugins/qnx/bardescriptoreditorassetswidget.h +++ b/src/plugins/qnx/bardescriptoreditorassetswidget.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorauthorinformationwidget.cpp b/src/plugins/qnx/bardescriptoreditorauthorinformationwidget.cpp index 18cf63714c..2f032392ff 100644 --- a/src/plugins/qnx/bardescriptoreditorauthorinformationwidget.cpp +++ b/src/plugins/qnx/bardescriptoreditorauthorinformationwidget.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorauthorinformationwidget.h b/src/plugins/qnx/bardescriptoreditorauthorinformationwidget.h index 7ea37c93a6..ddae5cffb0 100644 --- a/src/plugins/qnx/bardescriptoreditorauthorinformationwidget.h +++ b/src/plugins/qnx/bardescriptoreditorauthorinformationwidget.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorentrypointwidget.cpp b/src/plugins/qnx/bardescriptoreditorentrypointwidget.cpp index 917199fc43..2b72c6fcd4 100644 --- a/src/plugins/qnx/bardescriptoreditorentrypointwidget.cpp +++ b/src/plugins/qnx/bardescriptoreditorentrypointwidget.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorentrypointwidget.h b/src/plugins/qnx/bardescriptoreditorentrypointwidget.h index 71ed27b79d..5680e0ce11 100644 --- a/src/plugins/qnx/bardescriptoreditorentrypointwidget.h +++ b/src/plugins/qnx/bardescriptoreditorentrypointwidget.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorenvironmentwidget.cpp b/src/plugins/qnx/bardescriptoreditorenvironmentwidget.cpp index 383d2df2a9..3e67973f2d 100644 --- a/src/plugins/qnx/bardescriptoreditorenvironmentwidget.cpp +++ b/src/plugins/qnx/bardescriptoreditorenvironmentwidget.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorenvironmentwidget.h b/src/plugins/qnx/bardescriptoreditorenvironmentwidget.h index ac120f4f72..ed6b944489 100644 --- a/src/plugins/qnx/bardescriptoreditorenvironmentwidget.h +++ b/src/plugins/qnx/bardescriptoreditorenvironmentwidget.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorfactory.cpp b/src/plugins/qnx/bardescriptoreditorfactory.cpp index 5a2806039d..5d9a6cdbef 100644 --- a/src/plugins/qnx/bardescriptoreditorfactory.cpp +++ b/src/plugins/qnx/bardescriptoreditorfactory.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -36,20 +36,42 @@ #include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/ieditor.h> +#include <texteditor/texteditoractionhandler.h> using namespace Qnx; using namespace Qnx::Internal; +class BarDescriptorActionHandler : public TextEditor::TextEditorActionHandler +{ +public: + BarDescriptorActionHandler() + : TextEditor::TextEditorActionHandler(Constants::QNX_BAR_DESCRIPTOR_EDITOR_CONTEXT) + { + } +protected: + TextEditor::BaseTextEditorWidget *resolveTextEditorWidget(Core::IEditor *editor) const + { + BarDescriptorEditorWidget *w = qobject_cast<BarDescriptorEditorWidget *>(editor->widget()); + return w ? w->sourceWidget() : 0; + } +}; + BarDescriptorEditorFactory::BarDescriptorEditorFactory(QObject *parent) : Core::IEditorFactory(parent) + , m_actionHandler(new BarDescriptorActionHandler) { setId(Constants::QNX_BAR_DESCRIPTOR_EDITOR_ID); setDisplayName(tr("Bar descriptor editor")); addMimeType(Constants::QNX_BAR_DESCRIPTOR_MIME_TYPE); } +BarDescriptorEditorFactory::~BarDescriptorEditorFactory() +{ + delete m_actionHandler; +} + Core::IEditor *BarDescriptorEditorFactory::createEditor(QWidget *parent) { - BarDescriptorEditorWidget *editorWidget = new BarDescriptorEditorWidget(parent); + BarDescriptorEditorWidget *editorWidget = new BarDescriptorEditorWidget(parent, m_actionHandler); return editorWidget->editor(); } diff --git a/src/plugins/qnx/bardescriptoreditorfactory.h b/src/plugins/qnx/bardescriptoreditorfactory.h index 9a7ddfa687..ed5a012d6a 100644 --- a/src/plugins/qnx/bardescriptoreditorfactory.h +++ b/src/plugins/qnx/bardescriptoreditorfactory.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -34,6 +34,10 @@ #include <coreplugin/editormanager/ieditorfactory.h> +namespace TextEditor { +class TextEditorActionHandler; +} + namespace Qnx { namespace Internal { @@ -43,8 +47,12 @@ class BarDescriptorEditorFactory : public Core::IEditorFactory public: explicit BarDescriptorEditorFactory(QObject *parent = 0); + ~BarDescriptorEditorFactory(); Core::IEditor *createEditor(QWidget *parent); + +private: + TextEditor::TextEditorActionHandler *m_actionHandler; }; } // namespace Internal diff --git a/src/plugins/qnx/bardescriptoreditorgeneralwidget.cpp b/src/plugins/qnx/bardescriptoreditorgeneralwidget.cpp index d930b17e7d..30543c6685 100644 --- a/src/plugins/qnx/bardescriptoreditorgeneralwidget.cpp +++ b/src/plugins/qnx/bardescriptoreditorgeneralwidget.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorgeneralwidget.h b/src/plugins/qnx/bardescriptoreditorgeneralwidget.h index 2e01d961c5..53541ee76b 100644 --- a/src/plugins/qnx/bardescriptoreditorgeneralwidget.h +++ b/src/plugins/qnx/bardescriptoreditorgeneralwidget.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorpackageinformationwidget.cpp b/src/plugins/qnx/bardescriptoreditorpackageinformationwidget.cpp index f6dceba879..86f4897bab 100644 --- a/src/plugins/qnx/bardescriptoreditorpackageinformationwidget.cpp +++ b/src/plugins/qnx/bardescriptoreditorpackageinformationwidget.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorpackageinformationwidget.h b/src/plugins/qnx/bardescriptoreditorpackageinformationwidget.h index 97eec51e3b..b2b6859a9f 100644 --- a/src/plugins/qnx/bardescriptoreditorpackageinformationwidget.h +++ b/src/plugins/qnx/bardescriptoreditorpackageinformationwidget.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorpermissionswidget.cpp b/src/plugins/qnx/bardescriptoreditorpermissionswidget.cpp index a1ba9ed9d6..1cb78c2805 100644 --- a/src/plugins/qnx/bardescriptoreditorpermissionswidget.cpp +++ b/src/plugins/qnx/bardescriptoreditorpermissionswidget.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorpermissionswidget.h b/src/plugins/qnx/bardescriptoreditorpermissionswidget.h index 5a57d11de2..675c4a728d 100644 --- a/src/plugins/qnx/bardescriptoreditorpermissionswidget.h +++ b/src/plugins/qnx/bardescriptoreditorpermissionswidget.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptoreditorwidget.cpp b/src/plugins/qnx/bardescriptoreditorwidget.cpp index 10b4447fd6..5d069112a8 100644 --- a/src/plugins/qnx/bardescriptoreditorwidget.cpp +++ b/src/plugins/qnx/bardescriptoreditorwidget.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -41,18 +41,29 @@ #include "bardescriptoreditorpackageinformationwidget.h" #include "bardescriptoreditorpermissionswidget.h" +#include <coreplugin/icore.h> #include <projectexplorer/iprojectproperties.h> #include <projectexplorer/projectwindow.h> #include <texteditor/plaintexteditor.h> +#include <texteditor/texteditoractionhandler.h> +#include <texteditor/texteditorsettings.h> +#include <texteditor/texteditorconstants.h> using namespace Qnx; using namespace Qnx::Internal; -BarDescriptorEditorWidget::BarDescriptorEditorWidget(QWidget *parent) +BarDescriptorEditorWidget::BarDescriptorEditorWidget( + QWidget *parent, TextEditor::TextEditorActionHandler *handler) : QStackedWidget(parent) , m_editor(0) + , m_handler(handler) , m_dirty(false) { + Core::IContext *myContext = new Core::IContext(this); + myContext->setWidget(this); + myContext->setContext(Core::Context(Constants::QNX_BAR_DESCRIPTOR_EDITOR_CONTEXT, TextEditor::Constants::C_TEXTEDITOR)); + Core::ICore::addContextObject(myContext); + initGeneralPage(); initApplicationPage(); initAssetsPage(); @@ -149,6 +160,8 @@ void BarDescriptorEditorWidget::initSourcePage() m_xmlSourceWidget = new TextEditor::PlainTextEditorWidget(this); addWidget(m_xmlSourceWidget); + TextEditor::TextEditorSettings::initializeEditor(m_xmlSourceWidget); + m_handler->setupActions(m_xmlSourceWidget); m_xmlSourceWidget->configure(QLatin1String(Constants::QNX_BAR_DESCRIPTOR_MIME_TYPE)); connect(m_xmlSourceWidget, SIGNAL(textChanged()), this, SLOT(setDirty())); } @@ -204,6 +217,11 @@ BarDescriptorEditorAssetsWidget *BarDescriptorEditorWidget::assetsWidget() const return m_assetsWidget; } +TextEditor::BaseTextEditorWidget *BarDescriptorEditorWidget::sourceWidget() const +{ + return m_xmlSourceWidget; +} + void BarDescriptorEditorWidget::setFilePath(const QString &filePath) { Core::IDocument *doc = m_xmlSourceWidget->editorDocument(); diff --git a/src/plugins/qnx/bardescriptoreditorwidget.h b/src/plugins/qnx/bardescriptoreditorwidget.h index 14a27da8c1..8e5edc69e6 100644 --- a/src/plugins/qnx/bardescriptoreditorwidget.h +++ b/src/plugins/qnx/bardescriptoreditorwidget.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -46,6 +46,8 @@ class PanelsWidget; namespace TextEditor { class PlainTextEditorWidget; +class TextEditorActionHandler; +class BaseTextEditorWidget; } namespace Qnx { @@ -65,7 +67,7 @@ class BarDescriptorEditorWidget : public QStackedWidget Q_OBJECT public: - explicit BarDescriptorEditorWidget(QWidget *parent = 0); + explicit BarDescriptorEditorWidget(QWidget *parent, TextEditor::TextEditorActionHandler *handler); Core::IEditor *editor() const; @@ -79,6 +81,8 @@ public: BarDescriptorEditorAssetsWidget *assetsWidget() const; + TextEditor::BaseTextEditorWidget *sourceWidget() const; + void setFilePath(const QString &filePath); QString xmlSource() const; void setXmlSource(const QString &xmlSource); @@ -103,6 +107,7 @@ private: mutable Core::IEditor *m_editor; + TextEditor::TextEditorActionHandler *m_handler; bool m_dirty; // New UI diff --git a/src/plugins/qnx/bardescriptormagicmatcher.cpp b/src/plugins/qnx/bardescriptormagicmatcher.cpp index 8e2af96d4a..92d6842029 100644 --- a/src/plugins/qnx/bardescriptormagicmatcher.cpp +++ b/src/plugins/qnx/bardescriptormagicmatcher.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptormagicmatcher.h b/src/plugins/qnx/bardescriptormagicmatcher.h index 661cd3bd08..9ed26e8350 100644 --- a/src/plugins/qnx/bardescriptormagicmatcher.h +++ b/src/plugins/qnx/bardescriptormagicmatcher.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptorpermissionsmodel.cpp b/src/plugins/qnx/bardescriptorpermissionsmodel.cpp index b723cd3d48..a3d8ea184c 100644 --- a/src/plugins/qnx/bardescriptorpermissionsmodel.cpp +++ b/src/plugins/qnx/bardescriptorpermissionsmodel.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/bardescriptorpermissionsmodel.h b/src/plugins/qnx/bardescriptorpermissionsmodel.h index 1d1c60f3a9..afb6752e9a 100644 --- a/src/plugins/qnx/bardescriptorpermissionsmodel.h +++ b/src/plugins/qnx/bardescriptorpermissionsmodel.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryabstractdeploystep.cpp b/src/plugins/qnx/blackberryabstractdeploystep.cpp index f97c56df8e..faaf0356e3 100644 --- a/src/plugins/qnx/blackberryabstractdeploystep.cpp +++ b/src/plugins/qnx/blackberryabstractdeploystep.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryabstractdeploystep.h b/src/plugins/qnx/blackberryabstractdeploystep.h index 1f3cfb3e75..dca394ef1c 100644 --- a/src/plugins/qnx/blackberryabstractdeploystep.h +++ b/src/plugins/qnx/blackberryabstractdeploystep.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryapplicationrunner.cpp b/src/plugins/qnx/blackberryapplicationrunner.cpp index 23ee2c2b0a..7e2ed84025 100644 --- a/src/plugins/qnx/blackberryapplicationrunner.cpp +++ b/src/plugins/qnx/blackberryapplicationrunner.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -37,7 +37,7 @@ #include "qnxconstants.h" #include <projectexplorer/target.h> -#include <qt4projectmanager/qt4buildconfiguration.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> #include <ssh/sshremoteprocessrunner.h> #include <utils/qtcassert.h> diff --git a/src/plugins/qnx/blackberryapplicationrunner.h b/src/plugins/qnx/blackberryapplicationrunner.h index 99ede3b333..9f257066d4 100644 --- a/src/plugins/qnx/blackberryapplicationrunner.h +++ b/src/plugins/qnx/blackberryapplicationrunner.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrycertificate.cpp b/src/plugins/qnx/blackberrycertificate.cpp index ef80841a89..b964bd5b14 100644 --- a/src/plugins/qnx/blackberrycertificate.cpp +++ b/src/plugins/qnx/blackberrycertificate.cpp @@ -32,6 +32,7 @@ #include "blackberrycertificate.h" #include "blackberryconfiguration.h" #include "blackberryconfigurationmanager.h" +#include "blackberryndkprocess.h" #include <utils/hostosinfo.h> @@ -182,18 +183,7 @@ void BlackBerryCertificate::processError() QString BlackBerryCertificate::command() const { - QString command; - // TOOD: Give user choice to select NDK from where to get commands - QMultiMap<QString, QString> qnxEnv = BlackBerryConfigurationManager::instance().defaultQnxEnv(); - if (!qnxEnv.isEmpty()) { - command = qnxEnv.value(QLatin1String("QNX_HOST")) - + QLatin1String("/usr/bin/blackberry-keytool"); - - if (Utils::HostOsInfo::isWindowsHost()) - command += QLatin1String(".bat"); - } - - return command; + return BlackBerryNdkProcess::resolveNdkToolPath(QLatin1String("blackberry-keytool")); } } // namespace Internal diff --git a/src/plugins/qnx/blackberrycheckdevmodestep.cpp b/src/plugins/qnx/blackberrycheckdevmodestep.cpp index 1d61d068e3..93e45087f9 100644 --- a/src/plugins/qnx/blackberrycheckdevmodestep.cpp +++ b/src/plugins/qnx/blackberrycheckdevmodestep.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrycheckdevmodestep.h b/src/plugins/qnx/blackberrycheckdevmodestep.h index 52324b5e89..5f5e1bc9d9 100644 --- a/src/plugins/qnx/blackberrycheckdevmodestep.h +++ b/src/plugins/qnx/blackberrycheckdevmodestep.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrycheckdevmodestepconfigwidget.cpp b/src/plugins/qnx/blackberrycheckdevmodestepconfigwidget.cpp index e3d934ad29..a6bb9fbfad 100644 --- a/src/plugins/qnx/blackberrycheckdevmodestepconfigwidget.cpp +++ b/src/plugins/qnx/blackberrycheckdevmodestepconfigwidget.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrycheckdevmodestepconfigwidget.h b/src/plugins/qnx/blackberrycheckdevmodestepconfigwidget.h index e1b52949a6..cf14780666 100644 --- a/src/plugins/qnx/blackberrycheckdevmodestepconfigwidget.h +++ b/src/plugins/qnx/blackberrycheckdevmodestepconfigwidget.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrycheckdevmodestepfactory.cpp b/src/plugins/qnx/blackberrycheckdevmodestepfactory.cpp index 666159a934..58d69de160 100644 --- a/src/plugins/qnx/blackberrycheckdevmodestepfactory.cpp +++ b/src/plugins/qnx/blackberrycheckdevmodestepfactory.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrycheckdevmodestepfactory.h b/src/plugins/qnx/blackberrycheckdevmodestepfactory.h index 7c26d20130..f028fd9a7c 100644 --- a/src/plugins/qnx/blackberrycheckdevmodestepfactory.h +++ b/src/plugins/qnx/blackberrycheckdevmodestepfactory.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryconfiguration.cpp b/src/plugins/qnx/blackberryconfiguration.cpp index 851cbced3d..81f5ed0469 100644 --- a/src/plugins/qnx/blackberryconfiguration.cpp +++ b/src/plugins/qnx/blackberryconfiguration.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011,2012,2013 BlackBerry Limited. All rights reserved. +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: BlackBerry Limited (qt@blackberry.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -67,16 +67,25 @@ BlackBerryConfiguration::BlackBerryConfiguration(const FileName &ndkEnvFile, boo m_isAutoDetected = isAutoDetected; QString ndkPath = ndkEnvFile.parentDir().toString(); m_displayName = displayName.isEmpty() ? ndkPath.split(QDir::separator()).last() : displayName; - m_qnxEnv = QnxUtils::parseEnvironmentFile(m_ndkEnvFile.toString()); + m_qnxEnv = QnxUtils::qnxEnvironmentFromNdkFile(m_ndkEnvFile.toString()); + + QString ndkTarget; + QString qnxHost; + foreach (const Utils::EnvironmentItem &item, m_qnxEnv) { + if (item.name == QLatin1String("QNX_TARGET")) + ndkTarget = item.value; + + else if (item.name == QLatin1String("QNX_HOST")) + qnxHost = item.value; + + } - QString ndkTarget = m_qnxEnv.value(QLatin1String("QNX_TARGET")); QString sep = QString::fromLatin1("%1qnx6").arg(QDir::separator()); m_targetName = ndkTarget.split(sep).first().split(QDir::separator()).last(); if (QDir(ndkTarget).exists()) m_sysRoot = FileName::fromString(ndkTarget); - QString qnxHost = m_qnxEnv.value(QLatin1String("QNX_HOST")); FileName qmake4Path = QnxUtils::executableWithExtension(FileName::fromString(qnxHost + QLatin1String("/usr/bin/qmake"))); FileName qmake5Path = QnxUtils::executableWithExtension(FileName::fromString(qnxHost + QLatin1String("/usr/bin/qt5/qmake"))); FileName gccPath = QnxUtils::executableWithExtension(FileName::fromString(qnxHost + QLatin1String("/usr/bin/qcc"))); @@ -165,7 +174,7 @@ FileName BlackBerryConfiguration::sysRoot() const return m_sysRoot; } -QMultiMap<QString, QString> BlackBerryConfiguration::qnxEnv() const +QList<Utils::EnvironmentItem> BlackBerryConfiguration::qnxEnv() const { return m_qnxEnv; } @@ -232,7 +241,7 @@ Kit *BlackBerryConfiguration::createKit(QnxAbstractQtVersion *version, ToolChain DebuggerKitInformation::setDebugger(kit, debugger); if (isSimulator) - Qt4ProjectManager::QmakeKitInformation::setMkspec( + QmakeProjectManager::QmakeKitInformation::setMkspec( kit, FileName::fromString(QLatin1String("blackberry-x86-qcc"))); DeviceTypeKitInformation::setDeviceTypeId(kit, Constants::QNX_BB_OS_TYPE); @@ -251,7 +260,7 @@ Kit *BlackBerryConfiguration::createKit(QnxAbstractQtVersion *version, ToolChain kit->setSticky(DeviceTypeKitInformation::id(), true); kit->setSticky(SysRootKitInformation::id(), true); kit->setSticky(DebuggerKitInformation::id(), true); - kit->setSticky(Qt4ProjectManager::QmakeKitInformation::id(), true); + kit->setSticky(QmakeProjectManager::QmakeKitInformation::id(), true); return kit; } diff --git a/src/plugins/qnx/blackberryconfiguration.h b/src/plugins/qnx/blackberryconfiguration.h index a67a0dfd45..a2f8f31e82 100644 --- a/src/plugins/qnx/blackberryconfiguration.h +++ b/src/plugins/qnx/blackberryconfiguration.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011,2012,2013 BlackBerry Limited. All rights reserved. +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: BlackBerry Limited (qt@blackberry.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -72,7 +72,7 @@ public: Utils::FileName deviceDebuger() const; Utils::FileName simulatorDebuger() const; Utils::FileName sysRoot() const; - QMultiMap<QString, QString> qnxEnv() const; + QList<Utils::EnvironmentItem> qnxEnv() const; private: QString m_displayName; @@ -85,7 +85,7 @@ private: Utils::FileName m_deviceDebugger; Utils::FileName m_simulatorDebugger; Utils::FileName m_sysRoot; - QMultiMap<QString, QString> m_qnxEnv; + QList<Utils::EnvironmentItem> m_qnxEnv; void createConfigurationPerQtVersion( const Utils::FileName &qmakePath, Qnx::QnxArchitecture arch); diff --git a/src/plugins/qnx/blackberryconfigurationmanager.cpp b/src/plugins/qnx/blackberryconfigurationmanager.cpp index c8a99e844d..c5136172be 100644 --- a/src/plugins/qnx/blackberryconfigurationmanager.cpp +++ b/src/plugins/qnx/blackberryconfigurationmanager.cpp @@ -281,16 +281,16 @@ BlackBerryConfiguration *BlackBerryConfigurationManager::configurationFromEnvFil return 0; } -// Returns a valid qnxEnv map from a valid configuration; +// Returns a valid qnxEnv from a valid configuration; // Needed by other classes to get blackberry process path (keys registration, debug token...) -QMultiMap<QString, QString> BlackBerryConfigurationManager::defaultQnxEnv() +QList<Utils::EnvironmentItem> BlackBerryConfigurationManager::defaultQnxEnv() { foreach (BlackBerryConfiguration *config, m_configs) { - if (config->isActive() && !config->qnxEnv().isEmpty()) + if (config->isActive() && config->qnxEnv().size()) return config->qnxEnv(); } - return QMultiMap<QString, QString>(); + return QList<Utils::EnvironmentItem>(); } void BlackBerryConfigurationManager::loadSettings() diff --git a/src/plugins/qnx/blackberryconfigurationmanager.h b/src/plugins/qnx/blackberryconfigurationmanager.h index 97603ee81a..35e2325d18 100644 --- a/src/plugins/qnx/blackberryconfigurationmanager.h +++ b/src/plugins/qnx/blackberryconfigurationmanager.h @@ -63,7 +63,7 @@ public: QString defaultDebugTokenPath() const; void clearConfigurationSettings(BlackBerryConfiguration *config); - QMultiMap<QString, QString> defaultQnxEnv(); + QList<Utils::EnvironmentItem> defaultQnxEnv(); void loadAutoDetectedConfigurations(); diff --git a/src/plugins/qnx/blackberrycreatepackagestep.cpp b/src/plugins/qnx/blackberrycreatepackagestep.cpp index b8ef2f8011..09b5bd24d1 100644 --- a/src/plugins/qnx/blackberrycreatepackagestep.cpp +++ b/src/plugins/qnx/blackberrycreatepackagestep.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -44,9 +44,9 @@ #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/target.h> #include <projectexplorer/runconfiguration.h> -#include <qt4projectmanager/qt4buildconfiguration.h> -#include <qt4projectmanager/qt4nodes.h> -#include <qt4projectmanager/qt4project.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> +#include <qt4projectmanager/qmakenodes.h> +#include <qt4projectmanager/qmakeproject.h> #include <qtsupport/qtkitinformation.h> #include <utils/qtcassert.h> diff --git a/src/plugins/qnx/blackberrycreatepackagestep.h b/src/plugins/qnx/blackberrycreatepackagestep.h index 4dda90b88e..a0e06d1398 100644 --- a/src/plugins/qnx/blackberrycreatepackagestep.h +++ b/src/plugins/qnx/blackberrycreatepackagestep.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrycreatepackagestepconfigwidget.cpp b/src/plugins/qnx/blackberrycreatepackagestepconfigwidget.cpp index 8826b7e103..bf5a3aa769 100644 --- a/src/plugins/qnx/blackberrycreatepackagestepconfigwidget.cpp +++ b/src/plugins/qnx/blackberrycreatepackagestepconfigwidget.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrycreatepackagestepconfigwidget.h b/src/plugins/qnx/blackberrycreatepackagestepconfigwidget.h index 4a1928a37d..838365548e 100644 --- a/src/plugins/qnx/blackberrycreatepackagestepconfigwidget.h +++ b/src/plugins/qnx/blackberrycreatepackagestepconfigwidget.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrycreatepackagestepfactory.cpp b/src/plugins/qnx/blackberrycreatepackagestepfactory.cpp index e994568188..86cd908e45 100644 --- a/src/plugins/qnx/blackberrycreatepackagestepfactory.cpp +++ b/src/plugins/qnx/blackberrycreatepackagestepfactory.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrycreatepackagestepfactory.h b/src/plugins/qnx/blackberrycreatepackagestepfactory.h index b234874552..d87618615a 100644 --- a/src/plugins/qnx/blackberrycreatepackagestepfactory.h +++ b/src/plugins/qnx/blackberrycreatepackagestepfactory.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydebugsupport.cpp b/src/plugins/qnx/blackberrydebugsupport.cpp index c7c493573a..e0ae83c181 100644 --- a/src/plugins/qnx/blackberrydebugsupport.cpp +++ b/src/plugins/qnx/blackberrydebugsupport.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydebugsupport.h b/src/plugins/qnx/blackberrydebugsupport.h index 6e0a795b5e..b51480d6b5 100644 --- a/src/plugins/qnx/blackberrydebugsupport.h +++ b/src/plugins/qnx/blackberrydebugsupport.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydebugtokenreader.cpp b/src/plugins/qnx/blackberrydebugtokenreader.cpp index 836b6a771d..f0752c3a32 100644 --- a/src/plugins/qnx/blackberrydebugtokenreader.cpp +++ b/src/plugins/qnx/blackberrydebugtokenreader.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydebugtokenreader.h b/src/plugins/qnx/blackberrydebugtokenreader.h index 4bd45723a9..8e1afc9f2d 100644 --- a/src/plugins/qnx/blackberrydebugtokenreader.h +++ b/src/plugins/qnx/blackberrydebugtokenreader.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydebugtokenrequester.cpp b/src/plugins/qnx/blackberrydebugtokenrequester.cpp index c7fdbb3e9d..23906d2809 100644 --- a/src/plugins/qnx/blackberrydebugtokenrequester.cpp +++ b/src/plugins/qnx/blackberrydebugtokenrequester.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydebugtokenrequester.h b/src/plugins/qnx/blackberrydebugtokenrequester.h index 64dfd8c820..ed55ccb760 100644 --- a/src/plugins/qnx/blackberrydebugtokenrequester.h +++ b/src/plugins/qnx/blackberrydebugtokenrequester.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydebugtokenuploader.cpp b/src/plugins/qnx/blackberrydebugtokenuploader.cpp index a2182e8ffe..d25918461d 100644 --- a/src/plugins/qnx/blackberrydebugtokenuploader.cpp +++ b/src/plugins/qnx/blackberrydebugtokenuploader.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydebugtokenuploader.h b/src/plugins/qnx/blackberrydebugtokenuploader.h index 763cdffb95..ca16b27611 100644 --- a/src/plugins/qnx/blackberrydebugtokenuploader.h +++ b/src/plugins/qnx/blackberrydebugtokenuploader.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeployconfiguration.cpp b/src/plugins/qnx/blackberrydeployconfiguration.cpp index 89f163380b..64f3f8ceaa 100644 --- a/src/plugins/qnx/blackberrydeployconfiguration.cpp +++ b/src/plugins/qnx/blackberrydeployconfiguration.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -38,9 +38,9 @@ #include <projectexplorer/kitinformation.h> #include <projectexplorer/target.h> #include <projectexplorer/projectexplorer.h> -#include <qt4projectmanager/qt4nodes.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4buildconfiguration.h> +#include <qt4projectmanager/qmakenodes.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> #include <qtsupport/qtkitinformation.h> #include <coreplugin/icore.h> #include <ssh/sshconnection.h> @@ -82,7 +82,7 @@ void BlackBerryDeployConfiguration::ctor() void BlackBerryDeployConfiguration::setupBarDescriptor() { - Qt4ProjectManager::Qt4BuildConfiguration *bc = qobject_cast<Qt4ProjectManager::Qt4BuildConfiguration *>(target()->activeBuildConfiguration()); + QmakeProjectManager::Qt4BuildConfiguration *bc = qobject_cast<QmakeProjectManager::Qt4BuildConfiguration *>(target()->activeBuildConfiguration()); if (!bc || !target()->kit()) return; @@ -90,8 +90,8 @@ void BlackBerryDeployConfiguration::setupBarDescriptor() QString projectName = target()->project()->displayName(); QString targetName; - Qt4ProjectManager::Qt4Project *project = static_cast<Qt4ProjectManager::Qt4Project *>(target()->project()); - foreach (Qt4ProjectManager::Qt4ProFileNode *node, project->applicationProFiles()) { + QmakeProjectManager::Qt4Project *project = static_cast<QmakeProjectManager::Qt4Project *>(target()->project()); + foreach (QmakeProjectManager::Qt4ProFileNode *node, project->applicationProFiles()) { QString target = node->targetInformation().target; if (!target.isEmpty()) { targetName = target; diff --git a/src/plugins/qnx/blackberrydeployconfiguration.h b/src/plugins/qnx/blackberrydeployconfiguration.h index f9ef8e0106..178c862616 100644 --- a/src/plugins/qnx/blackberrydeployconfiguration.h +++ b/src/plugins/qnx/blackberrydeployconfiguration.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeployconfigurationfactory.cpp b/src/plugins/qnx/blackberrydeployconfigurationfactory.cpp index f8382b2b6c..03e51a24d7 100644 --- a/src/plugins/qnx/blackberrydeployconfigurationfactory.cpp +++ b/src/plugins/qnx/blackberrydeployconfigurationfactory.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -41,7 +41,7 @@ #include <projectexplorer/buildsteplist.h> #include <projectexplorer/kitinformation.h> #include <projectexplorer/target.h> -#include <qt4projectmanager/qt4project.h> +#include <qt4projectmanager/qmakeproject.h> #include <remotelinux/genericdirectuploadstep.h> using namespace Qnx; @@ -60,7 +60,7 @@ QList<Core::Id> BlackBerryDeployConfigurationFactory::availableCreationIds(Proje { QList<Core::Id> result; - Qt4ProjectManager::Qt4Project *project = qobject_cast<Qt4ProjectManager::Qt4Project *>(parent->project()); + QmakeProjectManager::Qt4Project *project = qobject_cast<QmakeProjectManager::Qt4Project *>(parent->project()); if (!project) return result; diff --git a/src/plugins/qnx/blackberrydeployconfigurationfactory.h b/src/plugins/qnx/blackberrydeployconfigurationfactory.h index ae43cb4c2d..51e0eb48c7 100644 --- a/src/plugins/qnx/blackberrydeployconfigurationfactory.h +++ b/src/plugins/qnx/blackberrydeployconfigurationfactory.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeployconfigurationwidget.cpp b/src/plugins/qnx/blackberrydeployconfigurationwidget.cpp index 5f82687f44..d3c488ff09 100644 --- a/src/plugins/qnx/blackberrydeployconfigurationwidget.cpp +++ b/src/plugins/qnx/blackberrydeployconfigurationwidget.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeployconfigurationwidget.h b/src/plugins/qnx/blackberrydeployconfigurationwidget.h index dad629165b..3187b295b5 100644 --- a/src/plugins/qnx/blackberrydeployconfigurationwidget.h +++ b/src/plugins/qnx/blackberrydeployconfigurationwidget.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeployinformation.cpp b/src/plugins/qnx/blackberrydeployinformation.cpp index ed4412593b..b02a44fc1a 100644 --- a/src/plugins/qnx/blackberrydeployinformation.cpp +++ b/src/plugins/qnx/blackberrydeployinformation.cpp @@ -2,9 +2,9 @@ ** ** This file is part of Qt Creator ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** @@ -34,8 +34,8 @@ #include <projectexplorer/buildconfiguration.h> #include <projectexplorer/target.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4nodes.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakenodes.h> #include <qtsupport/baseqtversion.h> #include <qtsupport/qtkitinformation.h> @@ -241,8 +241,8 @@ void BlackBerryDeployInformation::updateModel() beginResetModel(); QList<BarPackageDeployInformation> keep; - QList<Qt4ProjectManager::Qt4ProFileNode *> appNodes = project()->applicationProFiles(); - foreach (Qt4ProjectManager::Qt4ProFileNode *node, appNodes) { + QList<QmakeProjectManager::Qt4ProFileNode *> appNodes = project()->applicationProFiles(); + foreach (QmakeProjectManager::Qt4ProFileNode *node, appNodes) { bool nodeFound = false; for (int i = 0; i < m_deployInformation.size(); ++i) { if (m_deployInformation[i].proFilePath == node->path() @@ -264,9 +264,9 @@ void BlackBerryDeployInformation::updateModel() endResetModel(); } -Qt4ProjectManager::Qt4Project *BlackBerryDeployInformation::project() const +QmakeProjectManager::Qt4Project *BlackBerryDeployInformation::project() const { - return static_cast<Qt4ProjectManager::Qt4Project *>(m_target->project()); + return static_cast<QmakeProjectManager::Qt4Project *>(m_target->project()); } void BlackBerryDeployInformation::initModel() @@ -282,7 +282,7 @@ void BlackBerryDeployInformation::initModel() return; } - const Qt4ProjectManager::Qt4ProFileNode *const rootNode = project()->rootQt4ProjectNode(); + const QmakeProjectManager::Qt4ProFileNode *const rootNode = project()->rootQt4ProjectNode(); if (!rootNode || rootNode->parseInProgress()) // Can be null right after project creation by wizard. return; @@ -291,17 +291,17 @@ void BlackBerryDeployInformation::initModel() beginResetModel(); m_deployInformation.clear(); - QList<Qt4ProjectManager::Qt4ProFileNode *> appNodes = project()->applicationProFiles(); - foreach (Qt4ProjectManager::Qt4ProFileNode *node, appNodes) + QList<QmakeProjectManager::Qt4ProFileNode *> appNodes = project()->applicationProFiles(); + foreach (QmakeProjectManager::Qt4ProFileNode *node, appNodes) m_deployInformation << deployInformationFromNode(node); endResetModel(); connect(project(), SIGNAL(proFilesEvaluated()), this, SLOT(updateModel())); } -BarPackageDeployInformation BlackBerryDeployInformation::deployInformationFromNode(Qt4ProjectManager::Qt4ProFileNode *node) const +BarPackageDeployInformation BlackBerryDeployInformation::deployInformationFromNode(QmakeProjectManager::Qt4ProFileNode *node) const { - Qt4ProjectManager::TargetInformation ti = node->targetInformation(); + QmakeProjectManager::TargetInformation ti = node->targetInformation(); QFileInfo fi(node->path()); const QString buildDir = m_target->activeBuildConfiguration()->buildDirectory().toString(); diff --git a/src/plugins/qnx/blackberrydeployinformation.h b/src/plugins/qnx/blackberrydeployinformation.h index 462f6feaab..7edd37c7bb 100644 --- a/src/plugins/qnx/blackberrydeployinformation.h +++ b/src/plugins/qnx/blackberrydeployinformation.h @@ -2,9 +2,9 @@ ** ** This file is part of Qt Creator ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** @@ -37,7 +37,7 @@ namespace ProjectExplorer { class Target; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class Qt4ProFileNode; class Qt4Project; } @@ -102,10 +102,10 @@ private: ColumnCount // Always have last }; - Qt4ProjectManager::Qt4Project *project() const; + QmakeProjectManager::Qt4Project *project() const; void initModel(); - BarPackageDeployInformation deployInformationFromNode(Qt4ProjectManager::Qt4ProFileNode *node) const; + BarPackageDeployInformation deployInformationFromNode(QmakeProjectManager::Qt4ProFileNode *node) const; ProjectExplorer::Target *m_target; diff --git a/src/plugins/qnx/blackberrydeploystep.cpp b/src/plugins/qnx/blackberrydeploystep.cpp index 9c1b71a59d..286fdd7c51 100644 --- a/src/plugins/qnx/blackberrydeploystep.cpp +++ b/src/plugins/qnx/blackberrydeploystep.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -39,7 +39,7 @@ #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/target.h> -#include <qt4projectmanager/qt4buildconfiguration.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> #include <utils/qtcassert.h> #include <ssh/sshconnection.h> diff --git a/src/plugins/qnx/blackberrydeploystep.h b/src/plugins/qnx/blackberrydeploystep.h index 83a4394844..d7f535bc3d 100644 --- a/src/plugins/qnx/blackberrydeploystep.h +++ b/src/plugins/qnx/blackberrydeploystep.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeploystepconfigwidget.cpp b/src/plugins/qnx/blackberrydeploystepconfigwidget.cpp index a75371991f..2ac43f709d 100644 --- a/src/plugins/qnx/blackberrydeploystepconfigwidget.cpp +++ b/src/plugins/qnx/blackberrydeploystepconfigwidget.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeploystepconfigwidget.h b/src/plugins/qnx/blackberrydeploystepconfigwidget.h index 55971a3486..0d28ac8ed3 100644 --- a/src/plugins/qnx/blackberrydeploystepconfigwidget.h +++ b/src/plugins/qnx/blackberrydeploystepconfigwidget.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeploystepfactory.cpp b/src/plugins/qnx/blackberrydeploystepfactory.cpp index 7c7da7c4ef..efb09f33fe 100644 --- a/src/plugins/qnx/blackberrydeploystepfactory.cpp +++ b/src/plugins/qnx/blackberrydeploystepfactory.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeploystepfactory.h b/src/plugins/qnx/blackberrydeploystepfactory.h index 477f3df9ee..4b7383e39a 100644 --- a/src/plugins/qnx/blackberrydeploystepfactory.h +++ b/src/plugins/qnx/blackberrydeploystepfactory.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeviceconfiguration.cpp b/src/plugins/qnx/blackberrydeviceconfiguration.cpp index d13b793103..d45f65a49b 100644 --- a/src/plugins/qnx/blackberrydeviceconfiguration.cpp +++ b/src/plugins/qnx/blackberrydeviceconfiguration.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeviceconfiguration.h b/src/plugins/qnx/blackberrydeviceconfiguration.h index 99dd6790d4..9a4761ebbf 100644 --- a/src/plugins/qnx/blackberrydeviceconfiguration.h +++ b/src/plugins/qnx/blackberrydeviceconfiguration.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeviceconfigurationfactory.cpp b/src/plugins/qnx/blackberrydeviceconfigurationfactory.cpp index bc17027c95..5d4fbd5b1d 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationfactory.cpp +++ b/src/plugins/qnx/blackberrydeviceconfigurationfactory.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeviceconfigurationfactory.h b/src/plugins/qnx/blackberrydeviceconfigurationfactory.h index bed1854713..bbf8079398 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationfactory.h +++ b/src/plugins/qnx/blackberrydeviceconfigurationfactory.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeviceconfigurationwidget.cpp b/src/plugins/qnx/blackberrydeviceconfigurationwidget.cpp index d9d0115ffd..76c02a3303 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationwidget.cpp +++ b/src/plugins/qnx/blackberrydeviceconfigurationwidget.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeviceconfigurationwidget.h b/src/plugins/qnx/blackberrydeviceconfigurationwidget.h index 214fa4a378..b99f565e92 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationwidget.h +++ b/src/plugins/qnx/blackberrydeviceconfigurationwidget.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeviceconfigurationwizard.cpp b/src/plugins/qnx/blackberrydeviceconfigurationwizard.cpp index 52a29f8474..e576d5540a 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationwizard.cpp +++ b/src/plugins/qnx/blackberrydeviceconfigurationwizard.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeviceconfigurationwizard.h b/src/plugins/qnx/blackberrydeviceconfigurationwizard.h index 0aea5a6c10..77beaf4473 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationwizard.h +++ b/src/plugins/qnx/blackberrydeviceconfigurationwizard.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeviceconfigurationwizardpages.cpp b/src/plugins/qnx/blackberrydeviceconfigurationwizardpages.cpp index 0a83d52dff..342a2bd93f 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationwizardpages.cpp +++ b/src/plugins/qnx/blackberrydeviceconfigurationwizardpages.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeviceconfigurationwizardpages.h b/src/plugins/qnx/blackberrydeviceconfigurationwizardpages.h index 42e3946fb6..65e1b35b76 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationwizardpages.h +++ b/src/plugins/qnx/blackberrydeviceconfigurationwizardpages.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeviceconnection.cpp b/src/plugins/qnx/blackberrydeviceconnection.cpp index 97ccd975f6..9b80986370 100644 --- a/src/plugins/qnx/blackberrydeviceconnection.cpp +++ b/src/plugins/qnx/blackberrydeviceconnection.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -62,10 +62,8 @@ BlackBerryDeviceConnection::BlackBerryDeviceConnection() : void BlackBerryDeviceConnection::connectDevice(const ProjectExplorer::IDevice::ConstPtr &device) { Utils::Environment env = Utils::Environment::systemEnvironment(); - - QMultiMap<QString, QString> qnxEnv = BlackBerryConfigurationManager::instance().defaultQnxEnv(); - if (!qnxEnv.isEmpty()) - QnxUtils::prependQnxMapToEnvironment(qnxEnv, env); + foreach (const Utils::EnvironmentItem &item, BlackBerryConfigurationManager::instance().defaultQnxEnv()) + env.appendOrSet(item.name, item.value); m_process->setEnvironment(env.toStringList()); diff --git a/src/plugins/qnx/blackberrydeviceconnection.h b/src/plugins/qnx/blackberrydeviceconnection.h index 87b069901e..388231ffe6 100644 --- a/src/plugins/qnx/blackberrydeviceconnection.h +++ b/src/plugins/qnx/blackberrydeviceconnection.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeviceconnectionmanager.cpp b/src/plugins/qnx/blackberrydeviceconnectionmanager.cpp index 339d9e834f..fa549d70db 100644 --- a/src/plugins/qnx/blackberrydeviceconnectionmanager.cpp +++ b/src/plugins/qnx/blackberrydeviceconnectionmanager.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeviceconnectionmanager.h b/src/plugins/qnx/blackberrydeviceconnectionmanager.h index 8d41e220b0..a211f505e9 100644 --- a/src/plugins/qnx/blackberrydeviceconnectionmanager.h +++ b/src/plugins/qnx/blackberrydeviceconnectionmanager.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeviceinformation.cpp b/src/plugins/qnx/blackberrydeviceinformation.cpp index e062c22c86..b9e67d3059 100644 --- a/src/plugins/qnx/blackberrydeviceinformation.cpp +++ b/src/plugins/qnx/blackberrydeviceinformation.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydeviceinformation.h b/src/plugins/qnx/blackberrydeviceinformation.h index adc4d88b84..bbcc4ba4b3 100644 --- a/src/plugins/qnx/blackberrydeviceinformation.h +++ b/src/plugins/qnx/blackberrydeviceinformation.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrydevicelistdetector.cpp b/src/plugins/qnx/blackberrydevicelistdetector.cpp index 1382fa7820..efb44dd7e3 100644 --- a/src/plugins/qnx/blackberrydevicelistdetector.cpp +++ b/src/plugins/qnx/blackberrydevicelistdetector.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** ** This file is part of Qt Creator. ** diff --git a/src/plugins/qnx/blackberrydevicelistdetector.h b/src/plugins/qnx/blackberrydevicelistdetector.h index a4445db364..8720612508 100644 --- a/src/plugins/qnx/blackberrydevicelistdetector.h +++ b/src/plugins/qnx/blackberrydevicelistdetector.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** ** This file is part of Qt Creator. ** diff --git a/src/plugins/qnx/blackberryimportcertificatedialog.cpp b/src/plugins/qnx/blackberryimportcertificatedialog.cpp index 753b7e404d..a20aa97974 100644 --- a/src/plugins/qnx/blackberryimportcertificatedialog.cpp +++ b/src/plugins/qnx/blackberryimportcertificatedialog.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryimportcertificatedialog.h b/src/plugins/qnx/blackberryimportcertificatedialog.h index 438801e11d..13571450f4 100644 --- a/src/plugins/qnx/blackberryimportcertificatedialog.h +++ b/src/plugins/qnx/blackberryimportcertificatedialog.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryinstallwizardpages.cpp b/src/plugins/qnx/blackberryinstallwizardpages.cpp index d23933f010..790a88cdb9 100644 --- a/src/plugins/qnx/blackberryinstallwizardpages.cpp +++ b/src/plugins/qnx/blackberryinstallwizardpages.cpp @@ -335,7 +335,7 @@ void BlackBerryInstallWizardTargetPage::updateAvailableTargetsList() m_ui->targetsTreeWidget->clear(); m_ui->targetsTreeWidget->setHeaderHidden(true); QTreeWidgetItem *item = new QTreeWidgetItem(m_ui->targetsTreeWidget); - item->setText(0, tr("Querying available targets. Please wait..")); + item->setText(0, tr("Querying available targets. Please wait...")); QFont font; font.setItalic(true); item->setFont(0, font); diff --git a/src/plugins/qnx/blackberrykeyspage.h b/src/plugins/qnx/blackberrykeyspage.h index 0ba17f02b5..27e4423305 100644 --- a/src/plugins/qnx/blackberrykeyspage.h +++ b/src/plugins/qnx/blackberrykeyspage.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrylogprocessrunner.cpp b/src/plugins/qnx/blackberrylogprocessrunner.cpp index ecd627998a..07cb13a00a 100644 --- a/src/plugins/qnx/blackberrylogprocessrunner.cpp +++ b/src/plugins/qnx/blackberrylogprocessrunner.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -30,227 +30,71 @@ ****************************************************************************/ #include "blackberrylogprocessrunner.h" +#include "slog2inforunner.h" -#include <ssh/sshremoteprocessrunner.h> +#include <projectexplorer/devicesupport/sshdeviceprocess.h> #include <utils/qtcassert.h> using namespace Qnx::Internal; BlackBerryLogProcessRunner::BlackBerryLogProcessRunner(QObject *parent, const QString& appId, const BlackBerryDeviceConfiguration::ConstPtr &device) : QObject(parent) - , m_currentLogs(false) - , m_slog2infoFound(false) - , m_tailProcess(0) - , m_slog2infoProcess(0) - , m_testSlog2Process(0) - , m_launchDateTimeProcess(0) { Q_ASSERT(!appId.isEmpty() && device); m_appId = appId; m_device = device; - // The BlackBerry device always uses key authentication - m_sshParams = m_device->sshParameters(); - m_sshParams.authenticationType = QSsh::SshConnectionParameters::AuthenticationTypePublicKey; + m_slog2InfoRunner = new Slog2InfoRunner(appId, m_device, this); + connect(m_slog2InfoRunner, SIGNAL(finished()), this, SIGNAL(finished())); + connect(m_slog2InfoRunner, SIGNAL(output(QString,Utils::OutputFormat)), this, SIGNAL(output(QString,Utils::OutputFormat))); - m_tailCommand = QLatin1String("tail -c +1 -f /accounts/1000/appdata/") + m_appId - + QLatin1String("/logs/log"); - m_slog2infoCommand = QString::fromLatin1("slog2info -w -b ") + m_appId; + m_tailProcess = new ProjectExplorer::SshDeviceProcess(m_device, this); + connect(m_tailProcess, SIGNAL(readyReadStandardOutput()), this, SLOT(readTailStandardOutput())); + connect(m_tailProcess, SIGNAL(readyReadStandardError()), this, SLOT(readTailStandardError())); + connect(m_tailProcess, SIGNAL(error(QProcess::ProcessError)), this, SLOT(handleTailProcessError())); } void BlackBerryLogProcessRunner::start() { - if (!m_testSlog2Process) { - m_testSlog2Process = new QSsh::SshRemoteProcessRunner(this); - connect(m_testSlog2Process, SIGNAL(processClosed(int)), this, SLOT(handleSlog2infoFound())); - } - - m_testSlog2Process->run("slog2info", m_sshParams); + m_slog2InfoRunner->start(); + launchTailProcess(); } -void BlackBerryLogProcessRunner::handleTailOutput() +void BlackBerryLogProcessRunner::readTailStandardOutput() { - QSsh::SshRemoteProcessRunner *process = qobject_cast<QSsh::SshRemoteProcessRunner *>(sender()); - QTC_ASSERT(process, return); - - const QString message = QString::fromLatin1(process->readAllStandardOutput()); - // if slog2info found then m_tailProcess should only display 'launching' error logs - m_slog2infoFound ? output(message, Utils::StdErrFormat) : output(message, Utils::StdOutFormat); + const QString message = QString::fromLatin1(m_tailProcess->readAllStandardOutput()); + emit output(message, Utils::StdOutFormat); } -void BlackBerryLogProcessRunner::handleSlog2infoOutput() +void BlackBerryLogProcessRunner::readTailStandardError() { - QSsh::SshRemoteProcessRunner *process = qobject_cast<QSsh::SshRemoteProcessRunner *>(sender()); - QTC_ASSERT(process, return); - - const QString message = QString::fromLatin1(process->readAllStandardOutput()); - const QStringList multiLine = message.split(QLatin1Char('\n')); - Q_FOREACH (const QString &line, multiLine) { - // Note: This is useless if/once slog2info -b displays only logs from recent launches - if (!m_launchDateTime.isNull()) - { - // Check if logs are from the recent launch - if (!m_currentLogs) { - QDateTime dateTime = QDateTime::fromString(line.split(m_appId).first().mid(4).trimmed(), - QString::fromLatin1("dd HH:mm:ss.zzz")); - - m_currentLogs = dateTime >= m_launchDateTime; - if (!m_currentLogs) - continue; - } - } - - // The line could be a part of a previous log message that contains a '\n' - // In that case only the message body is displayed - if (!line.contains(m_appId) && !line.isEmpty()) { - emit output(line + QLatin1Char('\n'), Utils::StdOutFormat); - continue; - } - - QStringList validLineBeginnings; - validLineBeginnings << QLatin1String("qt-msg 0 ") - << QLatin1String("qt-msg* 0 ") - << QLatin1String("default* 9000 ") - << QLatin1String("default 9000 ") - << QLatin1String(" 0 "); - Q_FOREACH (const QString &beginning, validLineBeginnings) { - if (showQtMessage(beginning, line)) - break; - } - } -} - -void BlackBerryLogProcessRunner::handleLogError() -{ - QSsh::SshRemoteProcessRunner *process = qobject_cast<QSsh::SshRemoteProcessRunner *>(sender()); - QTC_ASSERT(process, return); - - const QString message = QString::fromLatin1(process->readAllStandardError()); + const QString message = QString::fromLatin1(m_tailProcess->readAllStandardError()); emit output(message, Utils::StdErrFormat); } -void BlackBerryLogProcessRunner::handleTailProcessConnectionError() -{ - QSsh::SshRemoteProcessRunner *process = qobject_cast<QSsh::SshRemoteProcessRunner *>(sender()); - QTC_ASSERT(process, return); - - emit output(tr("Cannot show debug output. Error: %1").arg(process->lastConnectionErrorString()), - Utils::StdErrFormat); -} - -void BlackBerryLogProcessRunner::handleSlog2infoProcessConnectionError() -{ - QSsh::SshRemoteProcessRunner *process = qobject_cast<QSsh::SshRemoteProcessRunner *>(sender()); - QTC_ASSERT(process, return); - - emit output(tr("Cannot show slog2info output. Error: %1").arg(process->lastConnectionErrorString()), - Utils::StdErrFormat); -} - -bool BlackBerryLogProcessRunner::showQtMessage(const QString &pattern, const QString &line) -{ - const int index = line.indexOf(pattern); - if (index != -1) { - const QString str = line.right(line.length()-index-pattern.length()) + QLatin1Char('\n'); - emit output(str, Utils::StdOutFormat); - return true; - } - return false; -} - -void BlackBerryLogProcessRunner::killProcessRunner(QSsh::SshRemoteProcessRunner *processRunner, const QString &command) +void BlackBerryLogProcessRunner::handleTailProcessError() { - QTC_ASSERT(!command.isEmpty(), return); - - ProjectExplorer::DeviceProcessSignalOperation::Ptr signalOperation = - m_device->signalOperation(); - connect(signalOperation.data(), SIGNAL(finished(QString)), SIGNAL(finished())); - signalOperation->killProcess(command); - - processRunner->cancel(); - - delete processRunner; + emit output(tr("Cannot show debug output. Error: %1").arg(m_tailProcess->errorString()), Utils::StdErrFormat); } -void BlackBerryLogProcessRunner::handleSlog2infoFound() +void BlackBerryLogProcessRunner::launchTailProcess() { - QSsh::SshRemoteProcessRunner *process = qobject_cast<QSsh::SshRemoteProcessRunner *>(sender()); - QTC_ASSERT(process, return); - - m_slog2infoFound = (process->processExitCode() == 0); - - readLaunchTime(); -} - -void BlackBerryLogProcessRunner::readLaunchTime() -{ - m_launchDateTimeProcess = new QSsh::SshRemoteProcessRunner(this); - connect(m_launchDateTimeProcess, SIGNAL(processClosed(int)), - this, SLOT(readApplicationLog())); - - m_launchDateTimeProcess->run("date +\"%d %H:%M:%S\"", m_sshParams); -} - -void BlackBerryLogProcessRunner::readApplicationLog() -{ - QSsh::SshRemoteProcessRunner *process = qobject_cast<QSsh::SshRemoteProcessRunner *>(sender()); - QTC_ASSERT(process, return); - - if (m_tailProcess && m_tailProcess->isProcessRunning()) - return; - - QTC_CHECK(!m_appId.isEmpty()); - - if (!m_tailProcess) { - m_tailProcess = new QSsh::SshRemoteProcessRunner(this); - connect(m_tailProcess, SIGNAL(readyReadStandardOutput()), - this, SLOT(handleTailOutput())); - connect(m_tailProcess, SIGNAL(readyReadStandardError()), - this, SLOT(handleLogError())); - connect(m_tailProcess, SIGNAL(connectionError()), - this, SLOT(handleTailProcessConnectionError())); - } - - m_tailProcess->run(m_tailCommand.toLatin1(), m_sshParams); - - if (!m_slog2infoFound || (m_slog2infoProcess && m_slog2infoProcess->isProcessRunning())) + if (m_tailProcess->state() == QProcess::Running) return; - if (!m_slog2infoProcess) { - m_launchDateTime = QDateTime::fromString(QString::fromLatin1(process->readAllStandardOutput()).trimmed(), - QString::fromLatin1("dd HH:mm:ss")); - m_slog2infoProcess = new QSsh::SshRemoteProcessRunner(this); - connect(m_slog2infoProcess, SIGNAL(readyReadStandardOutput()), - this, SLOT(handleSlog2infoOutput())); - connect(m_slog2infoProcess, SIGNAL(readyReadStandardError()), - this, SLOT(handleLogError())); - connect(m_slog2infoProcess, SIGNAL(connectionError()), - this, SLOT(handleSlog2infoProcessConnectionError())); - } - - m_slog2infoProcess->run(m_slog2infoCommand.toLatin1(), m_sshParams); + QStringList parameters; + parameters << QLatin1String("-c") + << QLatin1String("+1") + << QLatin1String("-f") + << QLatin1String("/accounts/1000/appdata/") + m_appId + QLatin1String("/logs/log"); + m_tailProcess->start(QLatin1String("tail"), parameters); } void BlackBerryLogProcessRunner::stop() { - if (m_testSlog2Process && m_testSlog2Process->isProcessRunning()) { - m_testSlog2Process->cancel(); - delete m_testSlog2Process; - m_testSlog2Process = 0; - } - - if (m_tailProcess && m_tailProcess->isProcessRunning()) { - killProcessRunner(m_tailProcess, m_tailCommand); - m_tailProcess = 0; - } - - if (m_slog2infoFound) { - if (m_slog2infoProcess && m_slog2infoProcess->isProcessRunning()) { - killProcessRunner(m_slog2infoProcess, m_slog2infoCommand); - m_slog2infoProcess = 0; - } - } + m_slog2InfoRunner->stop(); + m_tailProcess->kill(); emit finished(); } diff --git a/src/plugins/qnx/blackberrylogprocessrunner.h b/src/plugins/qnx/blackberrylogprocessrunner.h index 155ea5d3ba..49a8948f20 100644 --- a/src/plugins/qnx/blackberrylogprocessrunner.h +++ b/src/plugins/qnx/blackberrylogprocessrunner.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -35,19 +35,18 @@ #include "blackberrydeviceconfiguration.h" #include <utils/outputformat.h> -#include <ssh/sshconnection.h> - -#include <QDateTime> #include <QObject> -namespace QSsh { -class SshRemoteProcessRunner; +namespace ProjectExplorer { +class SshDeviceProcess; } namespace Qnx { namespace Internal { +class Slog2InfoRunner; + class BlackBerryLogProcessRunner : public QObject { Q_OBJECT @@ -63,39 +62,17 @@ public slots: void stop(); private slots: - void handleSlog2infoFound(); - void readLaunchTime(); - void readApplicationLog(); - - void handleTailOutput(); - void handleTailProcessConnectionError(); - - void handleSlog2infoOutput(); - void handleSlog2infoProcessConnectionError(); - - void handleLogError(); + void launchTailProcess(); + void readTailStandardOutput(); + void readTailStandardError(); + void handleTailProcessError(); private: QString m_appId; - QString m_tailCommand; - QString m_slog2infoCommand; - - bool m_currentLogs; - bool m_slog2infoFound; - - QDateTime m_launchDateTime; BlackBerryDeviceConfiguration::ConstPtr m_device; - QSsh::SshConnectionParameters m_sshParams; - - QSsh::SshRemoteProcessRunner *m_tailProcess; - QSsh::SshRemoteProcessRunner *m_slog2infoProcess; - - QSsh::SshRemoteProcessRunner *m_testSlog2Process; - QSsh::SshRemoteProcessRunner *m_launchDateTimeProcess; - - bool showQtMessage(const QString& pattern, const QString& line); - void killProcessRunner(QSsh::SshRemoteProcessRunner *processRunner, const QString& command); + ProjectExplorer::SshDeviceProcess *m_tailProcess; + Slog2InfoRunner *m_slog2InfoRunner; }; } // namespace Internal } // namespace Qnx diff --git a/src/plugins/qnx/blackberryndkprocess.cpp b/src/plugins/qnx/blackberryndkprocess.cpp index e7939172c0..56f52fbee3 100644 --- a/src/plugins/qnx/blackberryndkprocess.cpp +++ b/src/plugins/qnx/blackberryndkprocess.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -56,13 +56,17 @@ BlackBerryNdkProcess::BlackBerryNdkProcess(const QString &command, QObject *pare const QString BlackBerryNdkProcess::resolveNdkToolPath(const QString &tool) { QString toolPath; - QMultiMap<QString, QString> qnxEnv = BlackBerryConfigurationManager::instance().defaultQnxEnv(); - if (!qnxEnv.isEmpty()) { - toolPath = qnxEnv.value(QLatin1String("QNX_HOST")) - + (QLatin1String("/usr/bin/")) + tool; + QList<Utils::EnvironmentItem> qnxEnv = BlackBerryConfigurationManager::instance().defaultQnxEnv(); + foreach (const Utils::EnvironmentItem &item, qnxEnv) { + if (item.name == QLatin1String("QNX_HOST") && !item.value.isEmpty()) { + toolPath = item.value + + (QLatin1String("/usr/bin/")) + tool; - if (Utils::HostOsInfo::isWindowsHost()) - toolPath += QLatin1String(".bat"); + if (Utils::HostOsInfo::isWindowsHost()) + toolPath += QLatin1String(".bat"); + + break; + } } return toolPath; diff --git a/src/plugins/qnx/blackberryndkprocess.h b/src/plugins/qnx/blackberryndkprocess.h index 34e7351107..a73a3873d1 100644 --- a/src/plugins/qnx/blackberryndkprocess.h +++ b/src/plugins/qnx/blackberryndkprocess.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryndksettingspage.cpp b/src/plugins/qnx/blackberryndksettingspage.cpp index 5610e0de8c..5a98414d72 100644 --- a/src/plugins/qnx/blackberryndksettingspage.cpp +++ b/src/plugins/qnx/blackberryndksettingspage.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryndksettingspage.h b/src/plugins/qnx/blackberryndksettingspage.h index cad7ca1f48..4e2de119e1 100644 --- a/src/plugins/qnx/blackberryndksettingspage.h +++ b/src/plugins/qnx/blackberryndksettingspage.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryprocessparser.cpp b/src/plugins/qnx/blackberryprocessparser.cpp index c3ca1b3dee..f2218de1c6 100644 --- a/src/plugins/qnx/blackberryprocessparser.cpp +++ b/src/plugins/qnx/blackberryprocessparser.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryprocessparser.h b/src/plugins/qnx/blackberryprocessparser.h index e59f8aafe1..8b38ceea9e 100644 --- a/src/plugins/qnx/blackberryprocessparser.h +++ b/src/plugins/qnx/blackberryprocessparser.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryqtversion.cpp b/src/plugins/qnx/blackberryqtversion.cpp index 5ef63c37bb..208a71b148 100644 --- a/src/plugins/qnx/blackberryqtversion.cpp +++ b/src/plugins/qnx/blackberryqtversion.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -103,14 +103,15 @@ void BlackBerryQtVersion::fromMap(const QVariantMap &map) m_ndkEnvFile = map.value(NndkEnvFile).toString(); } -QMultiMap<QString, QString> BlackBerryQtVersion::environment() const +QList<Utils::EnvironmentItem> BlackBerryQtVersion::environment() const { QTC_CHECK(!sdkPath().isEmpty()); if (sdkPath().isEmpty()) - return QMultiMap<QString, QString>(); + return QList<Utils::EnvironmentItem>(); QString envFile = m_ndkEnvFile.isEmpty() ? QnxUtils::envFilePath(sdkPath()) : m_ndkEnvFile; - QMultiMap<QString,QString> result = QnxUtils::parseEnvironmentFile(envFile); + QList<Utils::EnvironmentItem> env = QnxUtils::qnxEnvironmentFromNdkFile(envFile); + // BB NDK Host is having qmake executable which is using qt.conf file to specify // base information. The qt.conf file is using 'CPUVARDIR' environment variable // to provide correct information for both x86 and armle-v7 architectures. @@ -119,9 +120,11 @@ QMultiMap<QString, QString> BlackBerryQtVersion::environment() const // CPUVARDIR to match expected architecture() otherwise qmake environment is // always resolved to be for armle-v7 architecture only as it is specified // BB NDK environment file. - result.replace(QLatin1String("CPUVARDIR"), - architecture() == X86 ? QLatin1String("x86") : QLatin1String("armle-v7")); - return result; + + env.append(Utils::EnvironmentItem(QLatin1String("CPUVARDIR"), + architecture() == X86 ? QLatin1String("x86") : QLatin1String("armle-v7"))); + + return env; } void BlackBerryQtVersion::setDefaultSdkPath() diff --git a/src/plugins/qnx/blackberryqtversion.h b/src/plugins/qnx/blackberryqtversion.h index fd2bf0bdc2..622cc72bf2 100644 --- a/src/plugins/qnx/blackberryqtversion.h +++ b/src/plugins/qnx/blackberryqtversion.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -64,7 +64,7 @@ public: QString sdkDescription() const; private: - QMultiMap<QString, QString> environment() const; + QList<Utils::EnvironmentItem> environment() const; void setDefaultSdkPath(); QString m_ndkEnvFile; diff --git a/src/plugins/qnx/blackberryqtversionfactory.cpp b/src/plugins/qnx/blackberryqtversionfactory.cpp index 33b500b2d9..6c02c76561 100644 --- a/src/plugins/qnx/blackberryqtversionfactory.cpp +++ b/src/plugins/qnx/blackberryqtversionfactory.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryqtversionfactory.h b/src/plugins/qnx/blackberryqtversionfactory.h index 3b5d3640ef..042b46441a 100644 --- a/src/plugins/qnx/blackberryqtversionfactory.h +++ b/src/plugins/qnx/blackberryqtversionfactory.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryrunconfiguration.cpp b/src/plugins/qnx/blackberryrunconfiguration.cpp index f8b5e7fb68..832f48eaef 100644 --- a/src/plugins/qnx/blackberryrunconfiguration.cpp +++ b/src/plugins/qnx/blackberryrunconfiguration.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryrunconfiguration.h b/src/plugins/qnx/blackberryrunconfiguration.h index de76612eed..41ef58ac88 100644 --- a/src/plugins/qnx/blackberryrunconfiguration.h +++ b/src/plugins/qnx/blackberryrunconfiguration.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -38,7 +38,7 @@ namespace ProjectExplorer { class Target; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class Qt4BuildConfiguration; class Qt4Project; } @@ -69,7 +69,7 @@ public: QVariantMap toMap() const; BlackBerryDeployConfiguration *deployConfiguration() const; - Qt4ProjectManager::Qt4BuildConfiguration *activeQt4BuildConfiguration() const; + QmakeProjectManager::Qt4BuildConfiguration *activeQt4BuildConfiguration() const; QString key() const; diff --git a/src/plugins/qnx/blackberryrunconfigurationfactory.cpp b/src/plugins/qnx/blackberryrunconfigurationfactory.cpp index 8ac206597d..2f18cad99a 100644 --- a/src/plugins/qnx/blackberryrunconfigurationfactory.cpp +++ b/src/plugins/qnx/blackberryrunconfigurationfactory.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -36,7 +36,7 @@ #include <projectexplorer/kitinformation.h> #include <projectexplorer/target.h> -#include <qt4projectmanager/qt4project.h> +#include <qt4projectmanager/qmakeproject.h> using namespace Qnx; using namespace Qnx::Internal; @@ -57,7 +57,7 @@ QList<Core::Id> BlackBerryRunConfigurationFactory::availableCreationIds(ProjectE if (!canHandle(parent)) return ids; - Qt4ProjectManager::Qt4Project *qt4Project = qobject_cast<Qt4ProjectManager::Qt4Project *>(parent->project()); + QmakeProjectManager::Qt4Project *qt4Project = qobject_cast<QmakeProjectManager::Qt4Project *>(parent->project()); if (!qt4Project) return ids; @@ -85,7 +85,7 @@ bool BlackBerryRunConfigurationFactory::canCreate(ProjectExplorer::Target *paren if (!canHandle(parent)) return false; - Qt4ProjectManager::Qt4Project *qt4Project = qobject_cast<Qt4ProjectManager::Qt4Project *>(parent->project()); + QmakeProjectManager::Qt4Project *qt4Project = qobject_cast<QmakeProjectManager::Qt4Project *>(parent->project()); if (!qt4Project) return false; @@ -140,7 +140,7 @@ bool BlackBerryRunConfigurationFactory::canHandle(ProjectExplorer::Target *t) co { if (!t->project()->supportsKit(t->kit())) return false; - if (!qobject_cast<Qt4ProjectManager::Qt4Project *>(t->project())) + if (!qobject_cast<QmakeProjectManager::Qt4Project *>(t->project())) return false; Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(t->kit()); diff --git a/src/plugins/qnx/blackberryrunconfigurationfactory.h b/src/plugins/qnx/blackberryrunconfigurationfactory.h index 5dd363f270..5be05277d1 100644 --- a/src/plugins/qnx/blackberryrunconfigurationfactory.h +++ b/src/plugins/qnx/blackberryrunconfigurationfactory.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryrunconfigurationwidget.cpp b/src/plugins/qnx/blackberryrunconfigurationwidget.cpp index 6855ce6a1b..ac331c7477 100644 --- a/src/plugins/qnx/blackberryrunconfigurationwidget.cpp +++ b/src/plugins/qnx/blackberryrunconfigurationwidget.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryrunconfigurationwidget.h b/src/plugins/qnx/blackberryrunconfigurationwidget.h index 80e5b041bb..fd7de36c58 100644 --- a/src/plugins/qnx/blackberryrunconfigurationwidget.h +++ b/src/plugins/qnx/blackberryrunconfigurationwidget.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryruncontrol.cpp b/src/plugins/qnx/blackberryruncontrol.cpp index 15a0766c40..f372452bc7 100644 --- a/src/plugins/qnx/blackberryruncontrol.cpp +++ b/src/plugins/qnx/blackberryruncontrol.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberryruncontrol.h b/src/plugins/qnx/blackberryruncontrol.h index 9539dd1349..787add054b 100644 --- a/src/plugins/qnx/blackberryruncontrol.h +++ b/src/plugins/qnx/blackberryruncontrol.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -36,7 +36,7 @@ #include <projectexplorer/runconfiguration.h> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class Qt4BuildConfiguration; } diff --git a/src/plugins/qnx/blackberryruncontrolfactory.cpp b/src/plugins/qnx/blackberryruncontrolfactory.cpp index 99ec7e33cb..9060d9ce33 100644 --- a/src/plugins/qnx/blackberryruncontrolfactory.cpp +++ b/src/plugins/qnx/blackberryruncontrolfactory.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -46,7 +46,7 @@ #include <projectexplorer/project.h> #include <projectexplorer/target.h> #include <projectexplorer/toolchain.h> -#include <qt4projectmanager/qt4buildconfiguration.h> +#include <qt4projectmanager/qmakebuildconfiguration.h> #include <qtsupport/qtkitinformation.h> using namespace Qnx; diff --git a/src/plugins/qnx/blackberryruncontrolfactory.h b/src/plugins/qnx/blackberryruncontrolfactory.h index b66319e915..5031608645 100644 --- a/src/plugins/qnx/blackberryruncontrolfactory.h +++ b/src/plugins/qnx/blackberryruncontrolfactory.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrysigningpasswordsdialog.cpp b/src/plugins/qnx/blackberrysigningpasswordsdialog.cpp index 5879f8f110..5fa324fcd0 100644 --- a/src/plugins/qnx/blackberrysigningpasswordsdialog.cpp +++ b/src/plugins/qnx/blackberrysigningpasswordsdialog.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrysigningpasswordsdialog.h b/src/plugins/qnx/blackberrysigningpasswordsdialog.h index 54f3fe6017..70918ca416 100644 --- a/src/plugins/qnx/blackberrysigningpasswordsdialog.h +++ b/src/plugins/qnx/blackberrysigningpasswordsdialog.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrysshkeysgenerator.cpp b/src/plugins/qnx/blackberrysshkeysgenerator.cpp index 658b1c5e58..610720a613 100644 --- a/src/plugins/qnx/blackberrysshkeysgenerator.cpp +++ b/src/plugins/qnx/blackberrysshkeysgenerator.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/blackberrysshkeysgenerator.h b/src/plugins/qnx/blackberrysshkeysgenerator.h index 9c66c91511..d3682efaab 100644 --- a/src/plugins/qnx/blackberrysshkeysgenerator.h +++ b/src/plugins/qnx/blackberrysshkeysgenerator.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/pathchooserdelegate.cpp b/src/plugins/qnx/pathchooserdelegate.cpp index fab72ef1ac..419f28ef34 100644 --- a/src/plugins/qnx/pathchooserdelegate.cpp +++ b/src/plugins/qnx/pathchooserdelegate.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/pathchooserdelegate.h b/src/plugins/qnx/pathchooserdelegate.h index d182e8f0e0..1996646183 100644 --- a/src/plugins/qnx/pathchooserdelegate.h +++ b/src/plugins/qnx/pathchooserdelegate.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnx.pro b/src/plugins/qnx/qnx.pro index c6edbf0faa..55e3620235 100644 --- a/src/plugins/qnx/qnx.pro +++ b/src/plugins/qnx/qnx.pro @@ -96,7 +96,8 @@ SOURCES += qnxplugin.cpp \ blackberryinstallwizardpages.cpp \ blackberryinstallwizard.cpp \ qnxdeviceprocesssignaloperation.cpp \ - qnxdeviceprocesslist.cpp + qnxdeviceprocesslist.cpp \ + slog2inforunner.cpp HEADERS += qnxplugin.h\ qnxconstants.h \ @@ -192,7 +193,8 @@ HEADERS += qnxplugin.h\ blackberryinstallwizardpages.h \ blackberryinstallwizard.h \ qnxdeviceprocesssignaloperation.h \ - qnxdeviceprocesslist.h + qnxdeviceprocesslist.h \ + slog2inforunner.h FORMS += \ diff --git a/src/plugins/qnx/qnx.qbs b/src/plugins/qnx/qnx.qbs index 1a9af37cef..cecd40ed1f 100644 --- a/src/plugins/qnx/qnx.qbs +++ b/src/plugins/qnx/qnx.qbs @@ -236,6 +236,8 @@ QtcPlugin { "qnxruncontrolfactory.h", "qnxutils.cpp", "qnxutils.h", + "slog2inforunner.cpp", + "slog2inforunner.h", "images/target-small.png", "images/target.png", ] diff --git a/src/plugins/qnx/qnxabstractqtversion.cpp b/src/plugins/qnx/qnxabstractqtversion.cpp index f9ce0dc77d..b9b40d0e9c 100644 --- a/src/plugins/qnx/qnxabstractqtversion.cpp +++ b/src/plugins/qnx/qnxabstractqtversion.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -97,7 +97,8 @@ void QnxAbstractQtVersion::addToEnvironment(const ProjectExplorer::Kit *k, Utils { QtSupport::BaseQtVersion::addToEnvironment(k, env); updateEnvironment(); - QnxUtils::prependQnxMapToEnvironment(m_envMap, env); + env.modify(m_qnxEnv); + env.prependOrSetLibrarySearchPath(versionInfo().value(QLatin1String("QT_INSTALL_LIBS"))); } @@ -107,7 +108,7 @@ Utils::Environment QnxAbstractQtVersion::qmakeRunEnvironment() const updateEnvironment(); Utils::Environment env = Utils::Environment::systemEnvironment(); - QnxUtils::prependQnxMapToEnvironment(m_envMap, env); + env.modify(m_qnxEnv); return env; } @@ -129,7 +130,7 @@ void QnxAbstractQtVersion::setSdkPath(const QString &sdkPath) void QnxAbstractQtVersion::updateEnvironment() const { if (!m_environmentUpToDate) { - m_envMap = environment(); + m_qnxEnv = environment(); m_environmentUpToDate = true; } } @@ -139,7 +140,12 @@ QString QnxAbstractQtVersion::qnxHost() const if (!m_environmentUpToDate) updateEnvironment(); - return m_envMap.value(QLatin1String(Constants::QNX_HOST_KEY)); + foreach (const Utils::EnvironmentItem &item, m_qnxEnv) { + if (item.name == QLatin1String(Constants::QNX_HOST_KEY)) + return item.value; + } + + return QString(); } QString QnxAbstractQtVersion::qnxTarget() const @@ -147,7 +153,12 @@ QString QnxAbstractQtVersion::qnxTarget() const if (!m_environmentUpToDate) updateEnvironment(); - return m_envMap.value(QLatin1String(Constants::QNX_TARGET_KEY)); + foreach (const Utils::EnvironmentItem &item, m_qnxEnv) { + if (item.name == QLatin1String(Constants::QNX_TARGET_KEY)) + return item.value; + } + + return QString(); } QtSupport::QtConfigWidget *QnxAbstractQtVersion::createConfigurationWidget() const diff --git a/src/plugins/qnx/qnxabstractqtversion.h b/src/plugins/qnx/qnxabstractqtversion.h index c00cbf2dea..4236d9d9a3 100644 --- a/src/plugins/qnx/qnxabstractqtversion.h +++ b/src/plugins/qnx/qnxabstractqtversion.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -36,6 +36,8 @@ #include <qtsupport/baseqtversion.h> +#include <utils/environment.h> + #include <QCoreApplication> namespace Qnx { @@ -78,13 +80,13 @@ protected: private: void updateEnvironment() const; - virtual QMultiMap<QString, QString> environment() const = 0; + virtual QList<Utils::EnvironmentItem> environment() const = 0; QnxArchitecture m_arch; QString m_sdkPath; mutable bool m_environmentUpToDate; - mutable QMultiMap<QString, QString> m_envMap; + mutable QList<Utils::EnvironmentItem> m_qnxEnv; }; } // namespace Internal diff --git a/src/plugins/qnx/qnxbaseqtconfigwidget.cpp b/src/plugins/qnx/qnxbaseqtconfigwidget.cpp index 0c81df6648..b72f0119f3 100644 --- a/src/plugins/qnx/qnxbaseqtconfigwidget.cpp +++ b/src/plugins/qnx/qnxbaseqtconfigwidget.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxbaseqtconfigwidget.h b/src/plugins/qnx/qnxbaseqtconfigwidget.h index d4ba3f3975..ae174db673 100644 --- a/src/plugins/qnx/qnxbaseqtconfigwidget.h +++ b/src/plugins/qnx/qnxbaseqtconfigwidget.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxconstants.h b/src/plugins/qnx/qnxconstants.h index 456fd5488c..c0d5d1762d 100644 --- a/src/plugins/qnx/qnxconstants.h +++ b/src/plugins/qnx/qnxconstants.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -99,6 +99,7 @@ const char QNX_BB_SIGNING_ID[] = "ZZ.BlackBerry Signing Infrastructure Configura const char QNX_BAR_DESCRIPTOR_MIME_TYPE[] = "application/vnd.rim.qnx.bar_descriptor"; const char QNX_BAR_DESCRIPTOR_EDITOR_ID[] = "Qnx.BarDescriptorEditor"; +const char QNX_BAR_DESCRIPTOR_EDITOR_CONTEXT[] = "Qnx.BarDescriptorEditor"; const char QNX_TASK_CATEGORY_BARDESCRIPTOR[] = "Task.Category.BarDescriptor"; diff --git a/src/plugins/qnx/qnxdebugsupport.cpp b/src/plugins/qnx/qnxdebugsupport.cpp index 02049fbf62..20c238cfdc 100644 --- a/src/plugins/qnx/qnxdebugsupport.cpp +++ b/src/plugins/qnx/qnxdebugsupport.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdebugsupport.h b/src/plugins/qnx/qnxdebugsupport.h index 1bcb84016f..42535bb314 100644 --- a/src/plugins/qnx/qnxdebugsupport.h +++ b/src/plugins/qnx/qnxdebugsupport.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdeployconfiguration.cpp b/src/plugins/qnx/qnxdeployconfiguration.cpp index 1e952588d2..40f2dd1d79 100644 --- a/src/plugins/qnx/qnxdeployconfiguration.cpp +++ b/src/plugins/qnx/qnxdeployconfiguration.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdeployconfiguration.h b/src/plugins/qnx/qnxdeployconfiguration.h index eea1fd5416..627def974d 100644 --- a/src/plugins/qnx/qnxdeployconfiguration.h +++ b/src/plugins/qnx/qnxdeployconfiguration.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdeployconfigurationfactory.cpp b/src/plugins/qnx/qnxdeployconfigurationfactory.cpp index f72e7c7143..591fa49db6 100644 --- a/src/plugins/qnx/qnxdeployconfigurationfactory.cpp +++ b/src/plugins/qnx/qnxdeployconfigurationfactory.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdeployconfigurationfactory.h b/src/plugins/qnx/qnxdeployconfigurationfactory.h index 17d6b16380..b96657a5fc 100644 --- a/src/plugins/qnx/qnxdeployconfigurationfactory.h +++ b/src/plugins/qnx/qnxdeployconfigurationfactory.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdeploystepfactory.cpp b/src/plugins/qnx/qnxdeploystepfactory.cpp index 3b053761e6..28e8569676 100644 --- a/src/plugins/qnx/qnxdeploystepfactory.cpp +++ b/src/plugins/qnx/qnxdeploystepfactory.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdeploystepfactory.h b/src/plugins/qnx/qnxdeploystepfactory.h index 4adbaeaba3..106d7031a6 100644 --- a/src/plugins/qnx/qnxdeploystepfactory.h +++ b/src/plugins/qnx/qnxdeploystepfactory.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdeviceconfiguration.cpp b/src/plugins/qnx/qnxdeviceconfiguration.cpp index 74559f3750..f5a26bd9bb 100644 --- a/src/plugins/qnx/qnxdeviceconfiguration.cpp +++ b/src/plugins/qnx/qnxdeviceconfiguration.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdeviceconfiguration.h b/src/plugins/qnx/qnxdeviceconfiguration.h index bf713a0f92..ec67de55d9 100644 --- a/src/plugins/qnx/qnxdeviceconfiguration.h +++ b/src/plugins/qnx/qnxdeviceconfiguration.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdeviceconfigurationfactory.cpp b/src/plugins/qnx/qnxdeviceconfigurationfactory.cpp index d94b344b5d..5bee613eac 100644 --- a/src/plugins/qnx/qnxdeviceconfigurationfactory.cpp +++ b/src/plugins/qnx/qnxdeviceconfigurationfactory.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdeviceconfigurationfactory.h b/src/plugins/qnx/qnxdeviceconfigurationfactory.h index 3f171bd945..c4ddd17faf 100644 --- a/src/plugins/qnx/qnxdeviceconfigurationfactory.h +++ b/src/plugins/qnx/qnxdeviceconfigurationfactory.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdeviceconfigurationwizard.cpp b/src/plugins/qnx/qnxdeviceconfigurationwizard.cpp index f99480b6d9..2794e78888 100644 --- a/src/plugins/qnx/qnxdeviceconfigurationwizard.cpp +++ b/src/plugins/qnx/qnxdeviceconfigurationwizard.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdeviceconfigurationwizard.h b/src/plugins/qnx/qnxdeviceconfigurationwizard.h index e8fc653940..f14ce0cca7 100644 --- a/src/plugins/qnx/qnxdeviceconfigurationwizard.h +++ b/src/plugins/qnx/qnxdeviceconfigurationwizard.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdeviceconfigurationwizardpages.cpp b/src/plugins/qnx/qnxdeviceconfigurationwizardpages.cpp index eccfc8edf4..0aa545fa2d 100644 --- a/src/plugins/qnx/qnxdeviceconfigurationwizardpages.cpp +++ b/src/plugins/qnx/qnxdeviceconfigurationwizardpages.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdeviceconfigurationwizardpages.h b/src/plugins/qnx/qnxdeviceconfigurationwizardpages.h index 4084847e3b..3446050a66 100644 --- a/src/plugins/qnx/qnxdeviceconfigurationwizardpages.h +++ b/src/plugins/qnx/qnxdeviceconfigurationwizardpages.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdeviceprocesssignaloperation.cpp b/src/plugins/qnx/qnxdeviceprocesssignaloperation.cpp index afbb79d125..64353babdf 100644 --- a/src/plugins/qnx/qnxdeviceprocesssignaloperation.cpp +++ b/src/plugins/qnx/qnxdeviceprocesssignaloperation.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -40,10 +40,10 @@ QnxDeviceProcessSignalOperation::QnxDeviceProcessSignalOperation( { } -static QString signalProcessByNameBlackBerryCommandLine(const QString &filePath, int sig) +static QString signalProcessByNameQnxCommandLine(const QString &filePath, int sig) { QString executable = filePath; - return QString::fromLatin1("for PID in $(pidin -F \"%a %A\" | grep \"%1\" | awk '/%1/ {print $1}'); " + return QString::fromLatin1("for PID in $(ps -f -o pid,comm | grep %1 | awk '/%1/ {print $1}'); " "do " "kill -%2 $PID; " "done").arg(executable.replace(QLatin1String("/"), QLatin1String("\\/"))).arg(sig); @@ -52,14 +52,14 @@ static QString signalProcessByNameBlackBerryCommandLine(const QString &filePath, QString QnxDeviceProcessSignalOperation::killProcessByNameCommandLine( const QString &filePath) const { - return QString::fromLatin1("%1; %2").arg(signalProcessByNameBlackBerryCommandLine(filePath, 15), - signalProcessByNameBlackBerryCommandLine(filePath, 9)); + return QString::fromLatin1("%1; %2").arg(signalProcessByNameQnxCommandLine(filePath, 15), + signalProcessByNameQnxCommandLine(filePath, 9)); } QString QnxDeviceProcessSignalOperation::interruptProcessByNameCommandLine( const QString &filePath) const { - return signalProcessByNameBlackBerryCommandLine(filePath, 2); + return signalProcessByNameQnxCommandLine(filePath, 2); } @@ -69,10 +69,10 @@ BlackBerryDeviceProcessSignalOperation::BlackBerryDeviceProcessSignalOperation( { } -static QString signalProcessByNameQnxCommandLine(const QString &filePath, int sig) +static QString signalProcessByNameBlackBerryCommandLine(const QString &filePath, int sig) { QString executable = filePath; - return QString::fromLatin1("for PID in $(ps -f -o pid,comm | grep %1 | awk '/%1/ {print $1}'); " + return QString::fromLatin1("for PID in $(pidin -F \"%a %A\" | grep \"%1\" | awk '/%1/ {print $1}'); " "do " "kill -%2 $PID; " "done").arg(executable.replace(QLatin1String("/"), QLatin1String("\\/"))).arg(sig); @@ -80,11 +80,11 @@ static QString signalProcessByNameQnxCommandLine(const QString &filePath, int si QString BlackBerryDeviceProcessSignalOperation::killProcessByNameCommandLine(const QString &filePath) const { - return QString::fromLatin1("%1; %2").arg(signalProcessByNameQnxCommandLine(filePath, 15), - signalProcessByNameQnxCommandLine(filePath, 9)); + return QString::fromLatin1("%1; %2").arg(signalProcessByNameBlackBerryCommandLine(filePath, 15), + signalProcessByNameBlackBerryCommandLine(filePath, 9)); } QString BlackBerryDeviceProcessSignalOperation::interruptProcessByNameCommandLine(const QString &filePath) const { - return signalProcessByNameQnxCommandLine(filePath, 2); + return signalProcessByNameBlackBerryCommandLine(filePath, 2); } diff --git a/src/plugins/qnx/qnxdeviceprocesssignaloperation.h b/src/plugins/qnx/qnxdeviceprocesssignaloperation.h index a3e86c8ad2..fb983efc34 100644 --- a/src/plugins/qnx/qnxdeviceprocesssignaloperation.h +++ b/src/plugins/qnx/qnxdeviceprocesssignaloperation.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdevicetester.cpp b/src/plugins/qnx/qnxdevicetester.cpp index 72dd95c582..634ab3ce42 100644 --- a/src/plugins/qnx/qnxdevicetester.cpp +++ b/src/plugins/qnx/qnxdevicetester.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxdevicetester.h b/src/plugins/qnx/qnxdevicetester.h index e3bff15a79..834f6a601e 100644 --- a/src/plugins/qnx/qnxdevicetester.h +++ b/src/plugins/qnx/qnxdevicetester.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxplugin.cpp b/src/plugins/qnx/qnxplugin.cpp index dceec615fb..a348dd1afc 100644 --- a/src/plugins/qnx/qnxplugin.cpp +++ b/src/plugins/qnx/qnxplugin.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxplugin.h b/src/plugins/qnx/qnxplugin.h index 5e2a215ad4..989ecf08fd 100644 --- a/src/plugins/qnx/qnxplugin.h +++ b/src/plugins/qnx/qnxplugin.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxqtversion.cpp b/src/plugins/qnx/qnxqtversion.cpp index 97bf4b41b8..e134123088 100644 --- a/src/plugins/qnx/qnxqtversion.cpp +++ b/src/plugins/qnx/qnxqtversion.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -33,6 +33,8 @@ #include "qnxconstants.h" +#include "qnxutils.h" + #include <coreplugin/featureprovider.h> #include <utils/hostosinfo.h> @@ -92,35 +94,7 @@ QString QnxQtVersion::sdkDescription() const return tr("QNX Software Development Platform:"); } -QMultiMap<QString, QString> QnxQtVersion::environment() const +QList<Utils::EnvironmentItem> QnxQtVersion::environment() const { - // Mimic what the SDP installer puts into the system environment - - QMultiMap<QString, QString> environment; - - if (Utils::HostOsInfo::isWindowsHost()) { - // TODO: - //environment.insert(QLatin1String("QNX_CONFIGURATION"), QLatin1String("/etc/qnx")); - environment.insert(QLatin1String(Constants::QNX_TARGET_KEY), sdkPath() + QLatin1String("/target/qnx6")); - environment.insert(QLatin1String(Constants::QNX_HOST_KEY), sdkPath() + QLatin1String("/host/win32/x86")); - - environment.insert(QLatin1String("PATH"), sdkPath() + QLatin1String("/host/win32/x86/usr/bin")); - - // TODO: - //environment.insert(QLatin1String("PATH"), QLatin1String("/etc/qnx/bin")); - } else if (Utils::HostOsInfo::isAnyUnixHost()) { - environment.insert(QLatin1String("QNX_CONFIGURATION"), QLatin1String("/etc/qnx")); - environment.insert(QLatin1String(Constants::QNX_TARGET_KEY), sdkPath() + QLatin1String("/target/qnx6")); - environment.insert(QLatin1String(Constants::QNX_HOST_KEY), sdkPath() + QLatin1String("/host/linux/x86")); - - environment.insert(QLatin1String("PATH"), sdkPath() + QLatin1String("/host/linux/x86/usr/bin")); - environment.insert(QLatin1String("PATH"), QLatin1String("/etc/qnx/bin")); - - environment.insert(QLatin1String("LD_LIBRARY_PATH"), sdkPath() + QLatin1String("/host/linux/x86/usr/lib")); - } - - environment.insert(QLatin1String("QNX_JAVAHOME"), sdkPath() + QLatin1String("/_jvm")); - environment.insert(QLatin1String("MAKEFLAGS"), QLatin1String("-I") + sdkPath() + QLatin1String("/target/qnx6/usr/include")); - - return environment; + return QnxUtils::qnxEnvironment(sdkPath()); } diff --git a/src/plugins/qnx/qnxqtversion.h b/src/plugins/qnx/qnxqtversion.h index e863557e4b..16f4862ead 100644 --- a/src/plugins/qnx/qnxqtversion.h +++ b/src/plugins/qnx/qnxqtversion.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -60,7 +60,7 @@ public: QString sdkDescription() const; private: - QMultiMap<QString, QString> environment() const; + QList<Utils::EnvironmentItem> environment() const; }; } // namespace Internal diff --git a/src/plugins/qnx/qnxqtversionfactory.cpp b/src/plugins/qnx/qnxqtversionfactory.cpp index e43a506ad5..a074c0cacc 100644 --- a/src/plugins/qnx/qnxqtversionfactory.cpp +++ b/src/plugins/qnx/qnxqtversionfactory.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxqtversionfactory.h b/src/plugins/qnx/qnxqtversionfactory.h index c71e74f18e..d68b972373 100644 --- a/src/plugins/qnx/qnxqtversionfactory.h +++ b/src/plugins/qnx/qnxqtversionfactory.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxrunconfiguration.cpp b/src/plugins/qnx/qnxrunconfiguration.cpp index 2f5f2c3074..b3b5c070ee 100644 --- a/src/plugins/qnx/qnxrunconfiguration.cpp +++ b/src/plugins/qnx/qnxrunconfiguration.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxrunconfiguration.h b/src/plugins/qnx/qnxrunconfiguration.h index 18e67d62de..b5c848d025 100644 --- a/src/plugins/qnx/qnxrunconfiguration.h +++ b/src/plugins/qnx/qnxrunconfiguration.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxrunconfigurationfactory.cpp b/src/plugins/qnx/qnxrunconfigurationfactory.cpp index f0ef6f620e..ad85c5146d 100644 --- a/src/plugins/qnx/qnxrunconfigurationfactory.cpp +++ b/src/plugins/qnx/qnxrunconfigurationfactory.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -37,7 +37,7 @@ #include <projectexplorer/kitinformation.h> #include <projectexplorer/target.h> -#include <qt4projectmanager/qt4project.h> +#include <qt4projectmanager/qmakeproject.h> using namespace Qnx; using namespace Qnx::Internal; @@ -58,7 +58,7 @@ QList<Core::Id> QnxRunConfigurationFactory::availableCreationIds(ProjectExplorer if (!canHandle(parent)) return ids; - Qt4ProjectManager::Qt4Project *qt4Project = qobject_cast<Qt4ProjectManager::Qt4Project *>(parent->project()); + QmakeProjectManager::Qt4Project *qt4Project = qobject_cast<QmakeProjectManager::Qt4Project *>(parent->project()); if (!qt4Project) return ids; @@ -85,7 +85,7 @@ bool QnxRunConfigurationFactory::canCreate(ProjectExplorer::Target *parent, cons if (!canHandle(parent) || !id.name().startsWith(Constants::QNX_QNX_RUNCONFIGURATION_PREFIX)) return false; - Qt4ProjectManager::Qt4Project *qt4Project = qobject_cast<Qt4ProjectManager::Qt4Project *>(parent->project()); + QmakeProjectManager::Qt4Project *qt4Project = qobject_cast<QmakeProjectManager::Qt4Project *>(parent->project()); if (!qt4Project) return false; diff --git a/src/plugins/qnx/qnxrunconfigurationfactory.h b/src/plugins/qnx/qnxrunconfigurationfactory.h index 56abf5e7eb..0e70fc37a5 100644 --- a/src/plugins/qnx/qnxrunconfigurationfactory.h +++ b/src/plugins/qnx/qnxrunconfigurationfactory.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxruncontrol.cpp b/src/plugins/qnx/qnxruncontrol.cpp index 3d07e9dc5b..0f717d83be 100644 --- a/src/plugins/qnx/qnxruncontrol.cpp +++ b/src/plugins/qnx/qnxruncontrol.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -30,16 +30,38 @@ ****************************************************************************/ #include "qnxruncontrol.h" +#include "qnxdeviceconfiguration.h" #include "qnxrunconfiguration.h" +#include "slog2inforunner.h" +#include <projectexplorer/kitinformation.h> #include <projectexplorer/runconfiguration.h> -#include <remotelinux/remotelinuxrunconfiguration.h> +#include <projectexplorer/target.h> + +#include <QFileInfo> using namespace Qnx; using namespace Qnx::Internal; using namespace RemoteLinux; QnxRunControl::QnxRunControl(ProjectExplorer::RunConfiguration *runConfig) - : RemoteLinuxRunControl(runConfig) + : RemoteLinuxRunControl(runConfig) + , m_slog2Info(0) +{ + ProjectExplorer::IDevice::ConstPtr dev = ProjectExplorer::DeviceKitInformation::device(runConfig->target()->kit()); + QnxDeviceConfiguration::ConstPtr qnxDevice = dev.dynamicCast<const QnxDeviceConfiguration>(); + + QnxRunConfiguration *qnxRunConfig = qobject_cast<QnxRunConfiguration *>(runConfig); + QTC_CHECK(qnxRunConfig); + + const QString applicationId = QFileInfo(qnxRunConfig->remoteExecutableFilePath()).fileName(); + m_slog2Info = new Slog2InfoRunner(applicationId, qnxDevice, this); + connect(m_slog2Info, SIGNAL(output(QString,Utils::OutputFormat)), this, SLOT(appendMessage(QString,Utils::OutputFormat))); + connect(this, SIGNAL(started()), m_slog2Info, SLOT(start())); +} + +ProjectExplorer::RunControl::StopResult QnxRunControl::stop() { + m_slog2Info->stop(); + return RemoteLinuxRunControl::stop(); } diff --git a/src/plugins/qnx/qnxruncontrol.h b/src/plugins/qnx/qnxruncontrol.h index 3bf79bc7f6..20368e6089 100644 --- a/src/plugins/qnx/qnxruncontrol.h +++ b/src/plugins/qnx/qnxruncontrol.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. @@ -37,11 +37,18 @@ namespace Qnx { namespace Internal { +class Slog2InfoRunner; + class QnxRunControl : public RemoteLinux::RemoteLinuxRunControl { Q_OBJECT public: explicit QnxRunControl(ProjectExplorer::RunConfiguration *runConfig); + + RemoteLinux::RemoteLinuxRunControl::StopResult stop(); + +private: + Slog2InfoRunner *m_slog2Info; }; } // namespace Internal diff --git a/src/plugins/qnx/qnxruncontrolfactory.cpp b/src/plugins/qnx/qnxruncontrolfactory.cpp index 39aa384e37..9b670c203d 100644 --- a/src/plugins/qnx/qnxruncontrolfactory.cpp +++ b/src/plugins/qnx/qnxruncontrolfactory.cpp @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxruncontrolfactory.h b/src/plugins/qnx/qnxruncontrolfactory.h index 2f1773a44e..b0ffff6ccd 100644 --- a/src/plugins/qnx/qnxruncontrolfactory.h +++ b/src/plugins/qnx/qnxruncontrolfactory.h @@ -1,8 +1,8 @@ /************************************************************************** ** -** Copyright (C) 2011 - 2013 Research In Motion +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved. ** -** Contact: Research In Motion (blackberry-qt@qnx.com) +** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) ** ** This file is part of Qt Creator. diff --git a/src/plugins/qnx/qnxutils.cpp b/src/plugins/qnx/qnxutils.cpp index 95dc33bb64..83129c624a 100644 --- a/src/plugins/qnx/qnxutils.cpp +++ b/src/plugins/qnx/qnxutils.cpp @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2013 BlackBerry Limited. All rights reserved +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved ** ** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) @@ -77,13 +77,13 @@ QStringList QnxUtils::searchPaths(QnxAbstractQtVersion *qtVersion) return searchPaths; } -QMultiMap<QString, QString> QnxUtils::parseEnvironmentFile(const QString &fileName) +QList<Utils::EnvironmentItem> QnxUtils::qnxEnvironmentFromNdkFile(const QString &fileName) { - QMultiMap<QString, QString> result; + QList <Utils::EnvironmentItem> items; QFile file(fileName); if (!file.open(QIODevice::ReadOnly)) - return result; + return items; QTextStream str(&file); QMap<QString, QString> fileContent; @@ -108,6 +108,11 @@ QMultiMap<QString, QString> QnxUtils::parseEnvironmentFile(const QString &fileNa if (var == QLatin1String("BASE_DIR") || var == QLatin1String("BASE_DIR_REPLACED")) value = QFileInfo(fileName).dir().absolutePath(); + // LATEST_LINUX_JRE is evaluated when sourcing the file script + // TODO: run the script and get environment instead of parsing it(?) + if (var == QLatin1String("LATEST_LINUX_JRE")) + continue; + if (Utils::HostOsInfo::isWindowsHost()) { QRegExp systemVarRegExp(QLatin1String("IF NOT DEFINED ([\\w\\d]+)\\s+set ([\\w\\d]+)=([\\w\\d]+)")); if (line.contains(systemVarRegExp)) { @@ -150,10 +155,21 @@ QMultiMap<QString, QString> QnxUtils::parseEnvironmentFile(const QString &fileNa values = it.value().split(QLatin1Char(':')); QString key = it.key(); + QStringList modifiedValues; foreach (const QString &value, values) { const QString ownKeyAsWindowsVar = QLatin1Char('%') + key + QLatin1Char('%'); const QString ownKeyAsUnixVar = QLatin1Char('$') + key; - if (value != ownKeyAsUnixVar && value != ownKeyAsWindowsVar) { // to ignore e.g. PATH=$PATH + if (value == ownKeyAsUnixVar) { // e.g. $PATH ==> ${PATH} + QString val = key; + val.prepend(QLatin1String("${")); + val.append(QLatin1Char('}')); + modifiedValues.append(val); + } else if (value == ownKeyAsWindowsVar) { + modifiedValues.append(value); + } else { + if (value.contains(QLatin1String("LATEST_LINUX_JRE"))) // Skip evaluated LATEST_LINUX_JRE variable + continue; + QString val = value; if (val.contains(QLatin1Char('%')) || val.contains(QLatin1Char('$'))) { QMapIterator<QString, QString> replaceIt(fileContent); @@ -171,15 +187,25 @@ QMultiMap<QString, QString> QnxUtils::parseEnvironmentFile(const QString &fileNa val.replace(keyAsUnixVar, replaceIt.value()); } } - result.insert(key, val); + + // This variable will be properly set based on the qt version architecture + if (key == QLatin1String("CPUVARDIR")) + continue; + + modifiedValues.append(val); } } - } - if (!result.contains(QLatin1String("CPUVARDIR"))) - result.insert(QLatin1String("CPUVARDIR"), QLatin1String("armle-v7")); + QString modifieddValue; + if (Utils::HostOsInfo::isWindowsHost()) + modifieddValue = modifiedValues.join(QLatin1Char(';')); + else if (Utils::HostOsInfo::isAnyUnixHost()) + modifieddValue = modifiedValues.join(QLatin1Char(':')); - return result; + items.append(Utils::EnvironmentItem(key, modifieddValue)); + } + + return items; } bool QnxUtils::isValidNdkPath(const QString &ndkPath) @@ -206,23 +232,6 @@ QString QnxUtils::envFilePath(const QString &ndkPath, const QString &targetVersi return envFile; } -void QnxUtils::prependQnxMapToEnvironment(const QMultiMap<QString, QString> &qnxMap, Utils::Environment &env) -{ - QMultiMap<QString, QString>::const_iterator it; - QMultiMap<QString, QString>::const_iterator end(qnxMap.constEnd()); - for (it = qnxMap.constBegin(); it != end; ++it) { - const QString key = it.key(); - const QString value = it.value(); - - if (key == QLatin1String("PATH")) - env.prependOrSetPath(value); - else if (key == QLatin1String("LD_LIBRARY_PATH")) - env.prependOrSetLibrarySearchPath(value); - else - env.set(key, value); - } -} - Utils::FileName QnxUtils::executableWithExtension(const Utils::FileName &fileName) { Utils::FileName result = fileName; @@ -336,3 +345,36 @@ QString QnxUtils::qdeInstallProcess(const QString &ndkPath, const QString &optio return QString::fromLatin1("%1 -nosplash -application com.qnx.tools.ide.sdk.manager.core.SDKInstallerApplication " "%2 %3 -vmargs -Dosgi.console=:none").arg(installerPath, option, version); } + +QList<Utils::EnvironmentItem> QnxUtils::qnxEnvironment(const QString &sdkPath) +{ + // Mimic what the SDP installer puts into the system environment + + QList<Utils::EnvironmentItem> environmentItems; + + if (Utils::HostOsInfo::isWindowsHost()) { + // TODO: + //environment.insert(QLatin1String("QNX_CONFIGURATION"), QLatin1String("/etc/qnx")); + environmentItems.append(Utils::EnvironmentItem(QLatin1String(Constants::QNX_TARGET_KEY), sdkPath + QLatin1String("/target/qnx6"))); + environmentItems.append(Utils::EnvironmentItem(QLatin1String(Constants::QNX_HOST_KEY), sdkPath + QLatin1String("/host/win32/x86"))); + + environmentItems.append(Utils::EnvironmentItem(QLatin1String("PATH"), sdkPath + QLatin1String("/host/win32/x86/usr/bin;%PATH%"))); + + // TODO: + //environment.insert(QLatin1String("PATH"), QLatin1String("/etc/qnx/bin")); + } else if (Utils::HostOsInfo::isAnyUnixHost()) { + environmentItems.append(Utils::EnvironmentItem(QLatin1String("QNX_CONFIGURATION"), QLatin1String("/etc/qnx"))); + environmentItems.append(Utils::EnvironmentItem(QLatin1String(Constants::QNX_TARGET_KEY), sdkPath + QLatin1String("/target/qnx6"))); + environmentItems.append(Utils::EnvironmentItem(QLatin1String(Constants::QNX_HOST_KEY), sdkPath + QLatin1String("/host/linux/x86"))); + + + environmentItems.append(Utils::EnvironmentItem(QLatin1String("PATH"), sdkPath + QLatin1String("/host/linux/x86/usr/bin:/etc/qnx/bin:${PATH}"))); + + environmentItems.append(Utils::EnvironmentItem(QLatin1String("LD_LIBRARY_PATH"), sdkPath + QLatin1String("/host/linux/x86/usr/lib:${LD_LIBRARY_PATH}"))); + } + + environmentItems.append(Utils::EnvironmentItem(QLatin1String("QNX_JAVAHOME"), sdkPath + QLatin1String("/_jvm"))); + environmentItems.append(Utils::EnvironmentItem(QLatin1String("MAKEFLAGS"), QLatin1String("-I") + sdkPath + QLatin1String("/target/qnx6/usr/include"))); + + return environmentItems; +} diff --git a/src/plugins/qnx/qnxutils.h b/src/plugins/qnx/qnxutils.h index 4d2e7d36ee..b483bfac42 100644 --- a/src/plugins/qnx/qnxutils.h +++ b/src/plugins/qnx/qnxutils.h @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2013 BlackBerry Limited. All rights reserved +** Copyright (C) 2012, 2013 BlackBerry Limited. All rights reserved ** ** Contact: BlackBerry (qt@blackberry.com) ** Contact: KDAB (info@kdab.com) @@ -62,10 +62,9 @@ public: static QString addQuotes(const QString &string); static Qnx::QnxArchitecture cpudirToArch(const QString &cpuDir); static QStringList searchPaths(QnxAbstractQtVersion *qtVersion); - static QMultiMap<QString, QString> parseEnvironmentFile(const QString &fileName); + static QList<Utils::EnvironmentItem> qnxEnvironmentFromNdkFile(const QString &fileName); static bool isValidNdkPath(const QString & ndkPath); static QString envFilePath(const QString & ndkPath, const QString& targetVersion = QString()); - static void prependQnxMapToEnvironment(const QMultiMap<QString, QString> &qnxMap, Utils::Environment &env); static Utils::FileName executableWithExtension(const Utils::FileName &fileName); static QString dataDirPath(); static QString qConfigPath(); @@ -73,6 +72,7 @@ public: static QList<NdkInstallInformation> installedNdks(); static QString sdkInstallerPath(const QString& ndkPath); static QString qdeInstallProcess(const QString& ndkPath, const QString &option, const QString &version = QString()); + static QList<Utils::EnvironmentItem> qnxEnvironment(const QString &ndk); }; } // namespace Internal diff --git a/src/plugins/qnx/slog2inforunner.cpp b/src/plugins/qnx/slog2inforunner.cpp new file mode 100644 index 0000000000..1b46523798 --- /dev/null +++ b/src/plugins/qnx/slog2inforunner.cpp @@ -0,0 +1,172 @@ +/************************************************************************** +** +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. +** +** Contact: BlackBerry (qt@blackberry.com) +** Contact: KDAB (info@kdab.com) +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +#include "slog2inforunner.h" + +#include <projectexplorer/devicesupport/sshdeviceprocess.h> +#include <utils/qtcassert.h> + +using namespace Qnx; +using namespace Qnx::Internal; + +Slog2InfoRunner::Slog2InfoRunner(const QString &applicationId, const RemoteLinux::LinuxDevice::ConstPtr &device, QObject *parent) + : QObject(parent) + , m_applicationId(applicationId) + , m_found(false) + , m_currentLogs(false) +{ + m_testProcess = new ProjectExplorer::SshDeviceProcess(device, this); + connect(m_testProcess, SIGNAL(finished()), this, SLOT(handleTestProcessCompleted())); + + m_launchDateTimeProcess = new ProjectExplorer::SshDeviceProcess(device, this); + connect(m_launchDateTimeProcess, SIGNAL(finished()), this, SLOT(launchSlog2Info())); + + m_logProcess = new ProjectExplorer::SshDeviceProcess(device, this); + connect(m_logProcess, SIGNAL(readyReadStandardOutput()), this, SLOT(readLogStandardOutput())); + connect(m_logProcess, SIGNAL(readyReadStandardError()), this, SLOT(readLogStandardError())); + connect(m_logProcess, SIGNAL(error(QProcess::ProcessError)), this, SLOT(handleLogError())); + connect(m_logProcess, SIGNAL(started()), this, SIGNAL(started())); + connect(m_logProcess, SIGNAL(finished()), this, SIGNAL(finished())); +} + +void Slog2InfoRunner::start() +{ + m_testProcess->start(QLatin1String("slog2info"), QStringList()); +} + +void Slog2InfoRunner::stop() +{ + if (m_testProcess->state() == QProcess::Running) + m_testProcess->kill(); + + if (m_logProcess->state() == QProcess::Running) + m_logProcess->kill(); +} + +bool Slog2InfoRunner::commandFound() const +{ + return m_found; +} + +void Slog2InfoRunner::handleTestProcessCompleted() +{ + m_found = (m_testProcess->exitCode() == 0); + if (m_found) + readLaunchTime(); + else + emit commandMissing(); +} + +void Slog2InfoRunner::readLaunchTime() +{ + QStringList arguments; + arguments << QLatin1String("+\"%d %H:%M:%S\""); + m_launchDateTimeProcess->start(QLatin1String("date"), arguments); +} + +void Slog2InfoRunner::launchSlog2Info() +{ + QTC_CHECK(!m_applicationId.isEmpty()); + QTC_CHECK(m_found); + + if (m_logProcess && m_logProcess->state() == QProcess::Running) + return; + + m_launchDateTime = QDateTime::fromString(QString::fromLatin1(m_launchDateTimeProcess->readAllStandardOutput()).trimmed(), + QString::fromLatin1("dd HH:mm:ss")); + + QStringList arguments; + arguments << QLatin1String("-w") + << QLatin1String("-b") + << m_applicationId; + m_logProcess->start(QLatin1String("slog2info"), arguments); +} + +void Slog2InfoRunner::readLogStandardOutput() +{ + const QString message = QString::fromLatin1(m_logProcess->readAllStandardOutput()); + const QStringList multiLine = message.split(QLatin1Char('\n')); + Q_FOREACH (const QString &line, multiLine) { + // Note: This is useless if/once slog2info -b displays only logs from recent launches + if (!m_launchDateTime.isNull()) + { + // Check if logs are from the recent launch + if (!m_currentLogs) { + QDateTime dateTime = QDateTime::fromString(line.split(m_applicationId).first().mid(4).trimmed(), + QString::fromLatin1("dd HH:mm:ss.zzz")); + + m_currentLogs = dateTime >= m_launchDateTime; + if (!m_currentLogs) + continue; + } + } + + // The line could be a part of a previous log message that contains a '\n' + // In that case only the message body is displayed + if (!line.contains(m_applicationId) && !line.isEmpty()) { + emit output(line + QLatin1Char('\n'), Utils::StdOutFormat); + continue; + } + + QStringList validLineBeginnings; + validLineBeginnings << QLatin1String("qt-msg 0 ") + << QLatin1String("qt-msg* 0 ") + << QLatin1String("default* 9000 ") + << QLatin1String("default 9000 ") + << QLatin1String(" 0 "); + Q_FOREACH (const QString &beginning, validLineBeginnings) { + if (showQtMessage(beginning, line)) + break; + } + } +} + +bool Slog2InfoRunner::showQtMessage(const QString &pattern, const QString &line) +{ + const int index = line.indexOf(pattern); + if (index != -1) { + const QString str = line.right(line.length()-index-pattern.length()) + QLatin1Char('\n'); + emit output(str, Utils::StdOutFormat); + return true; + } + return false; +} + +void Slog2InfoRunner::readLogStandardError() +{ + const QString message = QString::fromLatin1(m_logProcess->readAllStandardError()); + emit output(message, Utils::StdErrFormat); +} + +void Slog2InfoRunner::handleLogError() +{ + emit output(tr("Cannot show slog2info output. Error: %1").arg(m_logProcess->errorString()), Utils::StdErrFormat); +} diff --git a/src/plugins/qnx/slog2inforunner.h b/src/plugins/qnx/slog2inforunner.h new file mode 100644 index 0000000000..9728f3aa7b --- /dev/null +++ b/src/plugins/qnx/slog2inforunner.h @@ -0,0 +1,95 @@ +/************************************************************************** +** +** Copyright (C) 2013 BlackBerry Limited. All rights reserved. +** +** Contact: BlackBerry (qt@blackberry.com) +** Contact: KDAB (info@kdab.com) +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +#ifndef QNX_INTERNAL_SLOG2INFORUNNER_H +#define QNX_INTERNAL_SLOG2INFORUNNER_H + +#include <QObject> + +#include <remotelinux/linuxdevice.h> +#include <utils/outputformat.h> + +#include <QDateTime> + +namespace ProjectExplorer { +class SshDeviceProcess; +} + +namespace Qnx { +namespace Internal { + +class Slog2InfoRunner : public QObject +{ + Q_OBJECT +public: + explicit Slog2InfoRunner(const QString &applicationId, const RemoteLinux::LinuxDevice::ConstPtr &device, QObject *parent = 0); + + void stop(); + + bool commandFound() const; + +public slots: + void start(); + +signals: + void commandMissing(); + void started(); + void finished(); + void output(const QString &msg, Utils::OutputFormat format); + +private slots: + void handleTestProcessCompleted(); + void launchSlog2Info(); + + void readLogStandardOutput(); + void readLogStandardError(); + void handleLogError(); + +private: + void readLaunchTime(); + bool showQtMessage(const QString &pattern, const QString &line); + + QString m_applicationId; + + bool m_found; + + QDateTime m_launchDateTime; + bool m_currentLogs; + + ProjectExplorer::SshDeviceProcess *m_launchDateTimeProcess; + ProjectExplorer::SshDeviceProcess *m_testProcess; + ProjectExplorer::SshDeviceProcess *m_logProcess; +}; + +} // namespace Internal +} // namespace Qnx + +#endif // QNX_INTERNAL_SLOG2INFORUNNER_H diff --git a/src/plugins/qt4projectmanager/addlibrarywizard.cpp b/src/plugins/qt4projectmanager/addlibrarywizard.cpp index 02c496a7ae..ec3ec3a0e6 100644 --- a/src/plugins/qt4projectmanager/addlibrarywizard.cpp +++ b/src/plugins/qt4projectmanager/addlibrarywizard.cpp @@ -40,8 +40,8 @@ #include <QFileInfo> #include <QDebug> -using namespace Qt4ProjectManager; -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager; +using namespace QmakeProjectManager::Internal; const char qt_file_dialog_filter_reg_exp[] = diff --git a/src/plugins/qt4projectmanager/addlibrarywizard.h b/src/plugins/qt4projectmanager/addlibrarywizard.h index 1d780aa112..9fa7b52e7e 100644 --- a/src/plugins/qt4projectmanager/addlibrarywizard.h +++ b/src/plugins/qt4projectmanager/addlibrarywizard.h @@ -39,7 +39,7 @@ class QCheckBox; class QLabel; QT_END_NAMESPACE -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class LibraryDetailsWidget; @@ -154,6 +154,6 @@ public: } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // ADDLIBRARYWIZARD_H diff --git a/src/plugins/qt4projectmanager/applicationlauncher.h b/src/plugins/qt4projectmanager/applicationlauncher.h index 048ea286a1..b51ab06b38 100644 --- a/src/plugins/qt4projectmanager/applicationlauncher.h +++ b/src/plugins/qt4projectmanager/applicationlauncher.h @@ -34,7 +34,7 @@ #include <QStringList> #include <QProcess> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class ConsoleProcess; @@ -80,6 +80,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // APPLICATIONLAUNCHER_H diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/classdefinition.cpp b/src/plugins/qt4projectmanager/customwidgetwizard/classdefinition.cpp index 63eaa4d278..2e950d0a14 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/classdefinition.cpp +++ b/src/plugins/qt4projectmanager/customwidgetwizard/classdefinition.cpp @@ -31,7 +31,7 @@ #include <QFileInfo> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { ClassDefinition::ClassDefinition(QWidget *parent) : diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/classdefinition.h b/src/plugins/qt4projectmanager/customwidgetwizard/classdefinition.h index 305963cb6b..fa8d4676f0 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/classdefinition.h +++ b/src/plugins/qt4projectmanager/customwidgetwizard/classdefinition.h @@ -36,7 +36,7 @@ #include <QTabWidget> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class ClassDefinition : public QTabWidget diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/classdefinition.ui b/src/plugins/qt4projectmanager/customwidgetwizard/classdefinition.ui index d705685a2d..ac89b0c6d9 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/classdefinition.ui +++ b/src/plugins/qt4projectmanager/customwidgetwizard/classdefinition.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>Qt4ProjectManager::Internal::ClassDefinition</class> - <widget class="QTabWidget" name="Qt4ProjectManager::Internal::ClassDefinition"> + <class>QmakeProjectManager::Internal::ClassDefinition</class> + <widget class="QTabWidget" name="QmakeProjectManager::Internal::ClassDefinition"> <property name="enabled"> <bool>true</bool> </property> diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/classlist.cpp b/src/plugins/qt4projectmanager/customwidgetwizard/classlist.cpp index e955d171d2..22297ae81c 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/classlist.cpp +++ b/src/plugins/qt4projectmanager/customwidgetwizard/classlist.cpp @@ -39,7 +39,7 @@ #include <QDebug> #include <QRegExp> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { // ClassModel: Validates the class name in setData() and @@ -169,4 +169,4 @@ void ClassList::slotCurrentRowChanged(const QModelIndex ¤t, const QModelIn } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/classlist.h b/src/plugins/qt4projectmanager/customwidgetwizard/classlist.h index 9bb7cbef3a..b745dd5f1a 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/classlist.h +++ b/src/plugins/qt4projectmanager/customwidgetwizard/classlist.h @@ -34,7 +34,7 @@ QT_FORWARD_DECLARE_CLASS(QModelIndex) -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class ClassModel; @@ -71,5 +71,5 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.cpp b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.cpp index 910a145e74..9536f67302 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.cpp +++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.cpp @@ -31,7 +31,7 @@ #include "customwidgetwidgetswizardpage.h" #include "ui_customwidgetpluginwizardpage.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { CustomWidgetPluginWizardPage::CustomWidgetPluginWizardPage(QWidget *parent) : @@ -139,4 +139,4 @@ bool CustomWidgetPluginWizardPage::isComplete() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.h b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.h index 1605b2a507..fcb4792b65 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.h +++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.h @@ -35,7 +35,7 @@ #include <QWizardPage> #include <QSharedPointer> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { struct PluginOptions; @@ -80,6 +80,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // CUSTOMWIDGETPLUGINWIZARDPAGE_H diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.ui b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.ui index 4cbdf488a6..2f70b02a43 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.ui +++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>Qt4ProjectManager::Internal::CustomWidgetPluginWizardPage</class> - <widget class="QWizardPage" name="Qt4ProjectManager::Internal::CustomWidgetPluginWizardPage"> + <class>QmakeProjectManager::Internal::CustomWidgetPluginWizardPage</class> + <widget class="QWizardPage" name="QmakeProjectManager::Internal::CustomWidgetPluginWizardPage"> <property name="geometry"> <rect> <x>0</x> diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwidgetswizardpage.cpp b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwidgetswizardpage.cpp index 3caf1938d4..89bd627073 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwidgetswizardpage.cpp +++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwidgetswizardpage.cpp @@ -38,7 +38,7 @@ #include <QStackedLayout> #include <QIcon> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { CustomWidgetWidgetsWizardPage::CustomWidgetWidgetsWizardPage(QWidget *parent) : diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwidgetswizardpage.h b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwidgetswizardpage.h index d06fa35202..74b4ed9ca2 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwidgetswizardpage.h +++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwidgetswizardpage.h @@ -40,7 +40,7 @@ QT_BEGIN_NAMESPACE class QStackedLayout; QT_END_NAMESPACE -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class ClassDefinition; diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwidgetswizardpage.ui b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwidgetswizardpage.ui index 568467950d..747738b0fe 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwidgetswizardpage.ui +++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwidgetswizardpage.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>Qt4ProjectManager::Internal::CustomWidgetWidgetsWizardPage</class> - <widget class="QWizardPage" name="Qt4ProjectManager::Internal::CustomWidgetWidgetsWizardPage"> + <class>QmakeProjectManager::Internal::CustomWidgetWidgetsWizardPage</class> + <widget class="QWizardPage" name="QmakeProjectManager::Internal::CustomWidgetWidgetsWizardPage"> <property name="geometry"> <rect> <x>0</x> @@ -28,7 +28,7 @@ </widget> </item> <item row="3" column="0"> - <widget class="Qt4ProjectManager::Internal::ClassList" name="classList"> + <widget class="QmakeProjectManager::Internal::ClassList" name="classList"> <property name="minimumSize"> <size> <width>0</width> @@ -92,7 +92,7 @@ </widget> <customwidgets> <customwidget> - <class>Qt4ProjectManager::Internal::ClassList</class> + <class>QmakeProjectManager::Internal::ClassList</class> <extends>QListWidget</extends> <header location="global">qt4projectmanager/customwidgetwizard/classlist.h</header> </customwidget> diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.cpp b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.cpp index dbe53ec911..eb94d6a6b9 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.cpp +++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.cpp @@ -39,7 +39,7 @@ #include <QCoreApplication> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { CustomWidgetWizard::CustomWidgetWizard() @@ -80,4 +80,4 @@ Core::GeneratedFiles CustomWidgetWizard::generateFiles(const QWizard *w, } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.h b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.h index c73e68f70c..2dd4b5d65b 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.h +++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.h @@ -32,7 +32,7 @@ #include "../wizards/qtwizard.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class CustomWidgetWizard : public QtWizard @@ -50,6 +50,6 @@ protected: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // CUSTOMWIDGETWIZARD_H diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp index c3241c97f9..3a27e79cf4 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp @@ -53,7 +53,7 @@ public: } // namespace -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { enum { IntroPageId = 0}; @@ -109,4 +109,4 @@ QSharedPointer<PluginOptions> CustomWidgetWizardDialog::pluginOptions() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.h b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.h index e03864c1d7..faa11b96d7 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.h +++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.h @@ -34,7 +34,7 @@ #include <QSharedPointer> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class CustomWidgetWidgetsWizardPage; @@ -68,6 +68,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // CUSTOMWIDGETWIZARDDIALOG_H diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/filenamingparameters.h b/src/plugins/qt4projectmanager/customwidgetwizard/filenamingparameters.h index 5a91de26c7..996d7eee28 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/filenamingparameters.h +++ b/src/plugins/qt4projectmanager/customwidgetwizard/filenamingparameters.h @@ -33,7 +33,7 @@ #include <QString> #include <QFileInfo> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { /* Helper struct specifying how to generate file names diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/plugingenerator.cpp b/src/plugins/qt4projectmanager/customwidgetwizard/plugingenerator.cpp index dcfe0cd245..db85709cc6 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/plugingenerator.cpp +++ b/src/plugins/qt4projectmanager/customwidgetwizard/plugingenerator.cpp @@ -45,7 +45,7 @@ static QString headerGuard(const QString &header) return header.toUpper().replace(QRegExp(QLatin1String("[^A-Z0-9]+")), QLatin1String("_")); } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { struct ProjectContents { diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/plugingenerator.h b/src/plugins/qt4projectmanager/customwidgetwizard/plugingenerator.h index 6637f792f5..27bd3c996b 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/plugingenerator.h +++ b/src/plugins/qt4projectmanager/customwidgetwizard/plugingenerator.h @@ -43,7 +43,7 @@ namespace Core { class GeneratedFile; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { struct PluginOptions; diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/pluginoptions.h b/src/plugins/qt4projectmanager/customwidgetwizard/pluginoptions.h index b6241b544c..483a49a708 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/pluginoptions.h +++ b/src/plugins/qt4projectmanager/customwidgetwizard/pluginoptions.h @@ -33,7 +33,7 @@ #include <QString> #include <QList> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { struct PluginOptions { diff --git a/src/plugins/qt4projectmanager/externaleditors.cpp b/src/plugins/qt4projectmanager/externaleditors.cpp index 27cc84a635..0915056bd6 100644 --- a/src/plugins/qt4projectmanager/externaleditors.cpp +++ b/src/plugins/qt4projectmanager/externaleditors.cpp @@ -28,8 +28,8 @@ ****************************************************************************/ #include "externaleditors.h" -#include "qt4project.h" -#include "qt4projectmanagerconstants.h" +#include "qmakeproject.h" +#include "qmakeprojectmanagerconstants.h" #include <utils/hostosinfo.h> #include <utils/synchronousprocess.h> @@ -48,7 +48,7 @@ enum { debug = 0 }; -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { // Figure out the Qt4 project used by the file if any @@ -180,7 +180,7 @@ bool ExternalQtEditor::startEditorProcess(const EditorLaunchData &data, QString LinguistExternalEditor::LinguistExternalEditor(QObject *parent) : ExternalQtEditor(linguistIdC, QLatin1String(linguistDisplayName), - QLatin1String(Qt4ProjectManager::Constants::LINGUIST_MIMETYPE), + QLatin1String(QmakeProjectManager::Constants::LINGUIST_MIMETYPE), parent) { } @@ -197,7 +197,7 @@ bool LinguistExternalEditor::startEditor(const QString &fileName, QString *error MacDesignerExternalEditor::MacDesignerExternalEditor(QObject *parent) : ExternalQtEditor(designerIdC, QLatin1String(designerDisplayName), - QLatin1String(Qt4ProjectManager::Constants::FORM_MIMETYPE), + QLatin1String(QmakeProjectManager::Constants::FORM_MIMETYPE), parent) { } @@ -291,4 +291,4 @@ bool DesignerExternalEditor::startEditor(const QString &fileName, QString *error } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/externaleditors.h b/src/plugins/qt4projectmanager/externaleditors.h index e3f85b13d3..fc642a181e 100644 --- a/src/plugins/qt4projectmanager/externaleditors.h +++ b/src/plugins/qt4projectmanager/externaleditors.h @@ -46,7 +46,7 @@ namespace QtSupport { class BaseQtVersion; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { /* Convenience parametrizable base class for Qt editors/binaries @@ -144,6 +144,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // EXTERNALEDITORS_H diff --git a/src/plugins/qt4projectmanager/findqt4profiles.cpp b/src/plugins/qt4projectmanager/findqmakeprofiles.cpp index d36de678a1..286c1030b1 100644 --- a/src/plugins/qt4projectmanager/findqt4profiles.cpp +++ b/src/plugins/qt4projectmanager/findqmakeprofiles.cpp @@ -27,11 +27,11 @@ ** ****************************************************************************/ -#include "findqt4profiles.h" -#include "qt4nodes.h" +#include "findqmakeprofiles.h" +#include "qmakenodes.h" -using namespace Qt4ProjectManager; -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager; +using namespace QmakeProjectManager::Internal; QList<Qt4ProFileNode *> FindQt4ProFiles::operator()(ProjectExplorer::ProjectNode *root) { diff --git a/src/plugins/qt4projectmanager/findqt4profiles.h b/src/plugins/qt4projectmanager/findqmakeprofiles.h index fce5c604f3..a9defa62f1 100644 --- a/src/plugins/qt4projectmanager/findqt4profiles.h +++ b/src/plugins/qt4projectmanager/findqmakeprofiles.h @@ -32,7 +32,7 @@ #include <projectexplorer/nodesvisitor.h> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class Qt4ProFileNode; namespace Internal { @@ -47,7 +47,7 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // FINDQT4PROFILES_H diff --git a/src/plugins/qt4projectmanager/librarydetailscontroller.cpp b/src/plugins/qt4projectmanager/librarydetailscontroller.cpp index e8a4bfb6c9..ab0a59d5d4 100644 --- a/src/plugins/qt4projectmanager/librarydetailscontroller.cpp +++ b/src/plugins/qt4projectmanager/librarydetailscontroller.cpp @@ -29,9 +29,9 @@ #include "librarydetailscontroller.h" #include "ui_librarydetailswidget.h" -#include "findqt4profiles.h" -#include "qt4nodes.h" -#include "qt4buildconfiguration.h" +#include "findqmakeprofiles.h" +#include "qmakenodes.h" +#include "qmakebuildconfiguration.h" #include <projectexplorer/projectexplorer.h> #include <projectexplorer/session.h> @@ -46,8 +46,8 @@ #include <QTextStream> using namespace ProjectExplorer; -using namespace Qt4ProjectManager; -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager; +using namespace QmakeProjectManager::Internal; LibraryDetailsController::LibraryDetailsController( Ui::LibraryDetailsWidget *libraryDetails, diff --git a/src/plugins/qt4projectmanager/librarydetailscontroller.h b/src/plugins/qt4projectmanager/librarydetailscontroller.h index 6390b17b24..b23bf4acb2 100644 --- a/src/plugins/qt4projectmanager/librarydetailscontroller.h +++ b/src/plugins/qt4projectmanager/librarydetailscontroller.h @@ -32,7 +32,7 @@ #include "addlibrarywizard.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class Qt4ProFileNode; namespace Internal { @@ -200,6 +200,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // LIBRARYDETAILSCONTROLLER_H diff --git a/src/plugins/qt4projectmanager/librarydetailswidget.ui b/src/plugins/qt4projectmanager/librarydetailswidget.ui index bc18a5e18c..6f984a2506 100644 --- a/src/plugins/qt4projectmanager/librarydetailswidget.ui +++ b/src/plugins/qt4projectmanager/librarydetailswidget.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>Qt4ProjectManager::Internal::LibraryDetailsWidget</class> - <widget class="QWidget" name="Qt4ProjectManager::Internal::LibraryDetailsWidget"> + <class>QmakeProjectManager::Internal::LibraryDetailsWidget</class> + <widget class="QWidget" name="QmakeProjectManager::Internal::LibraryDetailsWidget"> <property name="geometry"> <rect> <x>0</x> @@ -31,7 +31,7 @@ </widget> </item> <item row="1" column="1"> - <widget class="Qt4ProjectManager::Internal::LibraryPathChooser" name="libraryPathChooser" native="true"/> + <widget class="QmakeProjectManager::Internal::LibraryPathChooser" name="libraryPathChooser" native="true"/> </item> <item row="3" column="0"> <widget class="QLabel" name="includeLabel"> @@ -242,7 +242,7 @@ <container>1</container> </customwidget> <customwidget> - <class>Qt4ProjectManager::Internal::LibraryPathChooser</class> + <class>QmakeProjectManager::Internal::LibraryPathChooser</class> <extends>QWidget</extends> <header location="global">qt4projectmanager/addlibrarywizard.h</header> <container>1</container> diff --git a/src/plugins/qt4projectmanager/makestep.cpp b/src/plugins/qt4projectmanager/makestep.cpp index bd1bfe3b49..edc86073f5 100644 --- a/src/plugins/qt4projectmanager/makestep.cpp +++ b/src/plugins/qt4projectmanager/makestep.cpp @@ -31,10 +31,10 @@ #include "ui_makestep.h" #include "qmakeparser.h" -#include "qt4project.h" -#include "qt4nodes.h" -#include "qt4buildconfiguration.h" -#include "qt4projectmanagerconstants.h" +#include "qmakeproject.h" +#include "qmakenodes.h" +#include "qmakebuildconfiguration.h" +#include "qmakeprojectmanagerconstants.h" #include <projectexplorer/target.h> #include <projectexplorer/toolchain.h> @@ -49,8 +49,8 @@ using ExtensionSystem::PluginManager; using namespace ProjectExplorer; -using namespace Qt4ProjectManager; -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager; +using namespace QmakeProjectManager::Internal; namespace { const char MAKESTEP_BS_ID[] = "Qt4ProjectManager.MakeStep"; @@ -188,7 +188,7 @@ bool MakeStep::init() QString args; - Qt4ProjectManager::Qt4ProFileNode *subNode = bc->subNodeBuild(); + QmakeProjectManager::Qt4ProFileNode *subNode = bc->subNodeBuild(); if (subNode) { QString makefile = subNode->makefile(); if (makefile.isEmpty()) diff --git a/src/plugins/qt4projectmanager/makestep.h b/src/plugins/qt4projectmanager/makestep.h index d9729cbb3a..e0b5e657b3 100644 --- a/src/plugins/qt4projectmanager/makestep.h +++ b/src/plugins/qt4projectmanager/makestep.h @@ -30,7 +30,7 @@ #ifndef MAKESTEP_H #define MAKESTEP_H -#include "qt4projectmanager_global.h" +#include "qmakeprojectmanager_global.h" #include <projectexplorer/abstractprocessstep.h> @@ -40,7 +40,7 @@ class IBuildStepFactory; class Task; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class Qt4BuildConfiguration; class MakeStepConfigWidget; diff --git a/src/plugins/qt4projectmanager/makestep.ui b/src/plugins/qt4projectmanager/makestep.ui index 62882df759..9856fd7d2c 100644 --- a/src/plugins/qt4projectmanager/makestep.ui +++ b/src/plugins/qt4projectmanager/makestep.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>Qt4ProjectManager::Internal::MakeStep</class> - <widget class="QWidget" name="Qt4ProjectManager::Internal::MakeStep"> + <class>QmakeProjectManager::Internal::MakeStep</class> + <widget class="QWidget" name="QmakeProjectManager::Internal::MakeStep"> <property name="geometry"> <rect> <x>0</x> diff --git a/src/plugins/qt4projectmanager/profilecompletionassist.cpp b/src/plugins/qt4projectmanager/profilecompletionassist.cpp index 84ea394bce..1c822c239e 100644 --- a/src/plugins/qt4projectmanager/profilecompletionassist.cpp +++ b/src/plugins/qt4projectmanager/profilecompletionassist.cpp @@ -28,16 +28,15 @@ ****************************************************************************/ #include "profilecompletionassist.h" -#include "qt4projectmanagerconstants.h" +#include "qmakeprojectmanagerconstants.h" #include <texteditor/codeassist/keywordscompletionassist.h> -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager::Internal; using namespace TextEditor; static const char *const variableKeywords[] = { - "BACKUP_REGISTRATION_FILE_MAEMO", "CCFLAG", "CONFIG", "DEFINES", @@ -280,7 +279,7 @@ ProFileCompletionAssistProvider::~ProFileCompletionAssistProvider() bool ProFileCompletionAssistProvider::supportsEditor(const Core::Id &editorId) const { - return editorId == Qt4ProjectManager::Constants::PROFILE_EDITOR_ID; + return editorId == QmakeProjectManager::Constants::PROFILE_EDITOR_ID; } IAssistProcessor *ProFileCompletionAssistProvider::createProcessor() const diff --git a/src/plugins/qt4projectmanager/profilecompletionassist.h b/src/plugins/qt4projectmanager/profilecompletionassist.h index 4c25f9c51f..dad0f76176 100644 --- a/src/plugins/qt4projectmanager/profilecompletionassist.h +++ b/src/plugins/qt4projectmanager/profilecompletionassist.h @@ -34,7 +34,7 @@ #include <QStringList> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class ProFileCompletionAssistProvider : public TextEditor::CompletionAssistProvider @@ -54,7 +54,7 @@ private: QStringList m_functions; }; -} // Internal -} // Qt4ProjectManager +} // namespace Internal +} // namespace QmakeProjectManager #endif // PROFILECOMPLETIONASSIST_H diff --git a/src/plugins/qt4projectmanager/profileeditor.cpp b/src/plugins/qt4projectmanager/profileeditor.cpp index 3460c76b98..230cff4440 100644 --- a/src/plugins/qt4projectmanager/profileeditor.cpp +++ b/src/plugins/qt4projectmanager/profileeditor.cpp @@ -30,7 +30,7 @@ #include "profileeditor.h" #include "profilehighlighter.h" -#include "qt4projectmanagerconstants.h" +#include "qmakeprojectmanagerconstants.h" #include "profileeditorfactory.h" #include "profilecompletionassist.h" @@ -45,7 +45,7 @@ #include <QSharedPointer> #include <QTextBlock> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { // @@ -221,4 +221,4 @@ QString ProFileDocument::suggestedFileName() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/profileeditor.h b/src/plugins/qt4projectmanager/profileeditor.h index 3e4150b2ae..4976ebd081 100644 --- a/src/plugins/qt4projectmanager/profileeditor.h +++ b/src/plugins/qt4projectmanager/profileeditor.h @@ -39,7 +39,7 @@ class FontSettings; class TextEditorActionHandler; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class ProFileEditorFactory; @@ -98,6 +98,6 @@ public: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // PROFILEEDITOR_H diff --git a/src/plugins/qt4projectmanager/profileeditorfactory.cpp b/src/plugins/qt4projectmanager/profileeditorfactory.cpp index 21227bba9d..fa6d37c264 100644 --- a/src/plugins/qt4projectmanager/profileeditorfactory.cpp +++ b/src/plugins/qt4projectmanager/profileeditorfactory.cpp @@ -29,8 +29,8 @@ #include "profileeditorfactory.h" -#include "qt4projectmanager.h" -#include "qt4projectmanagerconstants.h" +#include "qmakeprojectmanager.h" +#include "qmakeprojectmanagerconstants.h" #include "profileeditor.h" #include <qtsupport/qtsupportconstants.h> @@ -39,18 +39,18 @@ #include <QCoreApplication> -using namespace Qt4ProjectManager; -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager; +using namespace QmakeProjectManager::Internal; ProFileEditorFactory::ProFileEditorFactory(Qt4Manager *manager, TextEditor::TextEditorActionHandler *handler) : m_manager(manager), m_actionHandler(handler) { - setId(Qt4ProjectManager::Constants::PROFILE_EDITOR_ID); - setDisplayName(qApp->translate("OpenWith::Editors", Qt4ProjectManager::Constants::PROFILE_EDITOR_DISPLAY_NAME)); - addMimeType(Qt4ProjectManager::Constants::PROFILE_MIMETYPE); - addMimeType(Qt4ProjectManager::Constants::PROINCLUDEFILE_MIMETYPE); - addMimeType(Qt4ProjectManager::Constants::PROFEATUREFILE_MIMETYPE); + setId(QmakeProjectManager::Constants::PROFILE_EDITOR_ID); + setDisplayName(qApp->translate("OpenWith::Editors", QmakeProjectManager::Constants::PROFILE_EDITOR_DISPLAY_NAME)); + addMimeType(QmakeProjectManager::Constants::PROFILE_MIMETYPE); + addMimeType(QmakeProjectManager::Constants::PROINCLUDEFILE_MIMETYPE); + addMimeType(QmakeProjectManager::Constants::PROFEATUREFILE_MIMETYPE); Core::FileIconProvider::registerIconOverlayForSuffix(QtSupport::Constants::ICON_QT_PROJECT, "pro"); Core::FileIconProvider::registerIconOverlayForSuffix(QtSupport::Constants::ICON_QT_PROJECT, "pri"); diff --git a/src/plugins/qt4projectmanager/profileeditorfactory.h b/src/plugins/qt4projectmanager/profileeditorfactory.h index 41c5e8c477..1d50c8193a 100644 --- a/src/plugins/qt4projectmanager/profileeditorfactory.h +++ b/src/plugins/qt4projectmanager/profileeditorfactory.h @@ -34,7 +34,7 @@ namespace TextEditor { class TextEditorActionHandler; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class Qt4Manager; @@ -57,6 +57,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // PROFILEEDITORFACTORY_H diff --git a/src/plugins/qt4projectmanager/profilehighlighter.cpp b/src/plugins/qt4projectmanager/profilehighlighter.cpp index 11e5b1424c..9552f50ecb 100644 --- a/src/plugins/qt4projectmanager/profilehighlighter.cpp +++ b/src/plugins/qt4projectmanager/profilehighlighter.cpp @@ -34,7 +34,7 @@ #include <QTextDocument> -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager::Internal; ProFileHighlighter::ProFileHighlighter(QTextDocument *document) : diff --git a/src/plugins/qt4projectmanager/profilehighlighter.h b/src/plugins/qt4projectmanager/profilehighlighter.h index a7317962fd..efe1876304 100644 --- a/src/plugins/qt4projectmanager/profilehighlighter.h +++ b/src/plugins/qt4projectmanager/profilehighlighter.h @@ -33,7 +33,7 @@ #include <texteditor/syntaxhighlighter.h> #include <texteditor/codeassist/keywordscompletionassist.h> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class ProFileHighlighter : public TextEditor::SyntaxHighlighter @@ -56,6 +56,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // PROFILEHIGHLIGHTER_H diff --git a/src/plugins/qt4projectmanager/profilehighlighterfactory.cpp b/src/plugins/qt4projectmanager/profilehighlighterfactory.cpp index a4b8afa812..04544b5592 100644 --- a/src/plugins/qt4projectmanager/profilehighlighterfactory.cpp +++ b/src/plugins/qt4projectmanager/profilehighlighterfactory.cpp @@ -28,17 +28,17 @@ ****************************************************************************/ #include "profilehighlighterfactory.h" -#include "qt4projectmanagerconstants.h" +#include "qmakeprojectmanagerconstants.h" #include "profilehighlighter.h" -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager::Internal; ProFileHighlighterFactory::ProFileHighlighterFactory() { - setId(Qt4ProjectManager::Constants::PROFILE_EDITOR_ID); - addMimeType(Qt4ProjectManager::Constants::PROFILE_MIMETYPE); - addMimeType(Qt4ProjectManager::Constants::PROINCLUDEFILE_MIMETYPE); - addMimeType(Qt4ProjectManager::Constants::PROFEATUREFILE_MIMETYPE); + setId(QmakeProjectManager::Constants::PROFILE_EDITOR_ID); + addMimeType(QmakeProjectManager::Constants::PROFILE_MIMETYPE); + addMimeType(QmakeProjectManager::Constants::PROINCLUDEFILE_MIMETYPE); + addMimeType(QmakeProjectManager::Constants::PROFEATUREFILE_MIMETYPE); } TextEditor::SyntaxHighlighter *ProFileHighlighterFactory::createHighlighter() const diff --git a/src/plugins/qt4projectmanager/profilehighlighterfactory.h b/src/plugins/qt4projectmanager/profilehighlighterfactory.h index 358a74ab2c..3e3ecf6a7d 100644 --- a/src/plugins/qt4projectmanager/profilehighlighterfactory.h +++ b/src/plugins/qt4projectmanager/profilehighlighterfactory.h @@ -32,7 +32,7 @@ #include <texteditor/ihighlighterfactory.h> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class ProFileHighlighterFactory : public TextEditor::IHighlighterFactory @@ -46,6 +46,6 @@ public: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // PROFILEHIGHLIGHTERFACTORY_H diff --git a/src/plugins/qt4projectmanager/profilehoverhandler.cpp b/src/plugins/qt4projectmanager/profilehoverhandler.cpp index 5a8587ceda..824929ae97 100644 --- a/src/plugins/qt4projectmanager/profilehoverhandler.cpp +++ b/src/plugins/qt4projectmanager/profilehoverhandler.cpp @@ -38,8 +38,8 @@ #include <QTextBlock> #include <QUrl> -using namespace Qt4ProjectManager; -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager; +using namespace QmakeProjectManager::Internal; using namespace Core; ProFileHoverHandler::ProFileHoverHandler(QObject *parent) diff --git a/src/plugins/qt4projectmanager/profilehoverhandler.h b/src/plugins/qt4projectmanager/profilehoverhandler.h index a42b1b61fa..e53566a5b6 100644 --- a/src/plugins/qt4projectmanager/profilehoverhandler.h +++ b/src/plugins/qt4projectmanager/profilehoverhandler.h @@ -47,7 +47,7 @@ namespace TextEditor { class ITextEditor; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class ProFileHoverHandler : public TextEditor::BaseHoverHandler @@ -81,6 +81,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // PROFILEHOVERHANDLER_H diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp b/src/plugins/qt4projectmanager/qmakebuildconfiguration.cpp index a5e9b46713..fd4304005a 100644 --- a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qmakebuildconfiguration.cpp @@ -27,14 +27,14 @@ ** ****************************************************************************/ -#include "qt4buildconfiguration.h" +#include "qmakebuildconfiguration.h" #include "qmakebuildinfo.h" #include "qmakekitinformation.h" -#include "qt4project.h" -#include "qt4projectconfigwidget.h" -#include "qt4projectmanagerconstants.h" -#include "qt4nodes.h" +#include "qmakeproject.h" +#include "qmakeprojectconfigwidget.h" +#include "qmakeprojectmanagerconstants.h" +#include "qmakenodes.h" #include "qmakestep.h" #include "makestep.h" @@ -55,7 +55,7 @@ #include <QInputDialog> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { // -------------------------------------------------------------------- // Helpers: @@ -725,4 +725,4 @@ bool Qt4BuildConfiguration::LastKitState::operator !=(const LastKitState &other) return !operator ==(other); } -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.h b/src/plugins/qt4projectmanager/qmakebuildconfiguration.h index 17e519b530..1a7bcd5e1c 100644 --- a/src/plugins/qt4projectmanager/qt4buildconfiguration.h +++ b/src/plugins/qt4projectmanager/qmakebuildconfiguration.h @@ -27,17 +27,17 @@ ** ****************************************************************************/ -#ifndef QT4BUILDCONFIGURATION_H -#define QT4BUILDCONFIGURATION_H +#ifndef QMAKEBUILDCONFIGURATION_H +#define QMAKEBUILDCONFIGURATION_H -#include "qt4projectmanager_global.h" +#include "qmakeprojectmanager_global.h" #include <projectexplorer/buildconfiguration.h> #include <qtsupport/baseqtversion.h> namespace ProjectExplorer { class FileNode; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class QmakeBuildInfo; class QMakeStep; @@ -58,8 +58,8 @@ public: ProjectExplorer::NamedWidget *createConfigWidget(); bool isShadowBuild() const; - void setSubNodeBuild(Qt4ProjectManager::Qt4ProFileNode *node); - Qt4ProjectManager::Qt4ProFileNode *subNodeBuild() const; + void setSubNodeBuild(QmakeProjectManager::Qt4ProFileNode *node); + QmakeProjectManager::Qt4ProFileNode *subNodeBuild() const; ProjectExplorer::FileNode *fileNodeBuild() const; void setFileNodeBuild(ProjectExplorer::FileNode *node); @@ -148,7 +148,7 @@ private: bool m_isEnabled; bool m_qtVersionSupportsShadowBuilds; QtSupport::BaseQtVersion::QmakeBuildConfigs m_qmakeBuildConfiguration; - Qt4ProjectManager::Qt4ProFileNode *m_subNodeBuild; + QmakeProjectManager::Qt4ProFileNode *m_subNodeBuild; ProjectExplorer::FileNode *m_fileNodeBuild; friend class Internal::Qt4ProjectConfigWidget; @@ -185,6 +185,6 @@ private: ProjectExplorer::BuildConfiguration::BuildType type) const; }; -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager -#endif // QT4BUILDCONFIGURATION_H +#endif // QMAKEBUILDCONFIGURATION_H diff --git a/src/plugins/qt4projectmanager/qmakebuildinfo.h b/src/plugins/qt4projectmanager/qmakebuildinfo.h index 2e5795d945..9dab7ab528 100644 --- a/src/plugins/qt4projectmanager/qmakebuildinfo.h +++ b/src/plugins/qt4projectmanager/qmakebuildinfo.h @@ -30,14 +30,14 @@ #ifndef QMAKEBUILDINFO_H #define QMAKEBUILDINFO_H -#include "qt4buildconfiguration.h" +#include "qmakebuildconfiguration.h" #include <projectexplorer/buildinfo.h> #include <projectexplorer/kitmanager.h> #include <qtsupport/baseqtversion.h> #include <qtsupport/qtkitinformation.h> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class QmakeBuildInfo : public ProjectExplorer::BuildInfo { @@ -58,6 +58,6 @@ public: } }; -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // QMAKEBUILDINFO_H diff --git a/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp b/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp index 82c7943dea..fc9dd5142c 100644 --- a/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp +++ b/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp @@ -35,7 +35,7 @@ #include <QLineEdit> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { QmakeKitConfigWidget::QmakeKitConfigWidget(ProjectExplorer::Kit *k, const ProjectExplorer::KitInformation *ki) : @@ -88,4 +88,4 @@ void QmakeKitConfigWidget::mkspecWasChanged(const QString &text) } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/qmakekitconfigwidget.h b/src/plugins/qt4projectmanager/qmakekitconfigwidget.h index b5b15f69c1..592653d746 100644 --- a/src/plugins/qt4projectmanager/qmakekitconfigwidget.h +++ b/src/plugins/qt4projectmanager/qmakekitconfigwidget.h @@ -36,7 +36,7 @@ QT_BEGIN_NAMESPACE class QLineEdit; QT_END_NAMESPACE -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class QmakeKitConfigWidget : public ProjectExplorer::KitConfigWidget @@ -65,6 +65,6 @@ private: }; } // namespace Internal -} // namespace Debugger +} // namespace QmakeProjectManager #endif // QT4PM_QMAKEKITCONFIGWIDGET_H diff --git a/src/plugins/qt4projectmanager/qmakekitinformation.cpp b/src/plugins/qt4projectmanager/qmakekitinformation.cpp index fcd668c8e5..c942e4974f 100644 --- a/src/plugins/qt4projectmanager/qmakekitinformation.cpp +++ b/src/plugins/qt4projectmanager/qmakekitinformation.cpp @@ -40,7 +40,7 @@ using namespace ProjectExplorer; using namespace Utils; -namespace Qt4ProjectManager { +namespace QmakeProjectManager { QmakeKitInformation::QmakeKitInformation() { @@ -141,4 +141,4 @@ FileName QmakeKitInformation::defaultMkspec(const Kit *k) return version->mkspecFor(ToolChainKitInformation::toolChain(k)); } -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/qmakekitinformation.h b/src/plugins/qt4projectmanager/qmakekitinformation.h index c2e86e1913..25d91bc4f7 100644 --- a/src/plugins/qt4projectmanager/qmakekitinformation.h +++ b/src/plugins/qt4projectmanager/qmakekitinformation.h @@ -27,14 +27,14 @@ ** ****************************************************************************/ -#ifndef QT4PM_QMAKEKITINFORMATION_H -#define QT4PM_QMAKEKITINFORMATION_H +#ifndef QMAKEKITINFORMATION_H +#define QMAKEKITINFORMATION_H -#include "qt4projectmanager_global.h" +#include "qmakeprojectmanager_global.h" #include <projectexplorer/kitmanager.h> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class QT4PROJECTMANAGER_EXPORT QmakeKitInformation : public ProjectExplorer::KitInformation { @@ -59,6 +59,6 @@ public: static Utils::FileName defaultMkspec(const ProjectExplorer::Kit *k); }; -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager -#endif // QT4PM_QMAKEKITINFORMATION_H +#endif // QMAKEKITINFORMATION_H diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qmakenodes.cpp index 8be72bff5b..95ed6dca2b 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.cpp +++ b/src/plugins/qt4projectmanager/qmakenodes.cpp @@ -27,11 +27,11 @@ ** ****************************************************************************/ -#include "qt4nodes.h" -#include "qt4project.h" -#include "qt4projectmanager.h" -#include "qt4projectmanagerconstants.h" -#include "qt4buildconfiguration.h" +#include "qmakenodes.h" +#include "qmakeproject.h" +#include "qmakeprojectmanager.h" +#include "qmakeprojectmanagerconstants.h" +#include "qmakebuildconfiguration.h" #include "qmakerunconfigurationfactory.h" #include <projectexplorer/nodesvisitor.h> @@ -81,23 +81,23 @@ struct FileTypeDataStorage { static const FileTypeDataStorage fileTypeDataStorage[] = { { ProjectExplorer::HeaderType, - QT_TRANSLATE_NOOP("Qt4ProjectManager::Qt4PriFileNode", "Headers"), - ":/qt4projectmanager/images/headers.png" }, + QT_TRANSLATE_NOOP("QmakeProjectManager::Qt4PriFileNode", "Headers"), + ":/qmakeprojectmanager/images/headers.png" }, { ProjectExplorer::SourceType, - QT_TRANSLATE_NOOP("Qt4ProjectManager::Qt4PriFileNode", "Sources"), - ":/qt4projectmanager/images/sources.png" }, + QT_TRANSLATE_NOOP("QmakeProjectManager::Qt4PriFileNode", "Sources"), + ":/qmakeprojectmanager/images/sources.png" }, { ProjectExplorer::FormType, - QT_TRANSLATE_NOOP("Qt4ProjectManager::Qt4PriFileNode", "Forms"), + QT_TRANSLATE_NOOP("QmakeProjectManager::Qt4PriFileNode", "Forms"), ":/qtsupport/images/forms.png" }, { ProjectExplorer::ResourceType, - QT_TRANSLATE_NOOP("Qt4ProjectManager::Qt4PriFileNode", "Resources"), + QT_TRANSLATE_NOOP("QmakeProjectManager::Qt4PriFileNode", "Resources"), ":/qtsupport/images/qt_qrc.png" }, { ProjectExplorer::QMLType, - QT_TRANSLATE_NOOP("Qt4ProjectManager::Qt4PriFileNode", "QML"), + QT_TRANSLATE_NOOP("QmakeProjectManager::Qt4PriFileNode", "QML"), ":/qtsupport/images/qml.png" }, { ProjectExplorer::UnknownFileType, - QT_TRANSLATE_NOOP("Qt4ProjectManager::Qt4PriFileNode", "Other files"), - ":/qt4projectmanager/images/unknown.png" } + QT_TRANSLATE_NOOP("QmakeProjectManager::Qt4PriFileNode", "Other files"), + ":/qmakeprojectmanager/images/unknown.png" } }; bool sortNodesByPath(ProjectExplorer::Node *a, ProjectExplorer::Node *b) @@ -143,7 +143,7 @@ Qt4NodeStaticData::Qt4NodeStaticData() overlayIcon, desiredSize); QIcon folderIcon; folderIcon.addPixmap(folderPixmap); - const QString desc = Qt4ProjectManager::Qt4PriFileNode::tr(fileTypeDataStorage[i].typeName); + const QString desc = QmakeProjectManager::Qt4PriFileNode::tr(fileTypeDataStorage[i].typeName); fileTypeData.push_back(Qt4NodeStaticData::FileTypeData(fileTypeDataStorage[i].type, desc, folderIcon)); } @@ -167,10 +167,10 @@ static void clearQt4NodeStaticData() enum { debug = 0 }; -using namespace Qt4ProjectManager; -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager; +using namespace QmakeProjectManager::Internal; -Qt4PriFile::Qt4PriFile(Qt4ProjectManager::Qt4PriFileNode *qt4PriFile) +Qt4PriFile::Qt4PriFile(QmakeProjectManager::Qt4PriFileNode *qt4PriFile) : IDocument(qt4PriFile), m_priFile(qt4PriFile) { setFilePath(m_priFile->path()); @@ -196,7 +196,7 @@ QString Qt4PriFile::suggestedFileName() const QString Qt4PriFile::mimeType() const { - return QLatin1String(Qt4ProjectManager::Constants::PROFILE_MIMETYPE); + return QLatin1String(QmakeProjectManager::Constants::PROFILE_MIMETYPE); } bool Qt4PriFile::isModified() const @@ -231,7 +231,7 @@ bool Qt4PriFile::reload(QString *errorString, ReloadFlag flag, ChangeType type) Implements abstract ProjectNode class */ -namespace Qt4ProjectManager { +namespace QmakeProjectManager { Qt4PriFileNode::Qt4PriFileNode(Qt4Project *project, Qt4ProFileNode* qt4ProFileNode, const QString &filePath) : ProjectNode(filePath), @@ -385,7 +385,7 @@ struct InternalNode } // Makes the projectNode's subtree below the given folder match this internal node's subtree - void updateSubFolders(Qt4ProjectManager::Qt4PriFileNode *projectNode, ProjectExplorer::FolderNode *folder) + void updateSubFolders(QmakeProjectManager::Qt4PriFileNode *projectNode, ProjectExplorer::FolderNode *folder) { updateFiles(projectNode, folder, type); @@ -476,7 +476,7 @@ struct InternalNode } // Makes the folder's files match this internal node's file list - void updateFiles(Qt4ProjectManager::Qt4PriFileNode *projectNode, FolderNode *folder, FileType type) + void updateFiles(QmakeProjectManager::Qt4PriFileNode *projectNode, FolderNode *folder, FileType type) { QList<FileNode*> existingFileNodes; foreach (FileNode *fileNode, folder->fileNodes()) { @@ -1394,7 +1394,7 @@ QSet<Utils::FileName> Qt4PriFileNode::filterFilesRecursiveEnumerata(ProjectExplo return result; } -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager static Qt4ProjectType proFileTemplateTypeToProjectType(ProFileEvaluator::TemplateType type) { diff --git a/src/plugins/qt4projectmanager/qt4nodes.h b/src/plugins/qt4projectmanager/qmakenodes.h index c7b9d4890a..3f83c72712 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.h +++ b/src/plugins/qt4projectmanager/qmakenodes.h @@ -27,10 +27,10 @@ ** ****************************************************************************/ -#ifndef QT4NODES_H -#define QT4NODES_H +#ifndef QMAKENODES_H +#define QMAKENODES_H -#include "qt4projectmanager_global.h" +#include "qmakeprojectmanager_global.h" #include <coreplugin/idocument.h> #include <projectexplorer/projectnodes.h> @@ -63,7 +63,7 @@ class RunConfiguration; class Project; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class Qt4BuildConfiguration; class Qt4ProFileNode; class Qt4Project; @@ -222,7 +222,7 @@ private: bool m_includedInExactParse; // managed by Qt4ProFileNode - friend class Qt4ProjectManager::Qt4ProFileNode; + friend class QmakeProjectManager::Qt4ProFileNode; friend class Internal::Qt4PriFile; // for scheduling updates on modified // internal temporary subtree representation friend struct Internal::InternalNode; @@ -258,19 +258,19 @@ public: Qt4NodesWatcher(QObject *parent = 0); signals: - void projectTypeChanged(Qt4ProjectManager::Qt4ProFileNode *projectNode, - const Qt4ProjectManager::Qt4ProjectType oldType, - const Qt4ProjectManager::Qt4ProjectType newType); + void projectTypeChanged(QmakeProjectManager::Qt4ProFileNode *projectNode, + const QmakeProjectManager::Qt4ProjectType oldType, + const QmakeProjectManager::Qt4ProjectType newType); void variablesChanged(Qt4ProFileNode *projectNode, const QHash<Qt4Variable, QStringList> &oldValues, const QHash<Qt4Variable, QStringList> &newValues); - void proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *projectNode, bool success, bool parseInProgress); + void proFileUpdated(QmakeProjectManager::Qt4ProFileNode *projectNode, bool success, bool parseInProgress); private: // let them emit signals - friend class Qt4ProjectManager::Qt4ProFileNode; + friend class QmakeProjectManager::Qt4ProFileNode; friend class Qt4PriFileNode; }; @@ -462,6 +462,6 @@ private: QtSupport::ProFileReader *m_readerCumulative; }; -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager -#endif // QT4NODES_H +#endif // QMAKENODES_H diff --git a/src/plugins/qt4projectmanager/qmakeparser.cpp b/src/plugins/qt4projectmanager/qmakeparser.cpp index 4e31de957c..d049d3d3f8 100644 --- a/src/plugins/qt4projectmanager/qmakeparser.cpp +++ b/src/plugins/qt4projectmanager/qmakeparser.cpp @@ -32,8 +32,8 @@ #include <projectexplorer/task.h> #include <projectexplorer/projectexplorerconstants.h> -using namespace Qt4ProjectManager; -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager; +using namespace QmakeProjectManager::Internal; using ProjectExplorer::Task; QMakeParser::QMakeParser() : m_error(QLatin1String("^(.+):(\\d+):\\s(.+)$")) @@ -88,11 +88,11 @@ void QMakeParser::stdError(const QString &line) #ifdef WITH_TESTS # include <QTest> -# include "qt4projectmanagerplugin.h" +# include "qmakeprojectmanagerplugin.h" # include "projectexplorer/outputparser_test.h" -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager::Internal; using namespace ProjectExplorer; void Qt4ProjectManagerPlugin::testQmakeOutputParsers_data() diff --git a/src/plugins/qt4projectmanager/qmakeparser.h b/src/plugins/qt4projectmanager/qmakeparser.h index 8d6fa07a0b..68b73aa15e 100644 --- a/src/plugins/qt4projectmanager/qmakeparser.h +++ b/src/plugins/qt4projectmanager/qmakeparser.h @@ -34,7 +34,7 @@ #include <QRegExp> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class QMakeParser : public ProjectExplorer::IOutputParser @@ -50,6 +50,6 @@ private: }; } // namesapce Internal -} // namespace ProjectExplorer +} // namespace QmakeProjectManager #endif // QMAKEPARSER_H diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qmakeproject.cpp index fa0f18e407..2dabee6107 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qmakeproject.cpp @@ -27,19 +27,19 @@ ** ****************************************************************************/ -#include "qt4project.h" +#include "qmakeproject.h" -#include "qt4projectmanager.h" +#include "qmakeprojectmanager.h" #include "qmakeprojectimporter.h" #include "qmakebuildinfo.h" #include "qmakestep.h" -#include "qt4nodes.h" -#include "qt4projectmanagerconstants.h" -#include "qt4buildconfiguration.h" -#include "findqt4profiles.h" -#include "qt4projectmanager/wizards/abstractmobileapp.h" -#include "qt4projectmanager/wizards/qtquickapp.h" -#include "qt4projectmanager/wizards/html5app.h" +#include "qmakenodes.h" +#include "qmakeprojectmanagerconstants.h" +#include "qmakebuildconfiguration.h" +#include "findqmakeprofiles.h" +#include "wizards/abstractmobileapp.h" +#include "wizards/qtquickapp.h" +#include "wizards/html5app.h" #include <coreplugin/icontext.h> #include <coreplugin/progressmanager/progressmanager.h> @@ -64,8 +64,8 @@ #include <QFileSystemWatcher> #include <QMessageBox> -using namespace Qt4ProjectManager; -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager; +using namespace QmakeProjectManager::Internal; using namespace ProjectExplorer; enum { debug = 0 }; @@ -111,7 +111,7 @@ void updateBoilerPlateCodeFiles(const AbstractMobileApp *app, const QString &pro } // namespace -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class Qt4ProjectFile : public Core::IDocument @@ -147,8 +147,8 @@ class CentralizedFolderWatcher : public QObject public: CentralizedFolderWatcher(Qt4Project *parent); ~CentralizedFolderWatcher(); - void watchFolders(const QList<QString> &folders, Qt4ProjectManager::Qt4PriFileNode *node); - void unwatchFolders(const QList<QString> &folders, Qt4ProjectManager::Qt4PriFileNode *node); + void watchFolders(const QList<QString> &folders, QmakeProjectManager::Qt4PriFileNode *node); + void unwatchFolders(const QList<QString> &folders, QmakeProjectManager::Qt4PriFileNode *node); private slots: void folderChanged(const QString &folder); @@ -159,7 +159,7 @@ private: Qt4Project *m_project; QSet<QString> recursiveDirs(const QString &folder); QFileSystemWatcher m_watcher; - QMultiMap<QString, Qt4ProjectManager::Qt4PriFileNode *> m_map; + QMultiMap<QString, QmakeProjectManager::Qt4PriFileNode *> m_map; QSet<QString> m_recursiveWatchedFolders; QTimer m_compressTimer; @@ -269,7 +269,7 @@ void ProjectFilesVisitor::visitFolderNode(FolderNode *folderNode) namespace Internal { Qt4ProjectFile::Qt4ProjectFile(const QString &filePath, QObject *parent) : Core::IDocument(parent), - m_mimeType(QLatin1String(Qt4ProjectManager::Constants::PROFILE_MIMETYPE)) + m_mimeType(QLatin1String(QmakeProjectManager::Constants::PROFILE_MIMETYPE)) { setFilePath(filePath); } @@ -344,7 +344,7 @@ Qt4Project::Qt4Project(Qt4Manager *manager, const QString& fileName) : m_activeTarget(0) { setId(Constants::QT4PROJECT_ID); - setProjectContext(Core::Context(Qt4ProjectManager::Constants::PROJECT_ID)); + setProjectContext(Core::Context(QmakeProjectManager::Constants::PROJECT_ID)); setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_CXX)); m_asyncUpdateTimer.setSingleShot(true); @@ -408,8 +408,8 @@ bool Qt4Project::fromMap(const QVariantMap &map) updateCodeModels(); // We have the profile nodes now, so we know the runconfigs! - connect(m_nodesWatcher, SIGNAL(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)), - this, SIGNAL(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool))); + connect(m_nodesWatcher, SIGNAL(proFileUpdated(QmakeProjectManager::Qt4ProFileNode*,bool,bool)), + this, SIGNAL(proFileUpdated(QmakeProjectManager::Qt4ProFileNode*,bool,bool))); // Now we emit update once :) m_rootProjectNode->emitProFileUpdatedRecursive(); @@ -1212,7 +1212,7 @@ QSet<QString> CentralizedFolderWatcher::recursiveDirs(const QString &folder) return result; } -void CentralizedFolderWatcher::watchFolders(const QList<QString> &folders, Qt4ProjectManager::Qt4PriFileNode *node) +void CentralizedFolderWatcher::watchFolders(const QList<QString> &folders, QmakeProjectManager::Qt4PriFileNode *node) { if (debugCFW) qDebug()<<"CFW::watchFolders()"<<folders<<"for node"<<node->path(); @@ -1237,7 +1237,7 @@ void CentralizedFolderWatcher::watchFolders(const QList<QString> &folders, Qt4Pr } } -void CentralizedFolderWatcher::unwatchFolders(const QList<QString> &folders, Qt4ProjectManager::Qt4PriFileNode *node) +void CentralizedFolderWatcher::unwatchFolders(const QList<QString> &folders, QmakeProjectManager::Qt4PriFileNode *node) { if (debugCFW) qDebug()<<"CFW::unwatchFolders()"<<folders<<"for node"<<node->path(); @@ -1261,7 +1261,7 @@ void CentralizedFolderWatcher::unwatchFolders(const QList<QString> &folders, Qt4 // So the rwf is a subdirectory of a folder we aren't watching // but maybe someone else wants us to watch bool needToWatch = false; - QMultiMap<QString, Qt4ProjectManager::Qt4PriFileNode *>::const_iterator it, end; + QMultiMap<QString, QmakeProjectManager::Qt4PriFileNode *>::const_iterator it, end; end = m_map.constEnd(); for (it = m_map.constEnd(); it != end; ++it) { if (rwf.startsWith(it.key())) { @@ -1310,12 +1310,12 @@ void CentralizedFolderWatcher::delayedFolderChanged(const QString &folder) while (true) { if (!dir.endsWith(slash)) dir.append(slash); - QList<Qt4ProjectManager::Qt4PriFileNode *> nodes = m_map.values(dir); + QList<QmakeProjectManager::Qt4PriFileNode *> nodes = m_map.values(dir); if (!nodes.isEmpty()) { // Collect all the files QSet<Utils::FileName> newFiles; newFiles += Qt4PriFileNode::recursiveEnumerate(folder); - foreach (Qt4ProjectManager::Qt4PriFileNode *node, nodes) { + foreach (QmakeProjectManager::Qt4PriFileNode *node, nodes) { newOrRemovedFiles = newOrRemovedFiles || node->folderChanged(folder, newFiles); } @@ -1631,6 +1631,6 @@ KitMatcher *Qt4Project::createRequiredKitMatcher() const return new QtSupport::QtVersionKitMatcher; } -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager -#include "qt4project.moc" +#include "qmakeproject.moc" diff --git a/src/plugins/qt4projectmanager/qt4project.h b/src/plugins/qt4projectmanager/qmakeproject.h index de2b65617d..de3efcf666 100644 --- a/src/plugins/qt4projectmanager/qt4project.h +++ b/src/plugins/qt4projectmanager/qmakeproject.h @@ -27,10 +27,10 @@ ** ****************************************************************************/ -#ifndef QT4PROJECT_H -#define QT4PROJECT_H +#ifndef QMAKEPROJECT_H +#define QMAKEPROJECT_H -#include "qt4projectmanager_global.h" +#include "qmakeprojectmanager_global.h" #include <projectexplorer/project.h> #include <projectexplorer/projectnodes.h> @@ -48,7 +48,7 @@ QT_END_NAMESPACE namespace ProjectExplorer { class DeploymentData; } namespace QtSupport { class ProFileReader; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class MakeStep; class QMakeStep; class Qt4BuildConfiguration; @@ -107,7 +107,7 @@ public: void destroyProFileReader(QtSupport::ProFileReader *reader); /// \internal - void scheduleAsyncUpdate(Qt4ProjectManager::Qt4ProFileNode *node); + void scheduleAsyncUpdate(QmakeProjectManager::Qt4ProFileNode *node); /// \internal void incrementPendingEvaluateFutures(); /// \internal @@ -144,7 +144,7 @@ public: ProjectExplorer::KitMatcher *createRequiredKitMatcher() const; signals: - void proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *node, bool, bool); + void proFileUpdated(QmakeProjectManager::Qt4ProFileNode *node, bool, bool); void buildDirectoryInitialized(); void proFilesEvaluated(); @@ -221,7 +221,7 @@ private: friend class Qt4Manager; // to schedule a async update if the unconfigured settings change }; -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager -#endif // QT4PROJECT_H +#endif // QMAKEPROJECT_H diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp b/src/plugins/qt4projectmanager/qmakeprojectconfigwidget.cpp index 4c6e41636c..228ea13d2c 100644 --- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp +++ b/src/plugins/qt4projectmanager/qmakeprojectconfigwidget.cpp @@ -27,20 +27,20 @@ ** ****************************************************************************/ -#include "qt4projectconfigwidget.h" +#include "qmakeprojectconfigwidget.h" -#include "qt4project.h" -#include "qt4buildconfiguration.h" -#include "qt4nodes.h" -#include "ui_qt4projectconfigwidget.h" +#include "qmakeproject.h" +#include "qmakebuildconfiguration.h" +#include "qmakenodes.h" +#include "ui_qmakeprojectconfigwidget.h" #include <projectexplorer/target.h> #include <qtsupport/qtkitinformation.h> #include <utils/detailswidget.h> -using namespace Qt4ProjectManager; -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager; +using namespace QmakeProjectManager::Internal; using namespace ProjectExplorer; Qt4ProjectConfigWidget::Qt4ProjectConfigWidget(Qt4BuildConfiguration *bc) diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.h b/src/plugins/qt4projectmanager/qmakeprojectconfigwidget.h index 327d75c8c2..90040f68b7 100644 --- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.h +++ b/src/plugins/qt4projectmanager/qmakeprojectconfigwidget.h @@ -40,7 +40,7 @@ namespace Utils { class DetailsWidget; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class Qt4BuildConfiguration; class Qt4ProFileNode; @@ -80,6 +80,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // QT4PROJECTCONFIGWIDGET_H diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.ui b/src/plugins/qt4projectmanager/qmakeprojectconfigwidget.ui index 3ec29088cd..cef43d4129 100644 --- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.ui +++ b/src/plugins/qt4projectmanager/qmakeprojectconfigwidget.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>Qt4ProjectManager::Internal::Qt4ProjectConfigWidget</class> - <widget class="QWidget" name="Qt4ProjectManager::Internal::Qt4ProjectConfigWidget"> + <class>QmakeProjectManager::Internal::Qt4ProjectConfigWidget</class> + <widget class="QWidget" name="QmakeProjectManager::Internal::Qt4ProjectConfigWidget"> <property name="geometry"> <rect> <x>0</x> diff --git a/src/plugins/qt4projectmanager/qmakeprojectimporter.cpp b/src/plugins/qt4projectmanager/qmakeprojectimporter.cpp index f9e0176a1b..5426fcde27 100644 --- a/src/plugins/qt4projectmanager/qmakeprojectimporter.cpp +++ b/src/plugins/qt4projectmanager/qmakeprojectimporter.cpp @@ -31,8 +31,8 @@ #include "qmakebuildinfo.h" #include "qmakekitinformation.h" -#include "qt4buildconfiguration.h" -#include "qt4project.h" +#include "qmakebuildconfiguration.h" +#include "qmakeproject.h" #include <coreplugin/icore.h> #include <coreplugin/idocument.h> @@ -52,7 +52,7 @@ static const Core::Id QT_IS_TEMPORARY("Qmake.TempQt"); -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { QmakeProjectImporter::QmakeProjectImporter(const QString &path) : @@ -153,10 +153,10 @@ QList<ProjectExplorer::BuildInfo *> QmakeProjectImporter::import(const Utils::Fi QmakeBuildInfo *info = new QmakeBuildInfo(factory); if (makefileBuildConfig.first & QtSupport::BaseQtVersion::DebugBuild) { info->type = ProjectExplorer::BuildConfiguration::Debug; - info->displayName = QCoreApplication::translate("Qt4ProjectManager::Internal::QmakeProjectImporter", "Debug"); + info->displayName = QCoreApplication::translate("QmakeProjectManager::Internal::QmakeProjectImporter", "Debug"); } else { info->type = ProjectExplorer::BuildConfiguration::Release; - info->displayName = QCoreApplication::translate("Qt4ProjectManager::Internal::QmakeProjectImporter", "Release"); + info->displayName = QCoreApplication::translate("QmakeProjectManager::Internal::QmakeProjectImporter", "Release"); } info->kitId = k->id(); info->buildDirectory = Utils::FileName::fromString(fi.absoluteFilePath()); @@ -169,8 +169,8 @@ QList<ProjectExplorer::BuildInfo *> QmakeProjectImporter::import(const Utils::Fi if (result.isEmpty() && !silent) QMessageBox::critical(Core::ICore::mainWindow(), - QCoreApplication::translate("Qt4ProjectManager::Internal::QmakeProjectImporter", "No Build Found"), - QCoreApplication::translate("Qt4ProjectManager::Internal::QmakeProjectImporter", "No build found in %1 matching project %2.") + QCoreApplication::translate("QmakeProjectManager::Internal::QmakeProjectImporter", "No Build Found"), + QCoreApplication::translate("QmakeProjectManager::Internal::QmakeProjectImporter", "No build found in %1 matching project %2.") .arg(importPath.toUserOutput()).arg(projectFilePath())); return result; @@ -251,4 +251,4 @@ ProjectExplorer::Kit *QmakeProjectImporter::createTemporaryKit(QtSupport::BaseQt } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/qmakeprojectimporter.h b/src/plugins/qt4projectmanager/qmakeprojectimporter.h index 4ab5be811d..36078c6277 100644 --- a/src/plugins/qt4projectmanager/qmakeprojectimporter.h +++ b/src/plugins/qt4projectmanager/qmakeprojectimporter.h @@ -34,7 +34,7 @@ namespace QtSupport { class BaseQtVersion; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class Qt4Project; @@ -59,6 +59,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // QMAKEPROJECTIMPORTER_H diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.cpp b/src/plugins/qt4projectmanager/qmakeprojectmanager.cpp index 54ce6f8bce..54ffd30305 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager.cpp +++ b/src/plugins/qt4projectmanager/qmakeprojectmanager.cpp @@ -27,15 +27,15 @@ ** ****************************************************************************/ -#include "qt4projectmanager.h" +#include "qmakeprojectmanager.h" -#include "qt4projectmanagerconstants.h" -#include "qt4projectmanagerplugin.h" -#include "qt4nodes.h" -#include "qt4project.h" +#include "qmakeprojectmanagerconstants.h" +#include "qmakeprojectmanagerplugin.h" +#include "qmakenodes.h" +#include "qmakeproject.h" #include "profileeditor.h" #include "qmakestep.h" -#include "qt4buildconfiguration.h" +#include "qmakebuildconfiguration.h" #include "addlibrarywizard.h" #include "wizards/qtquickapp.h" #include "wizards/html5app.h" @@ -52,8 +52,8 @@ #include <QMessageBox> using namespace ProjectExplorer; -using namespace Qt4ProjectManager; -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager; +using namespace QmakeProjectManager::Internal; // Known file types of a Qt 4 project static const char *qt4FileTypes[] = { @@ -93,7 +93,7 @@ void Qt4Manager::notifyChanged(const QString &name) QString Qt4Manager::mimeType() const { - return QLatin1String(Qt4ProjectManager::Constants::PROFILE_MIMETYPE); + return QLatin1String(QmakeProjectManager::Constants::PROFILE_MIMETYPE); } ProjectExplorer::Project *Qt4Manager::openProject(const QString &fileName, QString *errorString) @@ -164,7 +164,7 @@ void Qt4Manager::addLibrary(const QString &fileName, ProFileEditorWidget *editor editable = editor->editor(); } else { editable = qobject_cast<TextEditor::BaseTextEditor *> - (Core::EditorManager::openEditor(fileName, Qt4ProjectManager::Constants::PROFILE_EDITOR_ID, + (Core::EditorManager::openEditor(fileName, QmakeProjectManager::Constants::PROFILE_EDITOR_ID, Core::EditorManager::DoNotMakeVisible)); } if (!editable) diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.h b/src/plugins/qt4projectmanager/qmakeprojectmanager.h index 9040c63238..4e76d347fd 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager.h +++ b/src/plugins/qt4projectmanager/qmakeprojectmanager.h @@ -27,10 +27,10 @@ ** ****************************************************************************/ -#ifndef QT4PROJECTMANAGER_H -#define QT4PROJECTMANAGER_H +#ifndef QMAKEPROJECTMANAGER_H +#define QMAKEPROJECTMANAGER_H -#include "qt4projectmanager_global.h" +#include "qmakeprojectmanager_global.h" #include <projectexplorer/iprojectmanager.h> #include <projectexplorer/projectnodes.h> @@ -44,7 +44,7 @@ class Node; class ToolChain; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class Qt4Builder; @@ -109,6 +109,6 @@ private: ProjectExplorer::FileNode *m_contextFile; }; -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager -#endif // QT4PROJECTMANAGER_H +#endif // QMAKEPROJECTMANAGER_H diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.qrc b/src/plugins/qt4projectmanager/qmakeprojectmanager.qrc index da22ca50ec..1c1d74473e 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager.qrc +++ b/src/plugins/qt4projectmanager/qmakeprojectmanager.qrc @@ -1,5 +1,5 @@ <RCC> - <qresource prefix="/qt4projectmanager"> + <qresource prefix="/qmakeprojectmanager"> <file>images/run_qmake.png</file> <file>images/run_qmake_small.png</file> <file>Qt4ProjectManager.mimetypes.xml</file> diff --git a/src/plugins/qt4projectmanager/qt4projectmanager_global.h b/src/plugins/qt4projectmanager/qmakeprojectmanager_global.h index 8af5a6d3e8..8af5a6d3e8 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager_global.h +++ b/src/plugins/qt4projectmanager/qmakeprojectmanager_global.h diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerconstants.h b/src/plugins/qt4projectmanager/qmakeprojectmanagerconstants.h index b310741283..09cbc7fc43 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanagerconstants.h +++ b/src/plugins/qt4projectmanager/qmakeprojectmanagerconstants.h @@ -32,7 +32,7 @@ #include <QtGlobal> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Constants { // Contexts @@ -72,14 +72,6 @@ const char PROFILE_EVALUATE[] = "Qt4ProjectManager.ProFileEvaluate"; // Project const char QT4PROJECT_ID[] = "Qt4ProjectManager.Qt4Project"; -// Target Features -const char MOBILE_TARGETFEATURE_ID[] = "Qt4ProjectManager.TargetFeature.Mobile"; -const char DESKTOP_TARGETFEATURE_ID[] = "Qt4ProjectManager.TargetFeature.Desktop"; -const char SHADOWBUILD_TARGETFEATURE_ID[] = "Qt4ProjectManager.TargetFeature.ShadowBuild"; - -// Tool chains: -const char GCCE_TOOLCHAIN_ID[] = "Qt4ProjectManager.ToolChain.GCCE"; - // ICONS const char ICON_QTQUICK_APP[] = ":/wizards/images/qtquickapp.png"; const char ICON_HTML5_APP[] = ":/wizards/images/html5app.png"; @@ -90,7 +82,7 @@ const char QMAKEVAR_QUICK1_DEBUG[] = "CONFIG+=declarative_debug"; const char QMAKEVAR_QUICK2_DEBUG[] = "CONFIG+=qml_debug"; } // namespace Constants -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // QT4PROJECTMANAGERCONSTANTS_H diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp b/src/plugins/qt4projectmanager/qmakeprojectmanagerplugin.cpp index cc4c14588b..87332dc965 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp +++ b/src/plugins/qt4projectmanager/qmakeprojectmanagerplugin.cpp @@ -27,14 +27,14 @@ ** ****************************************************************************/ -#include "qt4projectmanagerplugin.h" +#include "qmakeprojectmanagerplugin.h" -#include "qt4projectmanager.h" -#include "qt4nodes.h" +#include "qmakeprojectmanager.h" +#include "qmakenodes.h" #include "qmakestep.h" #include "makestep.h" -#include "qt4buildconfiguration.h" -#include "qt4runconfiguration.h" +#include "qmakebuildconfiguration.h" +#include "qmakerunconfiguration.h" #include "wizards/consoleappwizard.h" #include "wizards/guiappwizard.h" #include "wizards/librarywizard.h" @@ -46,8 +46,8 @@ #include "customwidgetwizard/customwidgetwizard.h" #include "profileeditorfactory.h" #include "profilehoverhandler.h" -#include "qt4projectmanagerconstants.h" -#include "qt4project.h" +#include "qmakeprojectmanagerconstants.h" +#include "qmakeproject.h" #include "externaleditors.h" #include "profilecompletionassist.h" #include "qmakekitinformation.h" @@ -75,8 +75,8 @@ #include <QtPlugin> -using namespace Qt4ProjectManager::Internal; -using namespace Qt4ProjectManager; +using namespace QmakeProjectManager::Internal; +using namespace QmakeProjectManager; using namespace ProjectExplorer; Qt4ProjectManagerPlugin::Qt4ProjectManagerPlugin() @@ -99,10 +99,10 @@ Qt4ProjectManagerPlugin::~Qt4ProjectManagerPlugin() bool Qt4ProjectManagerPlugin::initialize(const QStringList &arguments, QString *errorMessage) { Q_UNUSED(arguments) - const Core::Context projectContext(Qt4ProjectManager::Constants::PROJECT_ID); + const Core::Context projectContext(QmakeProjectManager::Constants::PROJECT_ID); Core::Context projecTreeContext(ProjectExplorer::Constants::C_PROJECT_TREE); - if (!Core::MimeDatabase::addMimeTypes(QLatin1String(":qt4projectmanager/Qt4ProjectManager.mimetypes.xml"), errorMessage)) + if (!Core::MimeDatabase::addMimeTypes(QLatin1String(":qmakeprojectmanager/Qt4ProjectManager.mimetypes.xml"), errorMessage)) return false; m_projectExplorer = ProjectExplorer::ProjectExplorerPlugin::instance(); @@ -255,9 +255,9 @@ bool Qt4ProjectManagerPlugin::initialize(const QStringList &arguments, QString * connect(m_projectExplorer, SIGNAL(currentNodeChanged(ProjectExplorer::Node*,ProjectExplorer::Project*)), this, SLOT(updateContextActions(ProjectExplorer::Node*,ProjectExplorer::Project*))); - Core::ActionContainer *contextMenu = Core::ActionManager::createMenu(Qt4ProjectManager::Constants::M_CONTEXT); + Core::ActionContainer *contextMenu = Core::ActionManager::createMenu(QmakeProjectManager::Constants::M_CONTEXT); - Core::Context proFileEditorContext = Core::Context(Qt4ProjectManager::Constants::C_PROFILEEDITOR); + Core::Context proFileEditorContext = Core::Context(QmakeProjectManager::Constants::C_PROFILEEDITOR); command = Core::ActionManager::command(TextEditor::Constants::JUMP_TO_FILE_UNDER_CURSOR); contextMenu->addAction(command); diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h b/src/plugins/qt4projectmanager/qmakeprojectmanagerplugin.h index 4fd1e5dbc2..935bd9be84 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h +++ b/src/plugins/qt4projectmanager/qmakeprojectmanagerplugin.h @@ -46,7 +46,7 @@ class Target; } namespace Utils { class ParameterAction; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class Qt4Manager; class QtVersionManager; @@ -104,6 +104,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // QT4PROJECTMANAGERPLUGIN_H diff --git a/src/plugins/qt4projectmanager/qt4runconfiguration.cpp b/src/plugins/qt4projectmanager/qmakerunconfiguration.cpp index 606371886c..dc66e8e056 100644 --- a/src/plugins/qt4projectmanager/qt4runconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qmakerunconfiguration.cpp @@ -27,11 +27,11 @@ ** ****************************************************************************/ -#include "qt4runconfiguration.h" +#include "qmakerunconfiguration.h" -#include "qt4nodes.h" -#include "qt4project.h" -#include "qt4buildconfiguration.h" +#include "qmakenodes.h" +#include "qmakeproject.h" +#include "qmakebuildconfiguration.h" #include <coreplugin/coreconstants.h> #include <projectexplorer/localenvironmentaspect.h> @@ -55,8 +55,8 @@ #include <QFileInfo> #include <QDir> -using namespace Qt4ProjectManager::Internal; -using namespace Qt4ProjectManager; +using namespace QmakeProjectManager::Internal; +using namespace QmakeProjectManager; using ProjectExplorer::LocalApplicationRunConfiguration; using Utils::PersistentSettingsReader; using Utils::PersistentSettingsWriter; @@ -127,7 +127,7 @@ QString Qt4RunConfiguration::disabledReason() const return QString(); } -void Qt4RunConfiguration::proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress) +void Qt4RunConfiguration::proFileUpdated(QmakeProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress) { ProjectExplorer::LocalEnvironmentAspect *aspect = extraAspect<ProjectExplorer::LocalEnvironmentAspect>(); @@ -162,8 +162,8 @@ void Qt4RunConfiguration::ctor() QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); m_forcedGuiMode = (version && version->type() == QLatin1String(QtSupport::Constants::SIMULATORQT)); - connect(target()->project(), SIGNAL(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)), - this, SLOT(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool))); + connect(target()->project(), SIGNAL(proFileUpdated(QmakeProjectManager::Qt4ProFileNode*,bool,bool)), + this, SLOT(proFileUpdated(QmakeProjectManager::Qt4ProFileNode*,bool,bool))); connect(target(), SIGNAL(kitChanged()), this, SLOT(kitChanged())); } diff --git a/src/plugins/qt4projectmanager/qt4runconfiguration.h b/src/plugins/qt4projectmanager/qmakerunconfiguration.h index 1527a4b524..6208cfc704 100644 --- a/src/plugins/qt4projectmanager/qt4runconfiguration.h +++ b/src/plugins/qt4projectmanager/qmakerunconfiguration.h @@ -51,7 +51,7 @@ class PathChooser; class DetailsWidget; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class Qt4Project; class Qt4ProFileNode; @@ -108,7 +108,7 @@ signals: private slots: void kitChanged(); - void proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress); + void proFileUpdated(QmakeProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress); protected: Qt4RunConfiguration(ProjectExplorer::Target *parent, Qt4RunConfiguration *source); @@ -211,6 +211,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // QT4RUNCONFIGURATION_H diff --git a/src/plugins/qt4projectmanager/qmakerunconfigurationfactory.cpp b/src/plugins/qt4projectmanager/qmakerunconfigurationfactory.cpp index 73abdded5e..cf716fce4b 100644 --- a/src/plugins/qt4projectmanager/qmakerunconfigurationfactory.cpp +++ b/src/plugins/qt4projectmanager/qmakerunconfigurationfactory.cpp @@ -31,7 +31,7 @@ #include <extensionsystem/pluginmanager.h> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { QmakeRunConfigurationFactory::QmakeRunConfigurationFactory(QObject *parent) : ProjectExplorer::IRunConfigurationFactory(parent) @@ -51,4 +51,4 @@ QmakeRunConfigurationFactory *QmakeRunConfigurationFactory::find(ProjectExplorer return 0; } -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/qmakerunconfigurationfactory.h b/src/plugins/qt4projectmanager/qmakerunconfigurationfactory.h index c6b6684ecc..6281cb8e07 100644 --- a/src/plugins/qt4projectmanager/qmakerunconfigurationfactory.h +++ b/src/plugins/qt4projectmanager/qmakerunconfigurationfactory.h @@ -30,13 +30,13 @@ #ifndef QMAKERUNCONFIGURATIONFACTORY_H #define QMAKERUNCONFIGURATIONFACTORY_H -#include "qt4projectmanager_global.h" +#include "qmakeprojectmanager_global.h" #include <projectexplorer/runconfiguration.h> namespace ProjectExplorer { class Node; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class QT4PROJECTMANAGER_EXPORT QmakeRunConfigurationFactory : public ProjectExplorer::IRunConfigurationFactory { @@ -52,6 +52,6 @@ public: static QmakeRunConfigurationFactory *find(ProjectExplorer::Target *t); }; -} // Qt4ProjectManager +} // namespace QmakeProjectManager #endif // QMAKERUNCONFIGURATIONFACTORY_H diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp index c0e55fd5f2..5331ece972 100644 --- a/src/plugins/qt4projectmanager/qmakestep.cpp +++ b/src/plugins/qt4projectmanager/qmakestep.cpp @@ -31,11 +31,11 @@ #include "ui_qmakestep.h" #include "qmakeparser.h" -#include "qt4buildconfiguration.h" -#include "qt4project.h" -#include "qt4projectmanagerconstants.h" +#include "qmakebuildconfiguration.h" +#include "qmakeproject.h" +#include "qmakeprojectmanagerconstants.h" #include "qmakekitinformation.h" -#include "qt4nodes.h" +#include "qmakenodes.h" #include <projectexplorer/buildmanager.h> #include <projectexplorer/buildsteplist.h> @@ -53,8 +53,8 @@ #include <QDir> #include <QMessageBox> -using namespace Qt4ProjectManager; -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager; +using namespace QmakeProjectManager::Internal; using namespace ProjectExplorer; using namespace Utils; @@ -421,7 +421,7 @@ FileName QMakeStep::mkspec() } } - return Qt4ProjectManager::QmakeKitInformation::effectiveMkspec(target()->kit()); + return QmakeProjectManager::QmakeKitInformation::effectiveMkspec(target()->kit()); } QVariantMap QMakeStep::toMap() const diff --git a/src/plugins/qt4projectmanager/qmakestep.h b/src/plugins/qt4projectmanager/qmakestep.h index 5eb76d8639..e12a9cc7e7 100644 --- a/src/plugins/qt4projectmanager/qmakestep.h +++ b/src/plugins/qt4projectmanager/qmakestep.h @@ -30,7 +30,7 @@ #ifndef QMAKESTEP_H #define QMAKESTEP_H -#include "qt4projectmanager_global.h" +#include "qmakeprojectmanager_global.h" #include <projectexplorer/abstractprocessstep.h> #include <QStringList> @@ -43,7 +43,7 @@ class IBuildStepFactory; class Project; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class Qt4BuildConfiguration; class Qt4Project; @@ -177,6 +177,6 @@ private: bool m_ignoreChange; }; -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // QMAKESTEP_H diff --git a/src/plugins/qt4projectmanager/qmakestep.ui b/src/plugins/qt4projectmanager/qmakestep.ui index aae5c1f758..43c5828044 100644 --- a/src/plugins/qt4projectmanager/qmakestep.ui +++ b/src/plugins/qt4projectmanager/qmakestep.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>Qt4ProjectManager::Internal::QMakeStep</class> - <widget class="QWidget" name="Qt4ProjectManager::Internal::QMakeStep"> + <class>QmakeProjectManager::Internal::QMakeStep</class> + <widget class="QWidget" name="QmakeProjectManager::Internal::QMakeStep"> <property name="geometry"> <rect> <x>0</x> diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.pro b/src/plugins/qt4projectmanager/qt4projectmanager.pro index 519b614302..aa2c2241dc 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager.pro +++ b/src/plugins/qt4projectmanager/qt4projectmanager.pro @@ -10,10 +10,10 @@ HEADERS += \ qmakekitconfigwidget.h \ qmakeprojectimporter.h \ qmakerunconfigurationfactory.h \ - qt4projectmanagerplugin.h \ - qt4projectmanager.h \ - qt4project.h \ - qt4nodes.h \ + qmakeprojectmanagerplugin.h \ + qmakeprojectmanager.h \ + qmakeproject.h \ + qmakenodes.h \ profileeditor.h \ profilehighlighter.h \ profilehighlighterfactory.h \ @@ -49,19 +49,19 @@ HEADERS += \ wizards/abstractmobileappwizard.h \ wizards/subdirsprojectwizard.h \ wizards/subdirsprojectwizarddialog.h \ - qt4projectmanagerconstants.h \ + qmakeprojectmanagerconstants.h \ makestep.h \ qmakestep.h \ qtmodulesinfo.h \ - qt4projectconfigwidget.h \ + qmakeprojectconfigwidget.h \ externaleditors.h \ - qt4buildconfiguration.h \ + qmakebuildconfiguration.h \ qmakeparser.h \ addlibrarywizard.h \ librarydetailscontroller.h \ - findqt4profiles.h \ - qt4projectmanager_global.h \ - qt4runconfiguration.h \ + findqmakeprofiles.h \ + qmakeprojectmanager_global.h \ + qmakerunconfiguration.h \ profilecompletionassist.h SOURCES += \ @@ -69,10 +69,10 @@ SOURCES += \ qmakekitinformation.cpp \ qmakeprojectimporter.cpp \ qmakerunconfigurationfactory.cpp \ - qt4projectmanagerplugin.cpp \ - qt4projectmanager.cpp \ - qt4project.cpp \ - qt4nodes.cpp \ + qmakeprojectmanagerplugin.cpp \ + qmakeprojectmanager.cpp \ + qmakeproject.cpp \ + qmakenodes.cpp \ profileeditor.cpp \ profilehighlighter.cpp \ profilehighlighterfactory.cpp \ @@ -111,19 +111,19 @@ SOURCES += \ makestep.cpp \ qmakestep.cpp \ qtmodulesinfo.cpp \ - qt4projectconfigwidget.cpp \ + qmakeprojectconfigwidget.cpp \ externaleditors.cpp \ - qt4buildconfiguration.cpp \ + qmakebuildconfiguration.cpp \ qmakeparser.cpp \ addlibrarywizard.cpp \ librarydetailscontroller.cpp \ - findqt4profiles.cpp \ - qt4runconfiguration.cpp \ + findqmakeprofiles.cpp \ + qmakerunconfiguration.cpp \ profilecompletionassist.cpp FORMS += makestep.ui \ qmakestep.ui \ - qt4projectconfigwidget.ui \ + qmakeprojectconfigwidget.ui \ librarydetailswidget.ui \ wizards/testwizardpage.ui \ wizards/html5appwizardsourcespage.ui \ @@ -131,7 +131,7 @@ FORMS += makestep.ui \ wizards/mobileappwizardgenericoptionspage.ui \ wizards/qtquickcomponentsetoptionspage.ui -RESOURCES += qt4projectmanager.qrc \ +RESOURCES += qmakeprojectmanager.qrc \ wizards/wizards.qrc include(customwidgetwizard/customwidgetwizard.pri) diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.qbs b/src/plugins/qt4projectmanager/qt4projectmanager.qbs index 88db16ce78..4d0f2f2fde 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager.qbs +++ b/src/plugins/qt4projectmanager/qt4projectmanager.qbs @@ -23,7 +23,7 @@ QtcPlugin { files: [ "addlibrarywizard.cpp", "addlibrarywizard.h", "externaleditors.cpp", "externaleditors.h", - "findqt4profiles.cpp", "findqt4profiles.h", + "findqmakeprofiles.cpp", "findqmakeprofiles.h", "librarydetailscontroller.cpp", "librarydetailscontroller.h", "librarydetailswidget.ui", "makestep.cpp", "makestep.h", "makestep.ui", @@ -41,17 +41,17 @@ QtcPlugin { "qmakeprojectimporter.cpp", "qmakeprojectimporter.h", "qmakerunconfigurationfactory.cpp", "qmakerunconfigurationfactory.h", "qmakestep.cpp", "qmakestep.h", "qmakestep.ui", - "qt4buildconfiguration.cpp", "qt4buildconfiguration.h", - "qt4nodes.cpp", "qt4nodes.h", - "qt4project.cpp", "qt4project.h", - "qt4projectconfigwidget.cpp", "qt4projectconfigwidget.h", "qt4projectconfigwidget.ui", - "qt4projectmanager.cpp", "qt4projectmanager.h", - "qt4projectmanager.qrc", - "qt4projectmanager_global.h", - "qt4projectmanagerconstants.h", - "qt4projectmanagerplugin.cpp", "qt4projectmanagerplugin.h", + "qmakebuildconfiguration.cpp", "qmakebuildconfiguration.h", + "qmakenodes.cpp", "qmakenodes.h", + "qmakeproject.cpp", "qmakeproject.h", + "qmakeprojectconfigwidget.cpp", "qmakeprojectconfigwidget.h", "qmakeprojectconfigwidget.ui", + "qmakeprojectmanager.cpp", "qmakeprojectmanager.h", + "qmakeprojectmanager.qrc", + "qmakeprojectmanager_global.h", + "qmakeprojectmanagerconstants.h", + "qmakeprojectmanagerplugin.cpp", "qmakeprojectmanagerplugin.h", "qtmodulesinfo.cpp", "qtmodulesinfo.h", - "qt4runconfiguration.cpp", "qt4runconfiguration.h", + "qmakerunconfiguration.cpp", "qmakerunconfiguration.h", ] } diff --git a/src/plugins/qt4projectmanager/qtmodulesinfo.cpp b/src/plugins/qt4projectmanager/qtmodulesinfo.cpp index 7529b6d41a..4c303d0d44 100644 --- a/src/plugins/qt4projectmanager/qtmodulesinfo.cpp +++ b/src/plugins/qt4projectmanager/qtmodulesinfo.cpp @@ -32,7 +32,7 @@ #include <QString> #include <QCoreApplication> -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager::Internal; struct item { diff --git a/src/plugins/qt4projectmanager/qtmodulesinfo.h b/src/plugins/qt4projectmanager/qtmodulesinfo.h index ceedb6aaa6..ffb41b655f 100644 --- a/src/plugins/qt4projectmanager/qtmodulesinfo.h +++ b/src/plugins/qt4projectmanager/qtmodulesinfo.h @@ -31,7 +31,7 @@ #include <QStringList> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class QtModulesInfo @@ -44,6 +44,6 @@ public: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // QTMODULESINFO_H diff --git a/src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp b/src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp index 49f3f12971..8f61645ac5 100644 --- a/src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp +++ b/src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp @@ -40,7 +40,7 @@ #include <utils/fileutils.h> #include <utils/qtcassert.h> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { AbstractGeneratedFileInfo::AbstractGeneratedFileInfo() : fileType(ExtendedFile) @@ -147,6 +147,7 @@ bool AbstractMobileApp::readTemplate(int fileType, QByteArray *data, QString *er QByteArray AbstractMobileApp::generateDesktopFile(QString *errorMessage, int fileType) const { + Q_UNUSED(fileType) QByteArray desktopFileContent; if (!readTemplate(DesktopOrigin, &desktopFileContent, errorMessage)) return QByteArray(); @@ -421,4 +422,4 @@ void AbstractMobileApp::insertParameter(QString &line, const QString ¶meter) QLatin1Char('(') + parameter + QLatin1Char(')')); } -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/abstractmobileapp.h b/src/plugins/qt4projectmanager/wizards/abstractmobileapp.h index 05829462d0..e7e0dd1838 100644 --- a/src/plugins/qt4projectmanager/wizards/abstractmobileapp.h +++ b/src/plugins/qt4projectmanager/wizards/abstractmobileapp.h @@ -30,7 +30,7 @@ #ifndef ABSTRACTMOBILEAPP_H #define ABSTRACTMOBILEAPP_H -#include "../qt4projectmanager_global.h" +#include "../qmakeprojectmanager_global.h" #include <QFileInfo> #include <QPair> @@ -40,7 +40,7 @@ QT_FORWARD_DECLARE_CLASS(QTextStream) -namespace Qt4ProjectManager { +namespace QmakeProjectManager { /// \internal struct @@ -177,6 +177,6 @@ private: ScreenOrientation m_orientation; }; -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // ABSTRACTMOBILEAPP_H diff --git a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp index 12d0ea4215..ffee57a04b 100644 --- a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp @@ -33,8 +33,8 @@ #include "../qmakeprojectimporter.h" #include <extensionsystem/pluginmanager.h> -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4projectmanager.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakeprojectmanager.h> #include <qtsupport/qtsupportconstants.h> #include <qtsupport/qtkitinformation.h> #include <projectexplorer/projectexplorer.h> @@ -44,7 +44,7 @@ using namespace ProjectExplorer; -namespace Qt4ProjectManager { +namespace QmakeProjectManager { AbstractMobileAppWizardDialog::AbstractMobileAppWizardDialog(QWidget *parent, const QtSupport::QtVersionNumber &minimumQtVersionNumber, @@ -244,4 +244,4 @@ void AbstractMobileAppWizard::useProjectPath(const QString &projectName, projectPathChanged(app()->path(AbstractMobileApp::AppPro)); } -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.h b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.h index 4aa8111e99..dd0476770a 100644 --- a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.h +++ b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.h @@ -30,7 +30,7 @@ #ifndef ABSTRACTMOBILEAPPWIZARD_H #define ABSTRACTMOBILEAPPWIZARD_H -#include <qt4projectmanager/qt4projectmanager_global.h> +#include <qt4projectmanager/qmakeprojectmanager_global.h> #include <projectexplorer/baseprojectwizarddialog.h> namespace ProjectExplorer { class TargetSetupPage; } @@ -40,7 +40,7 @@ class QtVersionNumber; class QtVersionManager; } // QtSupport -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class AbstractMobileApp; @@ -117,6 +117,6 @@ private: QString *errorMessage) const = 0; }; -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // ABSTRACTMOBILEAPPWIZARD_H diff --git a/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp b/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp index d694117074..b3dc87af80 100644 --- a/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp @@ -49,7 +49,7 @@ static const char mainCppC[] = static const char mainSourceFileC[] = "main"; -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { ConsoleAppWizard::ConsoleAppWizard() @@ -105,4 +105,4 @@ Core::GeneratedFiles } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/consoleappwizard.h b/src/plugins/qt4projectmanager/wizards/consoleappwizard.h index 1c2faa409a..56301b0932 100644 --- a/src/plugins/qt4projectmanager/wizards/consoleappwizard.h +++ b/src/plugins/qt4projectmanager/wizards/consoleappwizard.h @@ -32,7 +32,7 @@ #include "qtwizard.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class ModulesPage; @@ -53,6 +53,6 @@ protected: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // CONSOLEAPPWIZARD_H diff --git a/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.cpp index 1d8ea43bef..b3c5db9086 100644 --- a/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.cpp @@ -32,7 +32,7 @@ #include <QDebug> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { ConsoleAppWizardDialog::ConsoleAppWizardDialog(const QString &templateName, @@ -70,4 +70,4 @@ QtProjectParameters ConsoleAppWizardDialog::parameters() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.h b/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.h index 70e5964e73..8c3bf3e9ef 100644 --- a/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.h +++ b/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.h @@ -32,7 +32,7 @@ #include "qtwizard.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { struct QtProjectParameters; @@ -50,6 +50,6 @@ public: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // CONSOLEAPPWIZARDDIALOG_H diff --git a/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.cpp b/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.cpp index 3da4e01751..514a9c67fe 100644 --- a/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.cpp @@ -36,7 +36,7 @@ #include <QCoreApplication> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { EmptyProjectWizard::EmptyProjectWizard() @@ -75,4 +75,4 @@ Core::GeneratedFiles } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.h b/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.h index e0d4fb9ce1..ec1684cbe8 100644 --- a/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.h +++ b/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.h @@ -32,7 +32,7 @@ #include "qtwizard.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class EmptyProjectWizard : public QtWizard @@ -50,6 +50,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // EMPTYPROJECTWIZARD_H diff --git a/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.cpp index 46d8e0864a..574bc2e053 100644 --- a/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.cpp @@ -30,7 +30,7 @@ #include "emptyprojectwizarddialog.h" #include <projectexplorer/projectexplorerconstants.h> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { EmptyProjectWizardDialog::EmptyProjectWizardDialog(const QString &templateName, @@ -60,4 +60,4 @@ QtProjectParameters EmptyProjectWizardDialog::parameters() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.h b/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.h index a1da9bf76f..05bfa502a3 100644 --- a/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.h +++ b/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.h @@ -32,7 +32,7 @@ #include "qtwizard.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { struct QtProjectParameters; @@ -50,6 +50,6 @@ public: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // EMPTYPROJECTWIZARDDIALOG_H diff --git a/src/plugins/qt4projectmanager/wizards/filespage.cpp b/src/plugins/qt4projectmanager/wizards/filespage.cpp index 25788eb87f..ff0127c863 100644 --- a/src/plugins/qt4projectmanager/wizards/filespage.cpp +++ b/src/plugins/qt4projectmanager/wizards/filespage.cpp @@ -34,7 +34,7 @@ #include <QLabel> #include <QLayout> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { FilesPage::FilesPage(QWidget *parent) : @@ -196,4 +196,4 @@ void FilesPage::setClassTypeComboVisible(bool v) } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/filespage.h b/src/plugins/qt4projectmanager/wizards/filespage.h index 6a76376f48..6b63d94268 100644 --- a/src/plugins/qt4projectmanager/wizards/filespage.h +++ b/src/plugins/qt4projectmanager/wizards/filespage.h @@ -40,7 +40,7 @@ namespace Utils { class NewClassWidget; } // namespace Utils -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class FilesPage : public QWizardPage @@ -88,6 +88,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // FILESPAGE_H diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp b/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp index 53b0defe69..aaa1f95abc 100644 --- a/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp @@ -69,7 +69,7 @@ static inline QStringList baseClasses() return rc; } -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { GuiAppWizard::GuiAppWizard(bool isMobile) @@ -269,4 +269,4 @@ bool GuiAppWizard::parametrizeTemplate(const QString &templatePath, const QStrin } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizard.h b/src/plugins/qt4projectmanager/wizards/guiappwizard.h index 80214d4de9..b52f74817c 100644 --- a/src/plugins/qt4projectmanager/wizards/guiappwizard.h +++ b/src/plugins/qt4projectmanager/wizards/guiappwizard.h @@ -32,7 +32,7 @@ #include "qtwizard.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { struct GuiAppParameters; @@ -59,6 +59,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // GUIAPPWIZARD_H diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp index aa7d1b47fd..cf15d1f2fa 100644 --- a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp @@ -35,7 +35,7 @@ #include <projectexplorer/projectexplorerconstants.h> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { GuiAppParameters::GuiAppParameters() @@ -124,4 +124,4 @@ GuiAppParameters GuiAppWizardDialog::parameters() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.h b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.h index 1f7e236399..42a46a9b88 100644 --- a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.h +++ b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.h @@ -32,7 +32,7 @@ #include "qtwizard.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { struct QtProjectParameters; @@ -77,6 +77,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // GUIAPPWIZARDDIALOG_H diff --git a/src/plugins/qt4projectmanager/wizards/html5app.cpp b/src/plugins/qt4projectmanager/wizards/html5app.cpp index 929e59ff1d..53187641d1 100644 --- a/src/plugins/qt4projectmanager/wizards/html5app.cpp +++ b/src/plugins/qt4projectmanager/wizards/html5app.cpp @@ -38,7 +38,7 @@ #include <coreplugin/icore.h> #endif // CREATORLESSTEST -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { const QString appViewerBaseName(QLatin1String("html5applicationviewer")); @@ -192,7 +192,7 @@ QByteArray Html5App::appViewerCppFileCode(QString *errorMessage) const QFile touchNavigavigationFile(touchNavigavigationDir + QLatin1String(touchNavigavigationFiles[i])); if (!touchNavigavigationFile.open(QIODevice::ReadOnly)) { if (errorMessage) - *errorMessage = QCoreApplication::translate("Qt4ProjectManager::AbstractMobileApp", + *errorMessage = QCoreApplication::translate("QmakeProjectManager::AbstractMobileApp", "Could not open template file '%1'.").arg(QLatin1String(touchNavigavigationFiles[i])); return QByteArray(); } @@ -213,7 +213,7 @@ QByteArray Html5App::appViewerCppFileCode(QString *errorMessage) const QFile appViewerCppFile(path(AppViewerCppOrigin)); if (!appViewerCppFile.open(QIODevice::ReadOnly)) { if (errorMessage) - *errorMessage = QCoreApplication::translate("Qt4ProjectManager::AbstractMobileApp", + *errorMessage = QCoreApplication::translate("QmakeProjectManager::AbstractMobileApp", "Could not open template file '%1'.").arg(path(AppViewerCppOrigin)); return QByteArray(); } @@ -314,4 +314,4 @@ QList<DeploymentFolder> Html5App::deploymentFolders() const const int Html5App::StubVersion = 12; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/html5app.h b/src/plugins/qt4projectmanager/wizards/html5app.h index 61076255bc..e1ca179451 100644 --- a/src/plugins/qt4projectmanager/wizards/html5app.h +++ b/src/plugins/qt4projectmanager/wizards/html5app.h @@ -32,7 +32,7 @@ #include "abstractmobileapp.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { struct Html5AppGeneratedFileInfo : public AbstractGeneratedFileInfo @@ -112,6 +112,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // HTML5APP_H diff --git a/src/plugins/qt4projectmanager/wizards/html5appwizard.cpp b/src/plugins/qt4projectmanager/wizards/html5appwizard.cpp index 854377dd17..4b002c9464 100644 --- a/src/plugins/qt4projectmanager/wizards/html5appwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/html5appwizard.cpp @@ -31,7 +31,7 @@ #include "html5app.h" #include "html5appwizardpages.h" -#include <qt4projectmanager/qt4projectmanagerconstants.h> +#include <qt4projectmanager/qmakeprojectmanagerconstants.h> #include <qtsupport/baseqtversion.h> #include <projectexplorer/projectexplorerconstants.h> @@ -41,7 +41,7 @@ #include <QIcon> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class Html5AppWizardDialog : public AbstractMobileAppWizardDialog @@ -147,6 +147,6 @@ AbstractMobileAppWizardDialog *Html5AppWizard::wizardDialog() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #include "html5appwizard.moc" diff --git a/src/plugins/qt4projectmanager/wizards/html5appwizard.h b/src/plugins/qt4projectmanager/wizards/html5appwizard.h index 908a1aece6..d82ce8f6a4 100644 --- a/src/plugins/qt4projectmanager/wizards/html5appwizard.h +++ b/src/plugins/qt4projectmanager/wizards/html5appwizard.h @@ -32,7 +32,7 @@ #include "abstractmobileappwizard.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class Html5AppWizard : public AbstractMobileAppWizard @@ -59,6 +59,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // HTML5APPWIZARD_H diff --git a/src/plugins/qt4projectmanager/wizards/html5appwizardpages.cpp b/src/plugins/qt4projectmanager/wizards/html5appwizardpages.cpp index d19c2b84de..45c7278efe 100644 --- a/src/plugins/qt4projectmanager/wizards/html5appwizardpages.cpp +++ b/src/plugins/qt4projectmanager/wizards/html5appwizardpages.cpp @@ -30,7 +30,7 @@ #include "html5appwizardpages.h" #include "ui_html5appwizardsourcespage.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class Html5AppWizardOptionsPagePrivate @@ -103,4 +103,4 @@ void Html5AppWizardOptionsPage::setLineEditsEnabled() } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/html5appwizardpages.h b/src/plugins/qt4projectmanager/wizards/html5appwizardpages.h index 87b7c2a502..c90ecadb1c 100644 --- a/src/plugins/qt4projectmanager/wizards/html5appwizardpages.h +++ b/src/plugins/qt4projectmanager/wizards/html5appwizardpages.h @@ -33,7 +33,7 @@ #include <QWizardPage> #include "html5app.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class Html5AppWizardOptionsPage : public QWizardPage @@ -58,6 +58,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // HTML5APPWIZARDPAGES_H diff --git a/src/plugins/qt4projectmanager/wizards/html5appwizardsourcespage.ui b/src/plugins/qt4projectmanager/wizards/html5appwizardsourcespage.ui index 65d5854170..b2a10f3877 100644 --- a/src/plugins/qt4projectmanager/wizards/html5appwizardsourcespage.ui +++ b/src/plugins/qt4projectmanager/wizards/html5appwizardsourcespage.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>Qt4ProjectManager::Internal::Html5AppWizardSourcesPage</class> - <widget class="QWizardPage" name="Qt4ProjectManager::Internal::Html5AppWizardSourcesPage"> + <class>QmakeProjectManager::Internal::Html5AppWizardSourcesPage</class> + <widget class="QWizardPage" name="QmakeProjectManager::Internal::Html5AppWizardSourcesPage"> <property name="geometry"> <rect> <x>0</x> diff --git a/src/plugins/qt4projectmanager/wizards/libraryparameters.cpp b/src/plugins/qt4projectmanager/wizards/libraryparameters.cpp index 28ef629b4b..17dddc6b62 100644 --- a/src/plugins/qt4projectmanager/wizards/libraryparameters.cpp +++ b/src/plugins/qt4projectmanager/wizards/libraryparameters.cpp @@ -54,7 +54,7 @@ static const char *globalHeaderContentsC = "\n" "#endif // " GUARD_VARIABLE "\n"; -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { void LibraryParameters::generateCode(QtProjectParameters:: Type t, @@ -167,4 +167,4 @@ QString LibraryParameters::generateSharedHeader(const QString &globalHeaderFile } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/libraryparameters.h b/src/plugins/qt4projectmanager/wizards/libraryparameters.h index 0fe2471fb6..06ba9b5e76 100644 --- a/src/plugins/qt4projectmanager/wizards/libraryparameters.h +++ b/src/plugins/qt4projectmanager/wizards/libraryparameters.h @@ -34,7 +34,7 @@ #include <QString> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { // Additional parameters required besides QtProjectParameters for creating @@ -64,6 +64,6 @@ struct LibraryParameters { }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // LIBRARYPARAMETERS_H diff --git a/src/plugins/qt4projectmanager/wizards/librarywizard.cpp b/src/plugins/qt4projectmanager/wizards/librarywizard.cpp index 4a5a9b2302..b39f26c586 100644 --- a/src/plugins/qt4projectmanager/wizards/librarywizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/librarywizard.cpp @@ -41,7 +41,7 @@ static const char sharedHeaderPostfixC[] = "_global"; -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { LibraryWizard::LibraryWizard() @@ -154,4 +154,4 @@ Core::GeneratedFiles LibraryWizard::generateFiles(const QWizard *w, } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/librarywizard.h b/src/plugins/qt4projectmanager/wizards/librarywizard.h index 0b4c4eb630..5ad87a7e5c 100644 --- a/src/plugins/qt4projectmanager/wizards/librarywizard.h +++ b/src/plugins/qt4projectmanager/wizards/librarywizard.h @@ -33,7 +33,7 @@ #include "qtwizard.h" #include "libraryparameters.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class LibraryWizard : public QtWizard @@ -51,6 +51,6 @@ protected: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // LIBRARYWIZARD_H diff --git a/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp index dadeca8538..c5a7b52a60 100644 --- a/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp @@ -44,7 +44,7 @@ enum { debugLibWizard = 0 }; -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { struct PluginBaseClasses { @@ -376,4 +376,4 @@ MobileLibraryParameters LibraryWizardDialog::mobileLibraryParameters() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/librarywizarddialog.h b/src/plugins/qt4projectmanager/wizards/librarywizarddialog.h index 67b7215e5b..3cab4b1b85 100644 --- a/src/plugins/qt4projectmanager/wizards/librarywizarddialog.h +++ b/src/plugins/qt4projectmanager/wizards/librarywizarddialog.h @@ -32,7 +32,7 @@ #include "qtwizard.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { struct QtProjectParameters; @@ -88,6 +88,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // LIBRARYWIZARDDIALOG_H diff --git a/src/plugins/qt4projectmanager/wizards/mobileapp.cpp b/src/plugins/qt4projectmanager/wizards/mobileapp.cpp index e888d5abcc..83bacdd630 100644 --- a/src/plugins/qt4projectmanager/wizards/mobileapp.cpp +++ b/src/plugins/qt4projectmanager/wizards/mobileapp.cpp @@ -31,7 +31,7 @@ #include <QTextStream> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { const QString mainWindowBaseName(QLatin1String("mainwindow")); @@ -147,4 +147,4 @@ QList<DeploymentFolder> MobileApp::deploymentFolders() const const int MobileApp::StubVersion = 2; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/mobileapp.h b/src/plugins/qt4projectmanager/wizards/mobileapp.h index 5de8a51f45..3b7f60f33e 100644 --- a/src/plugins/qt4projectmanager/wizards/mobileapp.h +++ b/src/plugins/qt4projectmanager/wizards/mobileapp.h @@ -32,7 +32,7 @@ #include "abstractmobileapp.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { struct MobileAppGeneratedFileInfo : AbstractGeneratedFileInfo @@ -81,6 +81,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // MOBILEAPP_H diff --git a/src/plugins/qt4projectmanager/wizards/mobileappwizardgenericoptionspage.ui b/src/plugins/qt4projectmanager/wizards/mobileappwizardgenericoptionspage.ui index e82630a631..14aa1d8d1b 100644 --- a/src/plugins/qt4projectmanager/wizards/mobileappwizardgenericoptionspage.ui +++ b/src/plugins/qt4projectmanager/wizards/mobileappwizardgenericoptionspage.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>Qt4ProjectManager::Internal::MobileAppWizardGenericOptionsPage</class> - <widget class="QWizardPage" name="Qt4ProjectManager::Internal::MobileAppWizardGenericOptionsPage"> + <class>QmakeProjectManager::Internal::MobileAppWizardGenericOptionsPage</class> + <widget class="QWizardPage" name="QmakeProjectManager::Internal::MobileAppWizardGenericOptionsPage"> <property name="geometry"> <rect> <x>0</x> diff --git a/src/plugins/qt4projectmanager/wizards/mobileappwizardpages.cpp b/src/plugins/qt4projectmanager/wizards/mobileappwizardpages.cpp index c54c0aea80..0d3cc6a5af 100644 --- a/src/plugins/qt4projectmanager/wizards/mobileappwizardpages.cpp +++ b/src/plugins/qt4projectmanager/wizards/mobileappwizardpages.cpp @@ -35,7 +35,7 @@ #include <QFileDialog> #include <QMessageBox> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class MobileAppWizardGenericOptionsPagePrivate @@ -128,6 +128,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #include "mobileappwizardpages.moc" diff --git a/src/plugins/qt4projectmanager/wizards/mobileappwizardpages.h b/src/plugins/qt4projectmanager/wizards/mobileappwizardpages.h index d6f9206cc7..2e09d750a7 100644 --- a/src/plugins/qt4projectmanager/wizards/mobileappwizardpages.h +++ b/src/plugins/qt4projectmanager/wizards/mobileappwizardpages.h @@ -34,7 +34,7 @@ #include <QWizardPage> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class MobileAppWizardGenericOptionsPage : public QWizardPage @@ -53,6 +53,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // MOBILEAPPWIZARDPAGES_H diff --git a/src/plugins/qt4projectmanager/wizards/mobilelibraryparameters.cpp b/src/plugins/qt4projectmanager/wizards/mobilelibraryparameters.cpp index edd4f36e59..adf066f57a 100644 --- a/src/plugins/qt4projectmanager/wizards/mobilelibraryparameters.cpp +++ b/src/plugins/qt4projectmanager/wizards/mobilelibraryparameters.cpp @@ -31,7 +31,7 @@ #include <QTextStream> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { MobileLibraryParameters::MobileLibraryParameters() : @@ -55,4 +55,4 @@ void MobileLibraryParameters::writeLinuxProFile(QTextStream &str) const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/mobilelibraryparameters.h b/src/plugins/qt4projectmanager/wizards/mobilelibraryparameters.h index f3470ee05e..060fd577b1 100644 --- a/src/plugins/qt4projectmanager/wizards/mobilelibraryparameters.h +++ b/src/plugins/qt4projectmanager/wizards/mobilelibraryparameters.h @@ -36,7 +36,7 @@ QT_BEGIN_NAMESPACE class QTextStream; QT_END_NAMESPACE -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { // Additional parameters required for creating mobile @@ -58,5 +58,5 @@ public: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // MOBILELIBRARYPARAMETERS_H diff --git a/src/plugins/qt4projectmanager/wizards/mobilelibrarywizardoptionpage.cpp b/src/plugins/qt4projectmanager/wizards/mobilelibrarywizardoptionpage.cpp index cdb39a266d..32645adbab 100644 --- a/src/plugins/qt4projectmanager/wizards/mobilelibrarywizardoptionpage.cpp +++ b/src/plugins/qt4projectmanager/wizards/mobilelibrarywizardoptionpage.cpp @@ -31,7 +31,7 @@ #include "ui_mobilelibrarywizardoptionpage.h" #include "qtprojectparameters.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class MobileLibraryWizardOptionPagePrivate @@ -78,4 +78,4 @@ void MobileLibraryWizardOptionPage::setLibraryType(int type) } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/mobilelibrarywizardoptionpage.h b/src/plugins/qt4projectmanager/wizards/mobilelibrarywizardoptionpage.h index cfad8acbc9..5dbf54b3cb 100644 --- a/src/plugins/qt4projectmanager/wizards/mobilelibrarywizardoptionpage.h +++ b/src/plugins/qt4projectmanager/wizards/mobilelibrarywizardoptionpage.h @@ -32,7 +32,7 @@ #include <QWizardPage> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class MobileLibraryWizardOptionPage : public QWizardPage @@ -52,6 +52,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // MOBILELIBRARYWIZARDOPTIONPAGE_H diff --git a/src/plugins/qt4projectmanager/wizards/mobilelibrarywizardoptionpage.ui b/src/plugins/qt4projectmanager/wizards/mobilelibrarywizardoptionpage.ui index 3708eebf85..6659767512 100644 --- a/src/plugins/qt4projectmanager/wizards/mobilelibrarywizardoptionpage.ui +++ b/src/plugins/qt4projectmanager/wizards/mobilelibrarywizardoptionpage.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>Qt4ProjectManager::Internal::MobileLibraryWizardOptionPage</class> - <widget class="QWizardPage" name="Qt4ProjectManager::Internal::MobileLibraryWizardOptionPage"> + <class>QmakeProjectManager::Internal::MobileLibraryWizardOptionPage</class> + <widget class="QWizardPage" name="QmakeProjectManager::Internal::MobileLibraryWizardOptionPage"> <property name="geometry"> <rect> <x>0</x> diff --git a/src/plugins/qt4projectmanager/wizards/modulespage.cpp b/src/plugins/qt4projectmanager/wizards/modulespage.cpp index 5c772618bf..25dad27648 100644 --- a/src/plugins/qt4projectmanager/wizards/modulespage.cpp +++ b/src/plugins/qt4projectmanager/wizards/modulespage.cpp @@ -40,7 +40,7 @@ #include <math.h> -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager::Internal; ModulesPage::ModulesPage(QWidget *parent) : QWizardPage(parent) diff --git a/src/plugins/qt4projectmanager/wizards/modulespage.h b/src/plugins/qt4projectmanager/wizards/modulespage.h index 9275c06afd..7bd00d0aa6 100644 --- a/src/plugins/qt4projectmanager/wizards/modulespage.h +++ b/src/plugins/qt4projectmanager/wizards/modulespage.h @@ -38,7 +38,7 @@ QT_BEGIN_NAMESPACE class QCheckBox; QT_END_NAMESPACE -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class ModulesPage : public QWizardPage @@ -63,6 +63,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // MODULESPAGE_H diff --git a/src/plugins/qt4projectmanager/wizards/qtprojectparameters.cpp b/src/plugins/qt4projectmanager/wizards/qtprojectparameters.cpp index 37926909f6..d7e6f10008 100644 --- a/src/plugins/qt4projectmanager/wizards/qtprojectparameters.cpp +++ b/src/plugins/qt4projectmanager/wizards/qtprojectparameters.cpp @@ -36,7 +36,7 @@ #include <QDateTime> #include <QDebug> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { // ----------- QtProjectParameters @@ -154,4 +154,4 @@ QString QtProjectParameters::libraryMacro(const QString &projectName) } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/qtprojectparameters.h b/src/plugins/qt4projectmanager/wizards/qtprojectparameters.h index 2e9cdb2f19..2ded15d813 100644 --- a/src/plugins/qt4projectmanager/wizards/qtprojectparameters.h +++ b/src/plugins/qt4projectmanager/wizards/qtprojectparameters.h @@ -36,7 +36,7 @@ QT_BEGIN_NAMESPACE class QTextStream; QT_END_NAMESPACE -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { // Create a macro name by taking a file name, upper casing it and @@ -74,6 +74,6 @@ struct QtProjectParameters { }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // QTPROJECTPARAMETERS_H diff --git a/src/plugins/qt4projectmanager/wizards/qtquickapp.cpp b/src/plugins/qt4projectmanager/wizards/qtquickapp.cpp index eac1da521f..b252083f89 100644 --- a/src/plugins/qt4projectmanager/wizards/qtquickapp.cpp +++ b/src/plugins/qt4projectmanager/wizards/qtquickapp.cpp @@ -37,7 +37,7 @@ #include <coreplugin/icore.h> #endif // CREATORLESSTEST -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { QtQuickApp::QtQuickApp() @@ -282,4 +282,4 @@ QString QtQuickApp::componentSetDir(ComponentSet componentSet) const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/qtquickapp.h b/src/plugins/qt4projectmanager/wizards/qtquickapp.h index 1f8db6732d..7f08bbfca9 100644 --- a/src/plugins/qt4projectmanager/wizards/qtquickapp.h +++ b/src/plugins/qt4projectmanager/wizards/qtquickapp.h @@ -32,7 +32,7 @@ #include "abstractmobileapp.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { struct QtQuickAppGeneratedFileInfo : public AbstractGeneratedFileInfo @@ -122,6 +122,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // QTQUICKAPP_H diff --git a/src/plugins/qt4projectmanager/wizards/qtquickappwizard.cpp b/src/plugins/qt4projectmanager/wizards/qtquickappwizard.cpp index 7c9f5f0164..1a3ab05c44 100644 --- a/src/plugins/qt4projectmanager/wizards/qtquickappwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/qtquickappwizard.cpp @@ -31,7 +31,7 @@ #include "qtquickapp.h" #include "qtquickappwizardpages.h" -#include "../qt4projectmanagerconstants.h" +#include "../qmakeprojectmanagerconstants.h" #include <qtsupport/qtsupportconstants.h> #include <qtsupport/baseqtversion.h> @@ -41,7 +41,7 @@ #include <QIcon> #include <QDebug> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class QtQuickAppWizardDialog : public AbstractMobileAppWizardDialog @@ -108,7 +108,7 @@ QtQuickAppWizard::QtQuickAppWizard() : d(new QtQuickAppWizardPrivate) { setWizardKind(ProjectWizard); - setIcon(QIcon(QLatin1String(Qt4ProjectManager::Constants::ICON_QTQUICK_APP))); + setIcon(QIcon(QLatin1String(QmakeProjectManager::Constants::ICON_QTQUICK_APP))); setId(QLatin1String("D.QMLA Application")); setCategory(QLatin1String(ProjectExplorer::Constants::QT_APPLICATION_WIZARD_CATEGORY)); setDisplayCategory(QLatin1String(ProjectExplorer::Constants::QT_APPLICATION_WIZARD_CATEGORY_DISPLAY)); @@ -137,7 +137,7 @@ void QtQuickAppWizard::createInstances(ExtensionSystem::IPlugin *plugin) wizard->setDisplayName(tr("Qt Quick 1 Application (Built-in Types)")); wizard->setDescription(basicDescription + tr("The built-in QML types in the QtQuick 1 namespace allow " "you to write cross-platform applications with " - "a custom look and feel.\n\nRequires <b>Qt 4.7.0</b> or newer.")); + "a custom look and feel.\n\nRequires <b>Qt 4.8.0</b> or newer.")); wizard->setRequiredFeatures(basicFeatures); plugin->addAutoReleasedObject(wizard); @@ -159,7 +159,7 @@ void QtQuickAppWizard::createInstances(ExtensionSystem::IPlugin *plugin) "existing QML files. All files and directories that " "reside in the same directory as the main .qml file " "are deployed. You can modify the contents of the " - "directory any time before deploying.\n\nRequires <b>Qt 4.7.0</b> or newer.")); + "directory any time before deploying.\n\nRequires <b>Qt 4.8.0</b> or newer.")); wizard->setRequiredFeatures(basicFeatures); plugin->addAutoReleasedObject(wizard); @@ -270,6 +270,6 @@ AbstractMobileAppWizardDialog *QtQuickAppWizard::wizardDialog() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #include "qtquickappwizard.moc" diff --git a/src/plugins/qt4projectmanager/wizards/qtquickappwizard.h b/src/plugins/qt4projectmanager/wizards/qtquickappwizard.h index b625403041..ef93c432fc 100644 --- a/src/plugins/qt4projectmanager/wizards/qtquickappwizard.h +++ b/src/plugins/qt4projectmanager/wizards/qtquickappwizard.h @@ -32,7 +32,7 @@ #include "abstractmobileappwizard.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class QtQuickAppWizard : public AbstractMobileAppWizard @@ -71,6 +71,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // QTQUICKAPPWIZARD_H diff --git a/src/plugins/qt4projectmanager/wizards/qtquickappwizardpages.cpp b/src/plugins/qt4projectmanager/wizards/qtquickappwizardpages.cpp index 0048c20f15..4e27920757 100644 --- a/src/plugins/qt4projectmanager/wizards/qtquickappwizardpages.cpp +++ b/src/plugins/qt4projectmanager/wizards/qtquickappwizardpages.cpp @@ -30,7 +30,7 @@ #include "qtquickappwizardpages.h" #include "ui_qtquickcomponentsetoptionspage.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class QtQuickComponentSetOptionsPagePrivate @@ -69,4 +69,4 @@ bool QtQuickComponentSetOptionsPage::isComplete() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/qtquickappwizardpages.h b/src/plugins/qt4projectmanager/wizards/qtquickappwizardpages.h index 7c82e2db3f..a62003143a 100644 --- a/src/plugins/qt4projectmanager/wizards/qtquickappwizardpages.h +++ b/src/plugins/qt4projectmanager/wizards/qtquickappwizardpages.h @@ -32,7 +32,7 @@ #include <QWizardPage> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class QtQuickComponentSetOptionsPage : public QWizardPage @@ -51,6 +51,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // QTQUICKAPPWIZARDPAGES_H diff --git a/src/plugins/qt4projectmanager/wizards/qtquickcomponentsetoptionspage.ui b/src/plugins/qt4projectmanager/wizards/qtquickcomponentsetoptionspage.ui index 47f82a4cde..df791b10bc 100644 --- a/src/plugins/qt4projectmanager/wizards/qtquickcomponentsetoptionspage.ui +++ b/src/plugins/qt4projectmanager/wizards/qtquickcomponentsetoptionspage.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>Qt4ProjectManager::Internal::QtQuickComponentSetOptionsPage</class> - <widget class="QWizardPage" name="Qt4ProjectManager::Internal::QtQuickComponentSetOptionsPage"> + <class>QmakeProjectManager::Internal::QtQuickComponentSetOptionsPage</class> + <widget class="QWizardPage" name="QmakeProjectManager::Internal::QtQuickComponentSetOptionsPage"> <property name="geometry"> <rect> <x>0</x> diff --git a/src/plugins/qt4projectmanager/wizards/qtwizard.cpp b/src/plugins/qt4projectmanager/wizards/qtwizard.cpp index 78d4a6a3cb..8d10bf02c9 100644 --- a/src/plugins/qt4projectmanager/wizards/qtwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/qtwizard.cpp @@ -31,9 +31,9 @@ #include "modulespage.h" -#include <qt4projectmanager/qt4project.h> -#include <qt4projectmanager/qt4projectmanager.h> -#include <qt4projectmanager/qt4projectmanagerconstants.h> +#include <qt4projectmanager/qmakeproject.h> +#include <qt4projectmanager/qmakeprojectmanager.h> +#include <qt4projectmanager/qmakeprojectmanagerconstants.h> #include <coreplugin/icore.h> @@ -50,8 +50,8 @@ #include <QVariant> using namespace ProjectExplorer; -using namespace Qt4ProjectManager; -using namespace Qt4ProjectManager::Internal; +using namespace QmakeProjectManager; +using namespace QmakeProjectManager::Internal; // -------------------- QtWizard QtWizard::QtWizard() diff --git a/src/plugins/qt4projectmanager/wizards/qtwizard.h b/src/plugins/qt4projectmanager/wizards/qtwizard.h index bb78c12d6c..de266f071e 100644 --- a/src/plugins/qt4projectmanager/wizards/qtwizard.h +++ b/src/plugins/qt4projectmanager/wizards/qtwizard.h @@ -39,7 +39,7 @@ class Kit; class TargetSetupPage; } // namespace ProjectExplorer -namespace Qt4ProjectManager { +namespace QmakeProjectManager { class Qt4Project; @@ -151,6 +151,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // QTWIZARD_H diff --git a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.cpp b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.cpp index 816b60e3ef..53b5f123a7 100644 --- a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.cpp @@ -37,7 +37,7 @@ #include <QCoreApplication> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { SubdirsProjectWizard::SubdirsProjectWizard() @@ -100,4 +100,4 @@ bool SubdirsProjectWizard::postGenerateFiles(const QWizard *w, const Core::Gener } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.h b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.h index c17ca2a8c3..889b5ed855 100644 --- a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.h +++ b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.h @@ -32,7 +32,7 @@ #include "qtwizard.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class SubdirsProjectWizard : public QtWizard @@ -51,6 +51,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // SUBDIRSPROJECTWIZARD_H diff --git a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.cpp index 94a1b8aca6..df73cd8a29 100644 --- a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.cpp @@ -30,7 +30,7 @@ #include "subdirsprojectwizarddialog.h" #include <projectexplorer/projectexplorerconstants.h> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { SubdirsProjectWizardDialog::SubdirsProjectWizardDialog(const QString &templateName, @@ -61,4 +61,4 @@ QtProjectParameters SubdirsProjectWizardDialog::parameters() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.h b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.h index fbd51812ea..69c493881d 100644 --- a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.h +++ b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.h @@ -32,7 +32,7 @@ #include "qtwizard.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { struct QtProjectParameters; @@ -50,6 +50,6 @@ public: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // SUBDIRSPROJECTWIZARDDIALOG_H diff --git a/src/plugins/qt4projectmanager/wizards/testwizard.cpp b/src/plugins/qt4projectmanager/wizards/testwizard.cpp index e9472028c3..49862379cf 100644 --- a/src/plugins/qt4projectmanager/wizards/testwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/testwizard.cpp @@ -40,7 +40,7 @@ #include <QTextStream> #include <QFileInfo> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { TestWizard::TestWizard() @@ -184,4 +184,4 @@ Core::GeneratedFiles TestWizard::generateFiles(const QWizard *w, QString *errorM } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/testwizard.h b/src/plugins/qt4projectmanager/wizards/testwizard.h index f8ffa99bf3..5dbc77566e 100644 --- a/src/plugins/qt4projectmanager/wizards/testwizard.h +++ b/src/plugins/qt4projectmanager/wizards/testwizard.h @@ -32,7 +32,7 @@ #include "qtwizard.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class TestWizard : public QtWizard @@ -50,6 +50,6 @@ protected: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // TESTWIZARD_H diff --git a/src/plugins/qt4projectmanager/wizards/testwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/testwizarddialog.cpp index fa90d9e5d8..53e3847931 100644 --- a/src/plugins/qt4projectmanager/wizards/testwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/testwizarddialog.cpp @@ -35,7 +35,7 @@ enum PageIds { StartPageId = 0 }; -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { const char *TestWizardParameters::filePrefix = "tst_"; @@ -95,4 +95,4 @@ QtProjectParameters TestWizardDialog::projectParameters() const } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/testwizarddialog.h b/src/plugins/qt4projectmanager/wizards/testwizarddialog.h index 4f421c64d9..e2afee117c 100644 --- a/src/plugins/qt4projectmanager/wizards/testwizarddialog.h +++ b/src/plugins/qt4projectmanager/wizards/testwizarddialog.h @@ -32,7 +32,7 @@ #include "qtwizard.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { class TestWizardPage; @@ -80,6 +80,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // TESTWIZARDDIALOG_H diff --git a/src/plugins/qt4projectmanager/wizards/testwizardpage.cpp b/src/plugins/qt4projectmanager/wizards/testwizardpage.cpp index f1f211370b..b48f405064 100644 --- a/src/plugins/qt4projectmanager/wizards/testwizardpage.cpp +++ b/src/plugins/qt4projectmanager/wizards/testwizardpage.cpp @@ -32,7 +32,7 @@ #include "qtwizard.h" #include "ui_testwizardpage.h" -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { TestWizardPage::TestWizardPage(QWidget *parent) : @@ -134,4 +134,4 @@ void TestWizardPage::slotUpdateValid() } } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/testwizardpage.h b/src/plugins/qt4projectmanager/wizards/testwizardpage.h index 69b0ae77b4..52e46b3690 100644 --- a/src/plugins/qt4projectmanager/wizards/testwizardpage.h +++ b/src/plugins/qt4projectmanager/wizards/testwizardpage.h @@ -32,7 +32,7 @@ #include <QWizardPage> -namespace Qt4ProjectManager { +namespace QmakeProjectManager { namespace Internal { namespace Ui { @@ -73,6 +73,6 @@ private: }; } // namespace Internal -} // namespace Qt4ProjectManager +} // namespace QmakeProjectManager #endif // TESTWIZARDPAGE_H diff --git a/src/plugins/qt4projectmanager/wizards/testwizardpage.ui b/src/plugins/qt4projectmanager/wizards/testwizardpage.ui index 4c46aae057..6b964d8877 100644 --- a/src/plugins/qt4projectmanager/wizards/testwizardpage.ui +++ b/src/plugins/qt4projectmanager/wizards/testwizardpage.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>Qt4ProjectManager::Internal::TestWizardPage</class> - <widget class="QWizardPage" name="Qt4ProjectManager::Internal::TestWizardPage"> + <class>QmakeProjectManager::Internal::TestWizardPage</class> + <widget class="QWizardPage" name="QmakeProjectManager::Internal::TestWizardPage"> <property name="windowTitle"> <string>WizardPage</string> </property> diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 98ca503fb1..ced6d1defe 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -872,7 +872,6 @@ FileName BaseQtVersion::mkspecPath() const bool BaseQtVersion::hasMkspec(const FileName &spec) const { - updateVersionInfo(); QFileInfo fi; fi.setFile(QDir::fromNativeSeparators(qmakeProperty("QT_HOST_DATA")) + QLatin1String("/mkspecs/") + spec.toString()); @@ -930,9 +929,9 @@ void BaseQtVersion::updateVersionInfo() const } m_qmakeIsExecutable = true; - const QString qtInstallData = qmakeProperty("QT_INSTALL_DATA"); - const QString qtInstallBins = qmakeProperty("QT_INSTALL_BINS"); - const QString qtHeaderData = qmakeProperty("QT_INSTALL_HEADERS"); + const QString qtInstallData = qmakeProperty(m_versionInfo, "QT_INSTALL_DATA"); + const QString qtInstallBins = qmakeProperty(m_versionInfo, "QT_INSTALL_BINS"); + const QString qtHeaderData = qmakeProperty(m_versionInfo, "QT_INSTALL_HEADERS"); if (!qtInstallData.isNull()) { if (!qtInstallData.isEmpty()) { m_hasDebuggingHelper = !DebuggingHelperLibrary::debuggingHelperLibraryByInstallData(qtInstallData).isEmpty(); @@ -947,7 +946,7 @@ void BaseQtVersion::updateVersionInfo() const } // Now check for a qt that is configured with a prefix but not installed - QString installDir = qmakeProperty("QT_HOST_BINS"); + QString installDir = qmakeProperty(m_versionInfo, "QT_HOST_BINS"); if (!installDir.isNull()) { QFileInfo fi(installDir); if (!fi.exists()) @@ -962,25 +961,25 @@ void BaseQtVersion::updateVersionInfo() const m_installed = false; } } - const QString qtInstallDocs = qmakeProperty("QT_INSTALL_DOCS"); + const QString qtInstallDocs = qmakeProperty(m_versionInfo, "QT_INSTALL_DOCS"); if (!qtInstallDocs.isNull()) { const QFileInfo fi(qtInstallDocs); if (fi.exists()) m_hasDocumentation = true; } - const QString qtInstallExamples = qmakeProperty("QT_INSTALL_EXAMPLES"); + const QString qtInstallExamples = qmakeProperty(m_versionInfo, "QT_INSTALL_EXAMPLES"); if (!qtInstallExamples.isNull()) { const QFileInfo fi(qtInstallExamples); if (fi.exists()) m_hasExamples = true; } - const QString qtInstallDemos = qmakeProperty("QT_INSTALL_DEMOS"); + const QString qtInstallDemos = qmakeProperty(m_versionInfo, "QT_INSTALL_DEMOS"); if (!qtInstallDemos.isNull()) { const QFileInfo fi(qtInstallDemos); if (fi.exists()) m_hasDemos = true; } - m_qtVersionString = qmakeProperty("QT_VERSION"); + m_qtVersionString = qmakeProperty(m_versionInfo, "QT_VERSION"); m_versionInfoUpToDate = true; } @@ -1003,6 +1002,7 @@ QString BaseQtVersion::qmakeProperty(const QHash<QString,QString> &versionInfo, QString BaseQtVersion::qmakeProperty(const QByteArray &name) const { + updateVersionInfo(); return qmakeProperty(m_versionInfo, name); } @@ -1014,7 +1014,6 @@ bool BaseQtVersion::hasDocumentation() const QString BaseQtVersion::documentationPath() const { - updateVersionInfo(); return qmakeProperty("QT_INSTALL_DOCS"); } @@ -1026,16 +1025,13 @@ bool BaseQtVersion::hasDemos() const QString BaseQtVersion::demosPath() const { - updateVersionInfo(); return qmakeProperty("QT_INSTALL_DEMOS"); } QString BaseQtVersion::frameworkInstallPath() const { - if (HostOsInfo::isMacHost()) { - updateVersionInfo(); - return m_versionInfo.value(QLatin1String("QT_INSTALL_LIBS")); - } + if (HostOsInfo::isMacHost()) + return qmakeProperty("QT_INSTALL_LIBS"); return QString(); } @@ -1047,7 +1043,6 @@ bool BaseQtVersion::hasExamples() const QString BaseQtVersion::examplesPath() const { - updateVersionInfo(); return qmakeProperty("QT_INSTALL_EXAMPLES"); } @@ -1103,14 +1098,12 @@ bool BaseQtVersion::hasQmlDump() const bool BaseQtVersion::hasQmlDumpWithRelocatableFlag() const { - updateVersionInfo(); return ((qtVersion() > QtVersionNumber(4, 8, 4) && qtVersion() < QtVersionNumber(5, 0, 0)) || qtVersion() >= QtVersionNumber(5, 1, 0)); } bool BaseQtVersion::needsQmlDump() const { - updateVersionInfo(); return qtVersion() < QtVersionNumber(4, 8, 0); } @@ -1122,7 +1115,6 @@ bool BaseQtVersion::hasQmlDebuggingLibrary() const bool BaseQtVersion::needsQmlDebuggingLibrary() const { - updateVersionInfo(); return qtVersion() < QtVersionNumber(4, 8, 0); } @@ -1219,7 +1211,7 @@ QList<Task> BaseQtVersion::reportIssuesImpl(const QString &proFile, const QStrin if (!isValid()) { //: %1: Reason for being invalid - const QString msg = QCoreApplication::translate("Qt4ProjectManager::QtVersion", "The Qt version is invalid: %1").arg(invalidReason()); + const QString msg = QCoreApplication::translate("QmakeProjectManager::QtVersion", "The Qt version is invalid: %1").arg(invalidReason()); results.append(Task(Task::Error, msg, FileName(), -1, ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)); } @@ -1228,7 +1220,7 @@ QList<Task> BaseQtVersion::reportIssuesImpl(const QString &proFile, const QStrin if (!qmakeInfo.exists() || !qmakeInfo.isExecutable()) { //: %1: Path to qmake executable - const QString msg = QCoreApplication::translate("Qt4ProjectManager::QtVersion", + const QString msg = QCoreApplication::translate("QmakeProjectManager::QtVersion", "The qmake command \"%1\" was not found or is not executable.").arg(qmakeCommand().toUserOutput()); results.append(Task(Task::Error, msg, FileName(), -1, ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)); @@ -1239,12 +1231,12 @@ QList<Task> BaseQtVersion::reportIssuesImpl(const QString &proFile, const QStrin if (!sourcePath.endsWith(slash)) sourcePath.append(slash); if ((tmpBuildDir.startsWith(sourcePath)) && (tmpBuildDir != sourcePath)) { - const QString msg = QCoreApplication::translate("Qt4ProjectManager::QtVersion", + const QString msg = QCoreApplication::translate("QmakeProjectManager::QtVersion", "Qmake does not support build directories below the source directory."); results.append(Task(Task::Warning, msg, FileName(), -1, ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)); } else if (tmpBuildDir.count(slash) != sourcePath.count(slash) && qtVersion() < QtVersionNumber(4,8, 0)) { - const QString msg = QCoreApplication::translate("Qt4ProjectManager::QtVersion", + const QString msg = QCoreApplication::translate("QmakeProjectManager::QtVersion", "The build directory needs to be at the same level as the source directory."); results.append(Task(Task::Warning, msg, FileName(), -1, diff --git a/src/plugins/qtsupport/baseqtversion.h b/src/plugins/qtsupport/baseqtversion.h index 6ff0b22bf0..591717d90f 100644 --- a/src/plugins/qtsupport/baseqtversion.h +++ b/src/plugins/qtsupport/baseqtversion.h @@ -123,8 +123,6 @@ public: // Returns the PREFIX, BINPREFIX, DOCPREFIX and similar information QHash<QString,QString> versionInfo() const; enum PropertyVariant { PropertyVariantGet, PropertyVariantSrc }; - static QString qmakeProperty(const QHash<QString,QString> &versionInfo, const QByteArray &name, - PropertyVariant variant = PropertyVariantGet); QString qmakeProperty(const QByteArray &name) const; virtual void addToEnvironment(const ProjectExplorer::Kit *k, Utils::Environment &env) const; virtual Utils::Environment qmakeRunEnvironment() const; @@ -243,6 +241,9 @@ protected: BaseQtVersion(); BaseQtVersion(const Utils::FileName &path, bool isAutodetected = false, const QString &autodetectionSource = QString()); + static QString qmakeProperty(const QHash<QString,QString> &versionInfo, const QByteArray &name, + PropertyVariant variant = PropertyVariantGet); + virtual QList<ProjectExplorer::Task> reportIssuesImpl(const QString &proFile, const QString &buildDir) const; // helper function for desktop and simulator to figure out the supported abis based on the libraries diff --git a/src/plugins/qtsupport/qmldebugginglibrary.cpp b/src/plugins/qtsupport/qmldebugginglibrary.cpp index b68073e607..f2a90a45ad 100644 --- a/src/plugins/qtsupport/qmldebugginglibrary.cpp +++ b/src/plugins/qtsupport/qmldebugginglibrary.cpp @@ -64,12 +64,12 @@ bool QmlDebuggingLibrary::canBuild(const BaseQtVersion *qtVersion, QString *reas { if (qtVersion->qtVersion() < QtVersionNumber(4, 7, 1)) { if (reason) - *reason = QCoreApplication::translate("Qt4ProjectManager::QmlDebuggingLibrary", "Only available for Qt 4.7.1 or newer."); + *reason = QCoreApplication::translate("QmakeProjectManager::QmlDebuggingLibrary", "Only available for Qt 4.7.1 or newer."); return false; } if (qtVersion->qtVersion() >= QtVersionNumber(4, 8, 0)) { if (reason) - *reason = QCoreApplication::translate("Qt4ProjectManager::QmlDebuggingLibrary", "Not needed."); + *reason = QCoreApplication::translate("QmakeProjectManager::QmlDebuggingLibrary", "Not needed."); return false; } return true; @@ -77,7 +77,7 @@ bool QmlDebuggingLibrary::canBuild(const BaseQtVersion *qtVersion, QString *reas bool QmlDebuggingLibrary::build(BuildHelperArguments arguments, QString *log, QString *errorMessage) { - arguments.helperName = QCoreApplication::translate("Qt4ProjectManager::QmlDebuggingLibrary", "QML Debugging"); + arguments.helperName = QCoreApplication::translate("QmakeProjectManager::QmlDebuggingLibrary", "QML Debugging"); arguments.proFilename = QLatin1String("qmljsdebugger.pro"); return buildHelper(arguments, log, errorMessage); } @@ -85,7 +85,7 @@ bool QmlDebuggingLibrary::build(BuildHelperArguments arguments, QString *log, Q static inline bool mkpath(const QString &targetDirectory, QString *errorMessage) { if (!QDir().mkpath(targetDirectory)) { - *errorMessage = QCoreApplication::translate("Qt4ProjectManager::QmlDebuggingLibrary", "The target directory %1 could not be created.").arg(targetDirectory); + *errorMessage = QCoreApplication::translate("QmakeProjectManager::QmlDebuggingLibrary", "The target directory %1 could not be created.").arg(targetDirectory); return false; } return true; @@ -109,7 +109,7 @@ QString QmlDebuggingLibrary::copy(const QString &qtInstallData, QString *errorMe return directory; } } - *errorMessage = QCoreApplication::translate("Qt4ProjectManager::QmlDebuggingLibrary", + *errorMessage = QCoreApplication::translate("QmakeProjectManager::QmlDebuggingLibrary", "QML Debugging library could not be built in any of the directories:\n- %1\n\nReason: %2") .arg(directories.join(QLatin1String("\n- ")), *errorMessage); return QString(); diff --git a/src/plugins/qtsupport/qmldumptool.cpp b/src/plugins/qtsupport/qmldumptool.cpp index 5edc01b33a..044daada7f 100644 --- a/src/plugins/qtsupport/qmldumptool.cpp +++ b/src/plugins/qtsupport/qmldumptool.cpp @@ -195,24 +195,24 @@ bool QmlDumpTool::canBuild(const BaseQtVersion *qtVersion, QString *reason) if (qtVersion->type() != QLatin1String(Constants::DESKTOPQT) && qtVersion->type() != QLatin1String(Constants::SIMULATORQT)) { if (reason) - *reason = QCoreApplication::translate("Qt4ProjectManager::QmlDumpTool", "Only available for Qt for Desktop and Qt for Qt Simulator."); + *reason = QCoreApplication::translate("QmakeProjectManager::QmlDumpTool", "Only available for Qt for Desktop and Qt for Qt Simulator."); return false; } if (qtVersion->qtVersion() < QtVersionNumber(4, 7, 1)) { if (reason) - *reason = QCoreApplication::translate("Qt4ProjectManager::QmlDumpTool", "Only available for Qt 4.7.1 or newer."); + *reason = QCoreApplication::translate("QmakeProjectManager::QmlDumpTool", "Only available for Qt 4.7.1 or newer."); return false; } if (qtVersion->qtVersion() >= QtVersionNumber(4, 8, 0)) { if (reason) - *reason = QCoreApplication::translate("Qt4ProjectManager::QmlDumpTool", "Not needed."); + *reason = QCoreApplication::translate("QmakeProjectManager::QmlDumpTool", "Not needed."); return false; } if (!hasPrivateHeaders(installHeaders)) { if (reason) - *reason = QCoreApplication::translate("Qt4ProjectManager::QmlDumpTool", "Private headers are missing for this Qt version."); + *reason = QCoreApplication::translate("QmakeProjectManager::QmlDumpTool", "Private headers are missing for this Qt version."); return false; } return true; @@ -280,7 +280,7 @@ QStringList QmlDumpTool::locationsByInstallData(const QString &qtInstallData, bo bool QmlDumpTool::build(BuildHelperArguments arguments, QString *log, QString *errorMessage) { - arguments.helperName = QCoreApplication::translate("Qt4ProjectManager::QmlDumpTool", "qmldump"); + arguments.helperName = QCoreApplication::translate("QmakeProjectManager::QmlDumpTool", "qmldump"); arguments.proFilename = QLatin1String("qmldump.pro"); return buildHelper(arguments, log, errorMessage); } @@ -327,7 +327,7 @@ void QmlDumpTool::pathAndEnvironment(Project *project, BaseQtVersion *version, buildTask->updateProjectWhenDone(project, preferDebug); QFuture<void> task = QtConcurrent::run(&QmlDumpBuildTask::run, buildTask); const QString taskName = QmlDumpBuildTask::tr("Building helper"); - Core::ProgressManager::addTask(task, taskName, "Qt4ProjectManager::BuildHelpers"); + Core::ProgressManager::addTask(task, taskName, "QmakeProjectManager::BuildHelpers"); } return; } diff --git a/src/plugins/qtsupport/qmlobservertool.cpp b/src/plugins/qtsupport/qmlobservertool.cpp index 1ce7414a3d..9479645293 100644 --- a/src/plugins/qtsupport/qmlobservertool.cpp +++ b/src/plugins/qtsupport/qmlobservertool.cpp @@ -93,18 +93,18 @@ bool QmlObserverTool::canBuild(const BaseQtVersion *qtVersion, QString *reason) if (qtVersion->type() != QLatin1String(Constants::DESKTOPQT) && qtVersion->type() != QLatin1String(Constants::SIMULATORQT)) { if (reason) - *reason = QCoreApplication::translate("Qt4ProjectManager::QmlObserverTool", "Only available for Qt for Desktop or Qt for Qt Simulator."); + *reason = QCoreApplication::translate("QmakeProjectManager::QmlObserverTool", "Only available for Qt for Desktop or Qt for Qt Simulator."); return false; } if (qtVersion->qtVersion() < QtVersionNumber(4, 7, 1)) { if (reason) - *reason = QCoreApplication::translate("Qt4ProjectManager::QmlObserverTool", "Only available for Qt 4.7.1 or newer."); + *reason = QCoreApplication::translate("QmakeProjectManager::QmlObserverTool", "Only available for Qt 4.7.1 or newer."); return false; } if (qtVersion->qtVersion() >= QtVersionNumber(4, 8, 0)) { if (reason) - *reason = QCoreApplication::translate("Qt4ProjectManager::QmlObserverTool", "Not needed."); + *reason = QCoreApplication::translate("QmakeProjectManager::QmlObserverTool", "Not needed."); return false; } return true; @@ -135,7 +135,7 @@ QStringList QmlObserverTool::locationsByInstallData(const QString &qtInstallData bool QmlObserverTool::build(BuildHelperArguments arguments, QString *log, QString *errorMessage) { - arguments.helperName = QCoreApplication::translate("Qt4ProjectManager::QmlObserverTool", "QMLObserver"); + arguments.helperName = QCoreApplication::translate("QmakeProjectManager::QmlObserverTool", "QMLObserver"); arguments.proFilename = QLatin1String("qmlobserver.pro"); return buildHelper(arguments, log, errorMessage); diff --git a/src/plugins/qtsupport/qtoptionspage.cpp b/src/plugins/qtsupport/qtoptionspage.cpp index 525fdb9864..e3047d39c1 100644 --- a/src/plugins/qtsupport/qtoptionspage.cpp +++ b/src/plugins/qtsupport/qtoptionspage.cpp @@ -458,7 +458,7 @@ void QtOptionsPageWidget::buildDebuggingHelper(DebuggingHelperBuildTask::Tools t QFuture<void> task = QtConcurrent::run(&DebuggingHelperBuildTask::run, buildTask); const QString taskName = tr("Building helpers"); - Core::ProgressManager::addTask(task, taskName, "Qt4ProjectManager::BuildHelpers"); + Core::ProgressManager::addTask(task, taskName, "QmakeProjectManager::BuildHelpers"); } void QtOptionsPageWidget::buildGdbHelper() { diff --git a/src/plugins/qtsupport/qtsupportconstants.h b/src/plugins/qtsupport/qtsupportconstants.h index b178b842e0..95c6a62f4e 100644 --- a/src/plugins/qtsupport/qtsupportconstants.h +++ b/src/plugins/qtsupport/qtsupportconstants.h @@ -38,7 +38,6 @@ const char QTVERSION_SETTINGS_PAGE_ID[] = "H.Qt Versions"; const char QTVERSION_SETTINGS_PAGE_NAME[] = QT_TRANSLATE_NOOP("Qt4ProjectManager", "Qt Versions"); // QtVersions -const char MAEMOQT[] = "Qt4ProjectManager.QtVersion.Maemo"; const char DESKTOPQT[] = "Qt4ProjectManager.QtVersion.Desktop"; const char SIMULATORQT[] = "Qt4ProjectManager.QtVersion.Simulator"; const char WINCEQT[] = "Qt4ProjectManager.QtVersion.WinCE"; diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index beb49cb46d..a05df114a2 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -498,8 +498,6 @@ BaseTextEditor *BaseTextEditorWidget::editor() const d->m_codeAssistant->configure(d->m_editor); connect(this, SIGNAL(textChanged()), d->m_editor, SIGNAL(contentsChanged())); - connect(this, SIGNAL(changed()), - d->m_editor->document(), SIGNAL(changed())); connect(qobject_cast<BaseTextDocument *>(d->m_editor->document()),SIGNAL(mimeTypeChanged()), d->m_codeAssistant.data(), SLOT(reconfigure())); } @@ -2476,6 +2474,7 @@ void BaseTextEditorWidgetPrivate::setupDocumentSignals(const QSharedPointer<Base if (!oldDocument.isNull()) { q->disconnect(oldDocument->document(), 0, q, 0); q->disconnect(oldDocument.data(), 0, q, 0); + q->disconnect(q, 0, oldDocument.data(), 0); } QTextDocument *doc = document->document(); @@ -2498,6 +2497,7 @@ void BaseTextEditorWidgetPrivate::setupDocumentSignals(const QSharedPointer<Base QObject::connect(documentLayout, SIGNAL(updateExtraArea()), q, SLOT(slotUpdateExtraArea())); QObject::connect(q, SIGNAL(requestBlockUpdate(QTextBlock)), documentLayout, SIGNAL(updateBlock(QTextBlock))); QObject::connect(doc, SIGNAL(modificationChanged(bool)), q, SIGNAL(changed())); + QObject::connect(q, SIGNAL(changed()), document.data(), SIGNAL(changed())); QObject::connect(doc, SIGNAL(contentsChange(int,int,int)), q, SLOT(editorContentsChange(int,int,int)), Qt::DirectConnection); QObject::connect(document.data(), SIGNAL(aboutToReload()), q, SLOT(documentAboutToBeReloaded())); diff --git a/src/plugins/texteditor/codeassist/functionhintproposal.cpp b/src/plugins/texteditor/codeassist/functionhintproposal.cpp index 0a46436b91..226d50308b 100644 --- a/src/plugins/texteditor/codeassist/functionhintproposal.cpp +++ b/src/plugins/texteditor/codeassist/functionhintproposal.cpp @@ -43,7 +43,7 @@ FunctionHintProposal::~FunctionHintProposal() bool FunctionHintProposal::isFragile() const { - return false; + return true; } int FunctionHintProposal::basePosition() const diff --git a/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp b/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp index e0023976c0..d74878f2f2 100644 --- a/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp +++ b/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp @@ -212,13 +212,18 @@ bool FunctionHintProposalWidget::eventFilter(QObject *obj, QEvent *e) return false; } break; - case QEvent::KeyRelease: - if (static_cast<QKeyEvent*>(e)->key() == Qt::Key_Escape && d->m_escapePressed) { - abort(); - emit explicitlyAborted(); - return false; + case QEvent::KeyRelease: { + QKeyEvent *ke = static_cast<QKeyEvent*>(e); + if (ke->key() == Qt::Key_Escape && d->m_escapePressed) { + abort(); + emit explicitlyAborted(); + return false; + } else if (ke->key() == Qt::Key_Up || ke->key() == Qt::Key_Down) { + if (d->m_model->size() > 1) + return false; + } + d->m_assistant->notifyChange(); } - d->m_assistant->notifyChange(); break; case QEvent::WindowDeactivate: case QEvent::FocusOut: diff --git a/src/plugins/texteditor/texteditoractionhandler.cpp b/src/plugins/texteditor/texteditoractionhandler.cpp index 7c492a44b0..15cd1c82c4 100644 --- a/src/plugins/texteditor/texteditoractionhandler.cpp +++ b/src/plugins/texteditor/texteditoractionhandler.cpp @@ -560,6 +560,11 @@ FUNCTION(gotoNextWordCamelCase) FUNCTION(gotoNextWordCamelCaseWithSelection) +BaseTextEditorWidget *TextEditorActionHandler::resolveTextEditorWidget(Core::IEditor *editor) const +{ + return qobject_cast<BaseTextEditorWidget *>(editor->widget()); +} + void TextEditorActionHandler::updateCurrentEditor(Core::IEditor *editor) { m_currentEditor = 0; @@ -567,7 +572,7 @@ void TextEditorActionHandler::updateCurrentEditor(Core::IEditor *editor) if (!editor) return; - BaseTextEditorWidget *baseEditor = qobject_cast<BaseTextEditorWidget *>(editor->widget()); + BaseTextEditorWidget *baseEditor = resolveTextEditorWidget(editor); if (baseEditor && baseEditor->actionHack() == this) { m_currentEditor = baseEditor; diff --git a/src/plugins/texteditor/texteditoractionhandler.h b/src/plugins/texteditor/texteditoractionhandler.h index 2e768b4b4e..a09e6a3a84 100644 --- a/src/plugins/texteditor/texteditoractionhandler.h +++ b/src/plugins/texteditor/texteditoractionhandler.h @@ -79,6 +79,7 @@ public slots: void updateCopyAction(); protected: + virtual BaseTextEditorWidget *resolveTextEditorWidget(Core::IEditor *editor) const; const QPointer<BaseTextEditorWidget> ¤tEditor() const; QAction *registerAction(const Core::Id &id, diff --git a/src/plugins/vcsbase/basecheckoutwizard.cpp b/src/plugins/vcsbase/basecheckoutwizard.cpp index 48ba1264c8..cbb0cf1eb2 100644 --- a/src/plugins/vcsbase/basecheckoutwizard.cpp +++ b/src/plugins/vcsbase/basecheckoutwizard.cpp @@ -124,6 +124,7 @@ void BaseCheckoutWizard::runWizard(const QString &path, QWidget *parent, const Q QMessageBox msgBox(QMessageBox::Warning, tr("Cannot Open Project"), tr("Failed to open project in '%1'.").arg(QDir::toNativeSeparators(checkoutPath))); msgBox.setDetailedText(errorMessage); + msgBox.addButton(QMessageBox::Ok); msgBox.exec(); } } diff --git a/src/plugins/vcsbase/vcsbaseclient.cpp b/src/plugins/vcsbase/vcsbaseclient.cpp index 65c7ec2679..540c82b421 100644 --- a/src/plugins/vcsbase/vcsbaseclient.cpp +++ b/src/plugins/vcsbase/vcsbaseclient.cpp @@ -357,10 +357,10 @@ void VcsBaseClient::diff(const QString &workingDir, const QStringList &files, vcsCmdString.toLatin1().constData(), id); editor->setWorkingDirectory(workingDir); - VcsBaseEditorParameterWidget *paramWidget = createDiffEditor(workingDir, files, extraOptions); - if (paramWidget != 0) { - connect(editor, SIGNAL(diffChunkReverted(VcsBase::DiffChunk)), - paramWidget, SLOT(executeCommand())); + VcsBaseEditorParameterWidget *paramWidget = editor->configurationWidget(); + if (!paramWidget && (paramWidget = createDiffEditor(workingDir, files, extraOptions))) { + // editor has been just created, createVcsEditor() didn't set a configuration widget yet + connect(editor, SIGNAL(diffChunkReverted(VcsBase::DiffChunk)), paramWidget, SLOT(executeCommand())); editor->setConfigurationWidget(paramWidget); } @@ -382,14 +382,15 @@ void VcsBaseClient::log(const QString &workingDir, const QStringList &files, const QString id = VcsBase::VcsBaseEditorWidget::getTitleId(workingDir, files); const QString title = vcsEditorTitle(vcsCmdString, id); const QString source = VcsBase::VcsBaseEditorWidget::getSource(workingDir, files); - VcsBase::VcsBaseEditorWidget *editor = createVcsEditor(kind, title, source, true, vcsCmdString.toLatin1().constData(), id); editor->setFileLogAnnotateEnabled(enableAnnotationContextMenu); - VcsBaseEditorParameterWidget *paramWidget = createLogEditor(workingDir, files, extraOptions); - if (paramWidget != 0) + VcsBaseEditorParameterWidget *paramWidget = editor->configurationWidget(); + if (!paramWidget && (paramWidget = createLogEditor(workingDir, files, extraOptions))) { + // editor has been just created, createVcsEditor() didn't set a configuration widget yet editor->setConfigurationWidget(paramWidget); + } QStringList args; const QStringList paramArgs = paramWidget != 0 ? paramWidget->arguments() : QStringList(); diff --git a/src/plugins/vcsbase/vcsbaseplugin.cpp b/src/plugins/vcsbase/vcsbaseplugin.cpp index 68578d0b61..395de4e238 100644 --- a/src/plugins/vcsbase/vcsbaseplugin.cpp +++ b/src/plugins/vcsbase/vcsbaseplugin.cpp @@ -95,8 +95,8 @@ struct State bool equals(const State &rhs) const; - inline bool hasFile() const { return !currentFile.isEmpty(); } - inline bool hasProject() const { return !currentProjectPath.isEmpty(); } + inline bool hasFile() const { return !currentFileTopLevel.isEmpty(); } + inline bool hasProject() const { return !currentProjectTopLevel.isEmpty(); } inline bool isEmpty() const { return !hasFile() && !hasProject(); } QString currentFile; @@ -280,12 +280,12 @@ void StateListener::slotStateChanged() } else { state.currentFileDirectory = currentFileInfo->absolutePath(); state.currentFileName = currentFileInfo->fileName(); - fileControl = Core::VcsManager::findVersionControlForDirectory( - state.currentFileDirectory, - &state.currentFileTopLevel); - if (!fileControl) - state.clearFile(); } + fileControl = Core::VcsManager::findVersionControlForDirectory( + state.currentFileDirectory, + &state.currentFileTopLevel); + if (!fileControl) + state.clearFile(); } // Check for project, find the control Core::IVersionControl *projectControl = 0; @@ -303,7 +303,9 @@ void StateListener::slotStateChanged() } } // Assemble state and emit signal. - Core::IVersionControl *vc = state.currentFile.isEmpty() ? projectControl : fileControl; + Core::IVersionControl *vc = fileControl; + if (!vc) + vc = projectControl; if (!vc) { state.clearPatchFile(); // Need a repository to patch Core::EditorManager::setWindowTitleVcsTopic(QString()); |