diff --git a/.gitignore b/.gitignore index 4cb3af69abd..9b02a806f1a 100644 --- a/.gitignore +++ b/.gitignore @@ -52,6 +52,7 @@ wrapper.sh /src/plugins/**/*.json /src/plugins/coreplugin/ide_version.h /src/libs/qt-breakpad/bin +/src/libs/botan/build/ app_version.h phony.c diff --git a/dist/changes-4.7.2.md b/dist/changes-4.7.2.md index 262463113f3..710e6e4f13b 100644 --- a/dist/changes-4.7.2.md +++ b/dist/changes-4.7.2.md @@ -7,11 +7,21 @@ you can check out from the public Git repository. For example: git clone git://code.qt.io/qt-creator/qt-creator.git git log --cherry-pick --pretty=oneline origin/v4.7.1..v4.7.2 +General + +* Fixed crash when pressing wrong shortcut for recent projects in Welcome mode + (QTCREATORBUG-21302) +* Fixed rare crash in file system view + Editing * Fixed that collapsed text no longer showed up in tooltip (QTCREATORBUG-21040) * Fixed crash with generic text completion (QTCREATORBUG-21192) +Generic Projects + +* Fixed crash when adding file to sub-folder (QTCREATORBUG-21342) + C++ Support * Fixed wrong value of `__cplusplus` define (QTCREATORBUG-20884) @@ -31,6 +41,11 @@ Windows * Fixed saving of files when another application blocks atomic save operation (QTCREATORBUG-7668) +* Fixed wrongly added empty lines in application output (QTCREATORBUG-21215) + +iOS + +* Fixed issue with detecting iPhone XS (QTCREATORBUG-21291) Remote Linux diff --git a/doc/images/qtcreator-mime-types.png b/doc/images/qtcreator-mime-types.png index 5d53b80898a..fc453ff1367 100644 Binary files a/doc/images/qtcreator-mime-types.png and b/doc/images/qtcreator-mime-types.png differ diff --git a/doc/src/debugger/creator-only/creator-debugger.qdoc b/doc/src/debugger/creator-only/creator-debugger.qdoc index 83833539a4c..e9adadbf59b 100644 --- a/doc/src/debugger/creator-only/creator-debugger.qdoc +++ b/doc/src/debugger/creator-only/creator-debugger.qdoc @@ -387,8 +387,10 @@ \li Disassemble sections of code. + \omit \li Create snapshots of the current state of the debugged program and re-examine them later. + \endomit \endlist @@ -605,6 +607,7 @@ By default, the \uicontrol Registers view is hidden. + \omit \section2 Creating Snapshots A snapshot contains the complete state of the debugged program at a time, @@ -616,7 +619,7 @@ Double-click on entries in the \uicontrol {Debugger Perspectives} view to switch between snapshots. The debugger views are updated to reflect the state of the program at time of taking the snapshot. - + \endomit */ diff --git a/doc/src/editors/creator-only/creator-code-pasting.qdoc b/doc/src/editors/creator-only/creator-code-pasting.qdoc index faf027941b2..587ce158e50 100644 --- a/doc/src/editors/creator-only/creator-code-pasting.qdoc +++ b/doc/src/editors/creator-only/creator-code-pasting.qdoc @@ -37,6 +37,7 @@ \list \li \uicontrol {Pastebin.Com} + \li \uicontrol {Pastecode.Xyz} \li \uicontrol {Paste.KDE.Org} \li \uicontrol {Shared network drives} \endlist diff --git a/doc/src/editors/creator-only/creator-mime-types.qdoc b/doc/src/editors/creator-only/creator-mime-types.qdoc index de456957259..553f47778c2 100644 --- a/doc/src/editors/creator-only/creator-mime-types.qdoc +++ b/doc/src/editors/creator-only/creator-mime-types.qdoc @@ -41,6 +41,8 @@ {MIME type} of the file to determine which mode and editor to use for opening the file. For example, \QC opens C++ source and header files in the C++ editor, and Qt widget based UI files (.ui) in \QD. + For some MIME types, you can change the editor that is used to open the + files of that type by default. To identify the MIME type of a file, \QC uses matching by pattern and matching by contents. First, \QC looks at the filename to check whether it @@ -94,12 +96,18 @@ \note You are recommended not to change the range and priority, because it might cause problems when opening files in \QC. + \li In \uicontrol Handler, double-click the editor name to display a + context-menu where you can select another editor to open the file + in by default. The menu is available only if alternative suitable + editors are available. + \li Click \uicontrol OK. \endlist - To revert all the changes you have made to the MIME type definitions, - select \uicontrol {Reset All}. + To revert the changes you have made to the MIME type definitions, + select \uicontrol {Reset MIME Types}. To revert the changes you have + made to the default editors, select \uicontrol {Reset Handlers}. \note If you now select \uicontrol OK or \uicontrol Apply, you permanently lose all your own patterns and magic headers. The changes are reverted the next diff --git a/doc/src/howto/creator-only/qtcreator-faq.qdoc b/doc/src/howto/creator-only/qtcreator-faq.qdoc index 5110f7f95e5..fd41a869a11 100644 --- a/doc/src/howto/creator-only/qtcreator-faq.qdoc +++ b/doc/src/howto/creator-only/qtcreator-faq.qdoc @@ -200,9 +200,11 @@ current working directory. You can specify another location for the file, including a relative or absolute path, as an argument of the command. + \omit To generate a temporary core file, select \uicontrol {Create Snapshot} in the context menu in the \uicontrol Snapshot view. The core file is deleted when you stop debugging. + \endomit \section1 Compiler Questions @@ -253,8 +255,10 @@ the standard output and error output. When you run or debug the application, you can view the output in the \uicontrol{Application Output} pane. - For console applications that require input, select \uicontrol {Projects > Run - Settings > Run in terminal}. + For console applications that require input, select \uicontrol Projects > + \uicontrol {Run Settings} > \uicontrol {Run in terminal}. To specify the + terminal to use, select \uicontrol Tools > \uicontrol Options > + \uicontrol Environment > \uicontrol System. \b {On Windows:} Output is displayed differently for \e{console applications} and \e{GUI applications}. diff --git a/doc/src/howto/creator-sidebar-views.qdocinc b/doc/src/howto/creator-sidebar-views.qdocinc index 7ba172b3c3e..aaff3986dd8 100644 --- a/doc/src/howto/creator-sidebar-views.qdocinc +++ b/doc/src/howto/creator-sidebar-views.qdocinc @@ -237,7 +237,9 @@ \li Show the file or directory in the file explorer. \li Open a terminal window in the selected directory or in the directory - that contains the file. + that contains the file. To specify the terminal to use on Linux and + \macos, select \uicontrol Tools > \uicontrol Options > + \uicontrol Environment > \uicontrol System. \li Search from the selected directory. diff --git a/doc/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc b/doc/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc index 1754af25a95..e0b1c7187e4 100644 --- a/doc/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc +++ b/doc/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc @@ -32,9 +32,13 @@ and the working directory to use. The working directory defaults to the directory of the build result. - For console applications, check the \uicontrol{Run in Terminal} check box. - If you need to run with special environment variables set up, you - also do it in the run configuration settings. + For console applications, check the \uicontrol{Run in terminal} check box. + To specify the terminal to use on Linux and \macos, select \uicontrol Tools + > \uicontrol Options > \uicontrol Environment > \uicontrol System. + + To run with special environment variables set up, select them in the + \uicontrol {Run Environment} section. For more information, see + \l {Selecting the Run Environment}. \image qtcreator-pprunsettings.png diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp index 18e36270ce5..7af165a9c6e 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp @@ -396,7 +396,7 @@ QVariant ObjectNodeInstance::convertEnumToValue(const QVariant &value, const Pro QQmlExpression expression(context(), object(), enumeration.toString()); adjustedValue = expression.evaluate(); if (expression.hasError()) - qDebug() << "Enumeration can not be evaluated:" << object() << name << enumeration; + qDebug() << "Enumeration cannot be evaluated:" << object() << name << enumeration; } return adjustedValue; } diff --git a/src/app/main.cpp b/src/app/main.cpp index 9c61cb323d9..0400f523c36 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -185,7 +185,7 @@ static inline int askMsgSendFailed() QMessageBox::Retry); } -// taken from utils/fileutils.cpp. We can not use utils here since that depends app_version.h. +// taken from utils/fileutils.cpp. We cannot use utils here since that depends app_version.h. static bool copyRecursively(const QString &srcFilePath, const QString &tgtFilePath) { diff --git a/src/libs/qtcreatorcdbext/containers.cpp b/src/libs/qtcreatorcdbext/containers.cpp index 7ea4a2ddafe..809259f04d9 100644 --- a/src/libs/qtcreatorcdbext/containers.cpp +++ b/src/libs/qtcreatorcdbext/containers.cpp @@ -77,7 +77,7 @@ static inline std::string fixInnerType(const std::string &type, std::string stripped = SymbolGroupValue::stripConst(SymbolGroupValue::stripClassPrefixes(type)); - // Unfortunately the cdb can not handle the vc exclusiv 64 bit integer + // Unfortunately the cdb cannot handle the vc exclusiv 64 bit integer // "__int64" but works fine with "int64", so we have to strip down "__" const size_t __int64pos = stripped.find("__int64"); if (__int64pos != std::string::npos) diff --git a/src/libs/qtcreatorcdbext/pycdbextmodule.cpp b/src/libs/qtcreatorcdbext/pycdbextmodule.cpp index ef47f383687..fc55076ea68 100644 --- a/src/libs/qtcreatorcdbext/pycdbextmodule.cpp +++ b/src/libs/qtcreatorcdbext/pycdbextmodule.cpp @@ -352,7 +352,7 @@ static PyObject *cdbext_reportResult(PyObject *, PyObject *args) static PyMethodDef cdbextMethods[] = { {"parseAndEvaluate", cdbext_parseAndEvaluate, METH_VARARGS, - "Returns value of expression or None if the expression can not be resolved"}, + "Returns value of expression or None if the expression cannot be resolved"}, {"resolveSymbol", cdbext_resolveSymbol, METH_VARARGS, "Returns a list of symbol names matching the given pattern"}, {"getNameByAddress", cdbext_getNameByAddress, METH_VARARGS, @@ -360,7 +360,7 @@ static PyMethodDef cdbextMethods[] = { {"getAddressByName", cdbext_getAddressByName, METH_VARARGS, "Returns the address of the symbol with the given name"}, {"lookupType", cdbext_lookupType, METH_VARARGS, - "Returns type object or None if the type can not be resolved"}, + "Returns type object or None if the type cannot be resolved"}, {"listOfLocals", cdbext_listOfLocals, METH_VARARGS, "Returns list of values that are currently in scope"}, {"listOfModules", cdbext_listOfModules, METH_NOARGS, diff --git a/src/libs/sqlite/sqlitedatabasebackend.cpp b/src/libs/sqlite/sqlitedatabasebackend.cpp index 0e088c549df..a42564aca56 100644 --- a/src/libs/sqlite/sqlitedatabasebackend.cpp +++ b/src/libs/sqlite/sqlitedatabasebackend.cpp @@ -241,7 +241,7 @@ void DatabaseBackend::cacheTextEncoding() void DatabaseBackend::checkForOpenDatabaseWhichCanBeClosed() { if (m_databaseHandle == nullptr) - throw DatabaseIsAlreadyClosed("SqliteDatabaseBackend::close: database is not open so it can not be closed."); + throw DatabaseIsAlreadyClosed("SqliteDatabaseBackend::close: database is not open so it cannot be closed."); } void DatabaseBackend::checkDatabaseClosing(int resultCode) diff --git a/src/libs/ssh/sshincomingpacket.cpp b/src/libs/ssh/sshincomingpacket.cpp index d8c6356a0b3..a105efb48fb 100644 --- a/src/libs/ssh/sshincomingpacket.cpp +++ b/src/libs/ssh/sshincomingpacket.cpp @@ -203,7 +203,8 @@ SshKeyExchangeReply SshIncomingPacket::extractKeyExchangeReply(const QByteArray throw SshPacketParseException(); getHostKeySpecificReplyData(replyData, hostKeyAlgo, replyData.k_s.mid(k_sOffset)); - if (kexAlgo == SshCapabilities::DiffieHellmanGroup1Sha1) { + if (kexAlgo == SshCapabilities::DiffieHellmanGroup1Sha1 + || kexAlgo == SshCapabilities::DiffieHellmanGroup14Sha1) { replyData.f = SshPacketParser::asBigInt(m_data, &topLevelOffset); } else { QSSH_ASSERT_AND_RETURN_VALUE(kexAlgo.startsWith(SshCapabilities::EcdhKexNamePrefix), diff --git a/src/libs/utils/historycompleter.cpp b/src/libs/utils/historycompleter.cpp index 4a04ac5b953..8657374f776 100644 --- a/src/libs/utils/historycompleter.cpp +++ b/src/libs/utils/historycompleter.cpp @@ -56,7 +56,7 @@ public: QStringList list; QString historyKey; QString historyKeyIsLastItemEmpty; - int maxLines = 30; + int maxLines = 6; bool isLastItemEmpty = false; }; diff --git a/src/plugins/android/androidbuildapkwidget.cpp b/src/plugins/android/androidbuildapkwidget.cpp index b002e9cfb01..a2ef5a7a5e1 100644 --- a/src/plugins/android/androidbuildapkwidget.cpp +++ b/src/plugins/android/androidbuildapkwidget.cpp @@ -62,7 +62,7 @@ AndroidBuildApkInnerWidget::AndroidBuildApkInnerWidget(AndroidBuildApkStep *step m_step(step) { m_ui->setupUi(this); - setDisplayName(tr("Build Android APK")); + setDisplayName("" + tr("Build Android APK" + "")); setSummaryText(displayName()); // Target sdk combobox @@ -225,8 +225,8 @@ AndroidBuildApkWidget::AndroidBuildApkWidget(AndroidBuildApkStep *step) : BuildStepConfigWidget(step), m_step(step) { - setDisplayName(tr("Build Android APK")); - setSummaryText(tr("Build Android APK")); + setDisplayName("" + tr("Build Android APK" + "")); + setSummaryText("" + tr("Build Android APK" + "")); m_extraLibraryListModel = new AndroidExtraLibraryListModel(m_step->target(), this); diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index b3420536449..3da456cf377 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -793,7 +793,7 @@ QVersionNumber AndroidConfig::ndkVersion() const { QVersionNumber version; if (!m_ndkLocation.exists()) { - qCDebug(avdConfigLog) << "Can not find ndk version. Check NDK path." + qCDebug(avdConfigLog) << "Cannot find ndk version. Check NDK path." << m_ndkLocation.toString(); return version; } @@ -826,11 +826,11 @@ QVersionNumber AndroidConfig::ndkVersion() const version = QVersionNumber::fromString(QString("%1.%2.0").arg(major) .arg((int)minor[0].toLatin1() - 97)); } else { - qCDebug(avdConfigLog) << "Can not find ndk version. Can not parse RELEASE.TXT." + qCDebug(avdConfigLog) << "Cannot find ndk version. Cannot parse RELEASE.TXT." << content; } } else { - qCDebug(avdConfigLog) << "Can not find ndk version." << errorString; + qCDebug(avdConfigLog) << "Cannot find ndk version." << errorString; } } return version; diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index b6b139ad2d8..1f52d9c2146 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -220,7 +220,7 @@ QString AndroidManager::activityName(ProjectExplorer::Target *target) /*! Returns the minimum Android API level set for the APK. Minimum API level - of the kit is returned if the manifest file of the APK can not be found + of the kit is returned if the manifest file of the APK cannot be found or parsed. */ int AndroidManager::minimumSDK(ProjectExplorer::Target *target) diff --git a/src/plugins/android/androidrunnerworker.cpp b/src/plugins/android/androidrunnerworker.cpp index 483143932ab..5ba4ac52b31 100644 --- a/src/plugins/android/androidrunnerworker.cpp +++ b/src/plugins/android/androidrunnerworker.cpp @@ -400,7 +400,7 @@ void AndroidRunnerWorker::asyncStartHelper() runAdb({"shell", "run-as", m_packageName, "chmod", "a+x", packageDir.trimmed()}); if (m_gdbserverPath.isEmpty() || !uploadFile(m_gdbserverPath, "gdbserver")) { - emit remoteProcessFinished(tr("Can not find/copy C++ debug server.")); + emit remoteProcessFinished(tr("Cannot find/copy C++ debug server.")); return; } diff --git a/src/plugins/android/androidsdkmanager.cpp b/src/plugins/android/androidsdkmanager.cpp index d293960b627..00f866d47e9 100644 --- a/src/plugins/android/androidsdkmanager.cpp +++ b/src/plugins/android/androidsdkmanager.cpp @@ -627,7 +627,7 @@ AndroidSdkPackage *SdkManagerOutputParser::parsePlatform(const QStringList &data if (parseAbstractData(packageData, data, 2, "Platform")) { int apiLevel = platformNameToApiLevel(packageData.headerParts.at(1)); if (apiLevel == -1) { - qCDebug(sdkManagerLog) << "Platform: Can not parse api level:"<< data; + qCDebug(sdkManagerLog) << "Platform: Cannot parse api level:"<< data; return nullptr; } platform = new SdkPlatform(packageData.revision, data.at(0), apiLevel); @@ -647,7 +647,7 @@ QPair SdkManagerOutputParser::parseSystemImage(const QString if (parseAbstractData(packageData, data, 4, "System-image")) { int apiLevel = platformNameToApiLevel(packageData.headerParts.at(1)); if (apiLevel == -1) { - qCDebug(sdkManagerLog) << "System-image: Can not parse api level:"<< data; + qCDebug(sdkManagerLog) << "System-image: Cannot parse api level:"<< data; return result; } auto image = new SystemImage(packageData.revision, data.at(0), diff --git a/src/plugins/android/androidsignaloperation.cpp b/src/plugins/android/androidsignaloperation.cpp index 382db6ca07e..bb54b833ab0 100644 --- a/src/plugins/android/androidsignaloperation.cpp +++ b/src/plugins/android/androidsignaloperation.cpp @@ -57,7 +57,7 @@ void Android::Internal::AndroidSignalOperation::adbFindRunAsFinished(int exitCod m_errorMessage += QLatin1String(" adb process error: ") + adbError; } if (runAs.isEmpty() || !m_errorMessage.isEmpty()) { - m_errorMessage = QLatin1String("Can not find User for process: ") + m_errorMessage = QLatin1String("Cannot find User for process: ") + QString::number(m_pid) + m_errorMessage; m_state = Idle; @@ -90,7 +90,7 @@ void Android::Internal::AndroidSignalOperation::adbKillFinished(int exitCode, m_errorMessage = QString::fromLatin1(m_adbProcess->readAllStandardError()); } if (!m_errorMessage.isEmpty()) { - m_errorMessage = QLatin1String("Can not kill process: ") + QString::number(m_pid) + m_errorMessage = QLatin1String("Cannot kill process: ") + QString::number(m_pid) + m_errorMessage; } m_state = Idle; diff --git a/src/plugins/autotest/testrunner.cpp b/src/plugins/autotest/testrunner.cpp index da720005033..78780f4a03f 100644 --- a/src/plugins/autotest/testrunner.cpp +++ b/src/plugins/autotest/testrunner.cpp @@ -137,10 +137,12 @@ static QString processInformation(const QProcess *proc) static QString rcInfo(const TestConfiguration * const config) { - QString info = '\n' + TestRunner::tr("Run configuration:") + ' '; + QString info; if (config->isDeduced()) - info += TestRunner::tr("deduced from"); - return info + " \"" + config->runConfigDisplayName() + '"'; + info = TestRunner::tr("\nRun configuration: deduced from \"%1\""); + else + info = TestRunner::tr("\nRun configuration: \"%1\""); + return info.arg(config->runConfigDisplayName()); } static QString constructOmittedDetailsString(const QStringList &omitted) diff --git a/src/plugins/clangcodemodel/clangassistproposalitem.cpp b/src/plugins/clangcodemodel/clangassistproposalitem.cpp index e88970bd6e1..6fcbed054f5 100644 --- a/src/plugins/clangcodemodel/clangassistproposalitem.cpp +++ b/src/plugins/clangcodemodel/clangassistproposalitem.cpp @@ -358,9 +358,8 @@ QString ClangAssistProposalItem::fixItText() const { const FixItContainer &fixIt = firstCompletionFixIts().first(); return QCoreApplication::translate("ClangCodeModel::ClangAssistProposalItem", - "Requires to correct \"%1\" to \"%2\"") - .arg(textReplacedByFixit(fixIt)) - .arg(fixIt.text.toString()); + "Requires changing \"%1\" to \"%2\"") + .arg(textReplacedByFixit(fixIt), fixIt.text.toString()); } int ClangAssistProposalItem::fixItsShift(const TextDocumentManipulatorInterface &manipulator) const diff --git a/src/plugins/clangcodemodel/clangbackendcommunicator.cpp b/src/plugins/clangcodemodel/clangbackendcommunicator.cpp index 4e0c08b6724..34a363407a8 100644 --- a/src/plugins/clangcodemodel/clangbackendcommunicator.cpp +++ b/src/plugins/clangcodemodel/clangbackendcommunicator.cpp @@ -253,7 +253,7 @@ void BackendCommunicator::unsavedFilesUpdatedForUiHeaders() const auto editorSupports = CppModelManager::instance()->abstractEditorSupports(); foreach (const AbstractEditorSupport *es, editorSupports) { const QString mappedPath - = ModelManagerSupportClang::instance()->dummyUiHeaderOnDiskPath(es->fileName()); + = ClangModelManagerSupport::instance()->dummyUiHeaderOnDiskPath(es->fileName()); unsavedFilesUpdated(mappedPath, es->contents(), es->revision()); } } diff --git a/src/plugins/clangcodemodel/clangcodemodelplugin.h b/src/plugins/clangcodemodel/clangcodemodelplugin.h index 5e24352a763..ad2b556400f 100644 --- a/src/plugins/clangcodemodel/clangcodemodelplugin.h +++ b/src/plugins/clangcodemodel/clangcodemodelplugin.h @@ -53,7 +53,7 @@ private: void generateCompilationDB(); void createCompilationDBButton(); - ModelManagerSupportProviderClang m_modelManagerSupportProvider; + ClangModelManagerSupportProvider m_modelManagerSupportProvider; Utils::ParameterAction *m_generateCompilationDBAction = nullptr; QFutureWatcher m_generatorWatcher; #ifdef WITH_TESTS diff --git a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp index 7a185bb8213..959e90d22cc 100644 --- a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp +++ b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp @@ -70,7 +70,7 @@ namespace Internal { static ClangProjectSettings &getProjectSettings(ProjectExplorer::Project *project) { QTC_CHECK(project); - return ModelManagerSupportClang::instance()->projectSettings(project); + return ClangModelManagerSupport::instance()->projectSettings(project); } ClangEditorDocumentProcessor::ClangEditorDocumentProcessor( diff --git a/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp b/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp index 66abc7913b0..b3ac6005dfc 100644 --- a/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp +++ b/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp @@ -60,14 +60,14 @@ using namespace ClangCodeModel; using namespace ClangCodeModel::Internal; -static ModelManagerSupportClang *m_instance = 0; +static ClangModelManagerSupport *m_instance = 0; static CppTools::CppModelManager *cppModelManager() { return CppTools::CppModelManager::instance(); } -ModelManagerSupportClang::ModelManagerSupportClang() +ClangModelManagerSupport::ClangModelManagerSupport() : m_completionAssistProvider(m_communicator) , m_followSymbol(new ClangFollowSymbol) , m_refactoringEngine(new RefactoringEngine) @@ -82,76 +82,76 @@ ModelManagerSupportClang::ModelManagerSupportClang() Core::EditorManager *editorManager = Core::EditorManager::instance(); connect(editorManager, &Core::EditorManager::editorOpened, - this, &ModelManagerSupportClang::onEditorOpened); + this, &ClangModelManagerSupport::onEditorOpened); connect(editorManager, &Core::EditorManager::currentEditorChanged, - this, &ModelManagerSupportClang::onCurrentEditorChanged); + this, &ClangModelManagerSupport::onCurrentEditorChanged); connect(editorManager, &Core::EditorManager::editorsClosed, - this, &ModelManagerSupportClang::onEditorClosed); + this, &ClangModelManagerSupport::onEditorClosed); CppTools::CppModelManager *modelManager = cppModelManager(); connect(modelManager, &CppTools::CppModelManager::abstractEditorSupportContentsUpdated, - this, &ModelManagerSupportClang::onAbstractEditorSupportContentsUpdated); + this, &ClangModelManagerSupport::onAbstractEditorSupportContentsUpdated); connect(modelManager, &CppTools::CppModelManager::abstractEditorSupportRemoved, - this, &ModelManagerSupportClang::onAbstractEditorSupportRemoved); + this, &ClangModelManagerSupport::onAbstractEditorSupportRemoved); connect(modelManager, &CppTools::CppModelManager::projectPartsUpdated, - this, &ModelManagerSupportClang::onProjectPartsUpdated); + this, &ClangModelManagerSupport::onProjectPartsUpdated); connect(modelManager, &CppTools::CppModelManager::projectPartsRemoved, - this, &ModelManagerSupportClang::onProjectPartsRemoved); + this, &ClangModelManagerSupport::onProjectPartsRemoved); auto *sessionManager = ProjectExplorer::SessionManager::instance(); connect(sessionManager, &ProjectExplorer::SessionManager::projectAdded, - this, &ModelManagerSupportClang::onProjectAdded); + this, &ClangModelManagerSupport::onProjectAdded); connect(sessionManager, &ProjectExplorer::SessionManager::aboutToRemoveProject, - this, &ModelManagerSupportClang::onAboutToRemoveProject); + this, &ClangModelManagerSupport::onAboutToRemoveProject); CppTools::CppCodeModelSettings *settings = CppTools::codeModelSettings().data(); connect(settings, &CppTools::CppCodeModelSettings::clangDiagnosticConfigsInvalidated, - this, &ModelManagerSupportClang::onDiagnosticConfigsInvalidated); + this, &ClangModelManagerSupport::onDiagnosticConfigsInvalidated); } -ModelManagerSupportClang::~ModelManagerSupportClang() +ClangModelManagerSupport::~ClangModelManagerSupport() { QTC_CHECK(m_projectSettings.isEmpty()); m_instance = 0; } -CppTools::CppCompletionAssistProvider *ModelManagerSupportClang::completionAssistProvider() +CppTools::CppCompletionAssistProvider *ClangModelManagerSupport::completionAssistProvider() { return &m_completionAssistProvider; } -TextEditor::BaseHoverHandler *ModelManagerSupportClang::createHoverHandler() +TextEditor::BaseHoverHandler *ClangModelManagerSupport::createHoverHandler() { return new Internal::ClangHoverHandler; } -CppTools::FollowSymbolInterface &ModelManagerSupportClang::followSymbolInterface() +CppTools::FollowSymbolInterface &ClangModelManagerSupport::followSymbolInterface() { return *m_followSymbol; } -CppTools::RefactoringEngineInterface &ModelManagerSupportClang::refactoringEngineInterface() +CppTools::RefactoringEngineInterface &ClangModelManagerSupport::refactoringEngineInterface() { return *m_refactoringEngine; } -std::unique_ptr ModelManagerSupportClang::createOverviewModel() +std::unique_ptr ClangModelManagerSupport::createOverviewModel() { return std::make_unique(); } -void ModelManagerSupportClang::setBackendJobsPostponed(bool postponed) +void ClangModelManagerSupport::setBackendJobsPostponed(bool postponed) { m_communicator.setBackendJobsPostponed(postponed); } -CppTools::BaseEditorDocumentProcessor *ModelManagerSupportClang::createEditorDocumentProcessor( +CppTools::BaseEditorDocumentProcessor *ClangModelManagerSupport::createEditorDocumentProcessor( TextEditor::TextDocument *baseTextDocument) { return new ClangEditorDocumentProcessor(m_communicator, baseTextDocument); } -void ModelManagerSupportClang::onCurrentEditorChanged(Core::IEditor *editor) +void ClangModelManagerSupport::onCurrentEditorChanged(Core::IEditor *editor) { m_communicator.documentVisibilityChanged(); @@ -165,60 +165,60 @@ void ModelManagerSupportClang::onCurrentEditorChanged(Core::IEditor *editor) processor->generateTaskHubIssues(); } -void ModelManagerSupportClang::connectTextDocumentToTranslationUnit(TextEditor::TextDocument *textDocument) +void ClangModelManagerSupport::connectTextDocumentToTranslationUnit(TextEditor::TextDocument *textDocument) { // Handle externally changed documents connect(textDocument, &Core::IDocument::aboutToReload, - this, &ModelManagerSupportClang::onCppDocumentAboutToReloadOnTranslationUnit, + this, &ClangModelManagerSupport::onCppDocumentAboutToReloadOnTranslationUnit, Qt::UniqueConnection); connect(textDocument, &Core::IDocument::reloadFinished, - this, &ModelManagerSupportClang::onCppDocumentReloadFinishedOnTranslationUnit, + this, &ClangModelManagerSupport::onCppDocumentReloadFinishedOnTranslationUnit, Qt::UniqueConnection); // Handle changes from e.g. refactoring actions connectToTextDocumentContentsChangedForTranslationUnit(textDocument); } -void ModelManagerSupportClang::connectTextDocumentToUnsavedFiles(TextEditor::TextDocument *textDocument) +void ClangModelManagerSupport::connectTextDocumentToUnsavedFiles(TextEditor::TextDocument *textDocument) { // Handle externally changed documents connect(textDocument, &Core::IDocument::aboutToReload, - this, &ModelManagerSupportClang::onCppDocumentAboutToReloadOnUnsavedFile, + this, &ClangModelManagerSupport::onCppDocumentAboutToReloadOnUnsavedFile, Qt::UniqueConnection); connect(textDocument, &Core::IDocument::reloadFinished, - this, &ModelManagerSupportClang::onCppDocumentReloadFinishedOnUnsavedFile, + this, &ClangModelManagerSupport::onCppDocumentReloadFinishedOnUnsavedFile, Qt::UniqueConnection); // Handle changes from e.g. refactoring actions connectToTextDocumentContentsChangedForUnsavedFile(textDocument); } -void ModelManagerSupportClang::connectToTextDocumentContentsChangedForTranslationUnit( +void ClangModelManagerSupport::connectToTextDocumentContentsChangedForTranslationUnit( TextEditor::TextDocument *textDocument) { connect(textDocument, &TextEditor::TextDocument::contentsChangedWithPosition, - this, &ModelManagerSupportClang::onCppDocumentContentsChangedOnTranslationUnit, + this, &ClangModelManagerSupport::onCppDocumentContentsChangedOnTranslationUnit, Qt::UniqueConnection); } -void ModelManagerSupportClang::connectToTextDocumentContentsChangedForUnsavedFile( +void ClangModelManagerSupport::connectToTextDocumentContentsChangedForUnsavedFile( TextEditor::TextDocument *textDocument) { connect(textDocument, &TextEditor::TextDocument::contentsChangedWithPosition, - this, &ModelManagerSupportClang::onCppDocumentContentsChangedOnUnsavedFile, + this, &ClangModelManagerSupport::onCppDocumentContentsChangedOnUnsavedFile, Qt::UniqueConnection); } -void ModelManagerSupportClang::connectToWidgetsMarkContextMenuRequested(QWidget *editorWidget) +void ClangModelManagerSupport::connectToWidgetsMarkContextMenuRequested(QWidget *editorWidget) { const auto widget = qobject_cast(editorWidget); if (widget) { connect(widget, &TextEditor::TextEditorWidget::markContextMenuRequested, - this, &ModelManagerSupportClang::onTextMarkContextMenuRequested); + this, &ClangModelManagerSupport::onTextMarkContextMenuRequested); } } -bool ModelManagerSupportClang::eventFilter(QObject *obj, QEvent *e) +bool ClangModelManagerSupport::eventFilter(QObject *obj, QEvent *e) { if (obj == QApplication::instance() && e->type() == QEvent::ApplicationStateChange) { switch (QApplication::applicationState()) { @@ -232,7 +232,7 @@ bool ModelManagerSupportClang::eventFilter(QObject *obj, QEvent *e) return false; } -void ModelManagerSupportClang::onEditorOpened(Core::IEditor *editor) +void ClangModelManagerSupport::onEditorOpened(Core::IEditor *editor) { QTC_ASSERT(editor, return); Core::IDocument *document = editor->document(); @@ -247,19 +247,19 @@ void ModelManagerSupportClang::onEditorOpened(Core::IEditor *editor) } } -void ModelManagerSupportClang::onEditorClosed(const QList &) +void ClangModelManagerSupport::onEditorClosed(const QList &) { m_communicator.documentVisibilityChanged(); } -void ModelManagerSupportClang::onCppDocumentAboutToReloadOnTranslationUnit() +void ClangModelManagerSupport::onCppDocumentAboutToReloadOnTranslationUnit() { TextEditor::TextDocument *textDocument = qobject_cast(sender()); disconnect(textDocument, &TextEditor::TextDocument::contentsChangedWithPosition, - this, &ModelManagerSupportClang::onCppDocumentContentsChangedOnTranslationUnit); + this, &ClangModelManagerSupport::onCppDocumentContentsChangedOnTranslationUnit); } -void ModelManagerSupportClang::onCppDocumentReloadFinishedOnTranslationUnit(bool success) +void ClangModelManagerSupport::onCppDocumentReloadFinishedOnTranslationUnit(bool success) { if (success) { TextEditor::TextDocument *textDocument = qobject_cast(sender()); @@ -277,7 +277,7 @@ void clearDiagnosticFixIts(const QString &filePath) } } -void ModelManagerSupportClang::onCppDocumentContentsChangedOnTranslationUnit(int position, +void ClangModelManagerSupport::onCppDocumentContentsChangedOnTranslationUnit(int position, int /*charsRemoved*/, int /*charsAdded*/) { @@ -290,14 +290,14 @@ void ModelManagerSupportClang::onCppDocumentContentsChangedOnTranslationUnit(int clearDiagnosticFixIts(document->filePath().toString()); } -void ModelManagerSupportClang::onCppDocumentAboutToReloadOnUnsavedFile() +void ClangModelManagerSupport::onCppDocumentAboutToReloadOnUnsavedFile() { TextEditor::TextDocument *textDocument = qobject_cast(sender()); disconnect(textDocument, &TextEditor::TextDocument::contentsChangedWithPosition, - this, &ModelManagerSupportClang::onCppDocumentContentsChangedOnUnsavedFile); + this, &ClangModelManagerSupport::onCppDocumentContentsChangedOnUnsavedFile); } -void ModelManagerSupportClang::onCppDocumentReloadFinishedOnUnsavedFile(bool success) +void ClangModelManagerSupport::onCppDocumentReloadFinishedOnUnsavedFile(bool success) { if (success) { TextEditor::TextDocument *textDocument = qobject_cast(sender()); @@ -306,13 +306,13 @@ void ModelManagerSupportClang::onCppDocumentReloadFinishedOnUnsavedFile(bool suc } } -void ModelManagerSupportClang::onCppDocumentContentsChangedOnUnsavedFile() +void ClangModelManagerSupport::onCppDocumentContentsChangedOnUnsavedFile() { Core::IDocument *document = qobject_cast(sender()); m_communicator.unsavedFilesUpdated(document); } -void ModelManagerSupportClang::onAbstractEditorSupportContentsUpdated(const QString &filePath, +void ClangModelManagerSupport::onAbstractEditorSupportContentsUpdated(const QString &filePath, const QByteArray &content) { QTC_ASSERT(!filePath.isEmpty(), return); @@ -321,7 +321,7 @@ void ModelManagerSupportClang::onAbstractEditorSupportContentsUpdated(const QStr m_communicator.unsavedFilesUpdated(mappedPath, content, 0); } -void ModelManagerSupportClang::onAbstractEditorSupportRemoved(const QString &filePath) +void ClangModelManagerSupport::onAbstractEditorSupportRemoved(const QString &filePath) { QTC_ASSERT(!filePath.isEmpty(), return); @@ -358,7 +358,7 @@ static TextEditor::AssistInterface createAssistInterface(TextEditor::TextEditorW TextEditor::IdleEditor); } -void ModelManagerSupportClang::onTextMarkContextMenuRequested(TextEditor::TextEditorWidget *widget, +void ClangModelManagerSupport::onTextMarkContextMenuRequested(TextEditor::TextEditorWidget *widget, int lineNumber, QMenu *menu) { @@ -402,7 +402,7 @@ static void updateProcessors(const ClangEditorDocumentProcessors &processors) modelManager->updateCppEditorDocuments(/*projectsUpdated=*/ false); } -void ModelManagerSupportClang::onProjectAdded(ProjectExplorer::Project *project) +void ClangModelManagerSupport::onProjectAdded(ProjectExplorer::Project *project) { QTC_ASSERT(!m_projectSettings.value(project), return); @@ -414,7 +414,7 @@ void ModelManagerSupportClang::onProjectAdded(ProjectExplorer::Project *project) m_projectSettings.insert(project, settings); } -void ModelManagerSupportClang::onAboutToRemoveProject(ProjectExplorer::Project *project) +void ClangModelManagerSupport::onAboutToRemoveProject(ProjectExplorer::Project *project) { ClangProjectSettings * const settings = m_projectSettings.value(project); QTC_ASSERT(settings, return); @@ -422,7 +422,7 @@ void ModelManagerSupportClang::onAboutToRemoveProject(ProjectExplorer::Project * delete settings; } -void ModelManagerSupportClang::onProjectPartsUpdated(ProjectExplorer::Project *project) +void ClangModelManagerSupport::onProjectPartsUpdated(ProjectExplorer::Project *project) { QTC_ASSERT(project, return); const CppTools::ProjectInfo projectInfo = cppModelManager()->projectInfo(project); @@ -434,7 +434,7 @@ void ModelManagerSupportClang::onProjectPartsUpdated(ProjectExplorer::Project *p onProjectPartsRemoved(projectPartIds); } -void ModelManagerSupportClang::onProjectPartsRemoved(const QStringList &projectPartIds) +void ClangModelManagerSupport::onProjectPartsRemoved(const QStringList &projectPartIds) { if (!projectPartIds.isEmpty()) reinitializeBackendDocuments(projectPartIds); @@ -448,7 +448,7 @@ static ClangEditorDocumentProcessors clangProcessorsWithDiagnosticConfig( }); } -void ModelManagerSupportClang::onDiagnosticConfigsInvalidated(const QVector &configIds) +void ClangModelManagerSupport::onDiagnosticConfigsInvalidated(const QVector &configIds) { updateProcessors(clangProcessorsWithDiagnosticConfig(configIds)); } @@ -461,7 +461,7 @@ clangProcessorsWithProjectParts(const QStringList &projectPartIds) }); } -void ModelManagerSupportClang::reinitializeBackendDocuments(const QStringList &projectPartIds) +void ClangModelManagerSupport::reinitializeBackendDocuments(const QStringList &projectPartIds) { const auto processors = clangProcessorsWithProjectParts(projectPartIds); foreach (ClangEditorDocumentProcessor *processor, processors) { @@ -471,45 +471,45 @@ void ModelManagerSupportClang::reinitializeBackendDocuments(const QStringList &p } } -ModelManagerSupportClang *ModelManagerSupportClang::instance() +ClangModelManagerSupport *ClangModelManagerSupport::instance() { return m_instance; } -BackendCommunicator &ModelManagerSupportClang::communicator() +BackendCommunicator &ClangModelManagerSupport::communicator() { return m_communicator; } -QString ModelManagerSupportClang::dummyUiHeaderOnDiskPath(const QString &filePath) const +QString ClangModelManagerSupport::dummyUiHeaderOnDiskPath(const QString &filePath) const { return m_uiHeaderOnDiskManager.mapPath(filePath); } -ClangProjectSettings &ModelManagerSupportClang::projectSettings( +ClangProjectSettings &ClangModelManagerSupport::projectSettings( ProjectExplorer::Project *project) const { return *m_projectSettings.value(project); } -QString ModelManagerSupportClang::dummyUiHeaderOnDiskDirPath() const +QString ClangModelManagerSupport::dummyUiHeaderOnDiskDirPath() const { return m_uiHeaderOnDiskManager.directoryPath(); } -QString ModelManagerSupportProviderClang::id() const +QString ClangModelManagerSupportProvider::id() const { return QLatin1String(Constants::CLANG_MODELMANAGERSUPPORT_ID); } -QString ModelManagerSupportProviderClang::displayName() const +QString ClangModelManagerSupportProvider::displayName() const { //: Display name return QCoreApplication::translate("ClangCodeModel::Internal::ModelManagerSupport", "Clang"); } -CppTools::ModelManagerSupport::Ptr ModelManagerSupportProviderClang::createModelManagerSupport() +CppTools::ModelManagerSupport::Ptr ClangModelManagerSupportProvider::createModelManagerSupport() { - return CppTools::ModelManagerSupport::Ptr(new ModelManagerSupportClang); + return CppTools::ModelManagerSupport::Ptr(new ClangModelManagerSupport); } diff --git a/src/plugins/clangcodemodel/clangmodelmanagersupport.h b/src/plugins/clangcodemodel/clangmodelmanagersupport.h index 9578804ebb6..90570402cc7 100644 --- a/src/plugins/clangcodemodel/clangmodelmanagersupport.h +++ b/src/plugins/clangcodemodel/clangmodelmanagersupport.h @@ -55,15 +55,15 @@ namespace Internal { class ClangProjectSettings; -class ModelManagerSupportClang: +class ClangModelManagerSupport: public QObject, public CppTools::ModelManagerSupport { Q_OBJECT public: - ModelManagerSupportClang(); - ~ModelManagerSupportClang() override; + ClangModelManagerSupport(); + ~ClangModelManagerSupport() override; CppTools::CppCompletionAssistProvider *completionAssistProvider() override; TextEditor::BaseHoverHandler *createHoverHandler() override; @@ -80,7 +80,7 @@ public: ClangProjectSettings &projectSettings(ProjectExplorer::Project *project) const; - static ModelManagerSupportClang *instance(); + static ClangModelManagerSupport *instance(); private: bool eventFilter(QObject *obj, QEvent *e) override; @@ -131,7 +131,7 @@ private: QHash m_projectSettings; }; -class ModelManagerSupportProviderClang : public CppTools::ModelManagerSupportProvider +class ClangModelManagerSupportProvider : public CppTools::ModelManagerSupportProvider { public: QString id() const override; diff --git a/src/plugins/clangcodemodel/clangprojectsettingswidget.cpp b/src/plugins/clangcodemodel/clangprojectsettingswidget.cpp index f8fcd68babe..2e0db6b6bcb 100644 --- a/src/plugins/clangcodemodel/clangprojectsettingswidget.cpp +++ b/src/plugins/clangcodemodel/clangprojectsettingswidget.cpp @@ -53,7 +53,7 @@ static Core::Id configIdForProject(ClangProjectSettings &projectSettings) } ClangProjectSettingsWidget::ClangProjectSettingsWidget(ProjectExplorer::Project *project) - : m_projectSettings(ModelManagerSupportClang::instance()->projectSettings(project)) + : m_projectSettings(ClangModelManagerSupport::instance()->projectSettings(project)) { m_ui.setupUi(this); diff --git a/src/plugins/clangcodemodel/clangutils.cpp b/src/plugins/clangcodemodel/clangutils.cpp index 62c78f8c6d0..9ae6ea7d595 100644 --- a/src/plugins/clangcodemodel/clangutils.cpp +++ b/src/plugins/clangcodemodel/clangutils.cpp @@ -95,7 +95,7 @@ public: private: void addDummyUiHeaderOnDiskIncludePath() { - const QString path = ModelManagerSupportClang::instance()->dummyUiHeaderOnDiskDirPath(); + const QString path = ClangModelManagerSupport::instance()->dummyUiHeaderOnDiskDirPath(); if (!path.isEmpty()) { add("-I"); add(QDir::toNativeSeparators(path)); diff --git a/src/plugins/clangformat/clangformatconfigwidget.cpp b/src/plugins/clangformat/clangformatconfigwidget.cpp index d2daa3adf7a..620989d02b0 100644 --- a/src/plugins/clangformat/clangformatconfigwidget.cpp +++ b/src/plugins/clangformat/clangformatconfigwidget.cpp @@ -158,7 +158,7 @@ void ClangFormatConfigWidget::initialize() m_ui->projectHasClangFormat->hide(); } else { m_ui->projectHasClangFormat->setText( - tr(" Current project has its own .clang-format file " + tr("Current project has its own .clang-format file " "and can be configured in Projects > Clang Format.")); } const QString settingsDir = Core::ICore::userResourcePath(); diff --git a/src/plugins/clangformat/clangformatconfigwidget.ui b/src/plugins/clangformat/clangformatconfigwidget.ui index 41774e133d0..569f486912f 100644 --- a/src/plugins/clangformat/clangformatconfigwidget.ui +++ b/src/plugins/clangformat/clangformatconfigwidget.ui @@ -11,7 +11,7 @@ - Form + diff --git a/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp b/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp index 3646b066b5d..d5757b5e6de 100644 --- a/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp +++ b/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp @@ -567,7 +567,7 @@ QList CMakeConfigurationKitInformation::validate(const Kit *k) const Utils::FileName tcCPath; Utils::FileName tcCxxPath; foreach (const CMakeConfigItem &i, config) { - // Do not use expand(QByteArray) as we can not be sure the input is latin1 + // Do not use expand(QByteArray) as we cannot be sure the input is latin1 const Utils::FileName expandedValue = Utils::FileName::fromString(k->macroExpander()->expand(QString::fromUtf8(i.value))); if (i.key == CMAKE_QMAKE_KEY) diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index 598a0f7b4a8..70a6bc19b59 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -170,7 +170,7 @@ CMakeProject::CMakeProject(const FileName &fileName) : Project(Constants::CMAKEM if (senderBc && senderBc->isActive()) { // The environment on our BC has changed: - // * Error out if the reader updates, can not happen since all BCs share a target/kit. + // * Error out if the reader updates, cannot happen since all BCs share a target/kit. // * run cmake without configuration arguments if the reader stays m_buildDirManager.setParametersAndRequestParse( BuildDirParameters(senderBc), @@ -183,7 +183,7 @@ CMakeProject::CMakeProject(const FileName &fileName) : Project(Constants::CMAKEM if (senderBc && senderBc->isActive() && senderBc == m_buildDirManager.buildConfiguration()) { // The build directory of our BC has changed: - // * Error out if the reader updates, can not happen since all BCs share a target/kit. + // * Error out if the reader updates, cannot happen since all BCs share a target/kit. // * run cmake without configuration arguments if the reader stays // If no configuration exists, then the arguments will get added automatically by // the reader. @@ -198,7 +198,7 @@ CMakeProject::CMakeProject(const FileName &fileName) : Project(Constants::CMAKEM if (senderBc && senderBc->isActive() && senderBc == m_buildDirManager.buildConfiguration()) { // The CMake configuration has changed on our BC: - // * Error out if the reader updates, can not happen since all BCs share a target/kit. + // * Error out if the reader updates, cannot happen since all BCs share a target/kit. // * run cmake with configuration arguments if the reader stays m_buildDirManager.setParametersAndRequestParse( BuildDirParameters(senderBc), diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp index 565b0eac328..7f367331312 100644 --- a/src/plugins/coreplugin/coreplugin.cpp +++ b/src/plugins/coreplugin/coreplugin.cpp @@ -197,10 +197,10 @@ bool CorePlugin::initialize(const QStringList &arguments, QString *errorMessage) .arg(Constants::IDE_DISPLAY_NAME), []() { return QVariant(Utils::HostOsInfo::isAnyUnixHost()).toString(); }); expander->registerVariable("HostOs:PathListSeparator", - tr("Return the path list separator for the platform."), + tr("The path list separator for the platform."), []() { return QString(Utils::HostOsInfo::pathListSeparator()); }); expander->registerVariable("HostOs:ExecutableSuffix", - tr("Return the platform executable suffix."), + tr("The platform executable suffix."), []() { return QString(Utils::HostOsInfo::withExecutableSuffix("")); }); expander->registerVariable("IDE:ResourcePath", tr("The directory where %1 finds its pre-installed resources.") diff --git a/src/plugins/coreplugin/idocument.cpp b/src/plugins/coreplugin/idocument.cpp index fefff6a701b..e5a78b32d5b 100644 --- a/src/plugins/coreplugin/idocument.cpp +++ b/src/plugins/coreplugin/idocument.cpp @@ -126,7 +126,7 @@ Id IDocument::id() const * In that case, the contents of the auto save file should be loaded, the file name of the * IDocument should be set to \a fileName, and the document state be set to modified. * If the editor is opened from a regular file, \a fileName and \a realFileName are the same. - * Use \a errorString to return an error message, if this document can not handle the + * Use \a errorString to return an error message, if this document cannot handle the * file contents. * Returns whether the file was opened and read successfully. */ diff --git a/src/plugins/coreplugin/infobar.cpp b/src/plugins/coreplugin/infobar.cpp index 3ca512c5549..53c0cc4abe5 100644 --- a/src/plugins/coreplugin/infobar.cpp +++ b/src/plugins/coreplugin/infobar.cpp @@ -111,7 +111,7 @@ void InfoBar::suppressInfo(Id id) m_suppressed << id; } -// Info can not be added more than once, or if it is suppressed +// Info cannot be added more than once, or if it is suppressed bool InfoBar::canInfoBeAdded(Id id) const { return !containsInfo(id) && !m_suppressed.contains(id) && !globallySuppressed.contains(id); diff --git a/src/plugins/cppcheck/cppcheckoptions.cpp b/src/plugins/cppcheck/cppcheckoptions.cpp index de81af7535d..6e665417d03 100644 --- a/src/plugins/cppcheck/cppcheckoptions.cpp +++ b/src/plugins/cppcheck/cppcheckoptions.cpp @@ -36,6 +36,8 @@ #include #include +#include + #include #include #include @@ -164,6 +166,8 @@ CppcheckOptionsPage::CppcheckOptionsPage(CppcheckTool &tool, CppcheckTrigger &tr setId(Constants::OPTIONS_PAGE_ID); setDisplayName(tr("Cppcheck")); setCategory("T.Analyzer"); + setDisplayCategory(QCoreApplication::translate("Analyzer", "Analyzer")); + setCategoryIcon(Analyzer::Icons::SETTINGSCATEGORY_ANALYZER); CppcheckOptions options; if (Utils::HostOsInfo::isAnyUnixHost()) { diff --git a/src/plugins/cpptools/cppmodelmanagersupportinternal.cpp b/src/plugins/cpptools/cppbuiltinmodelmanagersupport.cpp similarity index 70% rename from src/plugins/cpptools/cppmodelmanagersupportinternal.cpp rename to src/plugins/cpptools/cppbuiltinmodelmanagersupport.cpp index 2bf4ac27009..8aead44395f 100644 --- a/src/plugins/cpptools/cppmodelmanagersupportinternal.cpp +++ b/src/plugins/cpptools/cppbuiltinmodelmanagersupport.cpp @@ -24,7 +24,7 @@ ****************************************************************************/ #include "cppcompletionassist.h" -#include "cppmodelmanagersupportinternal.h" +#include "cppbuiltinmodelmanagersupport.h" #include "cppfollowsymbolundercursor.h" #include "cpphoverhandler.h" #include "cppoverviewmodel.h" @@ -38,60 +38,60 @@ using namespace CppTools; using namespace CppTools::Internal; -QString ModelManagerSupportProviderInternal::id() const +QString BuiltinModelManagerSupportProvider::id() const { return QLatin1String("CppTools.BuiltinCodeModel"); } -QString ModelManagerSupportProviderInternal::displayName() const +QString BuiltinModelManagerSupportProvider::displayName() const { return QCoreApplication::translate("ModelManagerSupportInternal::displayName", "%1 Built-in").arg(Core::Constants::IDE_DISPLAY_NAME); } -ModelManagerSupport::Ptr ModelManagerSupportProviderInternal::createModelManagerSupport() +ModelManagerSupport::Ptr BuiltinModelManagerSupportProvider::createModelManagerSupport() { - return ModelManagerSupport::Ptr(new ModelManagerSupportInternal); + return ModelManagerSupport::Ptr(new BuiltinModelManagerSupport); } -ModelManagerSupportInternal::ModelManagerSupportInternal() +BuiltinModelManagerSupport::BuiltinModelManagerSupport() : m_completionAssistProvider(new InternalCompletionAssistProvider), m_followSymbol(new FollowSymbolUnderCursor), m_refactoringEngine(new CppRefactoringEngine) { } -ModelManagerSupportInternal::~ModelManagerSupportInternal() +BuiltinModelManagerSupport::~BuiltinModelManagerSupport() { } -BaseEditorDocumentProcessor *ModelManagerSupportInternal::createEditorDocumentProcessor( +BaseEditorDocumentProcessor *BuiltinModelManagerSupport::createEditorDocumentProcessor( TextEditor::TextDocument *baseTextDocument) { return new BuiltinEditorDocumentProcessor(baseTextDocument); } -CppCompletionAssistProvider *ModelManagerSupportInternal::completionAssistProvider() +CppCompletionAssistProvider *BuiltinModelManagerSupport::completionAssistProvider() { return m_completionAssistProvider.data(); } -TextEditor::BaseHoverHandler *ModelManagerSupportInternal::createHoverHandler() +TextEditor::BaseHoverHandler *BuiltinModelManagerSupport::createHoverHandler() { return new CppHoverHandler; } -FollowSymbolInterface &ModelManagerSupportInternal::followSymbolInterface() +FollowSymbolInterface &BuiltinModelManagerSupport::followSymbolInterface() { return *m_followSymbol; } -RefactoringEngineInterface &ModelManagerSupportInternal::refactoringEngineInterface() +RefactoringEngineInterface &BuiltinModelManagerSupport::refactoringEngineInterface() { return *m_refactoringEngine; } -std::unique_ptr ModelManagerSupportInternal::createOverviewModel() +std::unique_ptr BuiltinModelManagerSupport::createOverviewModel() { return std::make_unique(); } diff --git a/src/plugins/cpptools/cppmodelmanagersupportinternal.h b/src/plugins/cpptools/cppbuiltinmodelmanagersupport.h similarity index 89% rename from src/plugins/cpptools/cppmodelmanagersupportinternal.h rename to src/plugins/cpptools/cppbuiltinmodelmanagersupport.h index b01f38f4b88..93707d465a1 100644 --- a/src/plugins/cpptools/cppmodelmanagersupportinternal.h +++ b/src/plugins/cpptools/cppbuiltinmodelmanagersupport.h @@ -32,13 +32,13 @@ namespace CppTools { namespace Internal { -class ModelManagerSupportInternal: public ModelManagerSupport +class BuiltinModelManagerSupport: public ModelManagerSupport { - Q_DISABLE_COPY(ModelManagerSupportInternal) + Q_DISABLE_COPY(BuiltinModelManagerSupport) public: - ModelManagerSupportInternal(); - virtual ~ModelManagerSupportInternal(); + BuiltinModelManagerSupport(); + virtual ~BuiltinModelManagerSupport(); CppCompletionAssistProvider *completionAssistProvider() final; TextEditor::BaseHoverHandler *createHoverHandler() final; @@ -55,7 +55,7 @@ private: QScopedPointer m_refactoringEngine; }; -class ModelManagerSupportProviderInternal : public ModelManagerSupportProvider +class BuiltinModelManagerSupportProvider : public ModelManagerSupportProvider { public: QString id() const override; diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index 603ff3174b9..10fbbcf11e9 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -38,7 +38,7 @@ #include "cppindexingsupport.h" #include "cpplocatordata.h" #include "cpplocatorfilter.h" -#include "cppmodelmanagersupportinternal.h" +#include "cppbuiltinmodelmanagersupport.h" #include "cppqtstyleindenter.h" #include "cpprefactoringchanges.h" #include "cpprefactoringengine.h" @@ -502,7 +502,7 @@ void CppModelManager::initCppTools() void CppModelManager::initializeBuiltinModelManagerSupport() { d->m_builtinModelManagerSupport - = ModelManagerSupportProviderInternal().createModelManagerSupport(); + = BuiltinModelManagerSupportProvider().createModelManagerSupport(); d->m_activeModelManagerSupport = d->m_builtinModelManagerSupport; d->m_refactoringEngines[RefactoringEngineType::BuiltIn] = &d->m_activeModelManagerSupport->refactoringEngineInterface(); diff --git a/src/plugins/cpptools/cpptools.pro b/src/plugins/cpptools/cpptools.pro index c73fba75f36..32c65b02040 100644 --- a/src/plugins/cpptools/cpptools.pro +++ b/src/plugins/cpptools/cpptools.pro @@ -48,7 +48,6 @@ HEADERS += \ cpplocatorfilter.h \ cppmodelmanager.h \ cppmodelmanagersupport.h \ - cppmodelmanagersupportinternal.h \ cppoverviewmodel.h \ cpppointerdeclarationformatter.h \ cppprojectfile.h \ @@ -101,7 +100,8 @@ HEADERS += \ wrappablelineedit.h \ usages.h \ cpptools_clangtidychecks.h \ - cppmodelmanagerinterface.h + cppmodelmanagerinterface.h \ + cppbuiltinmodelmanagersupport.h SOURCES += \ abstracteditorsupport.cpp \ @@ -146,7 +146,6 @@ SOURCES += \ cpplocatorfilter.cpp \ cppmodelmanager.cpp \ cppmodelmanagersupport.cpp \ - cppmodelmanagersupportinternal.cpp \ cppoverviewmodel.cpp \ cpppointerdeclarationformatter.cpp \ cppprojectfile.cpp \ @@ -187,7 +186,8 @@ SOURCES += \ compileroptionsbuilder.cpp \ cppprojectfilecategorizer.cpp \ cppprojectpartchooser.cpp \ - wrappablelineedit.cpp + wrappablelineedit.cpp \ + cppbuiltinmodelmanagersupport.cpp FORMS += \ clangdiagnosticconfigswidget.ui \ diff --git a/src/plugins/cpptools/cpptools.qbs b/src/plugins/cpptools/cpptools.qbs index 9020ce2e5e6..6659ddf922b 100644 --- a/src/plugins/cpptools/cpptools.qbs +++ b/src/plugins/cpptools/cpptools.qbs @@ -56,6 +56,8 @@ Project { "clazychecks.ui", "compileroptionsbuilder.cpp", "compileroptionsbuilder.h", + "cppbuiltinmodelmanagersupport.cpp", + "cppbuiltinmodelmanagersupport.h", "cppcanonicalsymbol.cpp", "cppcanonicalsymbol.h", "cppchecksymbols.cpp", @@ -123,8 +125,6 @@ Project { "cppmodelmanager.h", "cppmodelmanagersupport.cpp", "cppmodelmanagersupport.h", - "cppmodelmanagersupportinternal.cpp", - "cppmodelmanagersupportinternal.h", "cppoverviewmodel.cpp", "cppoverviewmodel.h", "cpppointerdeclarationformatter.cpp", @@ -215,7 +215,7 @@ Project { "tidychecks.ui", "typehierarchybuilder.cpp", "typehierarchybuilder.h", - "usages.h" + "usages.h", ] Group { diff --git a/src/plugins/cpptools/cpptoolsconstants.h b/src/plugins/cpptools/cpptoolsconstants.h index 47fcd2568d9..645b59af020 100644 --- a/src/plugins/cpptools/cpptoolsconstants.h +++ b/src/plugins/cpptools/cpptoolsconstants.h @@ -99,7 +99,7 @@ const char SYMBOLS_FIND_FILTER_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("CppTools", "C // CLANG_VERSION here because it might denote a version that was not yet // released (e.g. 6.0.1, but only 6.0.0 was released). constexpr const char TIDY_DOCUMENTATION_URL_TEMPLATE[] - = "https://releases.llvm.org/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/%1.html"; + = "https://releases.llvm.org/7.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/%1.html"; } // namespace Constants } // namespace CppTools diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp index db5b6332ed8..4222957b32f 100644 --- a/src/plugins/debugger/breakhandler.cpp +++ b/src/plugins/debugger/breakhandler.cpp @@ -1331,12 +1331,6 @@ void BreakpointItem::setEnabled(bool on) adjustMarker(); } -void BreakHandler::setBreakpointEnabled(const Breakpoint &bp, bool on) -{ - bp->setEnabled(on); - requestBreakpointUpdate(bp); -} - void DebuggerEngine::notifyBreakpointInsertProceeding(const Breakpoint &bp) { QTC_ASSERT(bp, return); diff --git a/src/plugins/debugger/breakhandler.h b/src/plugins/debugger/breakhandler.h index dee8b3e69b6..544f4a509eb 100644 --- a/src/plugins/debugger/breakhandler.h +++ b/src/plugins/debugger/breakhandler.h @@ -257,7 +257,6 @@ public: // Convenience. void setWatchpointAtAddress(quint64 address, unsigned size); void setWatchpointAtExpression(const QString &exp); - void setBreakpointEnabled(const Breakpoint &bp, bool on); void updateDisassemblerMarker(const Breakpoint &bp); void removeDisassemblerMarker(const Breakpoint &bp); diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 70a6b909148..98d9145d017 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -610,7 +610,7 @@ void CdbEngine::runEngine() const auto cb = [this](const DebuggerResponse &r) { handleBreakInsert(r, Breakpoint()); }; if (boolSetting(CdbBreakOnCrtDbgReport)) { Abi::OSFlavor flavor = runParameters().toolChainAbi.osFlavor(); - // CrtDebugReport can not be safely resolved for vc 19 + // CrtDebugReport cannot be safely resolved for vc 19 if ((flavor > Abi::WindowsMsvc2005Flavor && flavor <= Abi::WindowsMsvc2013Flavor) || flavor > Abi::WindowsMSysFlavor || flavor <= Abi::WindowsCEFlavor) { const QString module = msvcRunTime(flavor); @@ -743,18 +743,23 @@ static inline bool isWatchIName(const QString &iname) bool CdbEngine::hasCapability(unsigned cap) const { - return cap & (DisassemblerCapability | RegisterCapability - | ShowMemoryCapability - |WatchpointByAddressCapability|JumpToLineCapability|AddWatcherCapability|WatchWidgetsCapability - |ReloadModuleCapability - |BreakOnThrowAndCatchCapability // Sort-of: Can break on throw(). - |BreakConditionCapability|TracePointCapability - |BreakModuleCapability - |CreateFullBacktraceCapability - |OperateByInstructionCapability - |RunToLineCapability - |MemoryAddressCapability - |AdditionalQmlStackCapability); + return cap & (DisassemblerCapability + | RegisterCapability + | ShowMemoryCapability + | WatchpointByAddressCapability + | JumpToLineCapability + | AddWatcherCapability + | WatchWidgetsCapability + | ReloadModuleCapability + | BreakOnThrowAndCatchCapability // Sort-of: Can break on throw(). + | BreakConditionCapability|TracePointCapability + | BreakIndividualLocationsCapability + | BreakModuleCapability + | CreateFullBacktraceCapability + | OperateByInstructionCapability + | RunToLineCapability + | MemoryAddressCapability + | AdditionalQmlStackCapability); } void CdbEngine::executeStepIn(bool byInstruction) @@ -832,6 +837,7 @@ void CdbEngine::handleDoInterruptInferior(const QString &errorMessage) void CdbEngine::doInterruptInferior(const InterruptCallback &callback) { + const bool requestInterrupt = m_stopMode == NoStopRequested; if (callback) { m_interrupCallbacks.push_back(callback); if (!m_initialSessionIdleHandled) @@ -842,6 +848,8 @@ void CdbEngine::doInterruptInferior(const InterruptCallback &callback) m_stopMode = Interrupt; } + if (!requestInterrupt) + return; // we already requested a stop no need to interrupt twice showMessage(QString("Interrupting process %1...").arg(inferiorPid()), LogMisc); QTC_ASSERT(!m_signalOperation, notifyInferiorStopFailed(); return); QTC_ASSERT(device(), notifyInferiorRunFailed(); return); @@ -2489,7 +2497,7 @@ void CdbEngine::insertBreakpoint(const Breakpoint &bp) BreakpointParameters parameters = bp->requestedParameters(); const auto handleBreakInsertCB = [this, bp](const DebuggerResponse &r) { handleBreakInsert(r, bp); }; BreakpointParameters response = parameters; - auto responseId = QString::number(breakPointIdToCdbId(bp)); + const QString responseId = breakPointCdbId(bp); QScopedPointer lineCorrection( new BreakpointCorrectionContext(m_codeModelSnapshot, CppTools::CppModelManager::instance()->workingCopy())); if (!m_autoBreakPointCorrection @@ -2536,7 +2544,7 @@ void CdbEngine::updateBreakpoint(const Breakpoint &bp) BreakpointParameters parameters = bp->requestedParameters(); const auto handleBreakInsertCB = [this, bp](const DebuggerResponse &r) { handleBreakInsert(r, bp); }; BreakpointParameters response = parameters; - auto responseId = QString::number(breakPointIdToCdbId(bp)); + const QString responseId = breakPointCdbId(bp); notifyBreakpointChangeProceeding(bp); if (debugBreakpoints) qDebug("Changing %d:\n %s\nTo %s\n", bp->modelId(), @@ -2745,7 +2753,7 @@ void CdbEngine::setupScripting(const DebuggerResponse &response) } if (!ok) { m_pythonVersion = 0; - showMessage(QString("Can not parse sys.version:\n%1").arg(verOutput), LogWarning); + showMessage(QString("Cannot parse sys.version:\n%1").arg(verOutput), LogWarning); return; } diff --git a/src/plugins/debugger/cdb/cdboptionspagewidget.ui b/src/plugins/debugger/cdb/cdboptionspagewidget.ui index e6d5646dea9..345b85c7565 100644 --- a/src/plugins/debugger/cdb/cdboptionspagewidget.ui +++ b/src/plugins/debugger/cdb/cdboptionspagewidget.ui @@ -106,7 +106,7 @@ - Task Entries for Exceptions + Add Exceptions to Issues View diff --git a/src/plugins/debugger/cdb/cdbparsehelpers.cpp b/src/plugins/debugger/cdb/cdbparsehelpers.cpp index f91ef452618..58047ce12fe 100644 --- a/src/plugins/debugger/cdb/cdbparsehelpers.cpp +++ b/src/plugins/debugger/cdb/cdbparsehelpers.cpp @@ -128,25 +128,14 @@ static BreakpointParameters fixWinMSVCBreakpoint(const BreakpointParameters &p) return p; } -int breakPointIdToCdbId(const Breakpoint &bp) +QString breakPointCdbId(const Breakpoint &bp) { -// return cdbBreakPointStartId + bp.majorPart() * cdbBreakPointIdMinorPart + bp.minorPart(); + static int bpId = 1; if (!bp->responseId().isEmpty()) - return bp->responseId().toInt(); - return cdbBreakPointStartId + bp->modelId() * cdbBreakPointIdMinorPart; + return bp->responseId(); + return QString::number(cdbBreakPointStartId + (bpId++) * cdbBreakPointIdMinorPart); } -//static int cdbIdToBreakpointModel(int cdbid) -//{ -// if (cdbid >= cdbBreakPointStartId) { -// int major = (cdbid - cdbBreakPointStartId) / cdbBreakPointIdMinorPart; -// int minor = cdbid % cdbBreakPointIdMinorPart; -// (void) minor; -// return major; -// } -// return 0; -//} - QString cdbAddBreakpointCommand(const BreakpointParameters &bpIn, const QList > &sourcePathMapping, const QString &responseId, @@ -212,11 +201,11 @@ QString cdbAddBreakpointCommand(const BreakpointParameters &bpIn, QString cdbClearBreakpointCommand(const Breakpoint &bp) { // FIME: Check -// const int firstBreakPoint = breakPointIdToCdbId(id); +// const int firstBreakPoint = breakPointCdbId(id); // if (id.isMinor()) // return "bc " + QString::number(firstBreakPoint); // If this is a major break point we also want to delete all sub break points - const int firstBreakPoint = cdbBreakPointStartId + bp->modelId() * cdbBreakPointIdMinorPart; + const int firstBreakPoint = bp->responseId().toInt(); const int lastBreakPoint = firstBreakPoint + cdbBreakPointIdMinorPart - 1; return "bc " + QString::number(firstBreakPoint) + '-' + QString::number(lastBreakPoint); } diff --git a/src/plugins/debugger/cdb/cdbparsehelpers.h b/src/plugins/debugger/cdb/cdbparsehelpers.h index 73b480b69e3..6bf0efa160b 100644 --- a/src/plugins/debugger/cdb/cdbparsehelpers.h +++ b/src/plugins/debugger/cdb/cdbparsehelpers.h @@ -53,7 +53,7 @@ QString cdbSourcePathMapping(QString fileName, enum { cdbBreakPointStartId = 100000, cdbBreakPointIdMinorPart = 100}; -int breakPointIdToCdbId(const Breakpoint &bp); +QString breakPointCdbId(const Breakpoint &bp); // Convert breakpoint in CDB syntax (applying source path mappings using native paths). QString cdbAddBreakpointCommand(const BreakpointParameters &d, diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 301a2801beb..75aa213b508 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -1261,11 +1261,13 @@ void DebuggerEnginePrivate::setInitialActionStates() m_recordForReverseOperationAction.setCheckable(true); m_recordForReverseOperationAction.setChecked(false); m_recordForReverseOperationAction.setIcon(Icons::RECORD_OFF.icon()); - m_recordForReverseOperationAction.setToolTip(tr( - "

