Preparatory changes to enable Id ctor from char(&)[]

Change-Id: Ifacc56c1e5e1a13ec9e6a0e2d2f6f1087cb1fce3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
hjk
2024-09-03 11:11:22 +02:00
parent c83b4e64f7
commit 8c70159928
22 changed files with 45 additions and 41 deletions

View File

@@ -265,7 +265,7 @@ ModelManagerInterface::WorkingCopy ModelManagerInterface::workingCopyInternal()
} }
void ModelManagerInterface::addTaskInternal(const QFuture<void> &result, const QString &msg, void ModelManagerInterface::addTaskInternal(const QFuture<void> &result, const QString &msg,
const char *taskId) const const Utils::Id taskId) const
{ {
Q_UNUSED(result) Q_UNUSED(result)
qCDebug(qmljsLog) << "started " << taskId << " " << msg; qCDebug(qmljsLog) << "started " << taskId << " " << msg;

View File

@@ -12,6 +12,7 @@
#include <utils/environment.h> #include <utils/environment.h>
#include <utils/filepath.h> #include <utils/filepath.h>
#include <utils/futuresynchronizer.h> #include <utils/futuresynchronizer.h>
#include <utils/id.h>
#include <utils/qrcparser.h> #include <utils/qrcparser.h>
#include <utils/synchronizedvalue.h> #include <utils/synchronizedvalue.h>
@@ -214,7 +215,7 @@ protected:
virtual void writeMessageInternal(const QString &msg) const; virtual void writeMessageInternal(const QString &msg) const;
virtual WorkingCopy workingCopyInternal() const; virtual WorkingCopy workingCopyInternal() const;
virtual void addTaskInternal(const QFuture<void> &result, const QString &msg, virtual void addTaskInternal(const QFuture<void> &result, const QString &msg,
const char *taskId) const; const Utils::Id taskId) const;
static void parseLoop(QSet<Utils::FilePath> &scannedPaths, static void parseLoop(QSet<Utils::FilePath> &scannedPaths,
QSet<Utils::FilePath> &newLibraries, QSet<Utils::FilePath> &newLibraries,

View File

@@ -1193,7 +1193,7 @@ void AndroidConfigurations::applyConfig()
static bool matchKit(const ToolchainBundle &bundle, const Kit &kit) static bool matchKit(const ToolchainBundle &bundle, const Kit &kit)
{ {
using namespace ProjectExplorer::Constants; using namespace ProjectExplorer::Constants;
for (const Id lang : {C_LANGUAGE_ID, CXX_LANGUAGE_ID}) { for (const Id lang : {Id(C_LANGUAGE_ID), Id(CXX_LANGUAGE_ID)}) {
const Toolchain * const tc = ToolchainKitAspect::toolchain(&kit, lang); const Toolchain * const tc = ToolchainKitAspect::toolchain(&kit, lang);
if (!tc || tc->typeId() != Constants::ANDROID_TOOLCHAIN_TYPEID if (!tc || tc->typeId() != Constants::ANDROID_TOOLCHAIN_TYPEID
|| tc->targetAbi() != bundle.targetAbi()) { || tc->targetAbi() != bundle.targetAbi()) {

View File

@@ -49,6 +49,7 @@
using namespace Core; using namespace Core;
using namespace ProjectExplorer; using namespace ProjectExplorer;
using namespace Utils;
namespace ClangTools::Internal { namespace ClangTools::Internal {
@@ -126,7 +127,7 @@ void ClangToolsPlugin::onCurrentEditorChanged()
void ClangToolsPlugin::registerAnalyzeActions() void ClangToolsPlugin::registerAnalyzeActions()
{ {
const char * const menuGroupId = "ClangToolsCppGroup"; const Id menuGroupId = "ClangToolsCppGroup";
ActionContainer * const mtoolscpp ActionContainer * const mtoolscpp
= ActionManager::actionContainer(CppEditor::Constants::M_TOOLS_CPP); = ActionManager::actionContainer(CppEditor::Constants::M_TOOLS_CPP);
if (mtoolscpp) { if (mtoolscpp) {
@@ -141,11 +142,11 @@ void ClangToolsPlugin::registerAnalyzeActions()
} }
for (const auto &toolInfo : {std::make_tuple(ClangTidyTool::instance(), for (const auto &toolInfo : {std::make_tuple(ClangTidyTool::instance(),
Constants::RUN_CLANGTIDY_ON_PROJECT, Id(Constants::RUN_CLANGTIDY_ON_PROJECT),
Constants::RUN_CLANGTIDY_ON_CURRENT_FILE), Id(Constants::RUN_CLANGTIDY_ON_CURRENT_FILE)),
std::make_tuple(ClazyTool::instance(), std::make_tuple(ClazyTool::instance(),
Constants::RUN_CLAZY_ON_PROJECT, Id(Constants::RUN_CLAZY_ON_PROJECT),
Constants::RUN_CLAZY_ON_CURRENT_FILE)}) { Id(Constants::RUN_CLAZY_ON_CURRENT_FILE))}) {
ClangTool * const tool = std::get<0>(toolInfo); ClangTool * const tool = std::get<0>(toolInfo);
ActionManager::registerAction(tool->startAction(), std::get<1>(toolInfo)); ActionManager::registerAction(tool->startAction(), std::get<1>(toolInfo));
Command *cmd = ActionManager::registerAction(tool->startOnCurrentFileAction(), Command *cmd = ActionManager::registerAction(tool->startOnCurrentFileAction(),

View File

@@ -127,8 +127,8 @@ static Toolchain *toolchainFromFlags(const Kit *kit, const QStringList &flags, c
if (compilerId != ProjectExplorer::Constants::CLANG_TOOLCHAIN_TYPEID && if (compilerId != ProjectExplorer::Constants::CLANG_TOOLCHAIN_TYPEID &&
compilerId != ProjectExplorer::Constants::CLANG_CL_TOOLCHAIN_TYPEID) { compilerId != ProjectExplorer::Constants::CLANG_CL_TOOLCHAIN_TYPEID) {
compilerId = HostOsInfo::isWindowsHost() compilerId = HostOsInfo::isWindowsHost()
? ProjectExplorer::Constants::CLANG_CL_TOOLCHAIN_TYPEID ? Id(ProjectExplorer::Constants::CLANG_CL_TOOLCHAIN_TYPEID)
: ProjectExplorer::Constants::CLANG_TOOLCHAIN_TYPEID; : Id(ProjectExplorer::Constants::CLANG_TOOLCHAIN_TYPEID);
if (kitToolchain->isValid() && kitToolchain->typeId() == compilerId) if (kitToolchain->isValid() && kitToolchain->typeId() == compilerId)
return kitToolchain; return kitToolchain;
if ((toolchain = toolchainFromCompilerId(compilerId, language))) if ((toolchain = toolchainFromCompilerId(compilerId, language)))

View File

@@ -87,7 +87,7 @@ protected:
Qt::CaseSensitivity filterCaseSensitivity() const { return m_filterCaseSensitivity; } Qt::CaseSensitivity filterCaseSensitivity() const { return m_filterCaseSensitivity; }
void setFilteringEnabled(bool enable); void setFilteringEnabled(bool enable);
QWidget *filterWidget() const { return m_filterOutputLineEdit; } QWidget *filterWidget() const { return m_filterOutputLineEdit; }
void setupContext(const char *context, QWidget *widget); void setupContext(const Utils::Id &context, QWidget *widget);
void setupContext(const Context &context, QWidget *widget); void setupContext(const Context &context, QWidget *widget);
void setZoomButtonsEnabled(bool enabled); void setZoomButtonsEnabled(bool enabled);

View File

@@ -252,7 +252,7 @@ void IOutputPane::setFilteringEnabled(bool enable)
m_filterOutputLineEdit->setEnabled(enable); m_filterOutputLineEdit->setEnabled(enable);
} }
void IOutputPane::setupContext(const char *context, QWidget *widget) void IOutputPane::setupContext(const Id &context, QWidget *widget)
{ {
return setupContext(Context(context), widget); return setupContext(Context(context), widget);
} }

View File

@@ -28,6 +28,7 @@
using namespace CPlusPlus; using namespace CPlusPlus;
using namespace TextEditor; using namespace TextEditor;
using namespace Utils;
namespace CppEditor { namespace CppEditor {
@@ -38,9 +39,9 @@ class VirtualFunctionProposalWidget : public GenericProposalWidget
public: public:
VirtualFunctionProposalWidget(bool openInSplit) VirtualFunctionProposalWidget(bool openInSplit)
{ {
const char *id = openInSplit const Id id = openInSplit
? TextEditor::Constants::FOLLOW_SYMBOL_UNDER_CURSOR_IN_NEXT_SPLIT ? Id(TextEditor::Constants::FOLLOW_SYMBOL_UNDER_CURSOR_IN_NEXT_SPLIT)
: TextEditor::Constants::FOLLOW_SYMBOL_UNDER_CURSOR; : Id(TextEditor::Constants::FOLLOW_SYMBOL_UNDER_CURSOR);
if (Core::Command *command = Core::ActionManager::command(id)) if (Core::Command *command = Core::ActionManager::command(id))
m_sequence = command->keySequence(); m_sequence = command->keySequence();
setFragile(true); setFragile(true);
@@ -144,7 +145,7 @@ private:
auto *item = new VirtualFunctionProposalItem(link, m_params.openInNextSplit); auto *item = new VirtualFunctionProposalItem(link, m_params.openInNextSplit);
item->setText(text); item->setText(text);
item->setIcon(Icons::iconForSymbol(func)); item->setIcon(CPlusPlus::Icons::iconForSymbol(func));
return item; return item;
} }

View File

@@ -1217,7 +1217,7 @@ void DebuggerPluginPrivate::createDapDebuggerPerspective(QWidget *globalLogWindo
struct DapPerspective struct DapPerspective
{ {
QString name; QString name;
char const *runMode; Id runMode;
bool forceSkipDeploy = false; bool forceSkipDeploy = false;
}; };
@@ -2043,7 +2043,7 @@ void DebuggerPluginPrivate::extensionsInitialized()
// If the CppEditor or QmlJS editor plugin is there, we want to add something to // If the CppEditor or QmlJS editor plugin is there, we want to add something to
// the editor context menu. // the editor context menu.
for (Id menuId : { CppEditor::Constants::M_CONTEXT, QmlJSEditor::Constants::M_CONTEXT }) { for (Id menuId : {Id(CppEditor::Constants::M_CONTEXT), Id(QmlJSEditor::Constants::M_CONTEXT)}) {
if (ActionContainer *editorContextMenu = ActionManager::actionContainer(menuId)) { if (ActionContainer *editorContextMenu = ActionManager::actionContainer(menuId)) {
auto cmd = editorContextMenu->addSeparator(m_watchCommand->context()); auto cmd = editorContextMenu->addSeparator(m_watchCommand->context());
cmd->setAttribute(Command::CA_Hide); cmd->setAttribute(Command::CA_Hide);

View File

@@ -1678,7 +1678,7 @@ void FakeVimPlugin::editorOpened(IEditor *editor)
}); });
handler->findNextRequested.set([](bool reverse) { handler->findNextRequested.set([](bool reverse) {
triggerAction(reverse ? Core::Constants::FIND_PREVIOUS : Core::Constants::FIND_NEXT); triggerAction(reverse ? Id(Core::Constants::FIND_PREVIOUS) : Id(Core::Constants::FIND_NEXT));
}); });
handler->foldToggle.set([this, handler](int depth) { handler->foldToggle.set([this, handler](int depth) {

View File

@@ -88,7 +88,7 @@ DeployMcuProcessStep::DeployMcuProcessStep(ProjectExplorer::BuildStepList *bc, I
cmd.setLabelText(QmlProjectManager::Tr::tr("Command:")); cmd.setLabelText(QmlProjectManager::Tr::tr("Command:"));
cmd.setValue(rootPath.pathAppended("/bin/qmlprojectexporter")); cmd.setValue(rootPath.pathAppended("/bin/qmlprojectexporter"));
const char *importPathConstant = QtSupport::Constants::KIT_QML_IMPORT_PATH; const Id importPathConstant = QtSupport::Constants::KIT_QML_IMPORT_PATH;
const FilePath qulIncludeDir = FilePath::fromVariant(kit->value(importPathConstant)); const FilePath qulIncludeDir = FilePath::fromVariant(kit->value(importPathConstant));
QStringList includeDirs { QStringList includeDirs {
ProcessArgs::quoteArg(qulIncludeDir.toString()), ProcessArgs::quoteArg(qulIncludeDir.toString()),
@@ -96,7 +96,7 @@ DeployMcuProcessStep::DeployMcuProcessStep(ProjectExplorer::BuildStepList *bc, I
ProcessArgs::quoteArg(qulIncludeDir.pathAppended("Shapes").toString()) ProcessArgs::quoteArg(qulIncludeDir.pathAppended("Shapes").toString())
}; };
const char *toolChainConstant = Internal::Constants::KIT_MCUTARGET_TOOLCHAIN_KEY; const Id toolChainConstant = Internal::Constants::KIT_MCUTARGET_TOOLCHAIN_KEY;
QStringList arguments = { QStringList arguments = {
ProcessArgs::quoteArg(buildSystem()->projectFilePath().toString()), ProcessArgs::quoteArg(buildSystem()->projectFilePath().toString()),
"--platform", findKitInformation(kit, "QUL_PLATFORM"), "--platform", findKitInformation(kit, "QUL_PLATFORM"),

View File

@@ -1614,7 +1614,7 @@ static Toolchains detectClangClToolChainInPath(const FilePath &clangClPath,
.arg(QLatin1String(isDefault ? "Default " : "")) .arg(QLatin1String(isDefault ? "Default " : ""))
.arg(targetAbi.wordWidth()) .arg(targetAbi.wordWidth())
.arg(Abi::toString(targetAbi.osFlavor()).toUpper()); .arg(Abi::toString(targetAbi.osFlavor()).toUpper());
for (auto language : {Constants::C_LANGUAGE_ID, Constants::CXX_LANGUAGE_ID}) { for (auto language : {Id(Constants::C_LANGUAGE_ID), Id(Constants::CXX_LANGUAGE_ID)}) {
ClangClToolchain *tc = static_cast<ClangClToolchain *>( ClangClToolchain *tc = static_cast<ClangClToolchain *>(
Utils::findOrDefault(alreadyKnown, [&](Toolchain *tc) -> bool { Utils::findOrDefault(alreadyKnown, [&](Toolchain *tc) -> bool {
if (tc->typeId() != Constants::CLANG_CL_TOOLCHAIN_TYPEID) if (tc->typeId() != Constants::CLANG_CL_TOOLCHAIN_TYPEID)
@@ -1868,7 +1868,7 @@ static Toolchains findOrCreateToolchains(const ToolchainDetector &detector,
const QString &varsBatArg) const QString &varsBatArg)
{ {
Toolchains res; Toolchains res;
for (auto language : {Constants::C_LANGUAGE_ID, Constants::CXX_LANGUAGE_ID}) { for (auto language : {Id(Constants::C_LANGUAGE_ID), Id(Constants::CXX_LANGUAGE_ID)}) {
Toolchain *tc = Utils::findOrDefault(detector.alreadyKnown, [&](Toolchain *tc) -> bool { Toolchain *tc = Utils::findOrDefault(detector.alreadyKnown, [&](Toolchain *tc) -> bool {
if (tc->typeId() != Constants::MSVC_TOOLCHAIN_TYPEID) if (tc->typeId() != Constants::MSVC_TOOLCHAIN_TYPEID)
return false; return false;
@@ -1921,7 +1921,7 @@ static void detectCppBuildTools2015(Toolchains *list)
Abi::WindowsMsvc2015Flavor, Abi::WindowsMsvc2015Flavor,
e.format, e.format,
e.wordSize); e.wordSize);
for (auto language : {Constants::C_LANGUAGE_ID, Constants::CXX_LANGUAGE_ID}) { for (auto language : {Id(Constants::C_LANGUAGE_ID), Id(Constants::CXX_LANGUAGE_ID)}) {
auto tc = new MsvcToolchain(Constants::MSVC_TOOLCHAIN_TYPEID); auto tc = new MsvcToolchain(Constants::MSVC_TOOLCHAIN_TYPEID);
tc->setupVarsBat(abi, vcVarsBat, QLatin1String(e.varsBatArg)); tc->setupVarsBat(abi, vcVarsBat, QLatin1String(e.varsBatArg));
tc->setDisplayName(name + QLatin1String(e.postFix)); tc->setDisplayName(name + QLatin1String(e.postFix));

View File

@@ -480,7 +480,7 @@ void ToolchainKitAspectFactory::addToMacroExpander(Kit *kit, MacroExpander *expa
QList<OutputLineParser *> ToolchainKitAspectFactory::createOutputParsers(const Kit *k) const QList<OutputLineParser *> ToolchainKitAspectFactory::createOutputParsers(const Kit *k) const
{ {
for (const Id langId : {Constants::CXX_LANGUAGE_ID, Constants::C_LANGUAGE_ID}) { for (const Id langId : {Id(Constants::CXX_LANGUAGE_ID), Id(Constants::C_LANGUAGE_ID)}) {
if (const Toolchain * const tc = ToolchainKitAspect::toolchain(k, langId)) if (const Toolchain * const tc = ToolchainKitAspect::toolchain(k, langId))
return tc->createOutputParsers(); return tc->createOutputParsers();
} }

View File

@@ -51,6 +51,8 @@
#include <exception> #include <exception>
using namespace Utils;
namespace QmlDesigner { namespace QmlDesigner {
inline static QString captionForModelNode(const ModelNode &modelNode) inline static QString captionForModelNode(const ModelNode &modelNode)
@@ -123,9 +125,8 @@ void DesignerActionManager::polishActions() const
for (auto *action : actions) { for (auto *action : actions) {
if (!action->menuId().isEmpty()) { if (!action->menuId().isEmpty()) {
const QString id = QString("QmlDesigner.%1").arg(QString::fromLatin1(action->menuId())); const Id id = Id("QmlDesigner.").withSuffix(action->menuId());
Core::Command *cmd = Core::ActionManager::registerAction(action->action(), id, qmlDesignerUIContext);
Core::Command *cmd = Core::ActionManager::registerAction(action->action(), id.toLatin1().constData(), qmlDesignerUIContext);
cmd->setDefaultKeySequence(action->action()->shortcut()); cmd->setDefaultKeySequence(action->action()->shortcut());
cmd->setDescription(action->action()->toolTip()); cmd->setDescription(action->action()->toolTip());

View File

@@ -129,7 +129,7 @@ Edit3DWidget::Edit3DWidget(Edit3DView *view)
// Register action as creator command to make it configurable // Register action as creator command to make it configurable
Core::Command *command = Core::ActionManager::registerAction( Core::Command *command = Core::ActionManager::registerAction(
a, action->menuId().constData(), context); a, Utils::Id::fromName(action->menuId()), context);
m_actionToCommandHash.insert(a, command); m_actionToCommandHash.insert(a, command);
command->setDefaultKeySequence(a->shortcut()); command->setDefaultKeySequence(a->shortcut());
if (proxyGroup) if (proxyGroup)

View File

@@ -26,6 +26,8 @@
#include <projectexplorer/runconfiguration.h> #include <projectexplorer/runconfiguration.h>
#include <projectexplorer/runcontrol.h> #include <projectexplorer/runcontrol.h>
using namespace Utils;
namespace QmlPreview { namespace QmlPreview {
using QmlPreviewRunControlList = QList<ProjectExplorer::RunControl *>; using QmlPreviewRunControlList = QList<ProjectExplorer::RunControl *>;
} }
@@ -66,9 +68,9 @@ QmlPreviewWidgetPlugin::QmlPreviewWidgetPlugin()
Core::Context globalContext; Core::Context globalContext;
auto registerCommand = [&globalContext](ActionInterface *action) { auto registerCommand = [&globalContext](ActionInterface *action) {
const QString id = QStringView(u"QmlPreview.%1").arg(QString::fromLatin1(action->menuId())); const Id id = Id("QmlPreview.").withSuffix(action->menuId());
Core::Command *cmd = Core::ActionManager::registerAction(action->action(), Core::Command *cmd = Core::ActionManager::registerAction(action->action(),
id.toLatin1().constData(), id,
globalContext); globalContext);
cmd->setDefaultKeySequence(action->action()->shortcut()); cmd->setDefaultKeySequence(action->action()->shortcut());

View File

@@ -339,7 +339,7 @@ void ModelManager::updateDefaultProjectInfo()
void ModelManager::addTaskInternal(const QFuture<void> &result, const QString &msg, void ModelManager::addTaskInternal(const QFuture<void> &result, const QString &msg,
const char *taskId) const const Id taskId) const
{ {
ProgressManager::addTask(result, msg, taskId); ProgressManager::addTask(result, msg, taskId);
} }

View File

@@ -12,8 +12,6 @@
QT_FORWARD_DECLARE_CLASS(QTimer) QT_FORWARD_DECLARE_CLASS(QTimer)
QT_FORWARD_DECLARE_CLASS(QLocale) QT_FORWARD_DECLARE_CLASS(QLocale)
namespace Utils { class MimeType; }
namespace QmlJSTools { namespace QmlJSTools {
namespace Internal { namespace Internal {
@@ -31,7 +29,7 @@ protected:
void writeMessageInternal(const QString &msg) const override; void writeMessageInternal(const QString &msg) const override;
WorkingCopy workingCopyInternal() const override; WorkingCopy workingCopyInternal() const override;
void addTaskInternal(const QFuture<void> &result, const QString &msg, void addTaskInternal(const QFuture<void> &result, const QString &msg,
const char *taskId) const override; const Utils::Id taskId) const override;
ProjectInfo defaultProjectInfoForProject( ProjectInfo defaultProjectInfoForProject(
ProjectExplorer::Project *project, const Utils::FilePaths &hiddenRccFolders) const override; ProjectExplorer::Project *project, const Utils::FilePaths &hiddenRccFolders) const override;
private: private:

View File

@@ -229,8 +229,8 @@ Toolchains QnxConfiguration::createToolChains(const QnxTarget &target)
{ {
Toolchains toolchains; Toolchains toolchains;
for (const Id language : {ProjectExplorer::Constants::C_LANGUAGE_ID, for (const Id language : {Id(ProjectExplorer::Constants::C_LANGUAGE_ID),
ProjectExplorer::Constants::CXX_LANGUAGE_ID}) { Id(ProjectExplorer::Constants::CXX_LANGUAGE_ID)}) {
auto toolchain = new QnxToolchain; auto toolchain = new QnxToolchain;
toolchain->setDetection(Toolchain::ManualDetection); toolchain->setDetection(Toolchain::ManualDetection);
toolchain->setLanguage(language); toolchain->setLanguage(language);

View File

@@ -77,7 +77,7 @@ int ExamplesWelcomePage::priority() const
Id ExamplesWelcomePage::id() const Id ExamplesWelcomePage::id() const
{ {
return m_showExamples ? "Examples" : "Tutorials"; return m_showExamples ? Id("Examples") : Id("Tutorials");
} }
static FilePath copyToAlternativeLocation(const FilePath &proFile, static FilePath copyToAlternativeLocation(const FilePath &proFile,

View File

@@ -997,7 +997,7 @@ void MemcheckTool::setupRunner(MemcheckToolRunner *runTool)
QAction *action = m_filterMenu->addAction(file.fileName()); QAction *action = m_filterMenu->addAction(file.fileName());
action->setToolTip(file.toUserOutput()); action->setToolTip(file.toUserOutput());
connect(action, &QAction::triggered, this, [file] { connect(action, &QAction::triggered, this, [file] {
EditorManager::openEditorAt(file, 0); EditorManager::openEditorAt(file);
}); });
m_suppressionActions.append(action); m_suppressionActions.append(action);
} }

View File

@@ -124,8 +124,8 @@ static Toolchains doAutoDetect(const ToolchainDetector &detector)
WebAssemblyEmSdk::addToEnvironment(sdk, env); WebAssemblyEmSdk::addToEnvironment(sdk, env);
Toolchains result; Toolchains result;
for (auto languageId : {ProjectExplorer::Constants::C_LANGUAGE_ID, for (auto languageId : {Id(ProjectExplorer::Constants::C_LANGUAGE_ID),
ProjectExplorer::Constants::CXX_LANGUAGE_ID}) { Id(ProjectExplorer::Constants::CXX_LANGUAGE_ID)}) {
auto toolChain = new WebAssemblyToolChain; auto toolChain = new WebAssemblyToolChain;
toolChain->setLanguage(languageId); toolChain->setLanguage(languageId);
toolChain->setDetection(Toolchain::AutoDetection); toolChain->setDetection(Toolchain::AutoDetection);