From aa7c817f7a711b260dae3d0a5b02fc19b1b25179 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 28 Aug 2023 18:19:24 +0200 Subject: [PATCH] Utils: Temporarily introdce Key Id::toKey() To avoid complications on the user code side during the Key/Store transition. Change-Id: I49ae9d496c9c1ee07f17245616fdefefe9abfc2e Reviewed-by: Marcus Tillmanns Reviewed-by: --- src/libs/utils/id.cpp | 10 +++++++++ src/libs/utils/id.h | 3 +++ src/plugins/autotest/testprojectsettings.cpp | 6 +++--- src/plugins/ios/iosdsymbuildstep.cpp | 21 +++++++------------ src/plugins/projectexplorer/makestep.cpp | 12 +++++------ .../projectexplorer/runconfiguration.cpp | 4 ++-- 6 files changed, 32 insertions(+), 24 deletions(-) diff --git a/src/libs/utils/id.cpp b/src/libs/utils/id.cpp index bc40c154611..60417d1b7ca 100644 --- a/src/libs/utils/id.cpp +++ b/src/libs/utils/id.cpp @@ -158,6 +158,16 @@ QString Id::toString() const return QString::fromUtf8(stringFromId.value(m_id).str); } +/*! \internal */ +Key Id::toKey() const +{ +#ifdef QTC_USE_STORE + return name(); +#else + return toString(); +#endif +} + /*! Creates an id from a string representation. diff --git a/src/libs/utils/id.h b/src/libs/utils/id.h index 60351dad902..d1ac2355dd7 100644 --- a/src/libs/utils/id.h +++ b/src/libs/utils/id.h @@ -5,6 +5,8 @@ #include "utils_global.h" +#include "storekey.h" + #include #include #include @@ -30,6 +32,7 @@ public: QByteArray name() const; QString toString() const; // Avoid. + Key toKey() const; // FIXME: Replace uses with .name() after Store/key transition. QVariant toSetting() const; // Good to use. QString suffixAfter(Id baseId) const; bool isValid() const { return m_id; } diff --git a/src/plugins/autotest/testprojectsettings.cpp b/src/plugins/autotest/testprojectsettings.cpp index dd0c05079cc..b9c2312029e 100644 --- a/src/plugins/autotest/testprojectsettings.cpp +++ b/src/plugins/autotest/testprojectsettings.cpp @@ -78,15 +78,15 @@ void TestProjectSettings::load() m_activeTestFrameworks.clear(); m_activeTestTools.clear(); if (activeFrameworks.isValid()) { - const QMap frameworksMap = activeFrameworks.toMap(); + const Store frameworksMap = storeFromVariant(activeFrameworks); for (ITestFramework *framework : registeredFrameworks) { const Id id = framework->id(); - bool active = frameworksMap.value(id.toString(), framework->active()).toBool(); + bool active = frameworksMap.value(id.toKey(), framework->active()).toBool(); m_activeTestFrameworks.insert(framework, active); } for (ITestTool *testTool : registeredTestTools) { const Id id = testTool->id(); - bool active = frameworksMap.value(id.toString(), testTool->active()).toBool(); + bool active = frameworksMap.value(id.toKey(), testTool->active()).toBool(); m_activeTestTools.insert(testTool, active); } } else { diff --git a/src/plugins/ios/iosdsymbuildstep.cpp b/src/plugins/ios/iosdsymbuildstep.cpp index 44a01a75224..0c07ff4182d 100644 --- a/src/plugins/ios/iosdsymbuildstep.cpp +++ b/src/plugins/ios/iosdsymbuildstep.cpp @@ -87,24 +87,19 @@ void IosDsymBuildStep::toMap(Store &map) const { AbstractProcessStep::toMap(map); - // FIXME: Clean up after QVariantMap -> Utils::Store transition - // This is map.insert(id().name() + ARGUMENTS_PARTIAL_KEY), arguments()) - map.insert(keyFromString(id().withSuffix(ARGUMENTS_PARTIAL_KEY).toString()), - arguments()); - map.insert(keyFromString(id().withSuffix(USE_DEFAULT_ARGS_PARTIAL_KEY).toString()), - isDefault()); - map.insert(keyFromString(id().withSuffix(CLEAN_PARTIAL_KEY).toString()), m_clean); - map.insert(keyFromString(id().withSuffix(COMMAND_PARTIAL_KEY).toString()), command().toSettings()); + map.insert(id().toKey() + ARGUMENTS_PARTIAL_KEY, arguments()); + map.insert(id().toKey() + USE_DEFAULT_ARGS_PARTIAL_KEY, isDefault()); + map.insert(id().toKey() + CLEAN_PARTIAL_KEY, m_clean); + map.insert(id().toKey() + COMMAND_PARTIAL_KEY, command().toSettings()); } void IosDsymBuildStep::fromMap(const Store &map) { - QVariant bArgs = map.value(keyFromString(id().withSuffix(ARGUMENTS_PARTIAL_KEY).toString())); + QVariant bArgs = map.value(id().toKey() + ARGUMENTS_PARTIAL_KEY); m_arguments = bArgs.toStringList(); - bool useDefaultArguments = map.value( - keyFromString(id().withSuffix(USE_DEFAULT_ARGS_PARTIAL_KEY).toString())).toBool(); - m_clean = map.value(keyFromString(id().withSuffix(CLEAN_PARTIAL_KEY).toString()), m_clean).toBool(); - m_command = FilePath::fromSettings(map.value(keyFromString(id().withSuffix(COMMAND_PARTIAL_KEY).toString()))); + bool useDefaultArguments = map.value(id().toKey() + USE_DEFAULT_ARGS_PARTIAL_KEY).toBool(); + m_clean = map.value(id().toKey() + CLEAN_PARTIAL_KEY, m_clean).toBool(); + m_command = FilePath::fromSettings(map.value(id().toKey() + COMMAND_PARTIAL_KEY)); if (useDefaultArguments) { m_command = defaultCommand(); m_arguments = defaultArguments(); diff --git a/src/plugins/projectexplorer/makestep.cpp b/src/plugins/projectexplorer/makestep.cpp index 78b038681e9..bcf3bab8f02 100644 --- a/src/plugins/projectexplorer/makestep.cpp +++ b/src/plugins/projectexplorer/makestep.cpp @@ -48,23 +48,23 @@ MakeStep::MakeStep(BuildStepList *parent, Id id) setCommandLineProvider([this] { return effectiveMakeCommand(Execution); }); // FIXME: Replace with id.name() + MAKE_COMMAND_SUFFIX after the Key/Store transition - m_makeCommandAspect.setSettingsKey(keyFromString(id.withSuffix(MAKE_COMMAND_SUFFIX).toString())); + m_makeCommandAspect.setSettingsKey(id.toKey() + MAKE_COMMAND_SUFFIX); m_makeCommandAspect.setExpectedKind(PathChooser::ExistingCommand); m_makeCommandAspect.setBaseFileName(PathChooser::homePath()); m_makeCommandAspect.setHistoryCompleter("PE.MakeCommand.History"); - m_userArgumentsAspect.setSettingsKey(keyFromString(id.withSuffix(MAKE_ARGUMENTS_SUFFIX).toString())); + m_userArgumentsAspect.setSettingsKey(id.toKey() + MAKE_ARGUMENTS_SUFFIX); m_userArgumentsAspect.setLabelText(Tr::tr("Make arguments:")); m_userArgumentsAspect.setDisplayStyle(StringAspect::LineEditDisplay); - m_jobCountAspect.setSettingsKey(keyFromString(id.withSuffix(JOBCOUNT_SUFFIX).toString())); + m_jobCountAspect.setSettingsKey(id.toKey() + JOBCOUNT_SUFFIX); m_jobCountAspect.setLabel(Tr::tr("Parallel jobs:")); m_jobCountAspect.setRange(1, 999); m_jobCountAspect.setValue(defaultJobCount()); m_jobCountAspect.setDefaultValue(defaultJobCount()); const QString text = Tr::tr("Override MAKEFLAGS"); - m_overrideMakeflagsAspect.setSettingsKey(keyFromString(id.withSuffix(OVERRIDE_MAKEFLAGS_SUFFIX).toString())); + m_overrideMakeflagsAspect.setSettingsKey(id.toKey() + OVERRIDE_MAKEFLAGS_SUFFIX); m_overrideMakeflagsAspect.setLabel(text, BoolAspect::LabelPlacement::AtCheckBox); m_nonOverrideWarning.setText("

" + @@ -72,11 +72,11 @@ MakeStep::MakeStep(BuildStepList *parent, Id id) .arg(text) + "

"); m_nonOverrideWarning.setIconType(InfoLabel::Warning); - m_disabledForSubdirsAspect.setSettingsKey(keyFromString(id.withSuffix(".disabledForSubdirs").toString())); + m_disabledForSubdirsAspect.setSettingsKey(id.toKey() + ".disabledForSubdirs"); m_disabledForSubdirsAspect.setLabel(Tr::tr("Disable in subdirectories:")); m_disabledForSubdirsAspect.setToolTip(Tr::tr("Runs this step only for a top-level build.")); - m_buildTargetsAspect.setSettingsKey(keyFromString(id.withSuffix(BUILD_TARGETS_SUFFIX).toString())); + m_buildTargetsAspect.setSettingsKey(id.toKey() + BUILD_TARGETS_SUFFIX); m_buildTargetsAspect.setLabelText(Tr::tr("Targets:")); const auto updateMakeLabel = [this] { diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index fcf57694c76..cd01a9f26b8 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -89,14 +89,14 @@ void GlobalOrProjectAspect::fromMap(const Store &map) { if (m_projectSettings) m_projectSettings->fromMap(map); - m_useGlobalSettings = map.value(keyFromString(id().toString() + ".UseGlobalSettings"), true).toBool(); + m_useGlobalSettings = map.value(id().toKey() + ".UseGlobalSettings", true).toBool(); } void GlobalOrProjectAspect::toMap(Store &map) const { if (m_projectSettings) m_projectSettings->toMap(map); - map.insert(keyFromString(id().toString() + ".UseGlobalSettings"), m_useGlobalSettings); + map.insert(id().toKey() + ".UseGlobalSettings", m_useGlobalSettings); } void GlobalOrProjectAspect::toActiveMap(Store &data) const