Record information to enable stepping backwards.

" - "Note: This feature is very slow and unstable on the GDB side. " - "It exhibits unpredictable behavior when going backwards over system " - "calls and is very likely to destroy your debugging session.

")); + m_recordForReverseOperationAction.setToolTip(QString("

%1

" + "%2%3

").arg( + tr("Record information to enable stepping backwards."), + tr("Note: "), + tr("This feature is very slow and unstable on the GDB side. " + "It exhibits unpredictable behavior when going backwards over system " + "calls and is very likely to destroy your debugging session."))); m_operateInReverseDirectionAction.setCheckable(true); m_operateInReverseDirectionAction.setChecked(false); @@ -1847,7 +1849,7 @@ void DebuggerEngine::handleBeginOfRecordingReached() void DebuggerEngine::handleRecordingFailed() { - showStatusMessage(tr("Reverse-execution recording failed..")); + showStatusMessage(tr("Reverse-execution recording failed.")); d->m_operateInReverseDirectionAction.setChecked(false); d->m_recordForReverseOperationAction.setChecked(false); d->updateReverseActions(); diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 449842e0b9e..bf41147fad4 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1963,7 +1963,7 @@ void DebuggerPluginPrivate::requestContextMenu(TextEditorWidget *widget, } // Edit existing breakpoint. - act = menu->addAction(tr("Edit Breakpoint ...")); + act = menu->addAction(tr("Edit Breakpoint...")); connect(act, &QAction::triggered, [gbp] { BreakpointManager::editBreakpoint(gbp, ICore::dialogParent()); }); diff --git a/src/plugins/git/mergetool.cpp b/src/plugins/git/mergetool.cpp index 8a224f09a7d..f0f03e4ffc2 100644 --- a/src/plugins/git/mergetool.cpp +++ b/src/plugins/git/mergetool.cpp @@ -238,9 +238,10 @@ void MergeTool::readData() } else if (m_line.startsWith("Hit return")) { QMessageBox::warning( Core::ICore::dialogParent(), tr("Merge Tool"), - tr("

