diff options
author | Eike Ziller <eike.ziller@digia.com> | 2012-11-16 15:31:02 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@digia.com> | 2012-11-16 15:31:02 +0100 |
commit | 3e7d94c3626c6904320018d2eedb1407925ed3d5 (patch) | |
tree | 57479823338e07de3c3ce41bdda46abf58f4ac57 /src/plugins | |
parent | 51bca851174c347edcc6b148ee3a67d70e5fa9eb (diff) | |
parent | 5981b1e5509395bc0eb0ff7071e63a529b31fb11 (diff) | |
download | qt-creator-3e7d94c3626c6904320018d2eedb1407925ed3d5.tar.gz |
Merge remote-tracking branch 'origin/2.6'
Conflicts:
qtcreator.pri
qtcreator.qbs
Change-Id: Ib5e7c433606406d123b4a384ae1b48e2dbb26824
Diffstat (limited to 'src/plugins')
19 files changed, 97 insertions, 69 deletions
diff --git a/src/plugins/clearcase/clearcaseplugin.cpp b/src/plugins/clearcase/clearcaseplugin.cpp index f2f30dfa99..400b608afa 100644 --- a/src/plugins/clearcase/clearcaseplugin.cpp +++ b/src/plugins/clearcase/clearcaseplugin.cpp @@ -82,6 +82,7 @@ #include <QMainWindow> #include <QMenu> #include <QMessageBox> +#include <QMetaObject> #include <QMutex> #include <QProcess> #include <QRegExp> @@ -89,7 +90,6 @@ #include <QtConcurrentRun> #include <QTemporaryFile> #include <QTextCodec> -#include <QTimer> #include <QtPlugin> #include <QUrl> #include <QUuid> @@ -643,11 +643,11 @@ void ClearCasePlugin::addCurrentFile() vcsAdd(state.currentFileTopLevel(), state.relativeCurrentFile()); } -void ClearCasePlugin::setStatus(const QString &file, ClearCase::Internal::FileStatus::Status status, bool update) +void ClearCasePlugin::setStatus(const QString &file, FileStatus::Status status, bool update) { m_statusMap->insert(file, FileStatus(status, QFileInfo(currentState().topLevel(), file).permissions())); if (update && (currentState().relativeCurrentFile() == file)) - updateStatusActions(); + QMetaObject::invokeMethod(this, "updateStatusActions"); } void ClearCasePlugin::undoCheckOutCurrent() @@ -973,7 +973,7 @@ void ClearCasePlugin::startCheckInActivity() last = file; } } - startCheckIn(state.currentProjectPath(), files); + startCheckIn(topLevel, files); } /* Start check in of files of a single repository by displaying @@ -1938,8 +1938,6 @@ void ClearCasePlugin::sync(QFutureInterface<void> &future, QString topLevel, QSt ClearCasePlugin *plugin = ClearCasePlugin::instance(); ClearCaseSync ccSync(plugin, plugin->m_statusMap); connect(&ccSync, SIGNAL(updateStreamAndView()), plugin, SLOT(updateStreamAndView())); - connect(&ccSync, SIGNAL(setStatus(QString, ClearCase::Internal::FileStatus::Status, bool)), - plugin, SLOT(setStatus(QString, ClearCase::Internal::FileStatus::Status, bool))); ccSync.run(future, topLevel, files); } diff --git a/src/plugins/clearcase/clearcaseplugin.h b/src/plugins/clearcase/clearcaseplugin.h index 3f1f47e868..c2fe94df12 100644 --- a/src/plugins/clearcase/clearcaseplugin.h +++ b/src/plugins/clearcase/clearcaseplugin.h @@ -148,6 +148,7 @@ public: QString currentView() const { return m_view; } void refreshActivities(); inline bool isUcm() const { return m_isUcm; } + void setStatus(const QString &file, FileStatus::Status status, bool update = true); bool ccCheckUcm(const QString &viewname, const QString &workingDir) const; @@ -156,7 +157,6 @@ public slots: const QString &revision = QString(), int lineNumber = -1) const; bool newActivity(); void updateStreamAndView(); - void setStatus(const QString &file, ClearCase::Internal::FileStatus::Status status, bool update = true); private slots: void checkOutCurrentFile(); @@ -181,6 +181,7 @@ private slots: void tasksFinished(const QString &type); void syncSlot(); void closing(); + void updateStatusActions(); protected: void updateActions(VcsBase::VcsBasePlugin::ActionState); @@ -211,7 +212,6 @@ private: inline ClearCaseControl *clearCaseControl() const; QString ccGetFileActivity(const QString &workingDir, const QString &file); QStringList ccGetActivityVersions(const QString &workingDir, const QString &activity); - void updateStatusActions(); void diffGraphical(const QString &file1, const QString &file2 = QString()); QString diffExternal(QString file1, QString file2 = QString(), bool keep = false); QString getFile(const QString &nativeFile, const QString &prefix); @@ -264,6 +264,4 @@ private: } // namespace Internal } // namespace ClearCase -Q_DECLARE_METATYPE(ClearCase::Internal::FileStatus::Status) - #endif // CLEARCASEPLUGIN_H diff --git a/src/plugins/clearcase/clearcasesync.cpp b/src/plugins/clearcase/clearcasesync.cpp index 1e954b5989..865b94b634 100644 --- a/src/plugins/clearcase/clearcasesync.cpp +++ b/src/plugins/clearcase/clearcasesync.cpp @@ -87,7 +87,7 @@ void ClearCaseSync::run(QFutureInterface<void> &future, const QString &topLevel, args << files; } else { foreach (const QString &file, files) - emit setStatus(topLevelDir.relativeFilePath(file), FileStatus::Unknown, false); + m_plugin->setStatus(topLevelDir.relativeFilePath(file), FileStatus::Unknown, false); args << QLatin1String("-recurse"); args << vobs; } @@ -120,15 +120,15 @@ void ClearCaseSync::run(QFutureInterface<void> &future, const QString &topLevel, if (reState.indexIn(buffer, wspos + 1, QRegExp::CaretAtOffset) != -1) { ccState = reState.cap(); if (ccState.indexOf(QLatin1String("hijacked")) != -1) - emit setStatus(file, FileStatus::Hijacked, true); + m_plugin->setStatus(file, FileStatus::Hijacked, true); else if (ccState.indexOf(QLatin1String("loaded but missing")) != -1) - emit setStatus(file, FileStatus::Missing, false); + m_plugin->setStatus(file, FileStatus::Missing, false); } else if (buffer.lastIndexOf(QLatin1String("CHECKEDOUT"), wspos) != -1) - emit setStatus(file, FileStatus::CheckedOut, true); + m_plugin->setStatus(file, FileStatus::CheckedOut, true); // don't care about checked-in files not listed in project else if (m_statusMap->contains(file)) - emit setStatus(file, FileStatus::CheckedIn, true); + m_plugin->setStatus(file, FileStatus::CheckedIn, true); } buffer.clear(); future.setProgressValue(qMin(total, ++processed)); @@ -140,7 +140,7 @@ void ClearCaseSync::run(QFutureInterface<void> &future, const QString &topLevel, foreach (const QString &file, files) { QString relFile = topLevelDir.relativeFilePath(file); if (m_statusMap->value(relFile).status == FileStatus::Unknown) - emit setStatus(relFile, FileStatus::NotManaged, false); + m_plugin->setStatus(relFile, FileStatus::NotManaged, false); } future.setProgressValue(total + 1); if (!hot) { diff --git a/src/plugins/clearcase/clearcasesync.h b/src/plugins/clearcase/clearcasesync.h index 6ae2a0829c..286a1341bb 100644 --- a/src/plugins/clearcase/clearcasesync.h +++ b/src/plugins/clearcase/clearcasesync.h @@ -44,7 +44,6 @@ public: signals: void updateStreamAndView(); - void setStatus(const QString &file, ClearCase::Internal::FileStatus::Status status, bool update); private: ClearCasePlugin *m_plugin; diff --git a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp index ff7a870f1d..a0601d8476 100644 --- a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp @@ -199,7 +199,7 @@ bool CMakeRunConfiguration::fromMap(const QVariantMap &map) QString CMakeRunConfiguration::defaultDisplayName() const { if (m_title.isEmpty()) - return tr("Run CMake target"); + return tr("Run CMake kit"); return m_title + (m_enabled ? "" : tr(" (disabled)")); } diff --git a/src/plugins/cmakeprojectmanager/makestep.cpp b/src/plugins/cmakeprojectmanager/makestep.cpp index 621a5ec739..535ab338fc 100644 --- a/src/plugins/cmakeprojectmanager/makestep.cpp +++ b/src/plugins/cmakeprojectmanager/makestep.cpp @@ -340,7 +340,7 @@ MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep) m_buildTargetsList = new QListWidget; m_buildTargetsList->setMinimumHeight(200); - fl->addRow(tr("Targets:"), m_buildTargetsList); + fl->addRow(tr("Kits:"), m_buildTargetsList); // TODO update this list also on rescans of the CMakeLists.txt CMakeProject *pro = static_cast<CMakeProject *>(m_makeStep->target()->project()); @@ -400,7 +400,7 @@ void MakeStepConfigWidget::updateDetails() if (!bc) bc = m_makeStep->target()->activeBuildConfiguration(); if (!bc) { - m_summaryText = tr("<b>No build configuration found on this target.</b>"); + m_summaryText = tr("<b>No build configuration found on this kit.</b>"); updateSummary(); return; } diff --git a/src/plugins/coreplugin/generalsettings.cpp b/src/plugins/coreplugin/generalsettings.cpp index 30baff30ab..23bca0e5a3 100644 --- a/src/plugins/coreplugin/generalsettings.cpp +++ b/src/plugins/coreplugin/generalsettings.cpp @@ -91,7 +91,10 @@ void GeneralSettings::fillLanguageBox() const const QString locale = languageFile.mid(start, end-start); // no need to show a language that creator will not load anyway if (hasQmFilesForLocale(locale, creatorTrPath)) { - m_page->languageBox->addItem(QLocale::languageToString(QLocale(locale).language()), locale); + QLocale tmpLocale(locale); + QString languageItem = QLocale::languageToString(tmpLocale.language()) + QLatin1String(" (") + + QLocale::countryToString(tmpLocale.country()) + QLatin1Char(')'); + m_page->languageBox->addItem(languageItem, locale); if (locale == currentLocale) m_page->languageBox->setCurrentIndex(m_page->languageBox->count() - 1); } diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp index 00a44735b7..791336ee25 100644 --- a/src/plugins/debugger/watchhandler.cpp +++ b/src/plugins/debugger/watchhandler.cpp @@ -731,10 +731,10 @@ bool WatchModel::canFetchMore(const QModelIndex &idx) const { if (!idx.isValid()) return false; - if (!contentIsValid()) - return false; WatchItem *item = watchItem(idx); QTC_ASSERT(item, return false); + if (!contentIsValid() && !item->isInspect()) + return false; if (!item->iname.contains('.')) return false; return !m_fetchTriggered.contains(item->iname); @@ -1032,7 +1032,7 @@ QVariant WatchModel::data(const QModelIndex &idx, int role) const static const QVariant red(QColor(200, 0, 0)); static const QVariant gray(QColor(140, 140, 140)); if (idx.column() == 1) { - if (!data.valueEnabled || !contentIsValid()) + if (!data.valueEnabled || (!contentIsValid() && !data.isInspect())) return gray; if (data.value != m_valueCache.value(data.iname)) return red; @@ -1152,10 +1152,11 @@ bool WatchModel::setData(const QModelIndex &idx, const QVariant &value, int role Qt::ItemFlags WatchModel::flags(const QModelIndex &idx) const { - if (!contentIsValid()) + if (!idx.isValid()) return Qt::ItemFlags(); - if (!idx.isValid()) + const WatchData &data = *watchItem(idx); + if (!contentIsValid() && !data.isInspect()) return Qt::ItemFlags(); // Enabled, editable, selectable, checkable, and can be used both as the @@ -1166,7 +1167,6 @@ Qt::ItemFlags WatchModel::flags(const QModelIndex &idx) const static const Qt::ItemFlags editable = notEditable | Qt::ItemIsEditable; // Disable editing if debuggee is positively running except for Inspector data - const WatchData &data = *watchItem(idx); const bool isRunning = engine() && engine()->state() == InferiorRunOk; if (isRunning && engine() && !engine()->hasCapability(AddWatcherWhileRunningCapability) && !data.isInspect()) diff --git a/src/plugins/find/basetextfind.cpp b/src/plugins/find/basetextfind.cpp index c89bdd08f4..e567769d1e 100644 --- a/src/plugins/find/basetextfind.cpp +++ b/src/plugins/find/basetextfind.cpp @@ -338,7 +338,18 @@ QTextCursor BaseTextFind::findOne(const QRegExp &expr, const QTextCursor &from, Q_ARG(QTextCursor, candidate)); if (inVerticalFindScope) return candidate; - candidate = document()->find(expr, candidate, options); + + QTextCursor newCandidate = document()->find(expr, candidate, options); + if (newCandidate == candidate) { + // When searching for regular expressions that match "zero length" strings (like ^ or \b) + // we need to move away from the match before searching for the next one. + candidate.movePosition(options & QTextDocument::FindBackward + ? QTextCursor::PreviousCharacter + : QTextCursor::NextCharacter); + candidate = document()->find(expr, candidate, options); + } else { + candidate = newCandidate; + } } return candidate; } diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp index 4fcac55256..5fa164d850 100644 --- a/src/plugins/projectexplorer/buildmanager.cpp +++ b/src/plugins/projectexplorer/buildmanager.cpp @@ -402,7 +402,7 @@ void BuildManager::nextBuildQueue() // Build Failure const QString projectName = d->m_currentBuildStep->project()->displayName(); const QString targetName = d->m_currentBuildStep->target()->displayName(); - addToOutputWindow(tr("Error while building/deploying project %1 (target: %2)").arg(projectName, targetName), BuildStep::ErrorOutput); + addToOutputWindow(tr("Error while building/deploying project %1 (kit: %2)").arg(projectName, targetName), BuildStep::ErrorOutput); addToOutputWindow(tr("When executing step '%1'").arg(d->m_currentBuildStep->displayName()), BuildStep::ErrorOutput); // NBS TODO fix in qtconcurrent d->m_progressFutureInterface->setProgressValueAndText(d->m_progress*100, tr("Error while building/deploying project %1 (target: %2)").arg(projectName, targetName)); diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.cpp b/src/plugins/projectexplorer/miniprojecttargetselector.cpp index 71f38f5749..4795385283 100644 --- a/src/plugins/projectexplorer/miniprojecttargetselector.cpp +++ b/src/plugins/projectexplorer/miniprojecttargetselector.cpp @@ -1414,7 +1414,7 @@ void MiniProjectTargetSelector::updateActionAndSummary() QStringList lines; lines << tr("<b>Project:</b> %1").arg(projectName); if (!targetName.isEmpty()) - lines << tr("<b>Target:</b> %1").arg(targetName); + lines << tr("<b>Kit:</b> %1").arg(targetName); if (!buildConfig.isEmpty()) lines << tr("<b>Build:</b> %1").arg(buildConfig); if (!deployConfig.isEmpty()) diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 70cf40ae8b..9d7496c5c0 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -878,7 +878,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er d->m_projectSelectorActionQuick = new QAction(this); d->m_projectSelectorActionQuick->setEnabled(false); - d->m_projectSelectorActionQuick->setText(tr("Quick Switch Target Selector")); + d->m_projectSelectorActionQuick->setText(tr("Quick Switch Kit Selector")); connect(d->m_projectSelectorActionQuick, SIGNAL(triggered()), d->m_targetSelector, SLOT(nextOrShow())); cmd = Core::ActionManager::registerAction(d->m_projectSelectorActionQuick, ProjectExplorer::Constants::SELECTTARGETQUICK, globalcontext); cmd->setDefaultKeySequence(QKeySequence(tr("Ctrl+T"))); @@ -2402,10 +2402,10 @@ QString ProjectExplorerPlugin::cannotRunReason(Project *project, RunMode runMode return tr("The project %1 is not configured.").arg(project->displayName()); if (!project->activeTarget()) - return tr("The project '%1' has no active target.").arg(project->displayName()); + return tr("The project '%1' has no active kit.").arg(project->displayName()); if (!project->activeTarget()->activeRunConfiguration()) - return tr("The target '%1' for the project '%2' has no active run configuration.") + return tr("The kit '%1' for the project '%2' has no active run configuration.") .arg(project->activeTarget()->displayName(), project->displayName()); diff --git a/src/plugins/projectexplorer/settingsaccessor.cpp b/src/plugins/projectexplorer/settingsaccessor.cpp index 613af80076..9b29282755 100644 --- a/src/plugins/projectexplorer/settingsaccessor.cpp +++ b/src/plugins/projectexplorer/settingsaccessor.cpp @@ -631,25 +631,27 @@ QVariantMap SettingsAccessor::restoreSettings() const QString backup = fn + QLatin1Char('.') + fileId.mid(1, 7); QFile::copy(fn, backup); - // TODO tr, casing check - QMessageBox msgBox( - QMessageBox::Question, - QApplication::translate("ProjectExplorer::SettingsAccessor", - "Project Settings File from a different Environment?"), - QApplication::translate("ProjectExplorer::SettingsAccessor", - "Qt Creator has found a .user settings file which was " - "created for another development setup, maybe " - "originating from another machine.\n\n" - "The .user settings files contain environment specific " - "settings. They should not be copied to a different " - "environment. \n\n" - "Do you still want to load the settings file?"), - QMessageBox::Yes | QMessageBox::No, - Core::ICore::mainWindow()); - msgBox.setDefaultButton(QMessageBox::No); - msgBox.setEscapeButton(QMessageBox::No); - if (msgBox.exec() == QMessageBox::No) - return QVariantMap(); + if (!fileId.isEmpty()) { + // TODO tr, casing check + QMessageBox msgBox( + QMessageBox::Question, + QApplication::translate("ProjectExplorer::SettingsAccessor", + "Project Settings File from a different Environment?"), + QApplication::translate("ProjectExplorer::SettingsAccessor", + "Qt Creator has found a .user settings file which was " + "created for another development setup, maybe " + "originating from another machine.\n\n" + "The .user settings files contain environment specific " + "settings. They should not be copied to a different " + "environment. \n\n" + "Do you still want to load the settings file?"), + QMessageBox::Yes | QMessageBox::No, + Core::ICore::mainWindow()); + msgBox.setDefaultButton(QMessageBox::No); + msgBox.setEscapeButton(QMessageBox::No); + if (msgBox.exec() == QMessageBox::No) + return QVariantMap(); + } } // Do we need to generate a backup? @@ -687,13 +689,11 @@ QVariantMap SettingsAccessor::restoreSettings() const QApplication::translate("ProjectExplorer::SettingsAccessor", "Unsupported Shared Settings File"), QApplication::translate("ProjectExplorer::SettingsAccessor", - "The version of your .shared file is not yet " + "The version of your .shared file is not " "supported by this Qt Creator version. " "Only settings that are still compatible " "will be taken into account.\n\n" - "Do you want to continue?\n\n" - "If you choose not to continue Qt Creator will " - "not try to load the .shared file."), + "Do you want to try loading it?"), QMessageBox::Yes | QMessageBox::No, Core::ICore::mainWindow()); msgBox.setDefaultButton(QMessageBox::No); diff --git a/src/plugins/qmljseditor/qmlfilewizard.cpp b/src/plugins/qmljseditor/qmlfilewizard.cpp index 3237600247..b8e4360882 100644 --- a/src/plugins/qmljseditor/qmlfilewizard.cpp +++ b/src/plugins/qmljseditor/qmlfilewizard.cpp @@ -28,6 +28,7 @@ ****************************************************************************/ #include "qmlfilewizard.h" +#include "qmljseditorconstants.h" #include <qmljstools/qmljstoolsconstants.h> @@ -61,9 +62,13 @@ QString QmlFileWizard::fileContents(const QString &) const QString contents; QTextStream str(&contents); + if (baseFileWizardParameters().id() == QLatin1String(Constants::WIZARD_QML1FILE)) + str << QLatin1String("import QtQuick 1.1\n"); + else + str << QLatin1String("import QtQuick 2.0\n"); + // 100:62 is the 'golden ratio' - str << QLatin1String("import QtQuick 1.1\n") - << QLatin1String("\n") + str << QLatin1String("\n") << QLatin1String("Rectangle {\n") << QLatin1String(" width: 100\n") << QLatin1String(" height: 62\n") diff --git a/src/plugins/qmljseditor/qmljseditorconstants.h b/src/plugins/qmljseditor/qmljseditorconstants.h index d119afb626..eb68b762b3 100644 --- a/src/plugins/qmljseditor/qmljseditorconstants.h +++ b/src/plugins/qmljseditor/qmljseditorconstants.h @@ -45,6 +45,9 @@ const char TASK_SEARCH[] = "QmlJSEditor.TaskSearch"; const char SETTINGS_CATEGORY_QML[] = "J.QtQuick"; const char SETTINGS_TR_CATEGORY_QML[] = QT_TRANSLATE_NOOP("QmlJSEditor", "Qt Quick"); +const char WIZARD_QML1FILE[] = "Q.Qml.1"; +const char WIZARD_QML2FILE[] = "Q.Qml.2"; + const char FIND_USAGES[] = "QmlJSEditor.FindUsages"; const char RENAME_USAGES[] = "QmlJSEditor.RenameUsages"; const char RUN_SEMANTIC_SCAN[] = "QmlJSEditor.RunSemanticScan"; diff --git a/src/plugins/qmljseditor/qmljseditorplugin.cpp b/src/plugins/qmljseditor/qmljseditorplugin.cpp index db86d7564a..ab5f760e30 100644 --- a/src/plugins/qmljseditor/qmljseditorplugin.cpp +++ b/src/plugins/qmljseditor/qmljseditorplugin.cpp @@ -140,13 +140,21 @@ bool QmlJSEditorPlugin::initialize(const QStringList & /*arguments*/, QString *e addObject(m_editor); QObject *core = Core::ICore::instance(); - Core::BaseFileWizardParameters qmlWizardParameters(Core::IWizard::FileWizard); - qmlWizardParameters.setCategory(QLatin1String(Core::Constants::WIZARD_CATEGORY_QT)); - qmlWizardParameters.setDisplayCategory(QCoreApplication::translate("QmlJsEditor", Core::Constants::WIZARD_TR_CATEGORY_QT)); - qmlWizardParameters.setDescription(tr("Creates a QML file.")); - qmlWizardParameters.setDisplayName(tr("QML File")); - qmlWizardParameters.setId(QLatin1String("Q.Qml")); - addAutoReleasedObject(new QmlFileWizard(qmlWizardParameters, core)); + Core::BaseFileWizardParameters qml1WizardParameters(Core::IWizard::FileWizard); + qml1WizardParameters.setCategory(QLatin1String(Core::Constants::WIZARD_CATEGORY_QT)); + qml1WizardParameters.setDisplayCategory(QCoreApplication::translate("QmlJsEditor", Core::Constants::WIZARD_TR_CATEGORY_QT)); + qml1WizardParameters.setDescription(tr("Creates a QML file with boilerplate code, starting with \"import QtQuick 1.1\".")); + qml1WizardParameters.setDisplayName(tr("QML File (Qt Quick 1)")); + qml1WizardParameters.setId(QLatin1String(Constants::WIZARD_QML1FILE)); + addAutoReleasedObject(new QmlFileWizard(qml1WizardParameters, core)); + + Core::BaseFileWizardParameters qml2WizardParameters(Core::IWizard::FileWizard); + qml2WizardParameters.setCategory(QLatin1String(Core::Constants::WIZARD_CATEGORY_QT)); + qml2WizardParameters.setDisplayCategory(QCoreApplication::translate("QmlJsEditor", Core::Constants::WIZARD_TR_CATEGORY_QT)); + qml2WizardParameters.setDescription(tr("Creates a QML file with boilerplate code, starting with \"import QtQuick 2.0\".")); + qml2WizardParameters.setDisplayName(tr("QML File (Qt Quick 2)")); + qml2WizardParameters.setId(QLatin1String(Constants::WIZARD_QML2FILE)); + addAutoReleasedObject(new QmlFileWizard(qml2WizardParameters, core)); Core::BaseFileWizardParameters jsWizardParameters(Core::IWizard::FileWizard); jsWizardParameters.setCategory(QLatin1String(Core::Constants::WIZARD_CATEGORY_QT)); diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp index a14f2ad67e..6379d5736c 100644 --- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp +++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp @@ -194,7 +194,7 @@ void Qt4ProjectConfigWidget::updateProblemLabel() // Check for Qt version: QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(k); if (!version) { - setProblemLabel(tr("This target cannot build this project since it does not define a Qt version.")); + setProblemLabel(tr("This kit cannot build this project since it does not define a Qt version.")); return; } diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 6159673f21..2d07a23aa5 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -411,7 +411,8 @@ ProjectExplorer::ToolChain *BaseQtVersion::preferredToolChain(const FileName &ms continue; if (tc->suggestedMkspecList().contains(spec)) return tc; // perfect match - possibleTc = tc; // possible match + if (!possibleTc) + possibleTc = tc; // first possible match } return possibleTc; } @@ -1354,7 +1355,9 @@ FileName BaseQtVersion::qtCorePath(const QHash<QString,QString> &versionInfo, co } if (info.isReadable()) { if (file.startsWith(QLatin1String("libQtCore")) - || file.startsWith(QLatin1String("QtCore"))) { + || file.startsWith(QLatin1String("libQt5Core")) + || file.startsWith(QLatin1String("QtCore")) + || file.startsWith(QLatin1String("Qt5Core"))) { // Only handle static libs if we can not find dynamic ones: if (file.endsWith(QLatin1String(".a")) || file.endsWith(QLatin1String(".lib"))) staticLibs.append(info); diff --git a/src/plugins/qtsupport/qtoptionspage.cpp b/src/plugins/qtsupport/qtoptionspage.cpp index 6bdb044dd6..8cfc89763d 100644 --- a/src/plugins/qtsupport/qtoptionspage.cpp +++ b/src/plugins/qtsupport/qtoptionspage.cpp @@ -702,7 +702,7 @@ void QtOptionsPageWidget::editPath() if (current->type() != version->type()) { // not the same type, error out QMessageBox::critical(this, tr("Incompatible Qt Versions"), - tr("The Qt version selected must be for the same target."), + tr("The Qt version selected must be for the same device type."), QMessageBox::Ok); delete version; return; |