Merge tool is not configured.

\n" - "

Run git config --global merge.tool <tool> to configure it, " - "then try again

")); + QString("

%1

\n

%2

").arg( + tr("Merge tool is not configured."), + tr("Run git config --global merge.tool <tool> " + "to configure it, then try again."))); m_process->kill(); } else if (m_line.endsWith('\n')) { // Skip unidentified lines diff --git a/src/plugins/ios/iosbuildsettingswidget.cpp b/src/plugins/ios/iosbuildsettingswidget.cpp index 8b417ab3905..f7c90b3aa9a 100644 --- a/src/plugins/ios/iosbuildsettingswidget.cpp +++ b/src/plugins/ios/iosbuildsettingswidget.cpp @@ -126,7 +126,7 @@ void IosBuildSettingsWidget::setDefaultSigningIdentfier(const QString &identifie } else { // Reset to default ui->m_signEntityCombo->setCurrentIndex(0); - qCDebug(iosSettingsLog) << "Can not find default" + qCDebug(iosSettingsLog) << "Cannot find default" << (ui->m_autoSignCheckbox->isChecked() ? "team": "provisioning profile") << ". Identifier: " << identifier; } diff --git a/src/plugins/ios/simulatorcontrol.cpp b/src/plugins/ios/simulatorcontrol.cpp index f3f048d02e1..ebe9ece83f4 100644 --- a/src/plugins/ios/simulatorcontrol.cpp +++ b/src/plugins/ios/simulatorcontrol.cpp @@ -107,7 +107,7 @@ static bool launchSimulator(const QString &simUdid) { return runSimCtlCommand(QStringList({"boot", simUdid}), nullptr); } } else { - qCDebug(simulatorLog) << "Can not start Simulator device." + qCDebug(simulatorLog) << "Cannot start Simulator device." << "Error probing Simulator.app instance"; return false; } @@ -438,7 +438,7 @@ void SimulatorControlPrivate::startSimulator(QFutureInterface> error = initResponse.error()) { if (error.value().data().has_value() && error.value().data().value().retry().value_or(false)) { - const QString title(tr("Language Server \"%1\" Initialize Error")); + const QString title(tr("Language Server \"%1\" Initialize Error").arg(m_displayName)); auto result = QMessageBox::warning(Core::ICore::dialogParent(), title, error.value().message(), @@ -813,7 +813,7 @@ void StdIOClient::sendData(const QByteArray &data) void StdIOClient::onProcessFinished(int exitCode, QProcess::ExitStatus exitStatus) { if (exitStatus == QProcess::CrashExit) - setError(tr("Crashed with exit code %1 : %2").arg(exitCode).arg(m_process.error())); + setError(tr("Crashed with exit code %1: %2").arg(exitCode, m_process.error())); emit finished(); } diff --git a/src/plugins/languageclient/languageclientcodeassist.cpp b/src/plugins/languageclient/languageclientcodeassist.cpp index 4a813889f9b..497d9596b06 100644 --- a/src/plugins/languageclient/languageclientcodeassist.cpp +++ b/src/plugins/languageclient/languageclientcodeassist.cpp @@ -372,6 +372,7 @@ void LanguageClientCompletionAssistProcessor::handleCompletionResponse( proposal->m_document = m_document; proposal->m_pos = m_pos; proposal->setFragile(true); + proposal->setSupportsPrefix(false); setAsyncProposalAvailable(proposal); qCDebug(LOGLSPCOMPLETION) << QTime::currentTime() << " : " << items.count() << " completions handled"; diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h index a368fe49099..95161bd6d79 100644 --- a/src/plugins/projectexplorer/buildconfiguration.h +++ b/src/plugins/projectexplorer/buildconfiguration.h @@ -127,7 +127,7 @@ protected: ~IBuildConfigurationFactory() override; public: - // The priority is negative if this factory can not create anything for the target. + // The priority is negative if this factory cannot create anything for the target. // It is 0 for the "default" factory that wants to handle the target. // Add 100 for each specialization. virtual int priority(const Target *parent) const; diff --git a/src/plugins/projectexplorer/foldernavigationwidget.cpp b/src/plugins/projectexplorer/foldernavigationwidget.cpp index 1b6abf740c3..b58b9300b83 100644 --- a/src/plugins/projectexplorer/foldernavigationwidget.cpp +++ b/src/plugins/projectexplorer/foldernavigationwidget.cpp @@ -373,13 +373,25 @@ FolderNavigationWidget::FolderNavigationWidget(QWidget *parent) : QWidget(parent connect(m_listView, &QAbstractItemView::activated, this, [this](const QModelIndex &index) { openItem(m_sortProxyModel->mapToSource(index)); }); - // use QueuedConnection for updating crumble path, because that can scroll, which doesn't - // work well when done directly in currentChanged (the wrong item can get highlighted) + // Delay updating crumble path by event loop cylce, because that can scroll, which doesn't + // work well when done directly in currentChanged (the wrong item can get highlighted). + // We cannot use Qt::QueuedConnection directly, because the QModelIndex could get invalidated + // in the meantime, so use a queued invokeMethod instead. connect(m_listView->selectionModel(), &QItemSelectionModel::currentChanged, this, - &FolderNavigationWidget::setCrumblePath, - Qt::QueuedConnection); + [this](const QModelIndex &index) { + const QModelIndex sourceIndex = m_sortProxyModel->mapToSource(index); + const auto filePath = Utils::FileName::fromString( + m_fileSystemModel->filePath(sourceIndex)); + // QTimer::singleShot only posts directly onto the event loop if you use the SLOT("...") + // notation, so using a singleShot with a lambda would flicker + // QTimer::singleShot(0, this, [this, filePath]() { setCrumblePath(filePath); }); + QMetaObject::invokeMethod(this, + "setCrumblePath", + Qt::QueuedConnection, + Q_ARG(Utils::FileName, filePath)); + }); connect(m_crumbLabel, &Utils::FileCrumbLabel::pathClicked, [this](const Utils::FileName &path) { const QModelIndex rootIndex = m_sortProxyModel->mapToSource(m_listView->rootIndex()); const QModelIndex fileIndex = m_fileSystemModel->index(path.toString()); @@ -623,7 +635,7 @@ void FolderNavigationWidget::selectFile(const Utils::FileName &filePath) } else { m_listView->scrollTo(fileIndex); } - setCrumblePath(fileIndex); + setCrumblePath(filePath); }); } } @@ -699,12 +711,12 @@ void FolderNavigationWidget::createNewFolder(const QModelIndex &parent) m_listView->edit(index); } -void FolderNavigationWidget::setCrumblePath(const QModelIndex &index) +void FolderNavigationWidget::setCrumblePath(const Utils::FileName &filePath) { - const QModelIndex sourceIndex = m_sortProxyModel->mapToSource(index); + const QModelIndex index = m_fileSystemModel->index(filePath.toString()); const int width = m_crumbLabel->width(); const int previousHeight = m_crumbLabel->immediateHeightForWidth(width); - m_crumbLabel->setPath(Utils::FileName::fromString(m_fileSystemModel->filePath(sourceIndex))); + m_crumbLabel->setPath(filePath); const int currentHeight = m_crumbLabel->immediateHeightForWidth(width); const int diff = currentHeight - previousHeight; if (diff != 0 && m_crumbLabel->isVisible()) { diff --git a/src/plugins/projectexplorer/foldernavigationwidget.h b/src/plugins/projectexplorer/foldernavigationwidget.h index f10f69d595d..5c8a2e24f6a 100644 --- a/src/plugins/projectexplorer/foldernavigationwidget.h +++ b/src/plugins/projectexplorer/foldernavigationwidget.h @@ -118,6 +118,9 @@ public: protected: void contextMenuEvent(QContextMenuEvent *ev) override; +private slots: + void setCrumblePath(const Utils::FileName &filePath); + private: bool rootAutoSynchronization() const; void setRootAutoSynchronization(bool sync); @@ -131,7 +134,6 @@ private: QStringList projectsInDirectory(const QModelIndex &index) const; void openProjectsInDirectory(const QModelIndex &index); void createNewFolder(const QModelIndex &parent); - void setCrumblePath(const QModelIndex &index); Core::IContext *m_context = nullptr; Utils::NavigationTreeView *m_listView = nullptr; diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp index 394d4a26ae3..0f2060b840d 100644 --- a/src/plugins/projectexplorer/gcctoolchain.cpp +++ b/src/plugins/projectexplorer/gcctoolchain.cpp @@ -360,7 +360,7 @@ static Utils::FileName findLocalCompiler(const Utils::FileName &compilerPath, // Find the "real" compiler if icecc, distcc or similar are in use. Ignore ccache, since that // is local already. - // Get the path to the compiler, ignoring direct calls to icecc and distcc as we can not + // Get the path to the compiler, ignoring direct calls to icecc and distcc as we cannot // do anything about those. const Utils::FileName compilerDir = compilerPath.parentDir(); const QString compilerDirString = compilerDir.toString(); diff --git a/src/plugins/projectexplorer/gnumakeparser.cpp b/src/plugins/projectexplorer/gnumakeparser.cpp index 92c49a020a7..2b9c0820ccd 100644 --- a/src/plugins/projectexplorer/gnumakeparser.cpp +++ b/src/plugins/projectexplorer/gnumakeparser.cpp @@ -180,7 +180,7 @@ void GnuMakeParser::taskAdded(const Task &task, int linkedLines, int skippedLine if (possibleFiles.size() == 1) editable.file = Utils::FileName(possibleFiles.first()); // Let the Makestep apply additional heuristics (based on - // files in ther project) if we can not uniquely + // files in ther project) if we cannot uniquely // identify the file! } diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizard.cpp b/src/plugins/projectexplorer/jsonwizard/jsonwizard.cpp index 894fadcfa45..fb0de4a3293 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonwizard.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonwizard.cpp @@ -181,7 +181,7 @@ QVariant JsonWizard::value(const QString &n) const if (v.isValid()) return v; if (hasField(n)) - return field(n); // Can not contain macros! + return field(n); // Cannot contain macros! return QVariant(); } diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizard_test.cpp b/src/plugins/projectexplorer/jsonwizard/jsonwizard_test.cpp index 1b8b84d8c81..890291f7015 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonwizard_test.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonwizard_test.cpp @@ -25,6 +25,8 @@ #include "jsonwizardfactory.h" +#include + #include #include @@ -246,6 +248,12 @@ void ProjectExplorer::ProjectExplorerPlugin::testJsonWizardsComboBox() QCOMPARE(qPrintable(disabledComboBox->currentText()), "fgh"); } +static const char *iconInsideResource(const QString &relativePathToIcon) +{ + const QDir resourcePath(Core::ICore::resourcePath()); + return resourcePath.filePath(relativePathToIcon).toLocal8Bit().data(); +} + void ProjectExplorer::ProjectExplorerPlugin::testJsonWizardsIconList() { QString errorMessage; @@ -255,8 +263,7 @@ void ProjectExplorer::ProjectExplorerPlugin::testJsonWizardsIconList() QJsonObject{ {"trKey", "item no1"}, {"condition", true}, - {"icon", "../share/qtcreator/templates/wizards/qtquickstyleicons/default.png"} - + {"icon", iconInsideResource("templates/wizards/qtquickstyleicons/default.png")} }, QJsonObject{ {"trKey", "item no2"}, @@ -268,7 +275,7 @@ void ProjectExplorer::ProjectExplorerPlugin::testJsonWizardsIconList() {"trKey", "item no3"}, {"condition", true}, {"trToolTip", "MyToolTip"}, - {"icon", "../share/qtcreator/templates/wizards/qtquickstyleicons/default.png"} + {"icon", iconInsideResource("templates/wizards/qtquickstyleicons/default.png")} } }); diff --git a/src/plugins/projectexplorer/osparser.cpp b/src/plugins/projectexplorer/osparser.cpp index acd4d3d6337..d492d72f801 100644 --- a/src/plugins/projectexplorer/osparser.cpp +++ b/src/plugins/projectexplorer/osparser.cpp @@ -52,7 +52,7 @@ void OsParser::stdOutput(const QString &line) if (Utils::HostOsInfo::isWindowsHost()) { const QString trimmed = line.trimmed(); if (trimmed == QLatin1String("The process cannot access the file because it is being used by another process.")) { - addTask(Task(Task::Error, tr("The process can not access the file because it is being used by another process.\n" + addTask(Task(Task::Error, tr("The process cannot access the file because it is being used by another process.\n" "Please close all running instances of your application before starting a build."), Utils::FileName(), -1, Constants::TASK_CATEGORY_COMPILE)); m_hasFatalError = true; diff --git a/src/plugins/projectexplorer/userfileaccessor.cpp b/src/plugins/projectexplorer/userfileaccessor.cpp index e47e9a2dc7c..6776484506a 100644 --- a/src/plugins/projectexplorer/userfileaccessor.cpp +++ b/src/plugins/projectexplorer/userfileaccessor.cpp @@ -398,7 +398,7 @@ QVariantMap UserFileAccessor::preprocessReadSettings(const QVariantMap &data) co QVariantMap tmp = MergingSettingsAccessor::preprocessReadSettings(data); // Move from old Version field to new one: - // This can not be done in a normal upgrader since the version information is needed + // This cannot be done in a normal upgrader since the version information is needed // to decide which upgraders to run const QString obsoleteKey = OBSOLETE_VERSION_KEY; const int obsoleteVersion = tmp.value(obsoleteKey, -1).toInt(); diff --git a/src/plugins/qmakeprojectmanager/qmakemakestep.cpp b/src/plugins/qmakeprojectmanager/qmakemakestep.cpp index 4cf4d123279..3fad755f80b 100644 --- a/src/plugins/qmakeprojectmanager/qmakemakestep.cpp +++ b/src/plugins/qmakeprojectmanager/qmakemakestep.cpp @@ -129,7 +129,7 @@ bool QmakeMakeStep::init(QList &earlierSteps) } } - Utils::QtcProcess::addArgs(&args, userArguments()); + Utils::QtcProcess::addArgs(&args, allArguments()); if (bc->fileNodeBuild() && subProFile) { QString objectsDir = subProFile->objectsDirectory(); if (objectsDir.isEmpty()) { diff --git a/src/plugins/qmldesigner/designercore/model/abstractproperty.cpp b/src/plugins/qmldesigner/designercore/model/abstractproperty.cpp index c6602a3bc70..94943349210 100644 --- a/src/plugins/qmldesigner/designercore/model/abstractproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/abstractproperty.cpp @@ -58,7 +58,7 @@ AbstractProperty::AbstractProperty(const PropertyName &propertyName, const Inter m_view(view) { Q_ASSERT(!m_model || m_view); - Q_ASSERT_X(!m_propertyName.contains(' '), Q_FUNC_INFO, "a property name can not contain a space"); + Q_ASSERT_X(!m_propertyName.contains(' '), Q_FUNC_INFO, "a property name cannot contain a space"); } AbstractProperty::AbstractProperty(const Internal::InternalPropertyPointer &property, Model* model, AbstractView *view) diff --git a/src/plugins/qmldesigner/switchsplittabwidget.cpp b/src/plugins/qmldesigner/switchsplittabwidget.cpp index 9d81f3564dd..7dea80f164f 100644 --- a/src/plugins/qmldesigner/switchsplittabwidget.cpp +++ b/src/plugins/qmldesigner/switchsplittabwidget.cpp @@ -122,7 +122,7 @@ QWidget *SwitchSplitTabWidget::currentWidget() const void SwitchSplitTabWidget::updateSplitterSizes(int index) { if (isHidden()) { - // we can not get the sizes if the splitter is hidden + // we cannot get the sizes if the splitter is hidden m_splittSizesAreDirty = true; return; } diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index 9ba68b556a1..65616389af2 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -278,7 +278,7 @@ QmlProjectRunConfiguration::QmlProjectRunConfiguration(Target *target, Id id) { addAspect(target); m_qmlViewerAspect = addAspect(); - m_qmlViewerAspect->setLabelText(tr("QML viewer:")); + m_qmlViewerAspect->setLabelText(tr("QML Viewer:")); m_qmlViewerAspect->setPlaceHolderText(executable()); m_qmlViewerAspect->setDisplayStyle(BaseStringAspect::LineEditDisplay); diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 553a3d69842..166e8a45ec1 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -1807,7 +1807,7 @@ FileNameList BaseQtVersion::qtCorePaths() const } } } - // Only handle static libs if we can not find dynamic ones: + // Only handle static libs if we cannot find dynamic ones: if (dynamicLibs.isEmpty()) return staticLibs; return dynamicLibs; diff --git a/src/plugins/subversion/subversionclient.cpp b/src/plugins/subversion/subversionclient.cpp index e5b0a356402..a2e887239c5 100644 --- a/src/plugins/subversion/subversionclient.cpp +++ b/src/plugins/subversion/subversionclient.cpp @@ -198,7 +198,7 @@ SubversionDiffEditorController::SubversionDiffEditorController( : VcsBaseDiffEditorController(document, SubversionPlugin::instance()->client(), workingDirectory) , m_state(Idle) { - forceContextLineCount(3); // SVN can not change that when using internal diff + forceContextLineCount(3); // SVN cannot change that when using internal diff } void SubversionDiffEditorController::setFilesList(const QStringList &filesList) diff --git a/src/plugins/texteditor/codeassist/codeassistant.cpp b/src/plugins/texteditor/codeassist/codeassistant.cpp index 15c7f56cc82..9abbe3a8f19 100644 --- a/src/plugins/texteditor/codeassist/codeassistant.cpp +++ b/src/plugins/texteditor/codeassist/codeassistant.cpp @@ -440,7 +440,7 @@ void CodeAssistantPrivate::notifyChange() QTC_ASSERT(m_proposal, return); if (m_editorWidget->position() < m_proposal->basePosition()) { destroyContext(); - } else if (!m_proposal->isFragile()) { + } else if (m_proposal->supportsPrefix()) { m_proposalWidget->updateProposal( m_editorWidget->textAt(m_proposal->basePosition(), m_editorWidget->position() - m_proposal->basePosition())); diff --git a/src/plugins/texteditor/codeassist/iassistproposal.cpp b/src/plugins/texteditor/codeassist/iassistproposal.cpp index fcbe2e83862..bfce6360712 100644 --- a/src/plugins/texteditor/codeassist/iassistproposal.cpp +++ b/src/plugins/texteditor/codeassist/iassistproposal.cpp @@ -90,6 +90,11 @@ bool IAssistProposal::isFragile() const return m_isFragile; } +bool IAssistProposal::supportsPrefix() const +{ + return m_supportsPrefix; +} + /*! \fn bool TextEditor::IAssistProposal::isCorrective() const @@ -120,6 +125,11 @@ void IAssistProposal::setFragile(bool fragile) m_isFragile = fragile; } +void IAssistProposal::setSupportsPrefix(bool supportsPrefix) +{ + m_supportsPrefix = supportsPrefix; +} + /*! \fn IAssistModel *TextEditor::IAssistProposal::model() const diff --git a/src/plugins/texteditor/codeassist/iassistproposal.h b/src/plugins/texteditor/codeassist/iassistproposal.h index 0dbf24462fc..e7ac9131965 100644 --- a/src/plugins/texteditor/codeassist/iassistproposal.h +++ b/src/plugins/texteditor/codeassist/iassistproposal.h @@ -43,6 +43,7 @@ public: int basePosition() const; bool isFragile() const; + bool supportsPrefix() const; virtual bool hasItemsToPropose(const QString &, AssistReason) const { return true; } virtual bool isCorrective(TextEditorWidget *editorWidget) const; virtual void makeCorrection(TextEditorWidget *editorWidget); @@ -50,9 +51,11 @@ public: virtual IAssistProposalWidget *createWidget() const = 0; void setFragile(bool fragile); + void setSupportsPrefix(bool supportsPrefix); protected: int m_basePosition; bool m_isFragile = false; + bool m_supportsPrefix = true; }; } // TextEditor diff --git a/src/plugins/valgrind/callgrindvisualisation.cpp b/src/plugins/valgrind/callgrindvisualisation.cpp index a653489e367..3fd51366005 100644 --- a/src/plugins/valgrind/callgrindvisualisation.cpp +++ b/src/plugins/valgrind/callgrindvisualisation.cpp @@ -388,8 +388,7 @@ void Visualization::populateScene() ratioPercentString.append(QLocale::system().percent()); const int hiddenFunctions = d->m_model->sourceModel()->rowCount() - d->m_model->rowCount(); text = tr("All functions with an inclusive cost ratio higher than %1 (%2 are hidden)") - .arg(ratioPercentString) - .arg(hiddenFunctions); + .arg(ratioPercentString, hiddenFunctions); } const qreal height = sceneHeight * (costs.isEmpty() ? 1.0 : 0.1); diff --git a/src/tools/iostool/iosdevicemanager.cpp b/src/tools/iostool/iosdevicemanager.cpp index bfc493ad5af..53a9fd1625a 100644 --- a/src/tools/iostool/iosdevicemanager.cpp +++ b/src/tools/iostool/iosdevicemanager.cpp @@ -423,6 +423,7 @@ public: void requestDeviceInfo(const QString &deviceId, int timeout); QStringList errors(); void addError(QString errorMsg); + QString deviceId(AMDeviceRef device); void addDevice(AMDeviceRef device); void removeDevice(AMDeviceRef device); void checkPendingLookups(); @@ -654,11 +655,18 @@ void IosDeviceManagerPrivate::addError(QString errorMsg) emit q->errorMsg(errorMsg); } -void IosDeviceManagerPrivate::addDevice(AMDeviceRef device) +QString IosDeviceManagerPrivate::deviceId(AMDeviceRef device) { CFStringRef s = m_lib.deviceCopyDeviceIdentifier(device); - QString devId = QString::fromCFString(s); + // remove dashes as a hotfix for QTCREATORBUG-21291 + const auto id = QString::fromCFString(s).remove('-'); if (s) CFRelease(s); + return id; +} + +void IosDeviceManagerPrivate::addDevice(AMDeviceRef device) +{ + const QString devId = deviceId(device); CFRetain(device); DeviceInterfaceType interfaceType = static_cast(lib()->deviceGetInterfaceType(device)); @@ -703,10 +711,7 @@ void IosDeviceManagerPrivate::addDevice(AMDeviceRef device) void IosDeviceManagerPrivate::removeDevice(AMDeviceRef device) { - CFStringRef s = m_lib.deviceCopyDeviceIdentifier(device); - QString devId = QString::fromCFString(s); - if (s) - CFRelease(s); + const QString devId = deviceId(device); if (debugAll) qDebug() << "removeDevice " << devId; if (m_devices.contains(devId)) { diff --git a/src/tools/sdktool/addkitoperation.cpp b/src/tools/sdktool/addkitoperation.cpp index a58e1257c20..b1c480811e6 100644 --- a/src/tools/sdktool/addkitoperation.cpp +++ b/src/tools/sdktool/addkitoperation.cpp @@ -280,7 +280,7 @@ bool AddKitOperation::setArguments(const QStringList &args) if (m_deviceType.isEmpty()) std::cerr << "No devicetype given for kit." << std::endl << std::endl; if (!m_debuggerId.isEmpty() && (!m_debugger.isEmpty() || m_debuggerEngine != 0)) { - std::cerr << "Can not set both debugger id and debugger/debuggerengine." << std::endl << std::endl; + std::cerr << "Cannot set both debugger id and debugger/debuggerengine." << std::endl << std::endl; return false; } diff --git a/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp b/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp index af4723c8729..9b5762f3da9 100644 --- a/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp +++ b/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp @@ -192,7 +192,7 @@ void tst_TestCore::initTestCase() // Load plugins #ifdef Q_OS_MAC - const QString pluginPath = QTCREATORDIR "/bin/Qt Creator.app/Contents/PlugIns/QtCreator/QmlDesigner"; + const QString pluginPath = QTCREATORDIR "/bin/Qt Creator.app/Contents/PlugIns/QmlDesigner"; #else const QString pluginPath = QTCREATORDIR "/lib/qtcreator/plugins/qmldesigner"; #endif diff --git a/tests/auto/utils/fileutils/tst_fileutils.cpp b/tests/auto/utils/fileutils/tst_fileutils.cpp index aa37314365a..2b588c533e9 100644 --- a/tests/auto/utils/fileutils/tst_fileutils.cpp +++ b/tests/auto/utils/fileutils/tst_fileutils.cpp @@ -64,9 +64,9 @@ void tst_fileutils::parentDir_data() QTest::newRow("C:/data") << "C:/data" << "C:/" << ""; QTest::newRow("C:/") << "C:/" << "" << ""; QTest::newRow("//./com1") << "//./com1" << "/" << ""; - QTest::newRow("//?/path") << "//?/path" << "/" << "Qt 4 can not handle this path."; + QTest::newRow("//?/path") << "//?/path" << "/" << "Qt 4 cannot handle this path."; QTest::newRow("/Global?\?/UNC/host") << "/Global?\?/UNC/host" << "/Global?\?/UNC/host" - << "Qt 4 can not handle this path."; + << "Qt 4 cannot handle this path."; QTest::newRow("//server/directory/file") << "//server/directory/file" << "//server/directory" << ""; QTest::newRow("//server/directory") << "//server/directory" << "//server" << "";