ProjectExplorer: Rename KitInformation to KitAspect

The name "KitInformation" does not properly convey the fact that it
represents a certain *aspect* of a kit. The same goes for
"KitConfigWidget", which in addition was inconsistent with
"KitInformation".
We now use "KitAspect" and "KitAspectWidget".

Change-Id: I9804ee4cedc4d61fad533ea1dd4e4720e67fde97
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Christian Kandeler
2019-02-06 12:50:51 +01:00
parent 46c287fee5
commit 83dd031960
156 changed files with 1156 additions and 1156 deletions

View File

@@ -160,7 +160,7 @@ bool AndroidBuildApkStep::init()
OutputFormat::ErrorMessage); OutputFormat::ErrorMessage);
} }
QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); QtSupport::BaseQtVersion *version = QtSupport::QtKitAspect::qtVersion(target()->kit());
if (!version) if (!version)
return false; return false;

View File

@@ -976,13 +976,13 @@ static bool matchToolChain(const ToolChain *atc, const ToolChain *btc)
static bool matchKits(const Kit *a, const Kit *b) static bool matchKits(const Kit *a, const Kit *b)
{ {
if (QtSupport::QtKitInformation::qtVersion(a) != QtSupport::QtKitInformation::qtVersion(b)) if (QtSupport::QtKitAspect::qtVersion(a) != QtSupport::QtKitAspect::qtVersion(b))
return false; return false;
return matchToolChain(ToolChainKitInformation::toolChain(a, ProjectExplorer::Constants::CXX_LANGUAGE_ID), return matchToolChain(ToolChainKitAspect::toolChain(a, ProjectExplorer::Constants::CXX_LANGUAGE_ID),
ToolChainKitInformation::toolChain(b, ProjectExplorer::Constants::CXX_LANGUAGE_ID)) ToolChainKitAspect::toolChain(b, ProjectExplorer::Constants::CXX_LANGUAGE_ID))
&& matchToolChain(ToolChainKitInformation::toolChain(a, ProjectExplorer::Constants::C_LANGUAGE_ID), && matchToolChain(ToolChainKitAspect::toolChain(a, ProjectExplorer::Constants::C_LANGUAGE_ID),
ToolChainKitInformation::toolChain(b, ProjectExplorer::Constants::C_LANGUAGE_ID)); ToolChainKitAspect::toolChain(b, ProjectExplorer::Constants::C_LANGUAGE_ID));
} }
void AndroidConfigurations::registerNewToolChains() void AndroidConfigurations::registerNewToolChains()
@@ -1027,10 +1027,10 @@ static QVariant findOrRegisterDebugger(ToolChain *tc)
void AndroidConfigurations::updateAutomaticKitList() void AndroidConfigurations::updateAutomaticKitList()
{ {
const QList<Kit *> existingKits = Utils::filtered(KitManager::kits(), [](Kit *k) { const QList<Kit *> existingKits = Utils::filtered(KitManager::kits(), [](Kit *k) {
Core::Id deviceTypeId = DeviceTypeKitInformation::deviceTypeId(k); Core::Id deviceTypeId = DeviceTypeKitAspect::deviceTypeId(k);
if (k->isAutoDetected() && !k->isSdkProvided() if (k->isAutoDetected() && !k->isSdkProvided()
&& deviceTypeId == Core::Id(Constants::ANDROID_DEVICE_TYPE)) { && deviceTypeId == Core::Id(Constants::ANDROID_DEVICE_TYPE)) {
if (!QtSupport::QtKitInformation::qtVersion(k)) if (!QtSupport::QtKitAspect::qtVersion(k))
KitManager::deregisterKit(k); // Remove autoDetected kits without Qt. KitManager::deregisterKit(k); // Remove autoDetected kits without Qt.
else else
return true; return true;
@@ -1076,11 +1076,11 @@ void AndroidConfigurations::updateAutomaticKitList()
auto initBasicKitData = [allLanguages, device](Kit *k, const QtSupport::BaseQtVersion *qt) { auto initBasicKitData = [allLanguages, device](Kit *k, const QtSupport::BaseQtVersion *qt) {
k->setAutoDetected(true); k->setAutoDetected(true);
k->setAutoDetectionSource("AndroidConfiguration"); k->setAutoDetectionSource("AndroidConfiguration");
DeviceTypeKitInformation::setDeviceTypeId(k, Core::Id(Constants::ANDROID_DEVICE_TYPE)); DeviceTypeKitAspect::setDeviceTypeId(k, Core::Id(Constants::ANDROID_DEVICE_TYPE));
for (ToolChain *tc : allLanguages) for (ToolChain *tc : allLanguages)
ToolChainKitInformation::setToolChain(k, tc); ToolChainKitAspect::setToolChain(k, tc);
QtSupport::QtKitInformation::setQtVersion(k, qt); QtSupport::QtKitAspect::setQtVersion(k, qt);
DeviceKitInformation::setDevice(k, device); DeviceKitAspect::setDevice(k, device);
}; };
for (const QtSupport::BaseQtVersion *qt : qtVersionsForArch.value(tc->targetAbi())) { for (const QtSupport::BaseQtVersion *qt : qtVersionsForArch.value(tc->targetAbi())) {
@@ -1098,9 +1098,9 @@ void AndroidConfigurations::updateAutomaticKitList()
toSetup = existingKit; toSetup = existingKit;
} }
Debugger::DebuggerKitInformation::setDebugger(toSetup, findOrRegisterDebugger(tc)); Debugger::DebuggerKitAspect::setDebugger(toSetup, findOrRegisterDebugger(tc));
AndroidGdbServerKitInformation::setGdbSever(toSetup, currentConfig().gdbServer(tc->targetAbi())); AndroidGdbServerKitAspect::setGdbSever(toSetup, currentConfig().gdbServer(tc->targetAbi()));
toSetup->makeSticky(); toSetup->makeSticky();
toSetup->setUnexpandedDisplayName(tr("Android for %1 (Clang %2)") toSetup->setUnexpandedDisplayName(tr("Android for %1 (Clang %2)")

View File

@@ -167,7 +167,7 @@ void AndroidDebugSupport::start()
setUseTargetAsync(true); setUseTargetAsync(true);
} }
QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(kit); QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitAspect::qtVersion(kit);
if (isCppDebugging()) { if (isCppDebugging()) {
qCDebug(androidDebugSupportLog) << "C++ debugging enabled"; qCDebug(androidDebugSupportLog) << "C++ debugging enabled";

View File

@@ -149,7 +149,7 @@ AndroidDeployQtStep::AndroidDeployQtStep(ProjectExplorer::BuildStepList *parent)
: ProjectExplorer::BuildStep(parent, stepId()) : ProjectExplorer::BuildStep(parent, stepId())
{ {
setImmutable(true); setImmutable(true);
m_uninstallPreviousPackage = QtSupport::QtKitInformation::qtVersion(target()->kit())->qtVersion() < QtSupport::QtVersionNumber(5, 4, 0); m_uninstallPreviousPackage = QtSupport::QtKitAspect::qtVersion(target()->kit())->qtVersion() < QtSupport::QtVersionNumber(5, 4, 0);
//: AndroidDeployQtStep default display name //: AndroidDeployQtStep default display name
setDefaultDisplayName(tr("Deploy to Android device")); setDefaultDisplayName(tr("Deploy to Android device"));
@@ -224,7 +224,7 @@ bool AndroidDeployQtStep::init()
emit addOutput(tr("Deploying to %1").arg(m_serialNumber), OutputFormat::Stdout); emit addOutput(tr("Deploying to %1").arg(m_serialNumber), OutputFormat::Stdout);
QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); QtSupport::BaseQtVersion *version = QtSupport::QtKitAspect::qtVersion(target()->kit());
if (!version) if (!version)
return false; return false;
@@ -527,7 +527,7 @@ void AndroidDeployQtStep::gatherFilesToPull()
if (m_deviceInfo.cpuAbi.contains(QLatin1String("arm64-v8a")) || if (m_deviceInfo.cpuAbi.contains(QLatin1String("arm64-v8a")) ||
m_deviceInfo.cpuAbi.contains(QLatin1String("x86_64"))) { m_deviceInfo.cpuAbi.contains(QLatin1String("x86_64"))) {
const Core::Id cxxLanguageId = ProjectExplorer::Constants::CXX_LANGUAGE_ID; const Core::Id cxxLanguageId = ProjectExplorer::Constants::CXX_LANGUAGE_ID;
ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit(), cxxLanguageId); ToolChain *tc = ToolChainKitAspect::toolChain(target()->kit(), cxxLanguageId);
if (tc && tc->targetAbi().wordWidth() == 64) { if (tc && tc->targetAbi().wordWidth() == 64) {
m_filesToPull["/system/bin/app_process64"] = buildDir + "app_process"; m_filesToPull["/system/bin/app_process64"] = buildDir + "app_process";
libDirName = "lib64"; libDirName = "lib64";
@@ -634,7 +634,7 @@ void AndroidDeployQtStep::setUninstallPreviousPackage(bool uninstall)
AndroidDeployQtStep::UninstallType AndroidDeployQtStep::uninstallPreviousPackage() AndroidDeployQtStep::UninstallType AndroidDeployQtStep::uninstallPreviousPackage()
{ {
if (QtSupport::QtKitInformation::qtVersion(target()->kit())->qtVersion() < QtSupport::QtVersionNumber(5, 4, 0)) if (QtSupport::QtKitAspect::qtVersion(target()->kit())->qtVersion() < QtSupport::QtVersionNumber(5, 4, 0))
return ForceUnintall; return ForceUnintall;
return m_uninstallPreviousPackage ? Uninstall : Keep; return m_uninstallPreviousPackage ? Uninstall : Keep;
} }

View File

@@ -50,43 +50,43 @@ using namespace Utils;
namespace Android { namespace Android {
namespace Internal { namespace Internal {
AndroidGdbServerKitInformation::AndroidGdbServerKitInformation() AndroidGdbServerKitAspect::AndroidGdbServerKitAspect()
{ {
setId(AndroidGdbServerKitInformation::id()); setId(AndroidGdbServerKitAspect::id());
setPriority(27999); // Just one less than Debugger! setPriority(27999); // Just one less than Debugger!
} }
QVariant AndroidGdbServerKitInformation::defaultValue(const Kit *kit) const QVariant AndroidGdbServerKitAspect::defaultValue(const Kit *kit) const
{ {
return autoDetect(kit).toString(); return autoDetect(kit).toString();
} }
QList<Task> AndroidGdbServerKitInformation::validate(const Kit *) const QList<Task> AndroidGdbServerKitAspect::validate(const Kit *) const
{ {
return QList<Task>(); return QList<Task>();
} }
KitInformation::ItemList AndroidGdbServerKitInformation::toUserOutput(const Kit *kit) const KitAspect::ItemList AndroidGdbServerKitAspect::toUserOutput(const Kit *kit) const
{ {
return KitInformation::ItemList() return KitAspect::ItemList()
<< qMakePair(tr("GDB server"), AndroidGdbServerKitInformation::gdbServer(kit).toUserOutput()); << qMakePair(tr("GDB server"), AndroidGdbServerKitAspect::gdbServer(kit).toUserOutput());
} }
KitConfigWidget *AndroidGdbServerKitInformation::createConfigWidget(Kit *kit) const KitAspectWidget *AndroidGdbServerKitAspect::createConfigWidget(Kit *kit) const
{ {
QTC_ASSERT(kit, return nullptr); QTC_ASSERT(kit, return nullptr);
return new AndroidGdbServerKitInformationWidget(kit, this); return new AndroidGdbServerKitAspectWidget(kit, this);
} }
Core::Id AndroidGdbServerKitInformation::id() Core::Id AndroidGdbServerKitAspect::id()
{ {
return "Android.GdbServer.Information"; return "Android.GdbServer.Information";
} }
bool AndroidGdbServerKitInformation::isAndroidKit(const Kit *kit) bool AndroidGdbServerKitAspect::isAndroidKit(const Kit *kit)
{ {
QtSupport::BaseQtVersion *qt = QtSupport::QtKitInformation::qtVersion(kit); QtSupport::BaseQtVersion *qt = QtSupport::QtKitAspect::qtVersion(kit);
ToolChain *tc = ToolChainKitInformation::toolChain(kit, ProjectExplorer::Constants::CXX_LANGUAGE_ID); ToolChain *tc = ToolChainKitAspect::toolChain(kit, ProjectExplorer::Constants::CXX_LANGUAGE_ID);
if (qt && tc) if (qt && tc)
return qt->type() == QLatin1String(Constants::ANDROIDQT) return qt->type() == QLatin1String(Constants::ANDROIDQT)
&& tc->typeId() == Constants::ANDROID_TOOLCHAIN_ID; && tc->typeId() == Constants::ANDROID_TOOLCHAIN_ID;
@@ -94,21 +94,21 @@ bool AndroidGdbServerKitInformation::isAndroidKit(const Kit *kit)
} }
FileName AndroidGdbServerKitInformation::gdbServer(const Kit *kit) FileName AndroidGdbServerKitAspect::gdbServer(const Kit *kit)
{ {
QTC_ASSERT(kit, return FileName()); QTC_ASSERT(kit, return FileName());
return FileName::fromString(kit->value(AndroidGdbServerKitInformation::id()).toString()); return FileName::fromString(kit->value(AndroidGdbServerKitAspect::id()).toString());
} }
void AndroidGdbServerKitInformation::setGdbSever(Kit *kit, const FileName &gdbServerCommand) void AndroidGdbServerKitAspect::setGdbSever(Kit *kit, const FileName &gdbServerCommand)
{ {
QTC_ASSERT(kit, return); QTC_ASSERT(kit, return);
kit->setValue(AndroidGdbServerKitInformation::id(), gdbServerCommand.toString()); kit->setValue(AndroidGdbServerKitAspect::id(), gdbServerCommand.toString());
} }
FileName AndroidGdbServerKitInformation::autoDetect(const Kit *kit) FileName AndroidGdbServerKitAspect::autoDetect(const Kit *kit)
{ {
ToolChain *tc = ToolChainKitInformation::toolChain(kit, ProjectExplorer::Constants::CXX_LANGUAGE_ID); ToolChain *tc = ToolChainKitAspect::toolChain(kit, ProjectExplorer::Constants::CXX_LANGUAGE_ID);
if (!tc || tc->typeId() != Constants::ANDROID_TOOLCHAIN_ID) if (!tc || tc->typeId() != Constants::ANDROID_TOOLCHAIN_ID)
return FileName(); return FileName();
auto atc = static_cast<AndroidToolChain *>(tc); auto atc = static_cast<AndroidToolChain *>(tc);
@@ -116,12 +116,12 @@ FileName AndroidGdbServerKitInformation::autoDetect(const Kit *kit)
} }
/////////////// ///////////////
// AndroidGdbServerKitInformationWidget // AndroidGdbServerKitAspectWidget
/////////////// ///////////////
AndroidGdbServerKitInformationWidget::AndroidGdbServerKitInformationWidget(Kit *kit, const KitInformation *ki) : AndroidGdbServerKitAspectWidget::AndroidGdbServerKitAspectWidget(Kit *kit, const KitAspect *ki) :
KitConfigWidget(kit, ki), KitAspectWidget(kit, ki),
m_label(new ElidingLabel), m_label(new ElidingLabel),
m_button(new QPushButton(tr("Manage..."))) m_button(new QPushButton(tr("Manage...")))
{ {
@@ -129,62 +129,62 @@ AndroidGdbServerKitInformationWidget::AndroidGdbServerKitInformationWidget(Kit *
auto buttonMenu = new QMenu(m_button); auto buttonMenu = new QMenu(m_button);
QAction *autoDetectAction = buttonMenu->addAction(tr("Auto-detect")); QAction *autoDetectAction = buttonMenu->addAction(tr("Auto-detect"));
connect(autoDetectAction, &QAction::triggered, connect(autoDetectAction, &QAction::triggered,
this, &AndroidGdbServerKitInformationWidget::autoDetectDebugger); this, &AndroidGdbServerKitAspectWidget::autoDetectDebugger);
QAction *changeAction = buttonMenu->addAction(tr("Edit...")); QAction *changeAction = buttonMenu->addAction(tr("Edit..."));
connect(changeAction, &QAction::triggered, connect(changeAction, &QAction::triggered,
this, &AndroidGdbServerKitInformationWidget::showDialog); this, &AndroidGdbServerKitAspectWidget::showDialog);
m_button->setMenu(buttonMenu); m_button->setMenu(buttonMenu);
refresh(); refresh();
} }
AndroidGdbServerKitInformationWidget::~AndroidGdbServerKitInformationWidget() AndroidGdbServerKitAspectWidget::~AndroidGdbServerKitAspectWidget()
{ {
delete m_button; delete m_button;
delete m_label; delete m_label;
} }
QString AndroidGdbServerKitInformationWidget::displayName() const QString AndroidGdbServerKitAspectWidget::displayName() const
{ {
return tr("Android GDB server"); return tr("Android GDB server");
} }
QString AndroidGdbServerKitInformationWidget::toolTip() const QString AndroidGdbServerKitAspectWidget::toolTip() const
{ {
return tr("The GDB server to use for this kit."); return tr("The GDB server to use for this kit.");
} }
void AndroidGdbServerKitInformationWidget::makeReadOnly() void AndroidGdbServerKitAspectWidget::makeReadOnly()
{ {
m_button->setEnabled(false); m_button->setEnabled(false);
} }
void AndroidGdbServerKitInformationWidget::refresh() void AndroidGdbServerKitAspectWidget::refresh()
{ {
m_label->setText(AndroidGdbServerKitInformation::gdbServer(m_kit).toString()); m_label->setText(AndroidGdbServerKitAspect::gdbServer(m_kit).toString());
} }
bool AndroidGdbServerKitInformationWidget::visibleInKit() bool AndroidGdbServerKitAspectWidget::visibleInKit()
{ {
return DeviceKitInformation::deviceId(m_kit) == Constants::ANDROID_DEVICE_ID; return DeviceKitAspect::deviceId(m_kit) == Constants::ANDROID_DEVICE_ID;
} }
QWidget *AndroidGdbServerKitInformationWidget::mainWidget() const QWidget *AndroidGdbServerKitAspectWidget::mainWidget() const
{ {
return m_label; return m_label;
} }
QWidget *AndroidGdbServerKitInformationWidget::buttonWidget() const QWidget *AndroidGdbServerKitAspectWidget::buttonWidget() const
{ {
return m_button; return m_button;
} }
void AndroidGdbServerKitInformationWidget::autoDetectDebugger() void AndroidGdbServerKitAspectWidget::autoDetectDebugger()
{ {
AndroidGdbServerKitInformation::setGdbSever(m_kit, AndroidGdbServerKitInformation::autoDetect(m_kit)); AndroidGdbServerKitAspect::setGdbSever(m_kit, AndroidGdbServerKitAspect::autoDetect(m_kit));
} }
void AndroidGdbServerKitInformationWidget::showDialog() void AndroidGdbServerKitAspectWidget::showDialog()
{ {
QDialog dialog; QDialog dialog;
auto layout = new QVBoxLayout(&dialog); auto layout = new QVBoxLayout(&dialog);
@@ -194,7 +194,7 @@ void AndroidGdbServerKitInformationWidget::showDialog()
auto binaryLabel = new QLabel(tr("&Binary:")); auto binaryLabel = new QLabel(tr("&Binary:"));
auto chooser = new PathChooser; auto chooser = new PathChooser;
chooser->setExpectedKind(PathChooser::ExistingCommand); chooser->setExpectedKind(PathChooser::ExistingCommand);
chooser->setPath(AndroidGdbServerKitInformation::gdbServer(m_kit).toString()); chooser->setPath(AndroidGdbServerKitAspect::gdbServer(m_kit).toString());
binaryLabel->setBuddy(chooser); binaryLabel->setBuddy(chooser);
formLayout->addRow(binaryLabel, chooser); formLayout->addRow(binaryLabel, chooser);
layout->addLayout(formLayout); layout->addLayout(formLayout);
@@ -207,7 +207,7 @@ void AndroidGdbServerKitInformationWidget::showDialog()
dialog.setWindowTitle(tr("GDB Server for \"%1\"").arg(m_kit->displayName())); dialog.setWindowTitle(tr("GDB Server for \"%1\"").arg(m_kit->displayName()));
if (dialog.exec() == QDialog::Accepted) if (dialog.exec() == QDialog::Accepted)
AndroidGdbServerKitInformation::setGdbSever(m_kit, chooser->fileName()); AndroidGdbServerKitAspect::setGdbSever(m_kit, chooser->fileName());
} }
} // namespace Internal } // namespace Internal

View File

@@ -36,13 +36,13 @@ QT_END_NAMESPACE
namespace Android { namespace Android {
namespace Internal { namespace Internal {
class AndroidGdbServerKitInformationWidget : public ProjectExplorer::KitConfigWidget class AndroidGdbServerKitAspectWidget : public ProjectExplorer::KitAspectWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
AndroidGdbServerKitInformationWidget(ProjectExplorer::Kit *kit, AndroidGdbServerKitAspectWidget(ProjectExplorer::Kit *kit,
const ProjectExplorer::KitInformation *ki); const ProjectExplorer::KitAspect *ki);
~AndroidGdbServerKitInformationWidget() override; ~AndroidGdbServerKitAspectWidget() override;
QString displayName() const override; QString displayName() const override;
QString toolTip() const override; QString toolTip() const override;
@@ -61,11 +61,11 @@ private:
QPushButton *m_button; QPushButton *m_button;
}; };
class AndroidGdbServerKitInformation : public ProjectExplorer::KitInformation class AndroidGdbServerKitAspect : public ProjectExplorer::KitAspect
{ {
Q_OBJECT Q_OBJECT
public: public:
AndroidGdbServerKitInformation(); AndroidGdbServerKitAspect();
QVariant defaultValue(const ProjectExplorer::Kit *) const override; QVariant defaultValue(const ProjectExplorer::Kit *) const override;
@@ -73,7 +73,7 @@ public:
ItemList toUserOutput(const ProjectExplorer::Kit *) const override; ItemList toUserOutput(const ProjectExplorer::Kit *) const override;
ProjectExplorer::KitConfigWidget *createConfigWidget(ProjectExplorer::Kit *) const override; ProjectExplorer::KitAspectWidget *createConfigWidget(ProjectExplorer::Kit *) const override;
static Core::Id id(); static Core::Id id();
static bool isAndroidKit(const ProjectExplorer::Kit *kit); static bool isAndroidKit(const ProjectExplorer::Kit *kit);

View File

@@ -235,7 +235,7 @@ int AndroidManager::minimumSDK(ProjectExplorer::Target *target)
int AndroidManager::minimumSDK(const ProjectExplorer::Kit *kit) int AndroidManager::minimumSDK(const ProjectExplorer::Kit *kit)
{ {
int minSDKVersion = -1; int minSDKVersion = -1;
QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(kit); QtSupport::BaseQtVersion *version = QtSupport::QtKitAspect::qtVersion(kit);
if (version && version->targetDeviceTypes().contains(Constants::ANDROID_DEVICE_TYPE)) { if (version && version->targetDeviceTypes().contains(Constants::ANDROID_DEVICE_TYPE)) {
Utils::FileName stockManifestFilePath = Utils::FileName stockManifestFilePath =
Utils::FileName::fromUserInput(version->qmakeProperty("QT_INSTALL_PREFIX") + Utils::FileName::fromUserInput(version->qmakeProperty("QT_INSTALL_PREFIX") +
@@ -250,7 +250,7 @@ int AndroidManager::minimumSDK(const ProjectExplorer::Kit *kit)
int AndroidManager::minimumNDK(const Kit *kit) int AndroidManager::minimumNDK(const Kit *kit)
{ {
auto qt = static_cast<AndroidQtVersion *>(QtSupport::QtKitInformation::qtVersion(kit)); auto qt = static_cast<AndroidQtVersion *>(QtSupport::QtKitAspect::qtVersion(kit));
return qt->mininmumNDK(); return qt->mininmumNDK();
} }
@@ -266,7 +266,7 @@ QString AndroidManager::buildTargetSDK(ProjectExplorer::Target *target)
QString AndroidManager::targetArch(ProjectExplorer::Target *target) QString AndroidManager::targetArch(ProjectExplorer::Target *target)
{ {
auto qt = static_cast<AndroidQtVersion *>(QtSupport::QtKitInformation::qtVersion(target->kit())); auto qt = static_cast<AndroidQtVersion *>(QtSupport::QtKitAspect::qtVersion(target->kit()));
return qt->targetArch(); return qt->targetArch();
} }
@@ -603,7 +603,7 @@ static bool mergeGradleProperties(const QString &path, GradleProperties properti
bool AndroidManager::updateGradleProperties(ProjectExplorer::Target *target) bool AndroidManager::updateGradleProperties(ProjectExplorer::Target *target)
{ {
QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target->kit()); QtSupport::BaseQtVersion *version = QtSupport::QtKitAspect::qtVersion(target->kit());
if (!version) if (!version)
return false; return false;

View File

@@ -91,7 +91,7 @@ Project *androidProject(const Utils::FileName &fileName)
if (!project->activeTarget()) if (!project->activeTarget())
continue; continue;
Kit *kit = project->activeTarget()->kit(); Kit *kit = project->activeTarget()->kit();
if (DeviceTypeKitInformation::deviceTypeId(kit) == Android::Constants::ANDROID_DEVICE_TYPE if (DeviceTypeKitAspect::deviceTypeId(kit) == Android::Constants::ANDROID_DEVICE_TYPE
&& fileName.isChildOf(project->projectDirectory())) && fileName.isChildOf(project->projectDirectory()))
return project; return project;
} }
@@ -492,7 +492,7 @@ void AndroidManifestEditorWidget::updateTargetComboBox()
QStringList items; QStringList items;
if (project) { if (project) {
Kit *kit = project->activeTarget()->kit(); Kit *kit = project->activeTarget()->kit();
if (DeviceTypeKitInformation::deviceTypeId(kit) == Constants::ANDROID_DEVICE_TYPE) { if (DeviceTypeKitAspect::deviceTypeId(kit) == Constants::ANDROID_DEVICE_TYPE) {
ProjectNode *root = project->rootProjectNode(); ProjectNode *root = project->rootProjectNode();
root->forEachProjectNode([&items](const ProjectNode *projectNode) { root->forEachProjectNode([&items](const ProjectNode *projectNode) {
items << projectNode->targetApplications(); items << projectNode->targetApplications();

View File

@@ -66,7 +66,7 @@ bool AndroidPackageInstallationStep::init()
if (bc->environment().searchInPath("sh.exe").isEmpty()) if (bc->environment().searchInPath("sh.exe").isEmpty())
dirPath = QDir::toNativeSeparators(dirPath); dirPath = QDir::toNativeSeparators(dirPath);
ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit(), ToolChain *tc = ToolChainKitAspect::toolChain(target()->kit(),
ProjectExplorer::Constants::CXX_LANGUAGE_ID); ProjectExplorer::Constants::CXX_LANGUAGE_ID);
ProcessParameters *pp = processParameters(); ProcessParameters *pp = processParameters();

View File

@@ -107,7 +107,7 @@ public:
void handleNewTarget(Target *target) void handleNewTarget(Target *target)
{ {
if (DeviceTypeKitInformation::deviceTypeId(target->kit()) != Android::Constants::ANDROID_DEVICE_TYPE) if (DeviceTypeKitAspect::deviceTypeId(target->kit()) != Android::Constants::ANDROID_DEVICE_TYPE)
return; return;
for (BuildConfiguration *bc : target->buildConfigurations()) for (BuildConfiguration *bc : target->buildConfigurations())
@@ -155,13 +155,13 @@ bool AndroidPlugin::initialize(const QStringList &arguments, QString *errorMessa
}, [](RunConfiguration *runConfig) { }, [](RunConfiguration *runConfig) {
return runConfig->isEnabled() return runConfig->isEnabled()
&& runConfig->id().name().startsWith("QmlProjectManager.QmlRunConfiguration") && runConfig->id().name().startsWith("QmlProjectManager.QmlRunConfiguration")
&& DeviceTypeKitInformation::deviceTypeId(runConfig->target()->kit()) && DeviceTypeKitAspect::deviceTypeId(runConfig->target()->kit())
== Android::Constants::ANDROID_DEVICE_TYPE; == Android::Constants::ANDROID_DEVICE_TYPE;
}); });
d = new AndroidPluginPrivate; d = new AndroidPluginPrivate;
KitManager::registerKitInformation<Internal::AndroidGdbServerKitInformation>(); KitManager::registerKitAspect<Internal::AndroidGdbServerKitAspect>();
connect(KitManager::instance(), &KitManager::kitsLoaded, connect(KitManager::instance(), &KitManager::kitsLoaded,
this, &AndroidPlugin::kitsRestored); this, &AndroidPlugin::kitsRestored);

View File

@@ -68,7 +68,7 @@ bool AndroidPotentialKit::isEnabled() const
{ {
QList<ProjectExplorer::Kit *> kits = ProjectExplorer::KitManager::kits(); QList<ProjectExplorer::Kit *> kits = ProjectExplorer::KitManager::kits();
foreach (ProjectExplorer::Kit *kit, kits) { foreach (ProjectExplorer::Kit *kit, kits) {
Core::Id deviceId = ProjectExplorer::DeviceKitInformation::deviceId(kit); Core::Id deviceId = ProjectExplorer::DeviceKitAspect::deviceId(kit);
if (kit->isAutoDetected() if (kit->isAutoDetected()
&& deviceId == Core::Id(Constants::ANDROID_DEVICE_ID) && deviceId == Core::Id(Constants::ANDROID_DEVICE_ID)
&& !kit->isSdkProvided()) { && !kit->isSdkProvided()) {
@@ -120,7 +120,7 @@ void AndroidPotentialKitWidget::recheck()
{ {
QList<ProjectExplorer::Kit *> kits = ProjectExplorer::KitManager::kits(); QList<ProjectExplorer::Kit *> kits = ProjectExplorer::KitManager::kits();
foreach (ProjectExplorer::Kit *kit, kits) { foreach (ProjectExplorer::Kit *kit, kits) {
Core::Id deviceId = ProjectExplorer::DeviceKitInformation::deviceId(kit); Core::Id deviceId = ProjectExplorer::DeviceKitAspect::deviceId(kit);
if (kit->isAutoDetected() if (kit->isAutoDetected()
&& deviceId == Core::Id(Constants::ANDROID_DEVICE_ID) && deviceId == Core::Id(Constants::ANDROID_DEVICE_ID)
&& !kit->isSdkProvided()) { && !kit->isSdkProvided()) {

View File

@@ -223,8 +223,8 @@ AndroidRunnerWorker::AndroidRunnerWorker(RunWorker *runner, const QString &packa
<< "Extra Start Args:" << m_amStartExtraArgs << "Extra Start Args:" << m_amStartExtraArgs
<< "Before Start ADB cmds:" << m_beforeStartAdbCommands << "Before Start ADB cmds:" << m_beforeStartAdbCommands
<< "After finish ADB cmds:" << m_afterFinishAdbCommands; << "After finish ADB cmds:" << m_afterFinishAdbCommands;
m_gdbserverPath = AndroidGdbServerKitInformation::gdbServer(target->kit()).toString(); m_gdbserverPath = AndroidGdbServerKitAspect::gdbServer(target->kit()).toString();
QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target->kit()); QtSupport::BaseQtVersion *version = QtSupport::QtKitAspect::qtVersion(target->kit());
m_useAppParamsForQmlDebugger = version->qtVersion() >= QtSupport::QtVersionNumber(5, 12); m_useAppParamsForQmlDebugger = version->qtVersion() >= QtSupport::QtVersionNumber(5, 12);
} }

View File

@@ -215,7 +215,7 @@ CreateAndroidManifestWizard::CreateAndroidManifestWizard(ProjectExplorer::Target
setWindowTitle(tr("Create Android Template Files Wizard")); setWindowTitle(tr("Create Android Template Files Wizard"));
const BuildTargetInfoList buildTargets = target->applicationTargets(); const BuildTargetInfoList buildTargets = target->applicationTargets();
QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target->kit()); QtSupport::BaseQtVersion *version = QtSupport::QtKitAspect::qtVersion(target->kit());
m_copyGradle = version && version->qtVersion() >= QtSupport::QtVersionNumber(5, 4, 0); m_copyGradle = version && version->qtVersion() >= QtSupport::QtVersionNumber(5, 4, 0);
if (buildTargets.list.isEmpty()) { if (buildTargets.list.isEmpty()) {
@@ -319,7 +319,7 @@ void CreateAndroidManifestWizard::createAndroidTemplateFiles()
return; return;
QStringList addedFiles; QStringList addedFiles;
QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(m_target->kit()); QtSupport::BaseQtVersion *version = QtSupport::QtKitAspect::qtVersion(m_target->kit());
if (!version) if (!version)
return; return;
if (version->qtVersion() < QtSupport::QtVersionNumber(5, 4, 0)) { if (version->qtVersion() < QtSupport::QtVersionNumber(5, 4, 0)) {

View File

@@ -64,11 +64,11 @@ void AutoTestUnitTests::initTestCase()
const QList<Kit *> allKits = KitManager::kits(); const QList<Kit *> allKits = KitManager::kits();
if (allKits.count() != 1) if (allKits.count() != 1)
QSKIP("This test requires exactly one kit to be present"); QSKIP("This test requires exactly one kit to be present");
if (auto qtVersion = QtSupport::QtKitInformation::qtVersion(allKits.first())) if (auto qtVersion = QtSupport::QtKitAspect::qtVersion(allKits.first()))
m_isQt4 = qtVersion->qtVersionString().startsWith('4'); m_isQt4 = qtVersion->qtVersionString().startsWith('4');
else else
QSKIP("Could not figure out which Qt version is used for default kit."); QSKIP("Could not figure out which Qt version is used for default kit.");
const ToolChain * const toolchain = ToolChainKitInformation::toolChain(allKits.first(), const ToolChain * const toolchain = ToolChainKitAspect::toolChain(allKits.first(),
ProjectExplorer::Constants::CXX_LANGUAGE_ID); ProjectExplorer::Constants::CXX_LANGUAGE_ID);
if (!toolchain) if (!toolchain)
QSKIP("This test requires that there is a kit with a toolchain."); QSKIP("This test requires that there is a kit with a toolchain.");

View File

@@ -57,7 +57,7 @@ static bool isLocal(RunConfiguration *runConfiguration)
{ {
Target *target = runConfiguration ? runConfiguration->target() : nullptr; Target *target = runConfiguration ? runConfiguration->target() : nullptr;
Kit *kit = target ? target->kit() : nullptr; Kit *kit = target ? target->kit() : nullptr;
return DeviceTypeKitInformation::deviceTypeId(kit) == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE; return DeviceTypeKitAspect::deviceTypeId(kit) == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE;
} }
static QString ensureExeEnding(const QString& file) static QString ensureExeEnding(const QString& file)

View File

@@ -579,7 +579,7 @@ void TestRunner::debugTests()
bool useOutputProcessor = true; bool useOutputProcessor = true;
if (ProjectExplorer::Target *targ = config->project()->activeTarget()) { if (ProjectExplorer::Target *targ = config->project()->activeTarget()) {
if (Debugger::DebuggerKitInformation::engineType(targ->kit()) == Debugger::CdbEngineType) { if (Debugger::DebuggerKitAspect::engineType(targ->kit()) == Debugger::CdbEngineType) {
emit testResultReady(TestResultPtr(new FaultyTestResult(Result::MessageWarn, emit testResultReady(TestResultPtr(new FaultyTestResult(Result::MessageWarn,
TestRunner::tr("Unable to display test results when using CDB.")))); TestRunner::tr("Unable to display test results when using CDB."))));
useOutputProcessor = false; useOutputProcessor = false;

View File

@@ -423,7 +423,7 @@ void ClangTidyClazyTool::updateRunActions()
Target *target = project ? project->activeTarget() : nullptr; Target *target = project ? project->activeTarget() : nullptr;
const Core::Id cxx = ProjectExplorer::Constants::CXX_LANGUAGE_ID; const Core::Id cxx = ProjectExplorer::Constants::CXX_LANGUAGE_ID;
bool canRun = target && project->projectLanguages().contains(cxx) bool canRun = target && project->projectLanguages().contains(cxx)
&& ToolChainKitInformation::toolChain(target->kit(), cxx); && ToolChainKitAspect::toolChain(target->kit(), cxx);
if (!canRun) if (!canRun)
toolTip = tr("This is not a C++ project."); toolTip = tr("This is not a C++ project.");

View File

@@ -258,7 +258,7 @@ void ClangToolRunControl::init()
QTC_ASSERT(buildConfiguration, return); QTC_ASSERT(buildConfiguration, return);
m_environment = buildConfiguration->environment(); m_environment = buildConfiguration->environment();
ToolChain *toolChain = ToolChainKitInformation::toolChain(m_target->kit(), ToolChain *toolChain = ToolChainKitAspect::toolChain(m_target->kit(),
ProjectExplorer::Constants::CXX_LANGUAGE_ID); ProjectExplorer::Constants::CXX_LANGUAGE_ID);
QTC_ASSERT(toolChain, return); QTC_ASSERT(toolChain, return);
m_targetTriple = toolChain->originalTargetTriple(); m_targetTriple = toolChain->originalTargetTriple();

View File

@@ -166,7 +166,7 @@ static QList<Target *> validTargets(Project *project)
return false; return false;
} }
const ToolChain * const toolchain = ToolChainKitInformation::toolChain(kit, ProjectExplorer::Constants::CXX_LANGUAGE_ID); const ToolChain * const toolchain = ToolChainKitAspect::toolChain(kit, ProjectExplorer::Constants::CXX_LANGUAGE_ID);
QTC_ASSERT(toolchain, return false); QTC_ASSERT(toolchain, return false);
if (Core::ICore::clangExecutable(CLANG_BINDIR).isEmpty()) { if (Core::ICore::clangExecutable(CLANG_BINDIR).isEmpty()) {

View File

@@ -58,7 +58,7 @@ void ClangToolsUnitTests::initTestCase()
const QList<Kit *> allKits = KitManager::kits(); const QList<Kit *> allKits = KitManager::kits();
if (allKits.count() != 1) if (allKits.count() != 1)
QSKIP("This test requires exactly one kit to be present"); QSKIP("This test requires exactly one kit to be present");
const ToolChain * const toolchain = ToolChainKitInformation::toolChain(allKits.first(), const ToolChain * const toolchain = ToolChainKitAspect::toolChain(allKits.first(),
Constants::CXX_LANGUAGE_ID); Constants::CXX_LANGUAGE_ID);
if (!toolchain) if (!toolchain)
QSKIP("This test requires that there is a kit with a toolchain."); QSKIP("This test requires that there is a kit with a toolchain.");
@@ -94,8 +94,8 @@ void ClangToolsUnitTests::testProject()
QFETCH(int, expectedDiagCount); QFETCH(int, expectedDiagCount);
if (projectFilePath.contains("mingw")) { if (projectFilePath.contains("mingw")) {
const ToolChain * const toolchain const ToolChain * const toolchain
= ToolChainKitInformation::toolChain(KitManager::kits().constFirst(), = ToolChainKitAspect::toolChain(KitManager::kits().constFirst(),
Constants::CXX_LANGUAGE_ID); Constants::CXX_LANGUAGE_ID);
if (toolchain->typeId() != ProjectExplorer::Constants::MINGW_TOOLCHAIN_TYPEID) if (toolchain->typeId() != ProjectExplorer::Constants::MINGW_TOOLCHAIN_TYPEID)
QSKIP("This test is mingw specific, does not run for other toolchains"); QSKIP("This test is mingw specific, does not run for other toolchains");
} }

View File

@@ -61,25 +61,25 @@ BuildDirParameters::BuildDirParameters(CMakeBuildConfiguration *bc)
if (Utils::HostOsInfo::isAnyUnixHost()) if (Utils::HostOsInfo::isAnyUnixHost())
environment.set("ICECC", "no"); environment.set("ICECC", "no");
cmakeToolId = CMakeKitInformation::cmakeToolId(k); cmakeToolId = CMakeKitAspect::cmakeToolId(k);
auto tc = ToolChainKitInformation::toolChain(k, Constants::CXX_LANGUAGE_ID); auto tc = ToolChainKitAspect::toolChain(k, Constants::CXX_LANGUAGE_ID);
if (tc) if (tc)
cxxToolChainId = tc->id(); cxxToolChainId = tc->id();
tc = ToolChainKitInformation::toolChain(k, Constants::C_LANGUAGE_ID); tc = ToolChainKitAspect::toolChain(k, Constants::C_LANGUAGE_ID);
if (tc) if (tc)
cToolChainId = tc->id(); cToolChainId = tc->id();
sysRoot = SysRootKitInformation::sysRoot(k); sysRoot = SysRootKitAspect::sysRoot(k);
expander = k->macroExpander(); expander = k->macroExpander();
configuration = bc->configurationForCMake(); configuration = bc->configurationForCMake();
generator = CMakeGeneratorKitInformation::generator(k); generator = CMakeGeneratorKitAspect::generator(k);
extraGenerator = CMakeGeneratorKitInformation::extraGenerator(k); extraGenerator = CMakeGeneratorKitAspect::extraGenerator(k);
platform = CMakeGeneratorKitInformation::platform(k); platform = CMakeGeneratorKitAspect::platform(k);
toolset = CMakeGeneratorKitInformation::toolset(k); toolset = CMakeGeneratorKitAspect::toolset(k);
generatorArguments = CMakeGeneratorKitInformation::generatorArguments(k); generatorArguments = CMakeGeneratorKitAspect::generatorArguments(k);
} }
bool BuildDirParameters::isValid() const { return buildConfiguration && cmakeTool(); } bool BuildDirParameters::isValid() const { return buildConfiguration && cmakeTool(); }

View File

@@ -344,7 +344,7 @@ void CMakeBuildConfiguration::setConfigurationForCMake(const CMakeConfig &config
m_configurationForCMake = removeDuplicates(config); m_configurationForCMake = removeDuplicates(config);
const Kit *k = target()->kit(); const Kit *k = target()->kit();
CMakeConfig kitConfig = CMakeConfigurationKitInformation::configuration(k); CMakeConfig kitConfig = CMakeConfigurationKitAspect::configuration(k);
bool hasKitOverride = false; bool hasKitOverride = false;
foreach (const CMakeConfigItem &i, m_configurationForCMake) { foreach (const CMakeConfigItem &i, m_configurationForCMake) {
const QString b = CMakeConfigItem::expandedValueOf(k, i.key, kitConfig); const QString b = CMakeConfigItem::expandedValueOf(k, i.key, kitConfig);
@@ -364,7 +364,7 @@ void CMakeBuildConfiguration::setConfigurationForCMake(const CMakeConfig &config
CMakeConfig CMakeBuildConfiguration::configurationForCMake() const CMakeConfig CMakeBuildConfiguration::configurationForCMake() const
{ {
return removeDuplicates(CMakeConfigurationKitInformation::configuration(target()->kit()) + m_configurationForCMake); return removeDuplicates(CMakeConfigurationKitAspect::configuration(target()->kit()) + m_configurationForCMake);
} }
void CMakeBuildConfiguration::setError(const QString &message) void CMakeBuildConfiguration::setError(const QString &message)
@@ -516,10 +516,10 @@ BuildInfo CMakeBuildConfigurationFactory::createBuildInfo(const Kit *k,
if (!buildTypeItem.isNull()) if (!buildTypeItem.isNull())
extra.configuration.append(buildTypeItem); extra.configuration.append(buildTypeItem);
const QString sysRoot = SysRootKitInformation::sysRoot(k).toString(); const QString sysRoot = SysRootKitAspect::sysRoot(k).toString();
if (!sysRoot.isEmpty()) { if (!sysRoot.isEmpty()) {
extra.configuration.append(CMakeConfigItem("CMAKE_SYSROOT", sysRoot.toUtf8())); extra.configuration.append(CMakeConfigItem("CMAKE_SYSROOT", sysRoot.toUtf8()));
ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain( ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitAspect::toolChain(
k, ProjectExplorer::Constants::CXX_LANGUAGE_ID); k, ProjectExplorer::Constants::CXX_LANGUAGE_ID);
if (tc) { if (tc) {
const QByteArray targetTriple = tc->originalTargetTriple().toUtf8(); const QByteArray targetTriple = tc->originalTargetTriple().toUtf8();

View File

@@ -391,7 +391,7 @@ void CMakeBuildSettingsWidget::updateAdvancedCheckBox()
void CMakeBuildSettingsWidget::updateFromKit() void CMakeBuildSettingsWidget::updateFromKit()
{ {
const ProjectExplorer::Kit *k = m_buildConfiguration->target()->kit(); const ProjectExplorer::Kit *k = m_buildConfiguration->target()->kit();
const CMakeConfig config = CMakeConfigurationKitInformation::configuration(k); const CMakeConfig config = CMakeConfigurationKitAspect::configuration(k);
QHash<QString, QString> configHash; QHash<QString, QString> configHash;
for (const CMakeConfigItem &i : config) for (const CMakeConfigItem &i : config)

View File

@@ -164,7 +164,7 @@ bool CMakeBuildStep::init()
canInit = false; canInit = false;
} }
CMakeTool *tool = CMakeKitInformation::cmakeTool(target()->kit()); CMakeTool *tool = CMakeKitAspect::cmakeTool(target()->kit());
if (!tool || !tool->isValid()) { if (!tool || !tool->isValid()) {
emit addTask(Task(Task::Error, emit addTask(Task(Task::Error,
tr("A CMake tool must be set up for building. " tr("A CMake tool must be set up for building. "
@@ -375,7 +375,7 @@ QString CMakeBuildStep::allArguments(const CMakeRunConfiguration *rc) const
QString CMakeBuildStep::cmakeCommand() const QString CMakeBuildStep::cmakeCommand() const
{ {
CMakeTool *tool = CMakeKitInformation::cmakeTool(target()->kit()); CMakeTool *tool = CMakeKitAspect::cmakeTool(target()->kit());
return tool ? tool->cmakeExecutable().toString() : QString(); return tool ? tool->cmakeExecutable().toString() : QString();
} }

View File

@@ -64,7 +64,7 @@ IAssistProposal *CMakeFileCompletionAssist::perform(const AssistInterface *inter
if (!fileName.isEmpty() && QFileInfo(fileName).isFile()) { if (!fileName.isEmpty() && QFileInfo(fileName).isFile()) {
Project *p = SessionManager::projectForFile(Utils::FileName::fromString(fileName)); Project *p = SessionManager::projectForFile(Utils::FileName::fromString(fileName));
if (p && p->activeTarget()) { if (p && p->activeTarget()) {
CMakeTool *cmake = CMakeKitInformation::cmakeTool(p->activeTarget()->kit()); CMakeTool *cmake = CMakeKitAspect::cmakeTool(p->activeTarget()->kit());
if (cmake && cmake->isValid()) if (cmake && cmake->isValid())
kw = cmake->keywords(); kw = cmake->keywords();
} }

View File

@@ -54,14 +54,14 @@ namespace CMakeProjectManager {
namespace Internal { namespace Internal {
// -------------------------------------------------------------------- // --------------------------------------------------------------------
// CMakeKitConfigWidget: // CMakeKitAspectWidget:
// -------------------------------------------------------------------- // --------------------------------------------------------------------
CMakeKitConfigWidget::CMakeKitConfigWidget(Kit *kit, CMakeKitAspectWidget::CMakeKitAspectWidget(Kit *kit,
const KitInformation *ki) : const KitAspect *ki) :
KitConfigWidget(kit, ki), KitAspectWidget(kit, ki),
m_comboBox(new QComboBox), m_comboBox(new QComboBox),
m_manageButton(new QPushButton(KitConfigWidget::msgManage())) m_manageButton(new QPushButton(KitAspectWidget::msgManage()))
{ {
m_comboBox->setSizePolicy(QSizePolicy::Ignored, m_comboBox->sizePolicy().verticalPolicy()); m_comboBox->setSizePolicy(QSizePolicy::Ignored, m_comboBox->sizePolicy().verticalPolicy());
m_comboBox->setEnabled(false); m_comboBox->setEnabled(false);
@@ -74,60 +74,60 @@ CMakeKitConfigWidget::CMakeKitConfigWidget(Kit *kit,
refresh(); refresh();
connect(m_comboBox, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged), connect(m_comboBox, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
this, &CMakeKitConfigWidget::currentCMakeToolChanged); this, &CMakeKitAspectWidget::currentCMakeToolChanged);
m_manageButton->setContentsMargins(0, 0, 0, 0); m_manageButton->setContentsMargins(0, 0, 0, 0);
connect(m_manageButton, &QPushButton::clicked, connect(m_manageButton, &QPushButton::clicked,
this, &CMakeKitConfigWidget::manageCMakeTools); this, &CMakeKitAspectWidget::manageCMakeTools);
CMakeToolManager *cmakeMgr = CMakeToolManager::instance(); CMakeToolManager *cmakeMgr = CMakeToolManager::instance();
connect(cmakeMgr, &CMakeToolManager::cmakeAdded, connect(cmakeMgr, &CMakeToolManager::cmakeAdded,
this, &CMakeKitConfigWidget::cmakeToolAdded); this, &CMakeKitAspectWidget::cmakeToolAdded);
connect(cmakeMgr, &CMakeToolManager::cmakeRemoved, connect(cmakeMgr, &CMakeToolManager::cmakeRemoved,
this, &CMakeKitConfigWidget::cmakeToolRemoved); this, &CMakeKitAspectWidget::cmakeToolRemoved);
connect(cmakeMgr, &CMakeToolManager::cmakeUpdated, connect(cmakeMgr, &CMakeToolManager::cmakeUpdated,
this, &CMakeKitConfigWidget::cmakeToolUpdated); this, &CMakeKitAspectWidget::cmakeToolUpdated);
} }
CMakeKitConfigWidget::~CMakeKitConfigWidget() CMakeKitAspectWidget::~CMakeKitAspectWidget()
{ {
delete m_comboBox; delete m_comboBox;
delete m_manageButton; delete m_manageButton;
} }
QString CMakeKitConfigWidget::displayName() const QString CMakeKitAspectWidget::displayName() const
{ {
return tr("CMake Tool"); return tr("CMake Tool");
} }
void CMakeKitConfigWidget::makeReadOnly() void CMakeKitAspectWidget::makeReadOnly()
{ {
m_comboBox->setEnabled(false); m_comboBox->setEnabled(false);
} }
void CMakeKitConfigWidget::refresh() void CMakeKitAspectWidget::refresh()
{ {
CMakeTool *tool = CMakeKitInformation::cmakeTool(m_kit); CMakeTool *tool = CMakeKitAspect::cmakeTool(m_kit);
m_comboBox->setCurrentIndex(tool ? indexOf(tool->id()) : -1); m_comboBox->setCurrentIndex(tool ? indexOf(tool->id()) : -1);
} }
QWidget *CMakeKitConfigWidget::mainWidget() const QWidget *CMakeKitAspectWidget::mainWidget() const
{ {
return m_comboBox; return m_comboBox;
} }
QWidget *CMakeKitConfigWidget::buttonWidget() const QWidget *CMakeKitAspectWidget::buttonWidget() const
{ {
return m_manageButton; return m_manageButton;
} }
QString CMakeKitConfigWidget::toolTip() const QString CMakeKitAspectWidget::toolTip() const
{ {
return tr("The CMake Tool to use when building a project with CMake.<br>" return tr("The CMake Tool to use when building a project with CMake.<br>"
"This setting is ignored when using other build systems."); "This setting is ignored when using other build systems.");
} }
int CMakeKitConfigWidget::indexOf(const Core::Id &id) int CMakeKitAspectWidget::indexOf(const Core::Id &id)
{ {
for (int i = 0; i < m_comboBox->count(); ++i) { for (int i = 0; i < m_comboBox->count(); ++i) {
if (id == Core::Id::fromSetting(m_comboBox->itemData(i))) if (id == Core::Id::fromSetting(m_comboBox->itemData(i)))
@@ -136,7 +136,7 @@ int CMakeKitConfigWidget::indexOf(const Core::Id &id)
return -1; return -1;
} }
void CMakeKitConfigWidget::cmakeToolAdded(const Core::Id &id) void CMakeKitAspectWidget::cmakeToolAdded(const Core::Id &id)
{ {
const CMakeTool *tool = CMakeToolManager::findById(id); const CMakeTool *tool = CMakeToolManager::findById(id);
QTC_ASSERT(tool, return); QTC_ASSERT(tool, return);
@@ -146,7 +146,7 @@ void CMakeKitConfigWidget::cmakeToolAdded(const Core::Id &id)
refresh(); refresh();
} }
void CMakeKitConfigWidget::cmakeToolUpdated(const Core::Id &id) void CMakeKitAspectWidget::cmakeToolUpdated(const Core::Id &id)
{ {
const int pos = indexOf(id); const int pos = indexOf(id);
QTC_ASSERT(pos >= 0, return); QTC_ASSERT(pos >= 0, return);
@@ -157,7 +157,7 @@ void CMakeKitConfigWidget::cmakeToolUpdated(const Core::Id &id)
m_comboBox->setItemText(pos, tool->displayName()); m_comboBox->setItemText(pos, tool->displayName());
} }
void CMakeKitConfigWidget::cmakeToolRemoved(const Core::Id &id) void CMakeKitAspectWidget::cmakeToolRemoved(const Core::Id &id)
{ {
const int pos = indexOf(id); const int pos = indexOf(id);
QTC_ASSERT(pos >= 0, return); QTC_ASSERT(pos >= 0, return);
@@ -172,7 +172,7 @@ void CMakeKitConfigWidget::cmakeToolRemoved(const Core::Id &id)
refresh(); refresh();
} }
void CMakeKitConfigWidget::updateComboBox() void CMakeKitAspectWidget::updateComboBox()
{ {
// remove unavailable cmake tool: // remove unavailable cmake tool:
int pos = indexOf(Core::Id()); int pos = indexOf(Core::Id());
@@ -188,29 +188,29 @@ void CMakeKitConfigWidget::updateComboBox()
} }
} }
void CMakeKitConfigWidget::currentCMakeToolChanged(int index) void CMakeKitAspectWidget::currentCMakeToolChanged(int index)
{ {
if (m_removingItem) if (m_removingItem)
return; return;
const Core::Id id = Core::Id::fromSetting(m_comboBox->itemData(index)); const Core::Id id = Core::Id::fromSetting(m_comboBox->itemData(index));
CMakeKitInformation::setCMakeTool(m_kit, id); CMakeKitAspect::setCMakeTool(m_kit, id);
} }
void CMakeKitConfigWidget::manageCMakeTools() void CMakeKitAspectWidget::manageCMakeTools()
{ {
Core::ICore::showOptionsDialog(Constants::CMAKE_SETTINGSPAGE_ID, Core::ICore::showOptionsDialog(Constants::CMAKE_SETTINGSPAGE_ID,
buttonWidget()); buttonWidget());
} }
// -------------------------------------------------------------------- // --------------------------------------------------------------------
// CMakeGeneratorKitConfigWidget: // CMakeGeneratorKitAspectWidget:
// -------------------------------------------------------------------- // --------------------------------------------------------------------
CMakeGeneratorKitConfigWidget::CMakeGeneratorKitConfigWidget(Kit *kit, CMakeGeneratorKitAspectWidget::CMakeGeneratorKitAspectWidget(Kit *kit,
const KitInformation *ki) : const KitAspect *ki) :
KitConfigWidget(kit, ki), KitAspectWidget(kit, ki),
m_label(new QLabel), m_label(new QLabel),
m_changeButton(new QPushButton) m_changeButton(new QPushButton)
{ {
@@ -219,39 +219,39 @@ CMakeGeneratorKitConfigWidget::CMakeGeneratorKitConfigWidget(Kit *kit,
refresh(); refresh();
connect(m_changeButton, &QPushButton::clicked, connect(m_changeButton, &QPushButton::clicked,
this, &CMakeGeneratorKitConfigWidget::changeGenerator); this, &CMakeGeneratorKitAspectWidget::changeGenerator);
} }
CMakeGeneratorKitConfigWidget::~CMakeGeneratorKitConfigWidget() CMakeGeneratorKitAspectWidget::~CMakeGeneratorKitAspectWidget()
{ {
delete m_label; delete m_label;
delete m_changeButton; delete m_changeButton;
} }
QString CMakeGeneratorKitConfigWidget::displayName() const QString CMakeGeneratorKitAspectWidget::displayName() const
{ {
return tr("CMake generator"); return tr("CMake generator");
} }
void CMakeGeneratorKitConfigWidget::makeReadOnly() void CMakeGeneratorKitAspectWidget::makeReadOnly()
{ {
m_changeButton->setEnabled(false); m_changeButton->setEnabled(false);
} }
void CMakeGeneratorKitConfigWidget::refresh() void CMakeGeneratorKitAspectWidget::refresh()
{ {
if (m_ignoreChange) if (m_ignoreChange)
return; return;
CMakeTool *const tool = CMakeKitInformation::cmakeTool(m_kit); CMakeTool *const tool = CMakeKitAspect::cmakeTool(m_kit);
if (tool != m_currentTool) if (tool != m_currentTool)
m_currentTool = tool; m_currentTool = tool;
m_changeButton->setEnabled(m_currentTool); m_changeButton->setEnabled(m_currentTool);
const QString generator = CMakeGeneratorKitInformation::generator(kit()); const QString generator = CMakeGeneratorKitAspect::generator(kit());
const QString extraGenerator = CMakeGeneratorKitInformation::extraGenerator(kit()); const QString extraGenerator = CMakeGeneratorKitAspect::extraGenerator(kit());
const QString platform = CMakeGeneratorKitInformation::platform(kit()); const QString platform = CMakeGeneratorKitAspect::platform(kit());
const QString toolset = CMakeGeneratorKitInformation::toolset(kit()); const QString toolset = CMakeGeneratorKitAspect::toolset(kit());
const QString message = tr("%1 - %2, Platform: %3, Toolset: %4") const QString message = tr("%1 - %2, Platform: %3, Toolset: %4")
.arg(extraGenerator.isEmpty() ? tr("<none>") : extraGenerator) .arg(extraGenerator.isEmpty() ? tr("<none>") : extraGenerator)
@@ -261,23 +261,23 @@ void CMakeGeneratorKitConfigWidget::refresh()
m_label->setText(message); m_label->setText(message);
} }
QWidget *CMakeGeneratorKitConfigWidget::mainWidget() const QWidget *CMakeGeneratorKitAspectWidget::mainWidget() const
{ {
return m_label; return m_label;
} }
QWidget *CMakeGeneratorKitConfigWidget::buttonWidget() const QWidget *CMakeGeneratorKitAspectWidget::buttonWidget() const
{ {
return m_changeButton; return m_changeButton;
} }
QString CMakeGeneratorKitConfigWidget::toolTip() const QString CMakeGeneratorKitAspectWidget::toolTip() const
{ {
return tr("CMake generator defines how a project is built when using CMake.<br>" return tr("CMake generator defines how a project is built when using CMake.<br>"
"This setting is ignored when using other build systems."); "This setting is ignored when using other build systems.");
} }
void CMakeGeneratorKitConfigWidget::changeGenerator() void CMakeGeneratorKitAspectWidget::changeGenerator()
{ {
QPointer<QDialog> changeDialog = new QDialog(m_changeButton); QPointer<QDialog> changeDialog = new QDialog(m_changeButton);
@@ -352,12 +352,12 @@ void CMakeGeneratorKitConfigWidget::changeGenerator()
toolsetEdit->setEnabled(it->supportsToolset); toolsetEdit->setEnabled(it->supportsToolset);
}; };
updateDialog(CMakeGeneratorKitInformation::generator(kit())); updateDialog(CMakeGeneratorKitAspect::generator(kit()));
generatorCombo->setCurrentText(CMakeGeneratorKitInformation::generator(kit())); generatorCombo->setCurrentText(CMakeGeneratorKitAspect::generator(kit()));
extraGeneratorCombo->setCurrentText(CMakeGeneratorKitInformation::extraGenerator(kit())); extraGeneratorCombo->setCurrentText(CMakeGeneratorKitAspect::extraGenerator(kit()));
platformEdit->setText(platformEdit->isEnabled() ? CMakeGeneratorKitInformation::platform(kit()) : QLatin1String("<unsupported>")); platformEdit->setText(platformEdit->isEnabled() ? CMakeGeneratorKitAspect::platform(kit()) : QLatin1String("<unsupported>"));
toolsetEdit->setText(toolsetEdit->isEnabled() ? CMakeGeneratorKitInformation::toolset(kit()) : QLatin1String("<unsupported>")); toolsetEdit->setText(toolsetEdit->isEnabled() ? CMakeGeneratorKitAspect::toolset(kit()) : QLatin1String("<unsupported>"));
connect(generatorCombo, &QComboBox::currentTextChanged, updateDialog); connect(generatorCombo, &QComboBox::currentTextChanged, updateDialog);
@@ -365,7 +365,7 @@ void CMakeGeneratorKitConfigWidget::changeGenerator()
if (!changeDialog) if (!changeDialog)
return; return;
CMakeGeneratorKitInformation::set(kit(), generatorCombo->currentText(), CMakeGeneratorKitAspect::set(kit(), generatorCombo->currentText(),
extraGeneratorCombo->currentData().toString(), extraGeneratorCombo->currentData().toString(),
platformEdit->isEnabled() ? platformEdit->text() : QString(), platformEdit->isEnabled() ? platformEdit->text() : QString(),
toolsetEdit->isEnabled() ? toolsetEdit->text() : QString()); toolsetEdit->isEnabled() ? toolsetEdit->text() : QString());
@@ -373,58 +373,58 @@ void CMakeGeneratorKitConfigWidget::changeGenerator()
} }
// -------------------------------------------------------------------- // --------------------------------------------------------------------
// CMakeConfigurationKitConfigWidget: // CMakeConfigurationKitAspectWidget:
// -------------------------------------------------------------------- // --------------------------------------------------------------------
CMakeConfigurationKitConfigWidget::CMakeConfigurationKitConfigWidget(Kit *kit, CMakeConfigurationKitAspectWidget::CMakeConfigurationKitAspectWidget(Kit *kit,
const KitInformation *ki) : const KitAspect *ki) :
KitConfigWidget(kit, ki), KitAspectWidget(kit, ki),
m_summaryLabel(new Utils::ElidingLabel), m_summaryLabel(new Utils::ElidingLabel),
m_manageButton(new QPushButton) m_manageButton(new QPushButton)
{ {
refresh(); refresh();
m_manageButton->setText(tr("Change...")); m_manageButton->setText(tr("Change..."));
connect(m_manageButton, &QAbstractButton::clicked, connect(m_manageButton, &QAbstractButton::clicked,
this, &CMakeConfigurationKitConfigWidget::editConfigurationChanges); this, &CMakeConfigurationKitAspectWidget::editConfigurationChanges);
} }
QString CMakeConfigurationKitConfigWidget::displayName() const QString CMakeConfigurationKitAspectWidget::displayName() const
{ {
return tr("CMake Configuration"); return tr("CMake Configuration");
} }
void CMakeConfigurationKitConfigWidget::makeReadOnly() void CMakeConfigurationKitAspectWidget::makeReadOnly()
{ {
m_manageButton->setEnabled(false); m_manageButton->setEnabled(false);
if (m_dialog) if (m_dialog)
m_dialog->reject(); m_dialog->reject();
} }
void CMakeConfigurationKitConfigWidget::refresh() void CMakeConfigurationKitAspectWidget::refresh()
{ {
const QStringList current = CMakeConfigurationKitInformation::toStringList(kit()); const QStringList current = CMakeConfigurationKitAspect::toStringList(kit());
m_summaryLabel->setText(current.join("; ")); m_summaryLabel->setText(current.join("; "));
if (m_editor) if (m_editor)
m_editor->setPlainText(current.join('\n')); m_editor->setPlainText(current.join('\n'));
} }
QWidget *CMakeConfigurationKitConfigWidget::mainWidget() const QWidget *CMakeConfigurationKitAspectWidget::mainWidget() const
{ {
return m_summaryLabel; return m_summaryLabel;
} }
QWidget *CMakeConfigurationKitConfigWidget::buttonWidget() const QWidget *CMakeConfigurationKitAspectWidget::buttonWidget() const
{ {
return m_manageButton; return m_manageButton;
} }
QString CMakeConfigurationKitConfigWidget::toolTip() const QString CMakeConfigurationKitAspectWidget::toolTip() const
{ {
return tr("Default configuration passed to CMake when setting up a project."); return tr("Default configuration passed to CMake when setting up a project.");
} }
void CMakeConfigurationKitConfigWidget::editConfigurationChanges() void CMakeConfigurationKitAspectWidget::editConfigurationChanges()
{ {
if (m_dialog) { if (m_dialog) {
m_dialog->activateWindow(); m_dialog->activateWindow();
@@ -458,32 +458,32 @@ void CMakeConfigurationKitConfigWidget::editConfigurationChanges()
connect(buttons, &QDialogButtonBox::clicked, m_dialog, [buttons, this](QAbstractButton *button) { connect(buttons, &QDialogButtonBox::clicked, m_dialog, [buttons, this](QAbstractButton *button) {
if (button != buttons->button(QDialogButtonBox::Reset)) if (button != buttons->button(QDialogButtonBox::Reset))
return; return;
CMakeConfigurationKitInformation::setConfiguration(kit(), CMakeConfigurationKitAspect::setConfiguration(kit(),
CMakeConfigurationKitInformation::defaultConfiguration(kit())); CMakeConfigurationKitAspect::defaultConfiguration(kit()));
}); });
connect(m_dialog, &QDialog::accepted, this, &CMakeConfigurationKitConfigWidget::acceptChangesDialog); connect(m_dialog, &QDialog::accepted, this, &CMakeConfigurationKitAspectWidget::acceptChangesDialog);
connect(m_dialog, &QDialog::rejected, this, &CMakeConfigurationKitConfigWidget::closeChangesDialog); connect(m_dialog, &QDialog::rejected, this, &CMakeConfigurationKitAspectWidget::closeChangesDialog);
connect(buttons->button(QDialogButtonBox::Apply), &QAbstractButton::clicked, connect(buttons->button(QDialogButtonBox::Apply), &QAbstractButton::clicked,
this, &CMakeConfigurationKitConfigWidget::applyChanges); this, &CMakeConfigurationKitAspectWidget::applyChanges);
refresh(); refresh();
m_dialog->show(); m_dialog->show();
} }
void CMakeConfigurationKitConfigWidget::applyChanges() void CMakeConfigurationKitAspectWidget::applyChanges()
{ {
QTC_ASSERT(m_editor, return); QTC_ASSERT(m_editor, return);
CMakeConfigurationKitInformation::fromStringList(kit(), m_editor->toPlainText().split(QLatin1Char('\n'))); CMakeConfigurationKitAspect::fromStringList(kit(), m_editor->toPlainText().split(QLatin1Char('\n')));
} }
void CMakeConfigurationKitConfigWidget::closeChangesDialog() void CMakeConfigurationKitAspectWidget::closeChangesDialog()
{ {
m_dialog->deleteLater(); m_dialog->deleteLater();
m_dialog = nullptr; m_dialog = nullptr;
m_editor = nullptr; m_editor = nullptr;
} }
void CMakeConfigurationKitConfigWidget::acceptChangesDialog() void CMakeConfigurationKitAspectWidget::acceptChangesDialog()
{ {
applyChanges(); applyChanges();
closeChangesDialog(); closeChangesDialog();

View File

@@ -37,7 +37,7 @@ QT_END_NAMESPACE
namespace ProjectExplorer { namespace ProjectExplorer {
class Kit; class Kit;
class KitInformation; class KitAspect;
} // namespace ProjectExplorer } // namespace ProjectExplorer
namespace CMakeProjectManager { namespace CMakeProjectManager {
@@ -47,17 +47,17 @@ class CMakeTool;
namespace Internal { namespace Internal {
// -------------------------------------------------------------------- // --------------------------------------------------------------------
// CMakeKitConfigWidget: // CMakeKitAspectWidget:
// -------------------------------------------------------------------- // --------------------------------------------------------------------
class CMakeKitConfigWidget : public ProjectExplorer::KitConfigWidget class CMakeKitAspectWidget : public ProjectExplorer::KitAspectWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
CMakeKitConfigWidget(ProjectExplorer::Kit *kit, const ProjectExplorer::KitInformation *ki); CMakeKitAspectWidget(ProjectExplorer::Kit *kit, const ProjectExplorer::KitAspect *ki);
~CMakeKitConfigWidget() override; ~CMakeKitAspectWidget() override;
// KitConfigWidget interface // KitAspectWidget interface
QString displayName() const override; QString displayName() const override;
void makeReadOnly() override; void makeReadOnly() override;
void refresh() override; void refresh() override;
@@ -80,17 +80,17 @@ private:
}; };
// -------------------------------------------------------------------- // --------------------------------------------------------------------
// CMakeGeneratorKitConfigWidget: // CMakeGeneratorKitAspectWidget:
// -------------------------------------------------------------------- // --------------------------------------------------------------------
class CMakeGeneratorKitConfigWidget : public ProjectExplorer::KitConfigWidget class CMakeGeneratorKitAspectWidget : public ProjectExplorer::KitAspectWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
CMakeGeneratorKitConfigWidget(ProjectExplorer::Kit *kit, const ProjectExplorer::KitInformation *ki); CMakeGeneratorKitAspectWidget(ProjectExplorer::Kit *kit, const ProjectExplorer::KitAspect *ki);
~CMakeGeneratorKitConfigWidget() override; ~CMakeGeneratorKitAspectWidget() override;
// KitConfigWidget interface // KitAspectWidget interface
QString displayName() const override; QString displayName() const override;
void makeReadOnly() override; void makeReadOnly() override;
void refresh() override; void refresh() override;
@@ -108,16 +108,16 @@ private:
}; };
// -------------------------------------------------------------------- // --------------------------------------------------------------------
// CMakeConfigurationKitConfigWidget: // CMakeConfigurationKitAspectWidget:
// -------------------------------------------------------------------- // --------------------------------------------------------------------
class CMakeConfigurationKitConfigWidget : public ProjectExplorer::KitConfigWidget class CMakeConfigurationKitAspectWidget : public ProjectExplorer::KitAspectWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
CMakeConfigurationKitConfigWidget(ProjectExplorer::Kit *kit, const ProjectExplorer::KitInformation *ki); CMakeConfigurationKitAspectWidget(ProjectExplorer::Kit *kit, const ProjectExplorer::KitAspect *ki);
// KitConfigWidget interface // KitAspectWidget interface
QString displayName() const override; QString displayName() const override;
void makeReadOnly() override; void makeReadOnly() override;
void refresh() override; void refresh() override;

View File

@@ -48,7 +48,7 @@ using namespace ProjectExplorer;
namespace CMakeProjectManager { namespace CMakeProjectManager {
// -------------------------------------------------------------------- // --------------------------------------------------------------------
// CMakeKitInformation: // CMakeKitAspect:
// -------------------------------------------------------------------- // --------------------------------------------------------------------
static Core::Id defaultCMakeToolId() static Core::Id defaultCMakeToolId()
@@ -60,12 +60,12 @@ static Core::Id defaultCMakeToolId()
static const char TOOL_ID[] = "CMakeProjectManager.CMakeKitInformation"; static const char TOOL_ID[] = "CMakeProjectManager.CMakeKitInformation";
// -------------------------------------------------------------------- // --------------------------------------------------------------------
// CMakeKitInformation: // CMakeKitAspect:
// -------------------------------------------------------------------- // --------------------------------------------------------------------
CMakeKitInformation::CMakeKitInformation() CMakeKitAspect::CMakeKitAspect()
{ {
setObjectName(QLatin1String("CMakeKitInformation")); setObjectName(QLatin1String("CMakeKitAspect"));
setId(TOOL_ID); setId(TOOL_ID);
setPriority(20000); setPriority(20000);
@@ -78,24 +78,24 @@ CMakeKitInformation::CMakeKitInformation()
[this]() { foreach (Kit *k, KitManager::kits()) fix(k); }); [this]() { foreach (Kit *k, KitManager::kits()) fix(k); });
} }
Core::Id CMakeKitInformation::id() Core::Id CMakeKitAspect::id()
{ {
return TOOL_ID; return TOOL_ID;
} }
Core::Id CMakeKitInformation::cmakeToolId(const Kit *k) Core::Id CMakeKitAspect::cmakeToolId(const Kit *k)
{ {
if (!k) if (!k)
return {}; return {};
return Core::Id::fromSetting(k->value(TOOL_ID)); return Core::Id::fromSetting(k->value(TOOL_ID));
} }
CMakeTool *CMakeKitInformation::cmakeTool(const Kit *k) CMakeTool *CMakeKitAspect::cmakeTool(const Kit *k)
{ {
return CMakeToolManager::findById(cmakeToolId(k)); return CMakeToolManager::findById(cmakeToolId(k));
} }
void CMakeKitInformation::setCMakeTool(Kit *k, const Core::Id id) void CMakeKitAspect::setCMakeTool(Kit *k, const Core::Id id)
{ {
const Core::Id toSet = id.isValid() ? id : defaultCMakeToolId(); const Core::Id toSet = id.isValid() ? id : defaultCMakeToolId();
QTC_ASSERT(!id.isValid() || CMakeToolManager::findById(toSet), return); QTC_ASSERT(!id.isValid() || CMakeToolManager::findById(toSet), return);
@@ -103,16 +103,16 @@ void CMakeKitInformation::setCMakeTool(Kit *k, const Core::Id id)
k->setValue(TOOL_ID, toSet.toSetting()); k->setValue(TOOL_ID, toSet.toSetting());
} }
QVariant CMakeKitInformation::defaultValue(const Kit *k) const QVariant CMakeKitAspect::defaultValue(const Kit *k) const
{ {
const Core::Id id = k ? defaultCMakeToolId() : Core::Id(); const Core::Id id = k ? defaultCMakeToolId() : Core::Id();
return id.toSetting(); return id.toSetting();
} }
QList<Task> CMakeKitInformation::validate(const Kit *k) const QList<Task> CMakeKitAspect::validate(const Kit *k) const
{ {
QList<Task> result; QList<Task> result;
CMakeTool *tool = CMakeKitInformation::cmakeTool(k); CMakeTool *tool = CMakeKitAspect::cmakeTool(k);
if (tool) { if (tool) {
CMakeTool::Version version = tool->version(); CMakeTool::Version version = tool->version();
if (version.major < 3) { if (version.major < 3) {
@@ -124,42 +124,42 @@ QList<Task> CMakeKitInformation::validate(const Kit *k) const
return result; return result;
} }
void CMakeKitInformation::setup(Kit *k) void CMakeKitAspect::setup(Kit *k)
{ {
CMakeTool *tool = CMakeKitInformation::cmakeTool(k); CMakeTool *tool = CMakeKitAspect::cmakeTool(k);
if (!tool) if (!tool)
setCMakeTool(k, defaultCMakeToolId()); setCMakeTool(k, defaultCMakeToolId());
} }
void CMakeKitInformation::fix(Kit *k) void CMakeKitAspect::fix(Kit *k)
{ {
if (!CMakeKitInformation::cmakeTool(k)) if (!CMakeKitAspect::cmakeTool(k))
setup(k); setup(k);
} }
KitInformation::ItemList CMakeKitInformation::toUserOutput(const Kit *k) const KitAspect::ItemList CMakeKitAspect::toUserOutput(const Kit *k) const
{ {
const CMakeTool *const tool = cmakeTool(k); const CMakeTool *const tool = cmakeTool(k);
return ItemList() << qMakePair(tr("CMake"), tool ? tool->displayName() : tr("Unconfigured")); return ItemList() << qMakePair(tr("CMake"), tool ? tool->displayName() : tr("Unconfigured"));
} }
KitConfigWidget *CMakeKitInformation::createConfigWidget(Kit *k) const KitAspectWidget *CMakeKitAspect::createConfigWidget(Kit *k) const
{ {
QTC_ASSERT(k, return nullptr); QTC_ASSERT(k, return nullptr);
return new Internal::CMakeKitConfigWidget(k, this); return new Internal::CMakeKitAspectWidget(k, this);
} }
void CMakeKitInformation::addToMacroExpander(Kit *k, Utils::MacroExpander *expander) const void CMakeKitAspect::addToMacroExpander(Kit *k, Utils::MacroExpander *expander) const
{ {
QTC_ASSERT(k, return); QTC_ASSERT(k, return);
expander->registerFileVariables("CMake:Executable", tr("Path to the cmake executable"), expander->registerFileVariables("CMake:Executable", tr("Path to the cmake executable"),
[k]() -> QString { [k]() -> QString {
CMakeTool *tool = CMakeKitInformation::cmakeTool(k); CMakeTool *tool = CMakeKitAspect::cmakeTool(k);
return tool ? tool->cmakeExecutable().toString() : QString(); return tool ? tool->cmakeExecutable().toString() : QString();
}); });
} }
QSet<Core::Id> CMakeKitInformation::availableFeatures(const Kit *k) const QSet<Core::Id> CMakeKitAspect::availableFeatures(const Kit *k) const
{ {
if (cmakeTool(k)) if (cmakeTool(k))
return { CMakeProjectManager::Constants::CMAKE_FEATURE_ID }; return { CMakeProjectManager::Constants::CMAKE_FEATURE_ID };
@@ -167,7 +167,7 @@ QSet<Core::Id> CMakeKitInformation::availableFeatures(const Kit *k) const
} }
// -------------------------------------------------------------------- // --------------------------------------------------------------------
// CMakeGeneratorKitInformation: // CMakeGeneratorKitAspect:
// -------------------------------------------------------------------- // --------------------------------------------------------------------
static const char GENERATOR_ID[] = "CMake.GeneratorKitInformation"; static const char GENERATOR_ID[] = "CMake.GeneratorKitInformation";
@@ -222,62 +222,62 @@ static void setGeneratorInfo(Kit *k, const GeneratorInfo &info)
k->setValue(GENERATOR_ID, info.toVariant()); k->setValue(GENERATOR_ID, info.toVariant());
} }
CMakeGeneratorKitInformation::CMakeGeneratorKitInformation() CMakeGeneratorKitAspect::CMakeGeneratorKitAspect()
{ {
setObjectName(QLatin1String("CMakeGeneratorKitInformation")); setObjectName(QLatin1String("CMakeGeneratorKitAspect"));
setId(GENERATOR_ID); setId(GENERATOR_ID);
setPriority(19000); setPriority(19000);
} }
QString CMakeGeneratorKitInformation::generator(const Kit *k) QString CMakeGeneratorKitAspect::generator(const Kit *k)
{ {
return generatorInfo(k).generator; return generatorInfo(k).generator;
} }
QString CMakeGeneratorKitInformation::extraGenerator(const Kit *k) QString CMakeGeneratorKitAspect::extraGenerator(const Kit *k)
{ {
return generatorInfo(k).extraGenerator; return generatorInfo(k).extraGenerator;
} }
QString CMakeGeneratorKitInformation::platform(const Kit *k) QString CMakeGeneratorKitAspect::platform(const Kit *k)
{ {
return generatorInfo(k).platform; return generatorInfo(k).platform;
} }
QString CMakeGeneratorKitInformation::toolset(const Kit *k) QString CMakeGeneratorKitAspect::toolset(const Kit *k)
{ {
return generatorInfo(k).toolset; return generatorInfo(k).toolset;
} }
void CMakeGeneratorKitInformation::setGenerator(Kit *k, const QString &generator) void CMakeGeneratorKitAspect::setGenerator(Kit *k, const QString &generator)
{ {
GeneratorInfo info = generatorInfo(k); GeneratorInfo info = generatorInfo(k);
info.generator = generator; info.generator = generator;
setGeneratorInfo(k, info); setGeneratorInfo(k, info);
} }
void CMakeGeneratorKitInformation::setExtraGenerator(Kit *k, const QString &extraGenerator) void CMakeGeneratorKitAspect::setExtraGenerator(Kit *k, const QString &extraGenerator)
{ {
GeneratorInfo info = generatorInfo(k); GeneratorInfo info = generatorInfo(k);
info.extraGenerator = extraGenerator; info.extraGenerator = extraGenerator;
setGeneratorInfo(k, info); setGeneratorInfo(k, info);
} }
void CMakeGeneratorKitInformation::setPlatform(Kit *k, const QString &platform) void CMakeGeneratorKitAspect::setPlatform(Kit *k, const QString &platform)
{ {
GeneratorInfo info = generatorInfo(k); GeneratorInfo info = generatorInfo(k);
info.platform = platform; info.platform = platform;
setGeneratorInfo(k, info); setGeneratorInfo(k, info);
} }
void CMakeGeneratorKitInformation::setToolset(Kit *k, const QString &toolset) void CMakeGeneratorKitAspect::setToolset(Kit *k, const QString &toolset)
{ {
GeneratorInfo info = generatorInfo(k); GeneratorInfo info = generatorInfo(k);
info.toolset = toolset; info.toolset = toolset;
setGeneratorInfo(k, info); setGeneratorInfo(k, info);
} }
void CMakeGeneratorKitInformation::set(Kit *k, void CMakeGeneratorKitAspect::set(Kit *k,
const QString &generator, const QString &extraGenerator, const QString &generator, const QString &extraGenerator,
const QString &platform, const QString &toolset) const QString &platform, const QString &toolset)
{ {
@@ -285,7 +285,7 @@ void CMakeGeneratorKitInformation::set(Kit *k,
setGeneratorInfo(k, info); setGeneratorInfo(k, info);
} }
QStringList CMakeGeneratorKitInformation::generatorArguments(const Kit *k) QStringList CMakeGeneratorKitAspect::generatorArguments(const Kit *k)
{ {
QStringList result; QStringList result;
GeneratorInfo info = generatorInfo(k); GeneratorInfo info = generatorInfo(k);
@@ -307,11 +307,11 @@ QStringList CMakeGeneratorKitInformation::generatorArguments(const Kit *k)
return result; return result;
} }
QVariant CMakeGeneratorKitInformation::defaultValue(const Kit *k) const QVariant CMakeGeneratorKitAspect::defaultValue(const Kit *k) const
{ {
QTC_ASSERT(k, return QVariant()); QTC_ASSERT(k, return QVariant());
CMakeTool *tool = CMakeKitInformation::cmakeTool(k); CMakeTool *tool = CMakeKitAspect::cmakeTool(k);
if (!tool) if (!tool)
return QVariant(); return QVariant();
@@ -332,7 +332,7 @@ QVariant CMakeGeneratorKitInformation::defaultValue(const Kit *k) const
if (Utils::HostOsInfo::isWindowsHost()) { if (Utils::HostOsInfo::isWindowsHost()) {
// *sigh* Windows with its zoo of incompatible stuff again... // *sigh* Windows with its zoo of incompatible stuff again...
ToolChain *tc = ToolChainKitInformation::toolChain(k, ProjectExplorer::Constants::CXX_LANGUAGE_ID); ToolChain *tc = ToolChainKitAspect::toolChain(k, ProjectExplorer::Constants::CXX_LANGUAGE_ID);
if (tc && tc->typeId() == ProjectExplorer::Constants::MINGW_TOOLCHAIN_TYPEID) { if (tc && tc->typeId() == ProjectExplorer::Constants::MINGW_TOOLCHAIN_TYPEID) {
it = std::find_if(known.constBegin(), known.constEnd(), it = std::find_if(known.constBegin(), known.constEnd(),
[extraGenerator](const CMakeTool::Generator &g) { [extraGenerator](const CMakeTool::Generator &g) {
@@ -360,9 +360,9 @@ QVariant CMakeGeneratorKitInformation::defaultValue(const Kit *k) const
return GeneratorInfo({it->name, extraGenerator, QString(), QString()}).toVariant(); return GeneratorInfo({it->name, extraGenerator, QString(), QString()}).toVariant();
} }
QList<Task> CMakeGeneratorKitInformation::validate(const Kit *k) const QList<Task> CMakeGeneratorKitAspect::validate(const Kit *k) const
{ {
CMakeTool *tool = CMakeKitInformation::cmakeTool(k); CMakeTool *tool = CMakeKitAspect::cmakeTool(k);
GeneratorInfo info = generatorInfo(k); GeneratorInfo info = generatorInfo(k);
QList<Task> result; QList<Task> result;
@@ -400,16 +400,16 @@ QList<Task> CMakeGeneratorKitInformation::validate(const Kit *k) const
return result; return result;
} }
void CMakeGeneratorKitInformation::setup(Kit *k) void CMakeGeneratorKitAspect::setup(Kit *k)
{ {
GeneratorInfo info; GeneratorInfo info;
info.fromVariant(defaultValue(k)); info.fromVariant(defaultValue(k));
setGeneratorInfo(k, info); setGeneratorInfo(k, info);
} }
void CMakeGeneratorKitInformation::fix(Kit *k) void CMakeGeneratorKitAspect::fix(Kit *k)
{ {
const CMakeTool *tool = CMakeKitInformation::cmakeTool(k); const CMakeTool *tool = CMakeKitAspect::cmakeTool(k);
const GeneratorInfo info = generatorInfo(k); const GeneratorInfo info = generatorInfo(k);
if (!tool) if (!tool)
@@ -431,7 +431,7 @@ void CMakeGeneratorKitInformation::fix(Kit *k)
} }
} }
void CMakeGeneratorKitInformation::upgrade(Kit *k) void CMakeGeneratorKitAspect::upgrade(Kit *k)
{ {
QTC_ASSERT(k, return); QTC_ASSERT(k, return);
@@ -450,7 +450,7 @@ void CMakeGeneratorKitInformation::upgrade(Kit *k)
} }
} }
KitInformation::ItemList CMakeGeneratorKitInformation::toUserOutput(const Kit *k) const KitAspect::ItemList CMakeGeneratorKitAspect::toUserOutput(const Kit *k) const
{ {
const GeneratorInfo info = generatorInfo(k); const GeneratorInfo info = generatorInfo(k);
QString message; QString message;
@@ -466,13 +466,13 @@ KitInformation::ItemList CMakeGeneratorKitInformation::toUserOutput(const Kit *k
return ItemList() << qMakePair(tr("CMake Generator"), message); return ItemList() << qMakePair(tr("CMake Generator"), message);
} }
KitConfigWidget *CMakeGeneratorKitInformation::createConfigWidget(Kit *k) const KitAspectWidget *CMakeGeneratorKitAspect::createConfigWidget(Kit *k) const
{ {
return new Internal::CMakeGeneratorKitConfigWidget(k, this); return new Internal::CMakeGeneratorKitAspectWidget(k, this);
} }
// -------------------------------------------------------------------- // --------------------------------------------------------------------
// CMakeConfigurationKitInformation: // CMakeConfigurationKitAspect:
// -------------------------------------------------------------------- // --------------------------------------------------------------------
static const char CONFIGURATION_ID[] = "CMake.ConfigurationKitInformation"; static const char CONFIGURATION_ID[] = "CMake.ConfigurationKitInformation";
@@ -482,14 +482,14 @@ static const char CMAKE_CXX_TOOLCHAIN_KEY[] = "CMAKE_CXX_COMPILER";
static const char CMAKE_QMAKE_KEY[] = "QT_QMAKE_EXECUTABLE"; static const char CMAKE_QMAKE_KEY[] = "QT_QMAKE_EXECUTABLE";
static const char CMAKE_PREFIX_PATH_KEY[] = "CMAKE_PREFIX_PATH"; static const char CMAKE_PREFIX_PATH_KEY[] = "CMAKE_PREFIX_PATH";
CMakeConfigurationKitInformation::CMakeConfigurationKitInformation() CMakeConfigurationKitAspect::CMakeConfigurationKitAspect()
{ {
setObjectName(QLatin1String("CMakeConfigurationKitInformation")); setObjectName(QLatin1String("CMakeConfigurationKitAspect"));
setId(CONFIGURATION_ID); setId(CONFIGURATION_ID);
setPriority(18000); setPriority(18000);
} }
CMakeConfig CMakeConfigurationKitInformation::configuration(const Kit *k) CMakeConfig CMakeConfigurationKitAspect::configuration(const Kit *k)
{ {
if (!k) if (!k)
return CMakeConfig(); return CMakeConfig();
@@ -497,7 +497,7 @@ CMakeConfig CMakeConfigurationKitInformation::configuration(const Kit *k)
return Utils::transform(tmp, &CMakeConfigItem::fromString); return Utils::transform(tmp, &CMakeConfigItem::fromString);
} }
void CMakeConfigurationKitInformation::setConfiguration(Kit *k, const CMakeConfig &config) void CMakeConfigurationKitAspect::setConfiguration(Kit *k, const CMakeConfig &config)
{ {
if (!k) if (!k)
return; return;
@@ -505,17 +505,17 @@ void CMakeConfigurationKitInformation::setConfiguration(Kit *k, const CMakeConfi
k->setValue(CONFIGURATION_ID, tmp); k->setValue(CONFIGURATION_ID, tmp);
} }
QStringList CMakeConfigurationKitInformation::toStringList(const Kit *k) QStringList CMakeConfigurationKitAspect::toStringList(const Kit *k)
{ {
QStringList current QStringList current
= Utils::transform(CMakeConfigurationKitInformation::configuration(k), = Utils::transform(CMakeConfigurationKitAspect::configuration(k),
[](const CMakeConfigItem &i) { return i.toString(); }); [](const CMakeConfigItem &i) { return i.toString(); });
current = Utils::filtered(current, [](const QString &s) { return !s.isEmpty(); }); current = Utils::filtered(current, [](const QString &s) { return !s.isEmpty(); });
Utils::sort(current); Utils::sort(current);
return current; return current;
} }
void CMakeConfigurationKitInformation::fromStringList(Kit *k, const QStringList &in) void CMakeConfigurationKitAspect::fromStringList(Kit *k, const QStringList &in)
{ {
CMakeConfig result; CMakeConfig result;
foreach (const QString &s, in) { foreach (const QString &s, in) {
@@ -526,7 +526,7 @@ void CMakeConfigurationKitInformation::fromStringList(Kit *k, const QStringList
setConfiguration(k, result); setConfiguration(k, result);
} }
CMakeConfig CMakeConfigurationKitInformation::defaultConfiguration(const Kit *k) CMakeConfig CMakeConfigurationKitAspect::defaultConfiguration(const Kit *k)
{ {
Q_UNUSED(k); Q_UNUSED(k);
CMakeConfig config; CMakeConfig config;
@@ -541,7 +541,7 @@ CMakeConfig CMakeConfigurationKitInformation::defaultConfiguration(const Kit *k)
return config; return config;
} }
QVariant CMakeConfigurationKitInformation::defaultValue(const Kit *k) const QVariant CMakeConfigurationKitAspect::defaultValue(const Kit *k) const
{ {
Q_UNUSED(k); Q_UNUSED(k);
@@ -552,13 +552,13 @@ QVariant CMakeConfigurationKitInformation::defaultValue(const Kit *k) const
return tmp; return tmp;
} }
QList<Task> CMakeConfigurationKitInformation::validate(const Kit *k) const QList<Task> CMakeConfigurationKitAspect::validate(const Kit *k) const
{ {
QTC_ASSERT(k, return QList<Task>()); QTC_ASSERT(k, return QList<Task>());
const QtSupport::BaseQtVersion *const version = QtSupport::QtKitInformation::qtVersion(k); const QtSupport::BaseQtVersion *const version = QtSupport::QtKitAspect::qtVersion(k);
const ToolChain *const tcC = ToolChainKitInformation::toolChain(k, ProjectExplorer::Constants::C_LANGUAGE_ID); const ToolChain *const tcC = ToolChainKitAspect::toolChain(k, ProjectExplorer::Constants::C_LANGUAGE_ID);
const ToolChain *const tcCxx = ToolChainKitInformation::toolChain(k, ProjectExplorer::Constants::CXX_LANGUAGE_ID); const ToolChain *const tcCxx = ToolChainKitAspect::toolChain(k, ProjectExplorer::Constants::CXX_LANGUAGE_ID);
const CMakeConfig config = configuration(k); const CMakeConfig config = configuration(k);
const bool isQt4 = version && version->qtVersion() < QtSupport::QtVersionNumber(5, 0, 0); const bool isQt4 = version && version->qtVersion() < QtSupport::QtVersionNumber(5, 0, 0);
@@ -650,28 +650,28 @@ QList<Task> CMakeConfigurationKitInformation::validate(const Kit *k) const
return result; return result;
} }
void CMakeConfigurationKitInformation::setup(Kit *k) void CMakeConfigurationKitAspect::setup(Kit *k)
{ {
if (k && !k->hasValue(CONFIGURATION_ID)) if (k && !k->hasValue(CONFIGURATION_ID))
k->setValue(CONFIGURATION_ID, defaultValue(k)); k->setValue(CONFIGURATION_ID, defaultValue(k));
} }
void CMakeConfigurationKitInformation::fix(Kit *k) void CMakeConfigurationKitAspect::fix(Kit *k)
{ {
Q_UNUSED(k); Q_UNUSED(k);
} }
KitInformation::ItemList CMakeConfigurationKitInformation::toUserOutput(const Kit *k) const KitAspect::ItemList CMakeConfigurationKitAspect::toUserOutput(const Kit *k) const
{ {
const QStringList current = toStringList(k); const QStringList current = toStringList(k);
return ItemList() << qMakePair(tr("CMake Configuration"), current.join(QLatin1String("<br>"))); return ItemList() << qMakePair(tr("CMake Configuration"), current.join(QLatin1String("<br>")));
} }
KitConfigWidget *CMakeConfigurationKitInformation::createConfigWidget(Kit *k) const KitAspectWidget *CMakeConfigurationKitAspect::createConfigWidget(Kit *k) const
{ {
if (!k) if (!k)
return nullptr; return nullptr;
return new Internal::CMakeConfigurationKitConfigWidget(k, this); return new Internal::CMakeConfigurationKitAspectWidget(k, this);
} }
} // namespace CMakeProjectManager } // namespace CMakeProjectManager

View File

@@ -35,11 +35,11 @@ namespace CMakeProjectManager {
class CMakeTool; class CMakeTool;
class CMAKE_EXPORT CMakeKitInformation : public ProjectExplorer::KitInformation class CMAKE_EXPORT CMakeKitAspect : public ProjectExplorer::KitAspect
{ {
Q_OBJECT Q_OBJECT
public: public:
CMakeKitInformation(); CMakeKitAspect();
static Core::Id id(); static Core::Id id();
@@ -47,24 +47,24 @@ public:
static CMakeTool *cmakeTool(const ProjectExplorer::Kit *k); static CMakeTool *cmakeTool(const ProjectExplorer::Kit *k);
static void setCMakeTool(ProjectExplorer::Kit *k, const Core::Id id); static void setCMakeTool(ProjectExplorer::Kit *k, const Core::Id id);
// KitInformation interface // KitAspect interface
QVariant defaultValue(const ProjectExplorer::Kit *k) const final; QVariant defaultValue(const ProjectExplorer::Kit *k) const final;
QList<ProjectExplorer::Task> validate(const ProjectExplorer::Kit *k) const final; QList<ProjectExplorer::Task> validate(const ProjectExplorer::Kit *k) const final;
void setup(ProjectExplorer::Kit *k) final; void setup(ProjectExplorer::Kit *k) final;
void fix(ProjectExplorer::Kit *k) final; void fix(ProjectExplorer::Kit *k) final;
ItemList toUserOutput(const ProjectExplorer::Kit *k) const final; ItemList toUserOutput(const ProjectExplorer::Kit *k) const final;
ProjectExplorer::KitConfigWidget *createConfigWidget(ProjectExplorer::Kit *k) const final; ProjectExplorer::KitAspectWidget *createConfigWidget(ProjectExplorer::Kit *k) const final;
void addToMacroExpander(ProjectExplorer::Kit *k, Utils::MacroExpander *expander) const final; void addToMacroExpander(ProjectExplorer::Kit *k, Utils::MacroExpander *expander) const final;
QSet<Core::Id> availableFeatures(const ProjectExplorer::Kit *k) const final; QSet<Core::Id> availableFeatures(const ProjectExplorer::Kit *k) const final;
}; };
class CMAKE_EXPORT CMakeGeneratorKitInformation : public ProjectExplorer::KitInformation class CMAKE_EXPORT CMakeGeneratorKitAspect : public ProjectExplorer::KitAspect
{ {
Q_OBJECT Q_OBJECT
public: public:
CMakeGeneratorKitInformation(); CMakeGeneratorKitAspect();
static QString generator(const ProjectExplorer::Kit *k); static QString generator(const ProjectExplorer::Kit *k);
static QString extraGenerator(const ProjectExplorer::Kit *k); static QString extraGenerator(const ProjectExplorer::Kit *k);
@@ -78,21 +78,21 @@ public:
const QString &extraGenerator, const QString &platform, const QString &toolset); const QString &extraGenerator, const QString &platform, const QString &toolset);
static QStringList generatorArguments(const ProjectExplorer::Kit *k); static QStringList generatorArguments(const ProjectExplorer::Kit *k);
// KitInformation interface // KitAspect interface
QVariant defaultValue(const ProjectExplorer::Kit *k) const final; QVariant defaultValue(const ProjectExplorer::Kit *k) const final;
QList<ProjectExplorer::Task> validate(const ProjectExplorer::Kit *k) const final; QList<ProjectExplorer::Task> validate(const ProjectExplorer::Kit *k) const final;
void setup(ProjectExplorer::Kit *k) final; void setup(ProjectExplorer::Kit *k) final;
void fix(ProjectExplorer::Kit *k) final; void fix(ProjectExplorer::Kit *k) final;
void upgrade(ProjectExplorer::Kit *k) final; void upgrade(ProjectExplorer::Kit *k) final;
ItemList toUserOutput(const ProjectExplorer::Kit *k) const final; ItemList toUserOutput(const ProjectExplorer::Kit *k) const final;
ProjectExplorer::KitConfigWidget *createConfigWidget(ProjectExplorer::Kit *k) const final; ProjectExplorer::KitAspectWidget *createConfigWidget(ProjectExplorer::Kit *k) const final;
}; };
class CMAKE_EXPORT CMakeConfigurationKitInformation : public ProjectExplorer::KitInformation class CMAKE_EXPORT CMakeConfigurationKitAspect : public ProjectExplorer::KitAspect
{ {
Q_OBJECT Q_OBJECT
public: public:
CMakeConfigurationKitInformation(); CMakeConfigurationKitAspect();
static CMakeConfig configuration(const ProjectExplorer::Kit *k); static CMakeConfig configuration(const ProjectExplorer::Kit *k);
static void setConfiguration(ProjectExplorer::Kit *k, const CMakeConfig &config); static void setConfiguration(ProjectExplorer::Kit *k, const CMakeConfig &config);
@@ -102,13 +102,13 @@ public:
static CMakeConfig defaultConfiguration(const ProjectExplorer::Kit *k); static CMakeConfig defaultConfiguration(const ProjectExplorer::Kit *k);
// KitInformation interface // KitAspect interface
QVariant defaultValue(const ProjectExplorer::Kit *k) const final; QVariant defaultValue(const ProjectExplorer::Kit *k) const final;
QList<ProjectExplorer::Task> validate(const ProjectExplorer::Kit *k) const final; QList<ProjectExplorer::Task> validate(const ProjectExplorer::Kit *k) const final;
void setup(ProjectExplorer::Kit *k) final; void setup(ProjectExplorer::Kit *k) final;
void fix(ProjectExplorer::Kit *k) final; void fix(ProjectExplorer::Kit *k) final;
ItemList toUserOutput(const ProjectExplorer::Kit *k) const final; ItemList toUserOutput(const ProjectExplorer::Kit *k) const final;
ProjectExplorer::KitConfigWidget *createConfigWidget(ProjectExplorer::Kit *k) const final; ProjectExplorer::KitAspectWidget *createConfigWidget(ProjectExplorer::Kit *k) const final;
}; };
} // namespace CMakeProjectManager } // namespace CMakeProjectManager

View File

@@ -360,9 +360,9 @@ QList<Task> CMakeProject::projectIssues(const Kit *k) const
{ {
QList<Task> result = Project::projectIssues(k); QList<Task> result = Project::projectIssues(k);
if (!CMakeKitInformation::cmakeTool(k)) if (!CMakeKitAspect::cmakeTool(k))
result.append(createProjectTask(Task::TaskType::Error, tr("No cmake tool set."))); result.append(createProjectTask(Task::TaskType::Error, tr("No cmake tool set.")));
if (ToolChainKitInformation::toolChains(k).isEmpty()) if (ToolChainKitAspect::toolChains(k).isEmpty())
result.append(createProjectTask(Task::TaskType::Warning, tr("No compilers set in kit."))); result.append(createProjectTask(Task::TaskType::Warning, tr("No compilers set in kit.")));
return result; return result;

View File

@@ -107,7 +107,7 @@ namespace Internal {
CMakeProjectImporter::CMakeProjectImporter(const Utils::FileName &path) : QtProjectImporter(path) CMakeProjectImporter::CMakeProjectImporter(const Utils::FileName &path) : QtProjectImporter(path)
{ {
useTemporaryKitInformation(CMakeKitInformation::id(), useTemporaryKitAspect(CMakeKitAspect::id(),
[this](Kit *k, const QVariantList &vl) { cleanupTemporaryCMake(k, vl); }, [this](Kit *k, const QVariantList &vl) { cleanupTemporaryCMake(k, vl); },
[this](Kit *k, const QVariantList &vl) { persistTemporaryCMake(k, vl); }); [this](Kit *k, const QVariantList &vl) { persistTemporaryCMake(k, vl); });
@@ -286,24 +286,24 @@ bool CMakeProjectImporter::matchKit(void *directoryData, const Kit *k) const
{ {
const DirectoryData *data = static_cast<DirectoryData *>(directoryData); const DirectoryData *data = static_cast<DirectoryData *>(directoryData);
CMakeTool *cm = CMakeKitInformation::cmakeTool(k); CMakeTool *cm = CMakeKitAspect::cmakeTool(k);
if (!cm || cm->cmakeExecutable() != data->cmakeBinary) if (!cm || cm->cmakeExecutable() != data->cmakeBinary)
return false; return false;
if (CMakeGeneratorKitInformation::generator(k) != QString::fromUtf8(data->generator) if (CMakeGeneratorKitAspect::generator(k) != QString::fromUtf8(data->generator)
|| CMakeGeneratorKitInformation::extraGenerator(k) != QString::fromUtf8(data->extraGenerator) || CMakeGeneratorKitAspect::extraGenerator(k) != QString::fromUtf8(data->extraGenerator)
|| CMakeGeneratorKitInformation::platform(k) != QString::fromUtf8(data->platform) || CMakeGeneratorKitAspect::platform(k) != QString::fromUtf8(data->platform)
|| CMakeGeneratorKitInformation::toolset(k) != QString::fromUtf8(data->toolset)) || CMakeGeneratorKitAspect::toolset(k) != QString::fromUtf8(data->toolset))
return false; return false;
if (SysRootKitInformation::sysRoot(k) != Utils::FileName::fromUtf8(data->sysroot)) if (SysRootKitAspect::sysRoot(k) != Utils::FileName::fromUtf8(data->sysroot))
return false; return false;
if (data->qt.qt && QtSupport::QtKitInformation::qtVersionId(k) != data->qt.qt->uniqueId()) if (data->qt.qt && QtSupport::QtKitAspect::qtVersionId(k) != data->qt.qt->uniqueId())
return false; return false;
for (const CMakeToolChainData &tcd : data->toolChains) { for (const CMakeToolChainData &tcd : data->toolChains) {
ToolChain *tc = ToolChainKitInformation::toolChain(k, tcd.mapLanguageIdToQtC()); ToolChain *tc = ToolChainKitAspect::toolChain(k, tcd.mapLanguageIdToQtC());
if (!tc || tc->compilerCommand() != tcd.compilerPath) if (!tc || tc->compilerCommand() != tcd.compilerPath)
return false; return false;
} }
@@ -321,14 +321,14 @@ Kit *CMakeProjectImporter::createKit(void *directoryData) const
const CMakeToolData cmtd = findOrCreateCMakeTool(data->cmakeBinary); const CMakeToolData cmtd = findOrCreateCMakeTool(data->cmakeBinary);
QTC_ASSERT(cmtd.cmakeTool, return); QTC_ASSERT(cmtd.cmakeTool, return);
if (cmtd.isTemporary) if (cmtd.isTemporary)
addTemporaryData(CMakeKitInformation::id(), cmtd.cmakeTool->id().toSetting(), k); addTemporaryData(CMakeKitAspect::id(), cmtd.cmakeTool->id().toSetting(), k);
CMakeGeneratorKitInformation::setGenerator(k, QString::fromUtf8(data->generator)); CMakeGeneratorKitAspect::setGenerator(k, QString::fromUtf8(data->generator));
CMakeGeneratorKitInformation::setExtraGenerator(k, QString::fromUtf8(data->extraGenerator)); CMakeGeneratorKitAspect::setExtraGenerator(k, QString::fromUtf8(data->extraGenerator));
CMakeGeneratorKitInformation::setPlatform(k, QString::fromUtf8(data->platform)); CMakeGeneratorKitAspect::setPlatform(k, QString::fromUtf8(data->platform));
CMakeGeneratorKitInformation::setToolset(k, QString::fromUtf8(data->toolset)); CMakeGeneratorKitAspect::setToolset(k, QString::fromUtf8(data->toolset));
SysRootKitInformation::setSysRoot(k, Utils::FileName::fromUtf8(data->sysroot)); SysRootKitAspect::setSysRoot(k, Utils::FileName::fromUtf8(data->sysroot));
for (const CMakeToolChainData &cmtcd : data->toolChains) { for (const CMakeToolChainData &cmtcd : data->toolChains) {
const ToolChainData tcd const ToolChainData tcd
@@ -337,10 +337,10 @@ Kit *CMakeProjectImporter::createKit(void *directoryData) const
if (tcd.areTemporary) { if (tcd.areTemporary) {
for (ToolChain *tc : tcd.tcs) for (ToolChain *tc : tcd.tcs)
addTemporaryData(ToolChainKitInformation::id(), tc->id(), k); addTemporaryData(ToolChainKitAspect::id(), tc->id(), k);
} }
ToolChainKitInformation::setToolChain(k, tcd.tcs.at(0)); ToolChainKitAspect::setToolChain(k, tcd.tcs.at(0));
} }
qCInfo(cmInputLog()) << "Temporary Kit created."; qCInfo(cmInputLog()) << "Temporary Kit created.";
@@ -388,7 +388,7 @@ void CMakeProjectImporter::cleanupTemporaryCMake(Kit *k, const QVariantList &vl)
if (vl.isEmpty()) if (vl.isEmpty())
return; // No temporary CMake return; // No temporary CMake
QTC_ASSERT(vl.count() == 1, return); QTC_ASSERT(vl.count() == 1, return);
CMakeKitInformation::setCMakeTool(k, Core::Id()); // Always mark Kit as not using this Qt CMakeKitAspect::setCMakeTool(k, Core::Id()); // Always mark Kit as not using this Qt
CMakeToolManager::deregisterCMakeTool(Core::Id::fromSetting(vl.at(0))); CMakeToolManager::deregisterCMakeTool(Core::Id::fromSetting(vl.at(0)));
qCDebug(cmInputLog()) << "Temporary CMake tool cleaned up."; qCDebug(cmInputLog()) << "Temporary CMake tool cleaned up.";
} }
@@ -400,7 +400,7 @@ void CMakeProjectImporter::persistTemporaryCMake(Kit *k, const QVariantList &vl)
QTC_ASSERT(vl.count() == 1, return); QTC_ASSERT(vl.count() == 1, return);
const QVariant data = vl.at(0); const QVariant data = vl.at(0);
CMakeTool *tmpCmake = CMakeToolManager::findById(Core::Id::fromSetting(data)); CMakeTool *tmpCmake = CMakeToolManager::findById(Core::Id::fromSetting(data));
CMakeTool *actualCmake = CMakeKitInformation::cmakeTool(k); CMakeTool *actualCmake = CMakeKitAspect::cmakeTool(k);
// User changed Kit away from temporary CMake that was set up: // User changed Kit away from temporary CMake that was set up:
if (tmpCmake && actualCmake != tmpCmake) if (tmpCmake && actualCmake != tmpCmake)

View File

@@ -106,9 +106,9 @@ bool CMakeProjectPlugin::initialize(const QStringList & /*arguments*/, QString *
new CMakeToolManager(this); new CMakeToolManager(this);
KitManager::registerKitInformation<CMakeKitInformation>(); KitManager::registerKitAspect<CMakeKitAspect>();
KitManager::registerKitInformation<CMakeGeneratorKitInformation>(); KitManager::registerKitAspect<CMakeGeneratorKitAspect>();
KitManager::registerKitInformation<CMakeConfigurationKitInformation>(); KitManager::registerKitAspect<CMakeConfigurationKitAspect>();
//menus //menus
ActionContainer *msubproject = ActionContainer *msubproject =

View File

@@ -49,7 +49,7 @@ CMakeRunConfiguration::CMakeRunConfiguration(Target *target, Core::Id id)
return; return;
const Kit *k = target->kit(); const Kit *k = target->kit();
const QtSupport::BaseQtVersion *qt = QtSupport::QtKitInformation::qtVersion(k); const QtSupport::BaseQtVersion *qt = QtSupport::QtKitAspect::qtVersion(k);
if (qt) if (qt)
env.prependOrSetPath(qt->qmakeProperty("QT_INSTALL_BINS")); env.prependOrSetPath(qt->qmakeProperty("QT_INSTALL_BINS"));
}; };
@@ -63,7 +63,7 @@ CMakeRunConfiguration::CMakeRunConfiguration(Target *target, Core::Id id)
connect(target->project(), &Project::parsingFinished, connect(target->project(), &Project::parsingFinished,
this, &CMakeRunConfiguration::updateTargetInformation); this, &CMakeRunConfiguration::updateTargetInformation);
if (QtSupport::QtKitInformation::qtVersion(target->kit())) if (QtSupport::QtKitAspect::qtVersion(target->kit()))
setOutputFormatter<QtSupport::QtOutputFormatter>(); setOutputFormatter<QtSupport::QtOutputFormatter>();
} }

View File

@@ -134,7 +134,7 @@ QString compilerPath(QString pathFlag)
ToolChain *toolchainFromFlags(const Kit *kit, const QStringList &flags, const Core::Id &language) ToolChain *toolchainFromFlags(const Kit *kit, const QStringList &flags, const Core::Id &language)
{ {
if (flags.empty()) if (flags.empty())
return ToolChainKitInformation::toolChain(kit, language); return ToolChainKitAspect::toolChain(kit, language);
// Try exact compiler match. // Try exact compiler match.
const Utils::FileName compiler = Utils::FileName::fromString(compilerPath(flags.front())); const Utils::FileName compiler = Utils::FileName::fromString(compilerPath(flags.front()));
@@ -157,7 +157,7 @@ ToolChain *toolchainFromFlags(const Kit *kit, const QStringList &flags, const Co
return toolchain; return toolchain;
} }
toolchain = ToolChainKitInformation::toolChain(kit, language); toolchain = ToolChainKitAspect::toolChain(kit, language);
qWarning() << "No matching toolchain found, use the default."; qWarning() << "No matching toolchain found, use the default.";
return toolchain; return toolchain;
} }
@@ -216,7 +216,7 @@ CppTools::RawProjectPart makeRawProjectPart(const Utils::FileName &projectFile,
if (!cToolchain) { if (!cToolchain) {
cToolchain = toolchainFromFlags(kit, originalFlags, cToolchain = toolchainFromFlags(kit, originalFlags,
ProjectExplorer::Constants::C_LANGUAGE_ID); ProjectExplorer::Constants::C_LANGUAGE_ID);
ToolChainKitInformation::setToolChain(kit, cToolchain); ToolChainKitAspect::setToolChain(kit, cToolchain);
} }
addDriverModeFlagIfNeeded(cToolchain, flags); addDriverModeFlagIfNeeded(cToolchain, flags);
rpp.setFlagsForC({cToolchain, flags}); rpp.setFlagsForC({cToolchain, flags});
@@ -224,7 +224,7 @@ CppTools::RawProjectPart makeRawProjectPart(const Utils::FileName &projectFile,
if (!cxxToolchain) { if (!cxxToolchain) {
cxxToolchain = toolchainFromFlags(kit, originalFlags, cxxToolchain = toolchainFromFlags(kit, originalFlags,
ProjectExplorer::Constants::CXX_LANGUAGE_ID); ProjectExplorer::Constants::CXX_LANGUAGE_ID);
ToolChainKitInformation::setToolChain(kit, cxxToolchain); ToolChainKitAspect::setToolChain(kit, cxxToolchain);
} }
addDriverModeFlagIfNeeded(cxxToolchain, flags); addDriverModeFlagIfNeeded(cxxToolchain, flags);
rpp.setFlagsForCxx({cxxToolchain, flags}); rpp.setFlagsForCxx({cxxToolchain, flags});

View File

@@ -48,12 +48,12 @@ KitInfo::KitInfo(Project *project)
// Toolchains // Toolchains
if (kit) { if (kit) {
cToolChain = ToolChainKitInformation::toolChain(kit, Constants::C_LANGUAGE_ID); cToolChain = ToolChainKitAspect::toolChain(kit, Constants::C_LANGUAGE_ID);
cxxToolChain = ToolChainKitInformation::toolChain(kit, Constants::CXX_LANGUAGE_ID); cxxToolChain = ToolChainKitAspect::toolChain(kit, Constants::CXX_LANGUAGE_ID);
} }
// Sysroot // Sysroot
sysRootPath = ProjectExplorer::SysRootKitInformation::sysRoot(kit).toString(); sysRootPath = ProjectExplorer::SysRootKitAspect::sysRoot(kit).toString();
} }
bool KitInfo::isValid() const bool KitInfo::isValid() const

View File

@@ -63,7 +63,7 @@ StartRemoteDialog::StartRemoteDialog(QWidget *parent)
d->kitChooser = new KitChooser(this); d->kitChooser = new KitChooser(this);
d->kitChooser->setKitPredicate([](const Kit *kit) { d->kitChooser->setKitPredicate([](const Kit *kit) {
const IDevice::ConstPtr device = DeviceKitInformation::device(kit); const IDevice::ConstPtr device = DeviceKitAspect::device(kit);
return kit->isValid() && device && !device->sshParameters().host().isEmpty(); return kit->isValid() && device && !device->sshParameters().host().isEmpty();
}); });
d->executable = new QLineEdit(this); d->executable = new QLineEdit(this);
@@ -132,7 +132,7 @@ Runnable StartRemoteDialog::runnable() const
{ {
Kit *kit = d->kitChooser->currentKit(); Kit *kit = d->kitChooser->currentKit();
Runnable r; Runnable r;
r.device = DeviceKitInformation::device(kit); r.device = DeviceKitAspect::device(kit);
r.executable = d->executable->text(); r.executable = d->executable->text();
r.commandLineArguments = d->arguments->text(); r.commandLineArguments = d->arguments->text();
r.workingDirectory = d->workingDirectory->text(); r.workingDirectory = d->workingDirectory->text();

View File

@@ -109,21 +109,21 @@ DebuggerKitChooser::DebuggerKitChooser(Mode mode, QWidget *parent)
{ {
setKitPredicate([this](const Kit *k) { setKitPredicate([this](const Kit *k) {
// Match valid debuggers and restrict local debugging to compatible toolchains. // Match valid debuggers and restrict local debugging to compatible toolchains.
auto errors = DebuggerKitInformation::configurationErrors(k); auto errors = DebuggerKitAspect::configurationErrors(k);
// we do not care for mismatched ABI if we want *any* debugging // we do not care for mismatched ABI if we want *any* debugging
if (m_mode == AnyDebugging && errors == DebuggerKitInformation::DebuggerDoesNotMatch) if (m_mode == AnyDebugging && errors == DebuggerKitAspect::DebuggerDoesNotMatch)
errors = DebuggerKitInformation::NoConfigurationError; errors = DebuggerKitAspect::NoConfigurationError;
if (errors) if (errors)
return false; return false;
if (m_mode == LocalDebugging) if (m_mode == LocalDebugging)
return ToolChainKitInformation::targetAbi(k).os() == m_hostAbi.os(); return ToolChainKitAspect::targetAbi(k).os() == m_hostAbi.os();
return true; return true;
}); });
} }
QString DebuggerKitChooser::kitToolTip(Kit *k) const QString DebuggerKitChooser::kitToolTip(Kit *k) const
{ {
return DebuggerKitInformation::displayString(k); return DebuggerKitAspect::displayString(k);
} }
/////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////
@@ -229,7 +229,7 @@ StartApplicationDialog::StartApplicationDialog(QWidget *parent)
d->kitChooser = new KitChooser(this); d->kitChooser = new KitChooser(this);
d->kitChooser->setKitPredicate([](const Kit *k) { d->kitChooser->setKitPredicate([](const Kit *k) {
return !DebuggerKitInformation::configurationErrors(k); return !DebuggerKitAspect::configurationErrors(k);
}); });
d->kitChooser->populate(); d->kitChooser->populate();
@@ -403,7 +403,7 @@ void StartApplicationDialog::run(bool attachRemote)
return; return;
Kit *k = dialog.d->kitChooser->currentKit(); Kit *k = dialog.d->kitChooser->currentKit();
IDevice::ConstPtr dev = DeviceKitInformation::device(k); IDevice::ConstPtr dev = DeviceKitAspect::device(k);
auto runControl = new RunControl(nullptr, ProjectExplorer::Constants::DEBUG_RUN_MODE); auto runControl = new RunControl(nullptr, ProjectExplorer::Constants::DEBUG_RUN_MODE);
auto debugger = new DebuggerRunTool(runControl, k); auto debugger = new DebuggerRunTool(runControl, k);

View File

@@ -303,14 +303,14 @@ QString DebuggerItem::displayName() const
return m_unexpandedDisplayName; return m_unexpandedDisplayName;
MacroExpander expander; MacroExpander expander;
expander.registerVariable("Debugger:Type", DebuggerKitInformation::tr("Type of Debugger Backend"), expander.registerVariable("Debugger:Type", DebuggerKitAspect::tr("Type of Debugger Backend"),
[this] { return engineTypeName(); }); [this] { return engineTypeName(); });
expander.registerVariable("Debugger:Version", DebuggerKitInformation::tr("Debugger"), expander.registerVariable("Debugger:Version", DebuggerKitAspect::tr("Debugger"),
[this] { return !m_version.isEmpty() ? m_version : [this] { return !m_version.isEmpty() ? m_version :
DebuggerKitInformation::tr("Unknown debugger version"); }); DebuggerKitAspect::tr("Unknown debugger version"); });
expander.registerVariable("Debugger:Abi", DebuggerKitInformation::tr("Debugger"), expander.registerVariable("Debugger:Abi", DebuggerKitAspect::tr("Debugger"),
[this] { return !m_abis.isEmpty() ? abiNames().join(' ') : [this] { return !m_abis.isEmpty() ? abiNames().join(' ') :
DebuggerKitInformation::tr("Unknown debugger ABI"); }); DebuggerKitAspect::tr("Unknown debugger ABI"); });
return expander.expand(m_unexpandedDisplayName); return expander.expand(m_unexpandedDisplayName);
} }

View File

@@ -790,7 +790,7 @@ void DebuggerItemManagerPrivate::readLegacyDebuggers(const FileName &file)
QVariantMap data1 = v.toMap(); QVariantMap data1 = v.toMap();
QString kitName = data1.value("PE.Profile.Name").toString(); QString kitName = data1.value("PE.Profile.Name").toString();
QVariantMap data2 = data1.value("PE.Profile.Data").toMap(); QVariantMap data2 = data1.value("PE.Profile.Data").toMap();
QVariant v3 = data2.value(DebuggerKitInformation::id().toString()); QVariant v3 = data2.value(DebuggerKitAspect::id().toString());
QString fn; QString fn;
if (v3.type() == QVariant::String) if (v3.type() == QVariant::String)
fn = v3.toString(); fn = v3.toString();

View File

@@ -60,11 +60,11 @@ namespace Debugger {
namespace Internal { namespace Internal {
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
// DebuggerKitConfigWidget // DebuggerKitAspectWidget
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
DebuggerKitConfigWidget::DebuggerKitConfigWidget(Kit *workingCopy, const KitInformation *ki) DebuggerKitAspectWidget::DebuggerKitAspectWidget(Kit *workingCopy, const KitAspect *ki)
: KitConfigWidget(workingCopy, ki) : KitAspectWidget(workingCopy, ki)
{ {
m_comboBox = new QComboBox; m_comboBox = new QComboBox;
m_comboBox->setSizePolicy(QSizePolicy::Ignored, m_comboBox->sizePolicy().verticalPolicy()); m_comboBox->setSizePolicy(QSizePolicy::Ignored, m_comboBox->sizePolicy().verticalPolicy());
@@ -72,37 +72,37 @@ DebuggerKitConfigWidget::DebuggerKitConfigWidget(Kit *workingCopy, const KitInfo
refresh(); refresh();
connect(m_comboBox, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), connect(m_comboBox, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
this, &DebuggerKitConfigWidget::currentDebuggerChanged); this, &DebuggerKitAspectWidget::currentDebuggerChanged);
m_manageButton = new QPushButton(KitConfigWidget::msgManage()); m_manageButton = new QPushButton(KitAspectWidget::msgManage());
m_manageButton->setContentsMargins(0, 0, 0, 0); m_manageButton->setContentsMargins(0, 0, 0, 0);
connect(m_manageButton, &QAbstractButton::clicked, connect(m_manageButton, &QAbstractButton::clicked,
this, &DebuggerKitConfigWidget::manageDebuggers); this, &DebuggerKitAspectWidget::manageDebuggers);
} }
DebuggerKitConfigWidget::~DebuggerKitConfigWidget() DebuggerKitAspectWidget::~DebuggerKitAspectWidget()
{ {
delete m_comboBox; delete m_comboBox;
delete m_manageButton; delete m_manageButton;
} }
QString DebuggerKitConfigWidget::toolTip() const QString DebuggerKitAspectWidget::toolTip() const
{ {
return tr("The debugger to use for this kit."); return tr("The debugger to use for this kit.");
} }
QString DebuggerKitConfigWidget::displayName() const QString DebuggerKitAspectWidget::displayName() const
{ {
return tr("Debugger"); return tr("Debugger");
} }
void DebuggerKitConfigWidget::makeReadOnly() void DebuggerKitAspectWidget::makeReadOnly()
{ {
m_manageButton->setEnabled(false); m_manageButton->setEnabled(false);
m_comboBox->setEnabled(false); m_comboBox->setEnabled(false);
} }
void DebuggerKitConfigWidget::refresh() void DebuggerKitAspectWidget::refresh()
{ {
m_ignoreChanges = true; m_ignoreChanges = true;
m_comboBox->clear(); m_comboBox->clear();
@@ -111,43 +111,43 @@ void DebuggerKitConfigWidget::refresh()
for (const DebuggerItem &item : DebuggerItemManager::debuggers()) for (const DebuggerItem &item : DebuggerItemManager::debuggers())
m_comboBox->addItem(item.displayName(), item.id()); m_comboBox->addItem(item.displayName(), item.id());
const DebuggerItem *item = DebuggerKitInformation::debugger(m_kit); const DebuggerItem *item = DebuggerKitAspect::debugger(m_kit);
updateComboBox(item ? item->id() : QVariant()); updateComboBox(item ? item->id() : QVariant());
m_ignoreChanges = false; m_ignoreChanges = false;
} }
QWidget *DebuggerKitConfigWidget::buttonWidget() const QWidget *DebuggerKitAspectWidget::buttonWidget() const
{ {
return m_manageButton; return m_manageButton;
} }
QWidget *DebuggerKitConfigWidget::mainWidget() const QWidget *DebuggerKitAspectWidget::mainWidget() const
{ {
return m_comboBox; return m_comboBox;
} }
void DebuggerKitConfigWidget::manageDebuggers() void DebuggerKitAspectWidget::manageDebuggers()
{ {
Core::ICore::showOptionsDialog(ProjectExplorer::Constants::DEBUGGER_SETTINGS_PAGE_ID, Core::ICore::showOptionsDialog(ProjectExplorer::Constants::DEBUGGER_SETTINGS_PAGE_ID,
buttonWidget()); buttonWidget());
} }
void DebuggerKitConfigWidget::currentDebuggerChanged(int) void DebuggerKitAspectWidget::currentDebuggerChanged(int)
{ {
if (m_ignoreChanges) if (m_ignoreChanges)
return; return;
int currentIndex = m_comboBox->currentIndex(); int currentIndex = m_comboBox->currentIndex();
QVariant id = m_comboBox->itemData(currentIndex); QVariant id = m_comboBox->itemData(currentIndex);
m_kit->setValue(DebuggerKitInformation::id(), id); m_kit->setValue(DebuggerKitAspect::id(), id);
} }
QVariant DebuggerKitConfigWidget::currentId() const QVariant DebuggerKitAspectWidget::currentId() const
{ {
return m_comboBox->itemData(m_comboBox->currentIndex()); return m_comboBox->itemData(m_comboBox->currentIndex());
} }
void DebuggerKitConfigWidget::updateComboBox(const QVariant &id) void DebuggerKitAspectWidget::updateComboBox(const QVariant &id)
{ {
for (int i = 0; i < m_comboBox->count(); ++i) { for (int i = 0; i < m_comboBox->count(); ++i) {
if (id == m_comboBox->itemData(i)) { if (id == m_comboBox->itemData(i)) {

View File

@@ -45,17 +45,17 @@ namespace Debugger {
namespace Internal { namespace Internal {
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
// DebuggerKitConfigWidget // DebuggerKitAspectWidget
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
class DebuggerKitConfigWidget : public ProjectExplorer::KitConfigWidget class DebuggerKitAspectWidget : public ProjectExplorer::KitAspectWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
DebuggerKitConfigWidget(ProjectExplorer::Kit *workingCopy, DebuggerKitAspectWidget(ProjectExplorer::Kit *workingCopy,
const ProjectExplorer::KitInformation *ki); const ProjectExplorer::KitAspect *ki);
~DebuggerKitConfigWidget() override; ~DebuggerKitAspectWidget() override;
QString displayName() const override; QString displayName() const override;
QString toolTip() const override; QString toolTip() const override;

View File

@@ -46,19 +46,19 @@ using namespace Utils;
namespace Debugger { namespace Debugger {
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// DebuggerKitInformation // DebuggerKitAspect
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
DebuggerKitInformation::DebuggerKitInformation() DebuggerKitAspect::DebuggerKitAspect()
{ {
setObjectName("DebuggerKitInformation"); setObjectName("DebuggerKitAspect");
setId(DebuggerKitInformation::id()); setId(DebuggerKitAspect::id());
setPriority(28000); setPriority(28000);
} }
QVariant DebuggerKitInformation::defaultValue(const Kit *k) const QVariant DebuggerKitAspect::defaultValue(const Kit *k) const
{ {
const Abi toolChainAbi = ToolChainKitInformation::targetAbi(k); const Abi toolChainAbi = ToolChainKitAspect::targetAbi(k);
const Utils::FileNameList paths = Environment::systemEnvironment().path(); const Utils::FileNameList paths = Environment::systemEnvironment().path();
QVariant nextBestFit; QVariant nextBestFit;
for (const DebuggerItem &item : DebuggerItemManager::debuggers()) { for (const DebuggerItem &item : DebuggerItemManager::debuggers()) {
@@ -75,7 +75,7 @@ QVariant DebuggerKitInformation::defaultValue(const Kit *k) const
return nextBestFit; return nextBestFit;
} }
void DebuggerKitInformation::setup(Kit *k) void DebuggerKitAspect::setup(Kit *k)
{ {
QTC_ASSERT(k, return); QTC_ASSERT(k, return);
@@ -92,9 +92,9 @@ void DebuggerKitInformation::setup(Kit *k)
// <value type="QString" key="Binary">auto</value> // <value type="QString" key="Binary">auto</value>
// <value type="int" key="EngineType">4</value> // <value type="int" key="EngineType">4</value>
// </valuemap> // </valuemap>
const QVariant rawId = k->value(DebuggerKitInformation::id()); const QVariant rawId = k->value(DebuggerKitAspect::id());
const Abi tcAbi = ToolChainKitInformation::targetAbi(k); const Abi tcAbi = ToolChainKitAspect::targetAbi(k);
// Get the best of the available debugger matching the kit's toolchain. // Get the best of the available debugger matching the kit's toolchain.
// The general idea is to find an item that exactly matches what // The general idea is to find an item that exactly matches what
@@ -160,17 +160,17 @@ void DebuggerKitInformation::setup(Kit *k)
} }
// Use the best id we found, or an invalid one. // Use the best id we found, or an invalid one.
k->setValue(DebuggerKitInformation::id(), bestLevel != DebuggerItem::DoesNotMatch ? bestItem.id() : QVariant()); k->setValue(DebuggerKitAspect::id(), bestLevel != DebuggerItem::DoesNotMatch ? bestItem.id() : QVariant());
} }
// This handles the upgrade path from 2.8 to 3.0 // This handles the upgrade path from 2.8 to 3.0
void DebuggerKitInformation::fix(Kit *k) void DebuggerKitAspect::fix(Kit *k)
{ {
QTC_ASSERT(k, return); QTC_ASSERT(k, return);
// This can be Id, binary path, but not "auto" anymore. // This can be Id, binary path, but not "auto" anymore.
const QVariant rawId = k->value(DebuggerKitInformation::id()); const QVariant rawId = k->value(DebuggerKitAspect::id());
if (rawId.isNull()) // No debugger set, that is fine. if (rawId.isNull()) // No debugger set, that is fine.
return; return;
@@ -179,7 +179,7 @@ void DebuggerKitInformation::fix(Kit *k)
if (!DebuggerItemManager::findById(rawId)) { if (!DebuggerItemManager::findById(rawId)) {
qWarning("Unknown debugger id %s in kit %s", qWarning("Unknown debugger id %s in kit %s",
qPrintable(rawId.toString()), qPrintable(k->displayName())); qPrintable(rawId.toString()), qPrintable(k->displayName()));
k->setValue(DebuggerKitInformation::id(), QVariant()); k->setValue(DebuggerKitAspect::id(), QVariant());
} }
return; // All fine (now). return; // All fine (now).
} }
@@ -189,7 +189,7 @@ void DebuggerKitInformation::fix(Kit *k)
if (binary == "auto") { if (binary == "auto") {
// This should not happen as "auto" is handled by setup() already. // This should not happen as "auto" is handled by setup() already.
QTC_CHECK(false); QTC_CHECK(false);
k->setValue(DebuggerKitInformation::id(), QVariant()); k->setValue(DebuggerKitAspect::id(), QVariant());
return; return;
} }
@@ -198,21 +198,21 @@ void DebuggerKitInformation::fix(Kit *k)
if (!item) { if (!item) {
qWarning("Debugger command %s invalid in kit %s", qWarning("Debugger command %s invalid in kit %s",
qPrintable(binary), qPrintable(k->displayName())); qPrintable(binary), qPrintable(k->displayName()));
k->setValue(DebuggerKitInformation::id(), QVariant()); k->setValue(DebuggerKitAspect::id(), QVariant());
return; return;
} }
k->setValue(DebuggerKitInformation::id(), item->id()); k->setValue(DebuggerKitAspect::id(), item->id());
} }
// Check the configuration errors and return a flag mask. Provide a quick check and // Check the configuration errors and return a flag mask. Provide a quick check and
// a verbose one with a list of errors. // a verbose one with a list of errors.
DebuggerKitInformation::ConfigurationErrors DebuggerKitInformation::configurationErrors(const Kit *k) DebuggerKitAspect::ConfigurationErrors DebuggerKitAspect::configurationErrors(const Kit *k)
{ {
QTC_ASSERT(k, return NoDebugger); QTC_ASSERT(k, return NoDebugger);
const DebuggerItem *item = DebuggerKitInformation::debugger(k); const DebuggerItem *item = DebuggerKitAspect::debugger(k);
if (!item) if (!item)
return NoDebugger; return NoDebugger;
@@ -226,10 +226,10 @@ DebuggerKitInformation::ConfigurationErrors DebuggerKitInformation::configuratio
else if (!fi.isExecutable()) else if (!fi.isExecutable())
result |= DebuggerNotExecutable; result |= DebuggerNotExecutable;
const Abi tcAbi = ToolChainKitInformation::targetAbi(k); const Abi tcAbi = ToolChainKitAspect::targetAbi(k);
if (item->matchTarget(tcAbi) == DebuggerItem::DoesNotMatch) { if (item->matchTarget(tcAbi) == DebuggerItem::DoesNotMatch) {
// currently restricting the check to desktop devices, may be extended to all device types // currently restricting the check to desktop devices, may be extended to all device types
const IDevice::ConstPtr device = DeviceKitInformation::device(k); const IDevice::ConstPtr device = DeviceKitAspect::device(k);
if (device && device->type() == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE) if (device && device->type() == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE)
result |= DebuggerDoesNotMatch; result |= DebuggerDoesNotMatch;
} }
@@ -247,14 +247,14 @@ DebuggerKitInformation::ConfigurationErrors DebuggerKitInformation::configuratio
return result; return result;
} }
const DebuggerItem *DebuggerKitInformation::debugger(const Kit *kit) const DebuggerItem *DebuggerKitAspect::debugger(const Kit *kit)
{ {
QTC_ASSERT(kit, return nullptr); QTC_ASSERT(kit, return nullptr);
const QVariant id = kit->value(DebuggerKitInformation::id()); const QVariant id = kit->value(DebuggerKitAspect::id());
return DebuggerItemManager::findById(id); return DebuggerItemManager::findById(id);
} }
Runnable DebuggerKitInformation::runnable(const Kit *kit) Runnable DebuggerKitAspect::runnable(const Kit *kit)
{ {
Runnable runnable; Runnable runnable;
if (const DebuggerItem *item = debugger(kit)) { if (const DebuggerItem *item = debugger(kit)) {
@@ -266,7 +266,7 @@ Runnable DebuggerKitInformation::runnable(const Kit *kit)
return runnable; return runnable;
} }
QList<Task> DebuggerKitInformation::validateDebugger(const Kit *k) QList<Task> DebuggerKitAspect::validateDebugger(const Kit *k)
{ {
QList<Task> result; QList<Task> result;
@@ -303,12 +303,12 @@ QList<Task> DebuggerKitInformation::validateDebugger(const Kit *k)
return result; return result;
} }
KitConfigWidget *DebuggerKitInformation::createConfigWidget(Kit *k) const KitAspectWidget *DebuggerKitAspect::createConfigWidget(Kit *k) const
{ {
return new Internal::DebuggerKitConfigWidget(k, this); return new Internal::DebuggerKitAspectWidget(k, this);
} }
void DebuggerKitInformation::addToMacroExpander(Kit *kit, MacroExpander *expander) const void DebuggerKitAspect::addToMacroExpander(Kit *kit, MacroExpander *expander) const
{ {
QTC_ASSERT(kit, return); QTC_ASSERT(kit, return);
expander->registerVariable("Debugger:Name", tr("Name of Debugger"), expander->registerVariable("Debugger:Name", tr("Name of Debugger"),
@@ -339,19 +339,19 @@ void DebuggerKitInformation::addToMacroExpander(Kit *kit, MacroExpander *expande
}); });
} }
KitInformation::ItemList DebuggerKitInformation::toUserOutput(const Kit *k) const KitAspect::ItemList DebuggerKitAspect::toUserOutput(const Kit *k) const
{ {
return ItemList() << qMakePair(tr("Debugger"), displayString(k)); return ItemList() << qMakePair(tr("Debugger"), displayString(k));
} }
DebuggerEngineType DebuggerKitInformation::engineType(const Kit *k) DebuggerEngineType DebuggerKitAspect::engineType(const Kit *k)
{ {
const DebuggerItem *item = debugger(k); const DebuggerItem *item = debugger(k);
QTC_ASSERT(item, return NoEngineType); QTC_ASSERT(item, return NoEngineType);
return item->engineType(); return item->engineType();
} }
QString DebuggerKitInformation::displayString(const Kit *k) QString DebuggerKitAspect::displayString(const Kit *k)
{ {
const DebuggerItem *item = debugger(k); const DebuggerItem *item = debugger(k);
if (!item) if (!item)
@@ -361,15 +361,15 @@ QString DebuggerKitInformation::displayString(const Kit *k)
return binary.isEmpty() ? tr("%1 <None>").arg(name) : tr("%1 using \"%2\"").arg(name, binary); return binary.isEmpty() ? tr("%1 <None>").arg(name) : tr("%1 using \"%2\"").arg(name, binary);
} }
void DebuggerKitInformation::setDebugger(Kit *k, const QVariant &id) void DebuggerKitAspect::setDebugger(Kit *k, const QVariant &id)
{ {
// Only register reasonably complete debuggers. // Only register reasonably complete debuggers.
QTC_ASSERT(DebuggerItemManager::findById(id), return); QTC_ASSERT(DebuggerItemManager::findById(id), return);
QTC_ASSERT(k, return); QTC_ASSERT(k, return);
k->setValue(DebuggerKitInformation::id(), id); k->setValue(DebuggerKitAspect::id(), id);
} }
Core::Id DebuggerKitInformation::id() Core::Id DebuggerKitAspect::id()
{ {
return "Debugger.Information"; return "Debugger.Information";
} }

View File

@@ -34,17 +34,17 @@
namespace Debugger { namespace Debugger {
class DebuggerItem; class DebuggerItem;
class DEBUGGER_EXPORT DebuggerKitInformation : public ProjectExplorer::KitInformation class DEBUGGER_EXPORT DebuggerKitAspect : public ProjectExplorer::KitAspect
{ {
Q_OBJECT Q_OBJECT
public: public:
DebuggerKitInformation(); DebuggerKitAspect();
QVariant defaultValue(const ProjectExplorer::Kit *k) const override; QVariant defaultValue(const ProjectExplorer::Kit *k) const override;
QList<ProjectExplorer::Task> validate(const ProjectExplorer::Kit *k) const override QList<ProjectExplorer::Task> validate(const ProjectExplorer::Kit *k) const override
{ return DebuggerKitInformation::validateDebugger(k); } { return DebuggerKitAspect::validateDebugger(k); }
void setup(ProjectExplorer::Kit *k) override; void setup(ProjectExplorer::Kit *k) override;
void fix(ProjectExplorer::Kit *k) override; void fix(ProjectExplorer::Kit *k) override;
@@ -66,7 +66,7 @@ public:
static QList<ProjectExplorer::Task> validateDebugger(const ProjectExplorer::Kit *k); static QList<ProjectExplorer::Task> validateDebugger(const ProjectExplorer::Kit *k);
static ConfigurationErrors configurationErrors(const ProjectExplorer::Kit *k); static ConfigurationErrors configurationErrors(const ProjectExplorer::Kit *k);
ProjectExplorer::KitConfigWidget *createConfigWidget(ProjectExplorer::Kit *k) const override; ProjectExplorer::KitAspectWidget *createConfigWidget(ProjectExplorer::Kit *k) const override;
void addToMacroExpander(ProjectExplorer::Kit *kit, Utils::MacroExpander *expander) const override; void addToMacroExpander(ProjectExplorer::Kit *kit, Utils::MacroExpander *expander) const override;
ItemList toUserOutput(const ProjectExplorer::Kit *k) const override; ItemList toUserOutput(const ProjectExplorer::Kit *k) const override;

View File

@@ -549,12 +549,12 @@ QWidget *addSearch(BaseTreeView *treeView)
static Kit::Predicate cdbPredicate(char wordWidth = 0) static Kit::Predicate cdbPredicate(char wordWidth = 0)
{ {
return [wordWidth](const Kit *k) -> bool { return [wordWidth](const Kit *k) -> bool {
if (DebuggerKitInformation::engineType(k) != CdbEngineType if (DebuggerKitAspect::engineType(k) != CdbEngineType
|| DebuggerKitInformation::configurationErrors(k)) { || DebuggerKitAspect::configurationErrors(k)) {
return false; return false;
} }
if (wordWidth) if (wordWidth)
return ToolChainKitInformation::targetAbi(k).wordWidth() == wordWidth; return ToolChainKitAspect::targetAbi(k).wordWidth() == wordWidth;
return true; return true;
}; };
} }
@@ -810,14 +810,14 @@ static Kit *guessKitFromAbis(const QList<Abi> &abis)
if (!abis.isEmpty()) { if (!abis.isEmpty()) {
// Try exact abis. // Try exact abis.
kit = KitManager::kit([abis](const Kit *k) { kit = KitManager::kit([abis](const Kit *k) {
const Abi tcAbi = ToolChainKitInformation::targetAbi(k); const Abi tcAbi = ToolChainKitAspect::targetAbi(k);
return abis.contains(tcAbi) && !DebuggerKitInformation::configurationErrors(k); return abis.contains(tcAbi) && !DebuggerKitAspect::configurationErrors(k);
}); });
if (!kit) { if (!kit) {
// Or something compatible. // Or something compatible.
kit = KitManager::kit([abis](const Kit *k) { kit = KitManager::kit([abis](const Kit *k) {
const Abi tcAbi = ToolChainKitInformation::targetAbi(k); const Abi tcAbi = ToolChainKitAspect::targetAbi(k);
return !DebuggerKitInformation::configurationErrors(k) return !DebuggerKitAspect::configurationErrors(k)
&& Utils::contains(abis, [tcAbi](const Abi &a) { return a.isCompatibleWith(tcAbi); }); && Utils::contains(abis, [tcAbi](const Abi &a) { return a.isCompatibleWith(tcAbi); });
}); });
} }
@@ -882,7 +882,7 @@ bool DebuggerPluginPrivate::parseArgument(QStringList::const_iterator &it,
if (!kit) if (!kit)
kit = guessKitFromAbis(Abi::abisOfBinary(FileName::fromString(executable))); kit = guessKitFromAbis(Abi::abisOfBinary(FileName::fromString(executable)));
IDevice::ConstPtr device = DeviceKitInformation::device(kit); IDevice::ConstPtr device = DeviceKitAspect::device(kit);
auto runControl = new RunControl(device, ProjectExplorer::Constants::DEBUG_RUN_MODE); auto runControl = new RunControl(device, ProjectExplorer::Constants::DEBUG_RUN_MODE);
auto debugger = new DebuggerRunTool(runControl, kit); auto debugger = new DebuggerRunTool(runControl, kit);
debugger->setInferiorExecutable(executable); debugger->setInferiorExecutable(executable);
@@ -1577,7 +1577,7 @@ void DebuggerPluginPrivate::attachCore()
setConfigValue("LastExternalStartScript", dlg.overrideStartScript()); setConfigValue("LastExternalStartScript", dlg.overrideStartScript());
setConfigValue("LastForceLocalCoreFile", dlg.forcesLocalCoreFile()); setConfigValue("LastForceLocalCoreFile", dlg.forcesLocalCoreFile());
IDevice::ConstPtr device = DeviceKitInformation::device(dlg.kit()); IDevice::ConstPtr device = DeviceKitAspect::device(dlg.kit());
auto runControl = new RunControl(device, ProjectExplorer::Constants::DEBUG_RUN_MODE); auto runControl = new RunControl(device, ProjectExplorer::Constants::DEBUG_RUN_MODE);
auto debugger = new DebuggerRunTool(runControl, dlg.kit()); auto debugger = new DebuggerRunTool(runControl, dlg.kit());
debugger->setInferiorExecutable(dlg.symbolFile()); debugger->setInferiorExecutable(dlg.symbolFile());
@@ -1605,7 +1605,7 @@ void DebuggerPluginPrivate::startRemoteCdbSession()
return; return;
setConfigValue(connectionKey, dlg.connection()); setConfigValue(connectionKey, dlg.connection());
IDevice::ConstPtr device = DeviceKitInformation::device(kit); IDevice::ConstPtr device = DeviceKitAspect::device(kit);
auto runControl = new RunControl(device, ProjectExplorer::Constants::DEBUG_RUN_MODE); auto runControl = new RunControl(device, ProjectExplorer::Constants::DEBUG_RUN_MODE);
auto debugger = new DebuggerRunTool(runControl, kit); auto debugger = new DebuggerRunTool(runControl, kit);
debugger->setStartMode(AttachToRemoteServer); debugger->setStartMode(AttachToRemoteServer);
@@ -1620,7 +1620,7 @@ public:
RemoteAttachRunner(RunControl *runControl, Kit *kit, int pid) RemoteAttachRunner(RunControl *runControl, Kit *kit, int pid)
: DebuggerRunTool(runControl, kit) : DebuggerRunTool(runControl, kit)
{ {
IDevice::ConstPtr device = DeviceKitInformation::device(kit); IDevice::ConstPtr device = DeviceKitAspect::device(kit);
setId("AttachToRunningProcess"); setId("AttachToRunningProcess");
setUsePortsGatherer(true, false); setUsePortsGatherer(true, false);
portsGatherer()->setDevice(device); portsGatherer()->setDevice(device);
@@ -1656,7 +1656,7 @@ void DebuggerPluginPrivate::attachToRunningApplication()
dlg->setAttribute(Qt::WA_DeleteOnClose); dlg->setAttribute(Qt::WA_DeleteOnClose);
Kit *kit = kitChooser->currentKit(); Kit *kit = kitChooser->currentKit();
QTC_ASSERT(kit, return); QTC_ASSERT(kit, return);
IDevice::ConstPtr device = DeviceKitInformation::device(kit); IDevice::ConstPtr device = DeviceKitAspect::device(kit);
QTC_ASSERT(device, return); QTC_ASSERT(device, return);
DeviceProcessItem process = dlg->currentProcess(); DeviceProcessItem process = dlg->currentProcess();
@@ -1693,14 +1693,14 @@ RunControl *DebuggerPluginPrivate::attachToRunningProcess(Kit *kit,
DeviceProcessItem process, bool contAfterAttach) DeviceProcessItem process, bool contAfterAttach)
{ {
QTC_ASSERT(kit, return nullptr); QTC_ASSERT(kit, return nullptr);
IDevice::ConstPtr device = DeviceKitInformation::device(kit); IDevice::ConstPtr device = DeviceKitAspect::device(kit);
QTC_ASSERT(device, return nullptr); QTC_ASSERT(device, return nullptr);
if (process.pid == 0) { if (process.pid == 0) {
AsynchronousMessageBox::warning(tr("Warning"), tr("Cannot attach to process with PID 0")); AsynchronousMessageBox::warning(tr("Warning"), tr("Cannot attach to process with PID 0"));
return nullptr; return nullptr;
} }
const Abi tcAbi = ToolChainKitInformation::targetAbi(kit); const Abi tcAbi = ToolChainKitAspect::targetAbi(kit);
const bool isWindows = (tcAbi.os() == Abi::WindowsOS); const bool isWindows = (tcAbi.os() == Abi::WindowsOS);
if (isWindows && isWinProcessBeingDebugged(process.pid)) { if (isWindows && isWinProcessBeingDebugged(process.pid)) {
AsynchronousMessageBox::warning( AsynchronousMessageBox::warning(
@@ -1795,7 +1795,7 @@ void DebuggerPluginPrivate::attachToQmlPort()
setConfigValue("LastQmlServerPort", dlg.port()); setConfigValue("LastQmlServerPort", dlg.port());
setConfigValue("LastProfile", kit->id().toSetting()); setConfigValue("LastProfile", kit->id().toSetting());
IDevice::ConstPtr device = DeviceKitInformation::device(kit); IDevice::ConstPtr device = DeviceKitAspect::device(kit);
QTC_ASSERT(device, return); QTC_ASSERT(device, return);
auto runControl = new RunControl(nullptr, ProjectExplorer::Constants::DEBUG_RUN_MODE); auto runControl = new RunControl(nullptr, ProjectExplorer::Constants::DEBUG_RUN_MODE);
@@ -2073,7 +2073,7 @@ void DebuggerPluginPrivate::extensionsInitialized()
if (runnable.device && runnable.device->type() == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE) if (runnable.device && runnable.device->type() == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE)
return true; return true;
if (DeviceTypeKitInformation::deviceTypeId(runConfig->target()->kit()) if (DeviceTypeKitAspect::deviceTypeId(runConfig->target()->kit())
== ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE) == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE)
return true; return true;
@@ -2251,7 +2251,7 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *errorMess
mstart->addSeparator(Constants::G_GENERAL); mstart->addSeparator(Constants::G_GENERAL);
mstart->addSeparator(Constants::G_SPECIAL); mstart->addSeparator(Constants::G_SPECIAL);
KitManager::registerKitInformation<DebuggerKitInformation>(); KitManager::registerKitAspect<DebuggerKitAspect>();
// Task integration. // Task integration.
//: Category under which Analyzer tasks are listed in Issues view //: Category under which Analyzer tasks are listed in Issues view
@@ -2460,7 +2460,7 @@ void DebuggerUnitTests::initTestCase()
// const QList<Kit *> allKits = KitManager::kits(); // const QList<Kit *> allKits = KitManager::kits();
// if (allKits.count() != 1) // if (allKits.count() != 1)
// QSKIP("This test requires exactly one kit to be present"); // QSKIP("This test requires exactly one kit to be present");
// const ToolChain * const toolchain = ToolChainKitInformation::toolChain(allKits.first()); // const ToolChain * const toolchain = ToolChainKitAspect::toolChain(allKits.first());
// if (!toolchain) // if (!toolchain)
// QSKIP("This test requires that there is a kit with a toolchain."); // QSKIP("This test requires that there is a kit with a toolchain.");
// bool hasClangExecutable; // bool hasClangExecutable;

View File

@@ -278,7 +278,7 @@ void DebuggerRunConfigurationAspect::setUseMultiProcess(bool value)
bool DebuggerRunConfigurationAspect::isQmlDebuggingSpinboxSuppressed() const bool DebuggerRunConfigurationAspect::isQmlDebuggingSpinboxSuppressed() const
{ {
Kit *k = m_target->kit(); Kit *k = m_target->kit();
IDevice::ConstPtr dev = DeviceKitInformation::device(k); IDevice::ConstPtr dev = DeviceKitAspect::device(k);
if (dev.isNull()) if (dev.isNull())
return false; return false;
return dev->canAutoDetectPorts(); return dev->canAutoDetectPorts();

View File

@@ -912,12 +912,12 @@ DebuggerRunTool::DebuggerRunTool(RunControl *runControl, Kit *kit, bool allowTer
kit = runConfig->target()->kit(); kit = runConfig->target()->kit();
QTC_ASSERT(kit, return); QTC_ASSERT(kit, return);
m_runParameters.sysRoot = SysRootKitInformation::sysRoot(kit); m_runParameters.sysRoot = SysRootKitAspect::sysRoot(kit);
m_runParameters.macroExpander = kit->macroExpander(); m_runParameters.macroExpander = kit->macroExpander();
m_runParameters.debugger = DebuggerKitInformation::runnable(kit); m_runParameters.debugger = DebuggerKitAspect::runnable(kit);
m_runParameters.cppEngineType = DebuggerKitInformation::engineType(kit); m_runParameters.cppEngineType = DebuggerKitAspect::engineType(kit);
if (QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(kit)) if (QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitAspect::qtVersion(kit))
m_runParameters.qtPackageSourceLocation = qtVersion->qtPackageSourcePath().toString(); m_runParameters.qtPackageSourceLocation = qtVersion->qtPackageSourcePath().toString();
if (auto aspect = runConfig ? runConfig->aspect<DebuggerRunConfigurationAspect>() : nullptr) { if (auto aspect = runConfig ? runConfig->aspect<DebuggerRunConfigurationAspect>() : nullptr) {
@@ -943,7 +943,7 @@ DebuggerRunTool::DebuggerRunTool(RunControl *runControl, Kit *kit, bool allowTer
m_runParameters.projectSourceFiles = project->files(Project::SourceFiles); m_runParameters.projectSourceFiles = project->files(Project::SourceFiles);
} }
m_runParameters.toolChainAbi = ToolChainKitInformation::targetAbi(kit); m_runParameters.toolChainAbi = ToolChainKitAspect::targetAbi(kit);
bool ok = false; bool ok = false;
int nativeMixedOverride = qgetenv("QTC_DEBUGGER_NATIVE_MIXED").toInt(&ok); int nativeMixedOverride = qgetenv("QTC_DEBUGGER_NATIVE_MIXED").toInt(&ok);
@@ -952,7 +952,7 @@ DebuggerRunTool::DebuggerRunTool(RunControl *runControl, Kit *kit, bool allowTer
// This will only be shown in some cases, but we don't want to access // This will only be shown in some cases, but we don't want to access
// the kit at that time anymore. // the kit at that time anymore.
const QList<Task> tasks = DebuggerKitInformation::validateDebugger(kit); const QList<Task> tasks = DebuggerKitAspect::validateDebugger(kit);
for (const Task &t : tasks) { for (const Task &t : tasks) {
if (t.type != Task::Warning) if (t.type != Task::Warning)
m_runParameters.validationErrors.append(t.description); m_runParameters.validationErrors.append(t.description);

View File

@@ -137,7 +137,7 @@ void SelectRemoteFileDialog::attachToDevice(Kit *k)
{ {
m_buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); m_buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true);
QTC_ASSERT(k, return); QTC_ASSERT(k, return);
IDevice::ConstPtr device = DeviceKitInformation::device(k); IDevice::ConstPtr device = DeviceKitAspect::device(k);
QTC_ASSERT(device, return); QTC_ASSERT(device, return);
SshConnectionParameters sshParams = device->sshParameters(); SshConnectionParameters sshParams = device->sshParameters();
m_fileSystemModel.setSshConnection(sshParams); m_fileSystemModel.setSshConnection(sshParams);
@@ -352,7 +352,7 @@ bool AttachCoreDialog::isLocalKit() const
{ {
Kit *k = d->kitChooser->currentKit(); Kit *k = d->kitChooser->currentKit();
QTC_ASSERT(k, return false); QTC_ASSERT(k, return false);
IDevice::ConstPtr device = DeviceKitInformation::device(k); IDevice::ConstPtr device = DeviceKitAspect::device(k);
QTC_ASSERT(device, return false); QTC_ASSERT(device, return false);
return device->type() == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE; return device->type() == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE;
} }
@@ -367,7 +367,7 @@ void AttachCoreDialog::coreFileChanged(const QString &core)
if (!HostOsInfo::isWindowsHost() && QFile::exists(core)) { if (!HostOsInfo::isWindowsHost() && QFile::exists(core)) {
Kit *k = d->kitChooser->currentKit(); Kit *k = d->kitChooser->currentKit();
QTC_ASSERT(k, return); QTC_ASSERT(k, return);
Runnable debugger = DebuggerKitInformation::runnable(k); Runnable debugger = DebuggerKitAspect::runnable(k);
CoreInfo cinfo = CoreInfo::readExecutableNameFromCore(debugger, core); CoreInfo cinfo = CoreInfo::readExecutableNameFromCore(debugger, core);
if (!cinfo.foundExecutableName.isEmpty()) if (!cinfo.foundExecutableName.isEmpty())
d->symbolFileName->setFileName(FileName::fromString(cinfo.foundExecutableName)); d->symbolFileName->setFileName(FileName::fromString(cinfo.foundExecutableName));

View File

@@ -59,7 +59,7 @@ static bool isLocal(RunConfiguration *runConfiguration)
{ {
Target *target = runConfiguration ? runConfiguration->target() : nullptr; Target *target = runConfiguration ? runConfiguration->target() : nullptr;
Kit *kit = target ? target->kit() : nullptr; Kit *kit = target ? target->kit() : nullptr;
return DeviceTypeKitInformation::deviceTypeId(kit) == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE; return DeviceTypeKitAspect::deviceTypeId(kit) == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE;
} }
/*! /*!
@@ -275,7 +275,7 @@ void UnstartedAppWatcherDialog::stopAndCheckExecutable()
void UnstartedAppWatcherDialog::kitChanged() void UnstartedAppWatcherDialog::kitChanged()
{ {
const DebuggerItem *debugger = DebuggerKitInformation::debugger(m_kitChooser->currentKit()); const DebuggerItem *debugger = DebuggerKitAspect::debugger(m_kitChooser->currentKit());
if (!debugger) if (!debugger)
return; return;
if (debugger->engineType() == Debugger::CdbEngineType) { if (debugger->engineType() == Debugger::CdbEngineType) {

View File

@@ -122,7 +122,7 @@ BuildConfiguration::BuildType GenericBuildConfiguration::buildType() const
void GenericBuildConfiguration::addToEnvironment(Utils::Environment &env) const void GenericBuildConfiguration::addToEnvironment(Utils::Environment &env) const
{ {
prependCompilerPathToEnvironment(env); prependCompilerPathToEnvironment(env);
const QtSupport::BaseQtVersion *qt = QtSupport::QtKitInformation::qtVersion(target()->kit()); const QtSupport::BaseQtVersion *qt = QtSupport::QtKitAspect::qtVersion(target()->kit());
if (qt) if (qt)
env.prependOrSetPath(qt->binPath().toString()); env.prependOrSetPath(qt->binPath().toString());
} }

View File

@@ -58,7 +58,7 @@ QList<ProjectExplorer::NamedWidget *> IosBuildConfiguration::createSubConfigWidg
{ {
auto subConfigWidgets = QmakeBuildConfiguration::createSubConfigWidgets(); auto subConfigWidgets = QmakeBuildConfiguration::createSubConfigWidgets();
Core::Id devType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(target()->kit()); Core::Id devType = ProjectExplorer::DeviceTypeKitAspect::deviceTypeId(target()->kit());
// Ownership of this widget is with BuildSettingsWidget // Ownership of this widget is with BuildSettingsWidget
auto buildSettingsWidget = new IosBuildSettingsWidget(devType, m_signingIdentifier, auto buildSettingsWidget = new IosBuildSettingsWidget(devType, m_signingIdentifier,
m_autoManagedSigning); m_autoManagedSigning);
@@ -113,7 +113,7 @@ void IosBuildConfiguration::updateQmakeCommand()
if (!m_signingIdentifier.isEmpty() ) if (!m_signingIdentifier.isEmpty() )
extraArgs << forceOverrideArg; extraArgs << forceOverrideArg;
Core::Id devType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(target()->kit()); Core::Id devType = ProjectExplorer::DeviceTypeKitAspect::deviceTypeId(target()->kit());
if (devType == Constants::IOS_DEVICE_TYPE && !m_signingIdentifier.isEmpty()) { if (devType == Constants::IOS_DEVICE_TYPE && !m_signingIdentifier.isEmpty()) {
if (m_autoManagedSigning) { if (m_autoManagedSigning) {
extraArgs << qmakeIosTeamSettings + m_signingIdentifier; extraArgs << qmakeIosTeamSettings + m_signingIdentifier;

View File

@@ -76,7 +76,7 @@ bool IosBuildStep::init()
if (!bc) if (!bc)
emit addTask(Task::buildConfigurationMissingTask()); emit addTask(Task::buildConfigurationMissingTask());
ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit(), ProjectExplorer::Constants::CXX_LANGUAGE_ID); ToolChain *tc = ToolChainKitAspect::toolChain(target()->kit(), ProjectExplorer::Constants::CXX_LANGUAGE_ID);
if (!tc) if (!tc)
emit addTask(Task::compilerMissingTask()); emit addTask(Task::compilerMissingTask());
@@ -138,7 +138,7 @@ QStringList IosBuildStep::defaultArguments() const
{ {
QStringList res; QStringList res;
Kit *kit = target()->kit(); Kit *kit = target()->kit();
ToolChain *tc = ToolChainKitInformation::toolChain(kit, ProjectExplorer::Constants::CXX_LANGUAGE_ID); ToolChain *tc = ToolChainKitAspect::toolChain(kit, ProjectExplorer::Constants::CXX_LANGUAGE_ID);
switch (buildConfiguration()->buildType()) { switch (buildConfiguration()->buildType()) {
case BuildConfiguration::Debug : case BuildConfiguration::Debug :
res << "-configuration" << "Debug"; res << "-configuration" << "Debug";
@@ -158,8 +158,8 @@ QStringList IosBuildStep::defaultArguments() const
auto gtc = static_cast<GccToolChain *>(tc); auto gtc = static_cast<GccToolChain *>(tc);
res << gtc->platformCodeGenFlags(); res << gtc->platformCodeGenFlags();
} }
if (!SysRootKitInformation::sysRoot(kit).isEmpty()) if (!SysRootKitAspect::sysRoot(kit).isEmpty())
res << "-sdk" << SysRootKitInformation::sysRoot(kit).toString(); res << "-sdk" << SysRootKitAspect::sysRoot(kit).toString();
res << "SYMROOT=" + buildConfiguration()->buildDirectory().toString(); res << "SYMROOT=" + buildConfiguration()->buildDirectory().toString();
return res; return res;
} }

View File

@@ -168,7 +168,7 @@ static QHash<XcodePlatform::ToolchainTarget, ToolChainPair> findToolChains(const
static QSet<Kit *> existingAutoDetectedIosKits() static QSet<Kit *> existingAutoDetectedIosKits()
{ {
return Utils::filtered(KitManager::kits(), [](Kit *kit) -> bool { return Utils::filtered(KitManager::kits(), [](Kit *kit) -> bool {
Core::Id deviceKind = DeviceTypeKitInformation::deviceTypeId(kit); Core::Id deviceKind = DeviceTypeKitAspect::deviceTypeId(kit);
return kit->isAutoDetected() && (deviceKind == Constants::IOS_DEVICE_TYPE return kit->isAutoDetected() && (deviceKind == Constants::IOS_DEVICE_TYPE
|| deviceKind == Constants::IOS_SIMULATOR_TYPE); || deviceKind == Constants::IOS_SIMULATOR_TYPE);
}).toSet(); }).toSet();
@@ -183,33 +183,33 @@ static void printKits(const QSet<Kit *> &kits)
static void setupKit(Kit *kit, Core::Id pDeviceType, const ToolChainPair& toolChains, static void setupKit(Kit *kit, Core::Id pDeviceType, const ToolChainPair& toolChains,
const QVariant &debuggerId, const Utils::FileName &sdkPath, BaseQtVersion *qtVersion) const QVariant &debuggerId, const Utils::FileName &sdkPath, BaseQtVersion *qtVersion)
{ {
DeviceTypeKitInformation::setDeviceTypeId(kit, pDeviceType); DeviceTypeKitAspect::setDeviceTypeId(kit, pDeviceType);
if (toolChains.first) if (toolChains.first)
ToolChainKitInformation::setToolChain(kit, toolChains.first); ToolChainKitAspect::setToolChain(kit, toolChains.first);
else else
ToolChainKitInformation::clearToolChain(kit, ProjectExplorer::Constants::C_LANGUAGE_ID); ToolChainKitAspect::clearToolChain(kit, ProjectExplorer::Constants::C_LANGUAGE_ID);
if (toolChains.second) if (toolChains.second)
ToolChainKitInformation::setToolChain(kit, toolChains.second); ToolChainKitAspect::setToolChain(kit, toolChains.second);
else else
ToolChainKitInformation::clearToolChain(kit, ProjectExplorer::Constants::CXX_LANGUAGE_ID); ToolChainKitAspect::clearToolChain(kit, ProjectExplorer::Constants::CXX_LANGUAGE_ID);
QtKitInformation::setQtVersion(kit, qtVersion); QtKitAspect::setQtVersion(kit, qtVersion);
// only replace debugger with the default one if we find an unusable one here // only replace debugger with the default one if we find an unusable one here
// (since the user could have changed it) // (since the user could have changed it)
if ((!DebuggerKitInformation::debugger(kit) if ((!DebuggerKitAspect::debugger(kit)
|| !DebuggerKitInformation::debugger(kit)->isValid() || !DebuggerKitAspect::debugger(kit)->isValid()
|| DebuggerKitInformation::debugger(kit)->engineType() != LldbEngineType) || DebuggerKitAspect::debugger(kit)->engineType() != LldbEngineType)
&& debuggerId.isValid()) && debuggerId.isValid())
DebuggerKitInformation::setDebugger(kit, debuggerId); DebuggerKitAspect::setDebugger(kit, debuggerId);
kit->setMutable(DeviceKitInformation::id(), true); kit->setMutable(DeviceKitAspect::id(), true);
kit->setSticky(QtKitInformation::id(), true); kit->setSticky(QtKitAspect::id(), true);
kit->setSticky(ToolChainKitInformation::id(), true); kit->setSticky(ToolChainKitAspect::id(), true);
kit->setSticky(DeviceTypeKitInformation::id(), true); kit->setSticky(DeviceTypeKitAspect::id(), true);
kit->setSticky(SysRootKitInformation::id(), true); kit->setSticky(SysRootKitAspect::id(), true);
kit->setSticky(DebuggerKitInformation::id(), false); kit->setSticky(DebuggerKitAspect::id(), false);
SysRootKitInformation::setSysRoot(kit, sdkPath); SysRootKitAspect::setSysRoot(kit, sdkPath);
} }
static QVersionNumber findXcodeVersion(const Utils::FileName &developerPath) static QVersionNumber findXcodeVersion(const Utils::FileName &developerPath)
@@ -287,10 +287,10 @@ void IosConfigurations::updateAutomaticKitList()
Kit *kit = Utils::findOrDefault(existingKits, [&pDeviceType, &platformToolchains, &qtVersion](const Kit *kit) { Kit *kit = Utils::findOrDefault(existingKits, [&pDeviceType, &platformToolchains, &qtVersion](const Kit *kit) {
// we do not compare the sdk (thus automatically upgrading it in place if a // we do not compare the sdk (thus automatically upgrading it in place if a
// new Xcode is used). Change? // new Xcode is used). Change?
return DeviceTypeKitInformation::deviceTypeId(kit) == pDeviceType return DeviceTypeKitAspect::deviceTypeId(kit) == pDeviceType
&& ToolChainKitInformation::toolChain(kit, ProjectExplorer::Constants::CXX_LANGUAGE_ID) == platformToolchains.second && ToolChainKitAspect::toolChain(kit, ProjectExplorer::Constants::CXX_LANGUAGE_ID) == platformToolchains.second
&& ToolChainKitInformation::toolChain(kit, ProjectExplorer::Constants::C_LANGUAGE_ID) == platformToolchains.first && ToolChainKitAspect::toolChain(kit, ProjectExplorer::Constants::C_LANGUAGE_ID) == platformToolchains.first
&& QtKitInformation::qtVersion(kit) == qtVersion; && QtKitAspect::qtVersion(kit) == qtVersion;
}); });
QTC_ASSERT(!resultingKits.contains(kit), continue); QTC_ASSERT(!resultingKits.contains(kit), continue);
if (kit) { if (kit) {

View File

@@ -73,7 +73,7 @@ Core::Id IosDeployStep::stepId()
void IosDeployStep::updateDisplayNames() void IosDeployStep::updateDisplayNames()
{ {
IDevice::ConstPtr dev = IDevice::ConstPtr dev =
DeviceKitInformation::device(target()->kit()); DeviceKitAspect::device(target()->kit());
const QString devName = dev.isNull() ? IosDevice::name() : dev->displayName(); const QString devName = dev.isNull() ? IosDevice::name() : dev->displayName();
setDefaultDisplayName(tr("Deploy to %1").arg(devName)); setDefaultDisplayName(tr("Deploy to %1").arg(devName));
setDisplayName(tr("Deploy to %1").arg(devName)); setDisplayName(tr("Deploy to %1").arg(devName));
@@ -82,7 +82,7 @@ void IosDeployStep::updateDisplayNames()
bool IosDeployStep::init() bool IosDeployStep::init()
{ {
QTC_ASSERT(m_transferStatus == NoTransfer, return false); QTC_ASSERT(m_transferStatus == NoTransfer, return false);
m_device = DeviceKitInformation::device(target()->kit()); m_device = DeviceKitAspect::device(target()->kit());
auto runConfig = qobject_cast<const IosRunConfiguration *>( auto runConfig = qobject_cast<const IosRunConfiguration *>(
this->target()->activeRunConfiguration()); this->target()->activeRunConfiguration());
QTC_ASSERT(runConfig, return false); QTC_ASSERT(runConfig, return false);

View File

@@ -538,11 +538,11 @@ void IosDeviceManager::updateAvailableDevices(const QStringList &devices)
} }
} }
IosDevice::ConstPtr IosKitInformation::device(Kit *kit) IosDevice::ConstPtr IosKitAspect::device(Kit *kit)
{ {
if (!kit) if (!kit)
return IosDevice::ConstPtr(); return IosDevice::ConstPtr();
IDevice::ConstPtr dev = DeviceKitInformation::device(kit); IDevice::ConstPtr dev = DeviceKitAspect::device(kit);
IosDevice::ConstPtr res = dev.dynamicCast<const IosDevice>(); IosDevice::ConstPtr res = dev.dynamicCast<const IosDevice>();
return res; return res;
} }

View File

@@ -103,7 +103,7 @@ private:
QStringList m_userModeDeviceIds; QStringList m_userModeDeviceIds;
}; };
namespace IosKitInformation { namespace IosKitAspect {
IosDevice::ConstPtr device(ProjectExplorer::Kit *); IosDevice::ConstPtr device(ProjectExplorer::Kit *);
} }

View File

@@ -125,7 +125,7 @@ void IosDeviceTypeAspect::deviceChanges()
void IosDeviceTypeAspect::updateDeviceType() void IosDeviceTypeAspect::updateDeviceType()
{ {
if (DeviceTypeKitInformation::deviceTypeId(m_runConfiguration->target()->kit()) if (DeviceTypeKitAspect::deviceTypeId(m_runConfiguration->target()->kit())
== Constants::IOS_DEVICE_TYPE) == Constants::IOS_DEVICE_TYPE)
m_deviceType = IosDeviceType(IosDeviceType::IosDevice); m_deviceType = IosDeviceType(IosDeviceType::IosDevice);
else if (m_deviceType.type == IosDeviceType::IosDevice) else if (m_deviceType.type == IosDeviceType::IosDevice)
@@ -134,7 +134,7 @@ void IosDeviceTypeAspect::updateDeviceType()
void IosRunConfiguration::updateDisplayNames() void IosRunConfiguration::updateDisplayNames()
{ {
IDevice::ConstPtr dev = DeviceKitInformation::device(target()->kit()); IDevice::ConstPtr dev = DeviceKitAspect::device(target()->kit());
const QString devName = dev.isNull() ? IosDevice::name() : dev->displayName(); const QString devName = dev.isNull() ? IosDevice::name() : dev->displayName();
setDefaultDisplayName(tr("Run on %1").arg(devName)); setDefaultDisplayName(tr("Run on %1").arg(devName));
setDisplayName(tr("Run %1 on %2").arg(applicationName()).arg(devName)); setDisplayName(tr("Run %1 on %2").arg(applicationName()).arg(devName));
@@ -144,12 +144,12 @@ void IosRunConfiguration::updateDisplayNames()
void IosRunConfiguration::updateEnabledState() void IosRunConfiguration::updateEnabledState()
{ {
Core::Id devType = DeviceTypeKitInformation::deviceTypeId(target()->kit()); Core::Id devType = DeviceTypeKitAspect::deviceTypeId(target()->kit());
if (devType != Constants::IOS_DEVICE_TYPE && devType != Constants::IOS_SIMULATOR_TYPE) { if (devType != Constants::IOS_DEVICE_TYPE && devType != Constants::IOS_SIMULATOR_TYPE) {
setEnabled(false); setEnabled(false);
return; return;
} }
IDevice::ConstPtr dev = DeviceKitInformation::device(target()->kit()); IDevice::ConstPtr dev = DeviceKitAspect::device(target()->kit());
if (dev.isNull() || dev->deviceState() != IDevice::DeviceReadyToUse) { if (dev.isNull() || dev->deviceState() != IDevice::DeviceReadyToUse) {
setEnabled(false); setEnabled(false);
return; return;
@@ -176,7 +176,7 @@ QString IosRunConfiguration::applicationName() const
FileName IosRunConfiguration::bundleDirectory() const FileName IosRunConfiguration::bundleDirectory() const
{ {
FileName res; FileName res;
Core::Id devType = DeviceTypeKitInformation::deviceTypeId(target()->kit()); Core::Id devType = DeviceTypeKitAspect::deviceTypeId(target()->kit());
bool isDevice = (devType == Constants::IOS_DEVICE_TYPE); bool isDevice = (devType == Constants::IOS_DEVICE_TYPE);
if (!isDevice && devType != Constants::IOS_SIMULATOR_TYPE) { if (!isDevice && devType != Constants::IOS_SIMULATOR_TYPE) {
qCWarning(iosLog) << "unexpected device type in bundleDirForTarget: " << devType.toString(); qCWarning(iosLog) << "unexpected device type in bundleDirForTarget: " << devType.toString();
@@ -238,10 +238,10 @@ void IosDeviceTypeAspect::toMap(QVariantMap &map) const
QString IosRunConfiguration::disabledReason() const QString IosRunConfiguration::disabledReason() const
{ {
Core::Id devType = DeviceTypeKitInformation::deviceTypeId(target()->kit()); Core::Id devType = DeviceTypeKitAspect::deviceTypeId(target()->kit());
if (devType != Constants::IOS_DEVICE_TYPE && devType != Constants::IOS_SIMULATOR_TYPE) if (devType != Constants::IOS_DEVICE_TYPE && devType != Constants::IOS_SIMULATOR_TYPE)
return tr("Kit has incorrect device type for running on iOS devices."); return tr("Kit has incorrect device type for running on iOS devices.");
IDevice::ConstPtr dev = DeviceKitInformation::device(target()->kit()); IDevice::ConstPtr dev = DeviceKitAspect::device(target()->kit());
QString validDevName; QString validDevName;
bool hasConncetedDev = false; bool hasConncetedDev = false;
if (devType == Constants::IOS_DEVICE_TYPE) { if (devType == Constants::IOS_DEVICE_TYPE) {

View File

@@ -81,7 +81,7 @@ static void stopRunningRunControl(RunControl *runControl)
RunConfiguration *runConfig = runControl->runConfiguration(); RunConfiguration *runConfig = runControl->runConfiguration();
Target *target = runConfig->target(); Target *target = runConfig->target();
Core::Id devId = DeviceKitInformation::deviceId(target->kit()); Core::Id devId = DeviceKitAspect::deviceId(target->kit());
// The device can only run an application at a time, if an app is running stop it. // The device can only run an application at a time, if an app is running stop it.
if (activeRunControls.contains(devId)) { if (activeRunControls.contains(devId)) {
@@ -101,7 +101,7 @@ IosRunner::IosRunner(RunControl *runControl)
auto runConfig = qobject_cast<IosRunConfiguration *>(runControl->runConfiguration()); auto runConfig = qobject_cast<IosRunConfiguration *>(runControl->runConfiguration());
m_bundleDir = runConfig->bundleDirectory().toString(); m_bundleDir = runConfig->bundleDirectory().toString();
m_arguments = runConfig->aspect<ArgumentsAspect>()->arguments(runConfig->macroExpander()); m_arguments = runConfig->aspect<ArgumentsAspect>()->arguments(runConfig->macroExpander());
m_device = DeviceKitInformation::device(runConfig->target()->kit()); m_device = DeviceKitAspect::device(runConfig->target()->kit());
m_deviceType = runConfig->deviceType(); m_deviceType = runConfig->deviceType();
} }

View File

@@ -144,7 +144,7 @@ IosSimulator::ConstPtr IosKitInformation::simulator(Kit *kit)
{ {
if (!kit) if (!kit)
return IosSimulator::ConstPtr(); return IosSimulator::ConstPtr();
IDevice::ConstPtr dev = DeviceKitInformation::device(kit); IDevice::ConstPtr dev = DeviceKitAspect::device(kit);
IosSimulator::ConstPtr res = dev.dynamicCast<const IosSimulator>(); IosSimulator::ConstPtr res = dev.dynamicCast<const IosSimulator>();
return res; return res;
} }

View File

@@ -226,7 +226,7 @@ void NimCompilerBuildStep::updateCommand()
QTC_ASSERT(target(), return); QTC_ASSERT(target(), return);
QTC_ASSERT(target()->kit(), return); QTC_ASSERT(target()->kit(), return);
Kit *kit = target()->kit(); Kit *kit = target()->kit();
auto tc = dynamic_cast<NimToolChain*>(ToolChainKitInformation::toolChain(kit, Constants::C_NIMLANGUAGE_ID)); auto tc = dynamic_cast<NimToolChain*>(ToolChainKitAspect::toolChain(kit, Constants::C_NIMLANGUAGE_ID));
QTC_ASSERT(tc, return); QTC_ASSERT(tc, return);
processParameters()->setCommand(tc->compilerCommand().toString()); processParameters()->setCommand(tc->compilerCommand().toString());
} }

View File

@@ -153,7 +153,7 @@ void NimProject::updateProject()
QList<Task> NimProject::projectIssues(const Kit *k) const QList<Task> NimProject::projectIssues(const Kit *k) const
{ {
QList<Task> result = Project::projectIssues(k); QList<Task> result = Project::projectIssues(k);
auto tc = dynamic_cast<NimToolChain *>(ToolChainKitInformation::toolChain(k, auto tc = dynamic_cast<NimToolChain *>(ToolChainKitAspect::toolChain(k,
Constants::C_NIMLANGUAGE_ID)); Constants::C_NIMLANGUAGE_ID));
if (!tc) { if (!tc) {
result.append(createProjectTask(Task::TaskType::Error, tr("No Nim compiler set."))); result.append(createProjectTask(Task::TaskType::Error, tr("No Nim compiler set.")));

View File

@@ -147,7 +147,7 @@ void PerfConfigWidget::setTarget(ProjectExplorer::Target *target)
ProjectExplorer::IDevice::ConstPtr device; ProjectExplorer::IDevice::ConstPtr device;
if (target) { if (target) {
if (ProjectExplorer::Kit *kit = target->kit()) if (ProjectExplorer::Kit *kit = target->kit())
device = ProjectExplorer::DeviceKitInformation::device(kit); device = ProjectExplorer::DeviceKitAspect::device(kit);
} }
if (device.isNull()) { if (device.isNull()) {

View File

@@ -291,7 +291,7 @@ QStringList PerfDataReader::collectArguments(const QString &executableDirPath,
if (!executableDirPath.isEmpty()) if (!executableDirPath.isEmpty())
arguments << QLatin1String("--app") << executableDirPath; arguments << QLatin1String("--app") << executableDirPath;
if (QtSupport::BaseQtVersion *qt = QtSupport::QtKitInformation::qtVersion(kit)) { if (QtSupport::BaseQtVersion *qt = QtSupport::QtKitAspect::qtVersion(kit)) {
arguments << QLatin1String("--extra") << QString::fromLatin1("%1%5%2%5%3%5%4") arguments << QLatin1String("--extra") << QString::fromLatin1("%1%5%2%5%3%5%4")
.arg(QDir::toNativeSeparators(qt->libraryPath().toString())) .arg(QDir::toNativeSeparators(qt->libraryPath().toString()))
.arg(QDir::toNativeSeparators(qt->pluginPath().toString())) .arg(QDir::toNativeSeparators(qt->pluginPath().toString()))
@@ -300,7 +300,7 @@ QStringList PerfDataReader::collectArguments(const QString &executableDirPath,
.arg(QDir::listSeparator()); .arg(QDir::listSeparator());
} }
if (auto toolChain = ProjectExplorer::ToolChainKitInformation::toolChain( if (auto toolChain = ProjectExplorer::ToolChainKitAspect::toolChain(
kit, ProjectExplorer::Constants::CXX_LANGUAGE_ID)) { kit, ProjectExplorer::Constants::CXX_LANGUAGE_ID)) {
ProjectExplorer::Abi::Architecture architecture = toolChain->targetAbi().architecture(); ProjectExplorer::Abi::Architecture architecture = toolChain->targetAbi().architecture();
if (architecture == ProjectExplorer::Abi::ArmArchitecture && if (architecture == ProjectExplorer::Abi::ArmArchitecture &&
@@ -311,7 +311,7 @@ QStringList PerfDataReader::collectArguments(const QString &executableDirPath,
} }
} }
QString sysroot = ProjectExplorer::SysRootKitInformation::sysRoot(kit).toString(); QString sysroot = ProjectExplorer::SysRootKitAspect::sysRoot(kit).toString();
if (!sysroot.isEmpty()) if (!sysroot.isEmpty())
arguments << QLatin1String("--sysroot") << sysroot; arguments << QLatin1String("--sysroot") << sysroot;

View File

@@ -553,7 +553,7 @@ void PerfProfilerTool::gotoSourceLocation(QString filePath, int lineNumber, int
static Utils::FileNameList collectQtIncludePaths(const ProjectExplorer::Kit *kit) static Utils::FileNameList collectQtIncludePaths(const ProjectExplorer::Kit *kit)
{ {
QtSupport::BaseQtVersion *qt = QtSupport::QtKitInformation::qtVersion(kit); QtSupport::BaseQtVersion *qt = QtSupport::QtKitAspect::qtVersion(kit);
if (qt == nullptr) if (qt == nullptr)
return Utils::FileNameList(); return Utils::FileNameList();
Utils::FileNameList paths{qt->headerPath()}; Utils::FileNameList paths{qt->headerPath()};
@@ -568,7 +568,7 @@ static Utils::FileNameList collectQtIncludePaths(const ProjectExplorer::Kit *kit
static Utils::FileName sysroot(const Kit *kit) static Utils::FileName sysroot(const Kit *kit)
{ {
return SysRootKitInformation::sysRoot(kit); return SysRootKitAspect::sysRoot(kit);
} }
static Utils::FileNameList sourceFiles(const Project *currentProject = nullptr) static Utils::FileNameList sourceFiles(const Project *currentProject = nullptr)

View File

@@ -52,7 +52,7 @@ PerfTracePointDialog::PerfTracePointDialog() :
const Kit *kit = target->kit(); const Kit *kit = target->kit();
QTC_ASSERT(kit, return); QTC_ASSERT(kit, return);
m_device = DeviceKitInformation::device(kit); m_device = DeviceKitAspect::device(kit);
if (!m_device) { if (!m_device) {
m_ui->textEdit->setPlainText(tr("Error: No device available for active target.")); m_ui->textEdit->setPlainText(tr("Error: No device available for active target."));
return; return;

View File

@@ -307,7 +307,7 @@ void BuildConfiguration::prependCompilerPathToEnvironment(Utils::Environment &en
void BuildConfiguration::prependCompilerPathToEnvironment(Kit *k, Utils::Environment &env) void BuildConfiguration::prependCompilerPathToEnvironment(Kit *k, Utils::Environment &env)
{ {
const ToolChain *tc const ToolChain *tc
= ToolChainKitInformation::toolChain(k, ProjectExplorer::Constants::CXX_LANGUAGE_ID); = ToolChainKitAspect::toolChain(k, ProjectExplorer::Constants::CXX_LANGUAGE_ID);
if (!tc) if (!tc)
return; return;
@@ -363,7 +363,7 @@ bool BuildConfigurationFactory::supportsTargetDeviceType(Core::Id id) const
BuildConfigurationFactory *BuildConfigurationFactory::find(const Kit *k, const QString &projectPath) BuildConfigurationFactory *BuildConfigurationFactory::find(const Kit *k, const QString &projectPath)
{ {
QTC_ASSERT(k, return nullptr); QTC_ASSERT(k, return nullptr);
const Core::Id deviceType = DeviceTypeKitInformation::deviceTypeId(k); const Core::Id deviceType = DeviceTypeKitAspect::deviceTypeId(k);
for (BuildConfigurationFactory *factory : g_buildConfigurationFactories) { for (BuildConfigurationFactory *factory : g_buildConfigurationFactories) {
if (Utils::mimeTypeForFile(projectPath).matchesName(factory->m_supportedProjectMimeTypeName) if (Utils::mimeTypeForFile(projectPath).matchesName(factory->m_supportedProjectMimeTypeName)
&& factory->supportsTargetDeviceType(deviceType)) && factory->supportsTargetDeviceType(deviceType))
@@ -405,7 +405,7 @@ bool BuildConfigurationFactory::canHandle(const Target *target) const
if (containsType(target->project()->projectIssues(target->kit()), Task::TaskType::Error)) if (containsType(target->project()->projectIssues(target->kit()), Task::TaskType::Error))
return false; return false;
if (!supportsTargetDeviceType(DeviceTypeKitInformation::deviceTypeId(target->kit()))) if (!supportsTargetDeviceType(DeviceTypeKitAspect::deviceTypeId(target->kit())))
return false; return false;
return true; return true;

View File

@@ -299,7 +299,7 @@ bool BuildStepFactory::canHandle(BuildStepList *bsl) const
if (!m_supportedDeviceTypes.isEmpty()) { if (!m_supportedDeviceTypes.isEmpty()) {
Target *target = bsl->target(); Target *target = bsl->target();
QTC_ASSERT(target, return false); QTC_ASSERT(target, return false);
Core::Id deviceType = DeviceTypeKitInformation::deviceTypeId(target->kit()); Core::Id deviceType = DeviceTypeKitAspect::deviceTypeId(target->kit());
if (!m_supportedDeviceTypes.contains(deviceType)) if (!m_supportedDeviceTypes.contains(deviceType))
return false; return false;
} }

View File

@@ -162,7 +162,7 @@ bool DeployConfigurationFactory::canHandle(Target *target) const
if (!m_supportedTargetDeviceTypes.isEmpty()) { if (!m_supportedTargetDeviceTypes.isEmpty()) {
if (!m_supportedTargetDeviceTypes.contains( if (!m_supportedTargetDeviceTypes.contains(
DeviceTypeKitInformation::deviceTypeId(target->kit()))) DeviceTypeKitAspect::deviceTypeId(target->kit())))
return false; return false;
} }

View File

@@ -44,9 +44,9 @@ DeviceCheckBuildStep::DeviceCheckBuildStep(BuildStepList *bsl)
bool DeviceCheckBuildStep::init() bool DeviceCheckBuildStep::init()
{ {
IDevice::ConstPtr device = DeviceKitInformation::device(target()->kit()); IDevice::ConstPtr device = DeviceKitAspect::device(target()->kit());
if (!device) { if (!device) {
Core::Id deviceTypeId = DeviceTypeKitInformation::deviceTypeId(target()->kit()); Core::Id deviceTypeId = DeviceTypeKitAspect::deviceTypeId(target()->kit());
IDeviceFactory *factory = IDeviceFactory::find(deviceTypeId); IDeviceFactory *factory = IDeviceFactory::find(deviceTypeId);
if (!factory || !factory->canCreate()) { if (!factory || !factory->canCreate()) {
emit addOutput(tr("No device configured."), BuildStep::OutputFormat::ErrorMessage); emit addOutput(tr("No device configured."), BuildStep::OutputFormat::ErrorMessage);
@@ -71,7 +71,7 @@ bool DeviceCheckBuildStep::init()
DeviceManager *dm = DeviceManager::instance(); DeviceManager *dm = DeviceManager::instance();
dm->addDevice(newDevice); dm->addDevice(newDevice);
DeviceKitInformation::setDevice(target()->kit(), newDevice); DeviceKitAspect::setDevice(target()->kit(), newDevice);
} }
return true; return true;

View File

@@ -267,7 +267,7 @@ void DeviceProcessesDialogPrivate::killProcess()
void DeviceProcessesDialogPrivate::updateDevice() void DeviceProcessesDialogPrivate::updateDevice()
{ {
setDevice(DeviceKitInformation::device(kitChooser->currentKit())); setDevice(DeviceKitAspect::device(kitChooser->currentKit()));
} }
void DeviceProcessesDialogPrivate::handleProcessKilled() void DeviceProcessesDialogPrivate::handleProcessKilled()

View File

@@ -249,7 +249,7 @@ Core::Id IDevice::id() const
*/ */
bool IDevice::isCompatibleWith(const Kit *k) const bool IDevice::isCompatibleWith(const Kit *k) const
{ {
return DeviceTypeKitInformation::deviceTypeId(k) == type(); return DeviceTypeKitAspect::deviceTypeId(k) == type();
} }
void IDevice::addDeviceAction(const DeviceAction &deviceAction) void IDevice::addDeviceAction(const DeviceAction &deviceAction)

View File

@@ -255,7 +255,7 @@ Utils::Environment ExtraCompiler::buildEnvironment() const
return bc->environment(); return bc->environment();
} else { } else {
QList<Utils::EnvironmentItem> changes = QList<Utils::EnvironmentItem> changes =
EnvironmentKitInformation::environmentChanges(target->kit()); EnvironmentKitAspect::environmentChanges(target->kit());
Utils::Environment env = Utils::Environment::systemEnvironment(); Utils::Environment env = Utils::Environment::systemEnvironment();
env.modify(changes); env.modify(changes);
return env; return env;

View File

@@ -86,7 +86,7 @@ public:
[kit] { return kit->id().toString(); }); [kit] { return kit->id().toString(); });
m_macroExpander.registerVariable("Kit:FileSystemName", tr("Kit filesystem-friendly name"), m_macroExpander.registerVariable("Kit:FileSystemName", tr("Kit filesystem-friendly name"),
[kit] { return kit->fileSystemFriendlyName(); }); [kit] { return kit->fileSystemFriendlyName(); });
foreach (KitInformation *ki, KitManager::kitInformation()) foreach (KitAspect *ki, KitManager::kitInformation())
ki->addToMacroExpander(kit, &m_macroExpander); ki->addToMacroExpander(kit, &m_macroExpander);
// This provides the same global fall back as the global expander // This provides the same global fall back as the global expander
@@ -134,7 +134,7 @@ public:
Kit::Kit(Id id) : Kit::Kit(Id id) :
d(std::make_unique<Internal::KitPrivate>(id, this)) d(std::make_unique<Internal::KitPrivate>(id, this))
{ {
foreach (KitInformation *sti, KitManager::kitInformation()) foreach (KitAspect *sti, KitManager::kitInformation())
d->m_data.insert(sti->id(), sti->defaultValue(this)); d->m_data.insert(sti->id(), sti->defaultValue(this));
} }
@@ -246,8 +246,8 @@ bool Kit::hasWarning() const
QList<Task> Kit::validate() const QList<Task> Kit::validate() const
{ {
QList<Task> result; QList<Task> result;
QList<KitInformation *> infoList = KitManager::kitInformation(); QList<KitAspect *> infoList = KitManager::kitInformation();
for (KitInformation *i : infoList) { for (KitAspect *i : infoList) {
QList<Task> tmp = i->validate(this); QList<Task> tmp = i->validate(this);
result.append(tmp); result.append(tmp);
} }
@@ -262,7 +262,7 @@ QList<Task> Kit::validate() const
void Kit::fix() void Kit::fix()
{ {
KitGuard g(this); KitGuard g(this);
foreach (KitInformation *i, KitManager::kitInformation()) foreach (KitAspect *i, KitManager::kitInformation())
i->fix(this); i->fix(this);
} }
@@ -271,7 +271,7 @@ void Kit::setup()
KitGuard g(this); KitGuard g(this);
// Process the KitInfos in reverse order: They may only be based on other information lower in // Process the KitInfos in reverse order: They may only be based on other information lower in
// the stack. // the stack.
QList<KitInformation *> info = KitManager::kitInformation(); QList<KitAspect *> info = KitManager::kitInformation();
for (int i = info.count() - 1; i >= 0; --i) for (int i = info.count() - 1; i >= 0; --i)
info.at(i)->setup(this); info.at(i)->setup(this);
} }
@@ -281,7 +281,7 @@ void Kit::upgrade()
KitGuard g(this); KitGuard g(this);
// Process the KitInfos in reverse order: They may only be based on other information lower in // Process the KitInfos in reverse order: They may only be based on other information lower in
// the stack. // the stack.
for (KitInformation *ki : KitManager::kitInformation()) for (KitAspect *ki : KitManager::kitInformation())
ki->upgrade(this); ki->upgrade(this);
} }
@@ -371,7 +371,7 @@ QIcon Kit::icon() const
return d->m_cachedIcon; return d->m_cachedIcon;
} }
const Core::Id deviceType = DeviceTypeKitInformation::deviceTypeId(this); const Core::Id deviceType = DeviceTypeKitAspect::deviceTypeId(this);
const QIcon deviceTypeIcon = iconForDeviceType(deviceType); const QIcon deviceTypeIcon = iconForDeviceType(deviceType);
if (!deviceTypeIcon.isNull()) { if (!deviceTypeIcon.isNull()) {
d->m_cachedIcon = deviceTypeIcon; d->m_cachedIcon = deviceTypeIcon;
@@ -503,16 +503,16 @@ QVariantMap Kit::toMap() const
void Kit::addToEnvironment(Environment &env) const void Kit::addToEnvironment(Environment &env) const
{ {
QList<KitInformation *> infoList = KitManager::kitInformation(); QList<KitAspect *> infoList = KitManager::kitInformation();
foreach (KitInformation *ki, infoList) foreach (KitAspect *ki, infoList)
ki->addToEnvironment(this, env); ki->addToEnvironment(this, env);
} }
IOutputParser *Kit::createOutputParser() const IOutputParser *Kit::createOutputParser() const
{ {
auto first = new OsParser; auto first = new OsParser;
QList<KitInformation *> infoList = KitManager::kitInformation(); QList<KitAspect *> infoList = KitManager::kitInformation();
foreach (KitInformation *ki, infoList) foreach (KitAspect *ki, infoList)
first->appendOutputParser(ki->createOutputParser(this)); first->appendOutputParser(ki->createOutputParser(this));
return first; return first;
} }
@@ -528,10 +528,10 @@ QString Kit::toHtml(const QList<Task> &additional) const
str << "<p>" << ProjectExplorer::toHtml(additional + validate()) << "</p>"; str << "<p>" << ProjectExplorer::toHtml(additional + validate()) << "</p>";
str << "<table>"; str << "<table>";
QList<KitInformation *> infoList = KitManager::kitInformation(); QList<KitAspect *> infoList = KitManager::kitInformation();
foreach (KitInformation *ki, infoList) { foreach (KitAspect *ki, infoList) {
KitInformation::ItemList list = ki->toUserOutput(this); KitAspect::ItemList list = ki->toUserOutput(this);
foreach (const KitInformation::Item &j, list) { foreach (const KitAspect::Item &j, list) {
QString contents = j.second; QString contents = j.second;
if (contents.count() > 256) { if (contents.count() > 256) {
int pos = contents.lastIndexOf("<br>", 256); int pos = contents.lastIndexOf("<br>", 256);
@@ -573,7 +573,7 @@ void Kit::setSdkProvided(bool sdkProvided)
void Kit::makeSticky() void Kit::makeSticky()
{ {
foreach (KitInformation *ki, KitManager::kitInformation()) { foreach (KitAspect *ki, KitManager::kitInformation()) {
if (hasValue(ki->id())) if (hasValue(ki->id()))
setSticky(ki->id(), true); setSticky(ki->id(), true);
} }
@@ -619,7 +619,7 @@ bool Kit::isMutable(Id id) const
QSet<Id> Kit::supportedPlatforms() const QSet<Id> Kit::supportedPlatforms() const
{ {
QSet<Id> platforms; QSet<Id> platforms;
foreach (const KitInformation *ki, KitManager::kitInformation()) { foreach (const KitAspect *ki, KitManager::kitInformation()) {
const QSet<Id> ip = ki->supportedPlatforms(this); const QSet<Id> ip = ki->supportedPlatforms(this);
if (ip.isEmpty()) if (ip.isEmpty())
continue; continue;
@@ -634,7 +634,7 @@ QSet<Id> Kit::supportedPlatforms() const
QSet<Id> Kit::availableFeatures() const QSet<Id> Kit::availableFeatures() const
{ {
QSet<Id> features; QSet<Id> features;
foreach (const KitInformation *ki, KitManager::kitInformation()) foreach (const KitAspect *ki, KitManager::kitInformation())
features |= ki->availableFeatures(this); features |= ki->availableFeatures(this);
return features; return features;
} }

View File

@@ -142,7 +142,7 @@ private:
const std::unique_ptr<Internal::KitPrivate> d; const std::unique_ptr<Internal::KitPrivate> d;
friend class KitInformation; friend class KitAspect;
friend class KitManager; friend class KitManager;
friend class Internal::KitManagerPrivate; friend class Internal::KitManagerPrivate;
friend class Internal::KitModel; // needed for setAutoDetected() when cloning kits friend class Internal::KitModel; // needed for setAutoDetected() when cloning kits

View File

@@ -52,7 +52,7 @@ KitChooser::KitChooser(QWidget *parent) :
{ {
m_chooser = new QComboBox(this); m_chooser = new QComboBox(this);
m_chooser->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed); m_chooser->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed);
m_manageButton = new QPushButton(KitConfigWidget::msgManage(), this); m_manageButton = new QPushButton(KitAspectWidget::msgManage(), this);
auto layout = new QHBoxLayout(this); auto layout = new QHBoxLayout(this);
layout->setContentsMargins(0, 0, 0, 0); layout->setContentsMargins(0, 0, 0, 0);

View File

@@ -30,31 +30,31 @@
namespace ProjectExplorer { namespace ProjectExplorer {
KitConfigWidget::KitConfigWidget(Kit *kit, const KitInformation *ki) : m_kit(kit), KitAspectWidget::KitAspectWidget(Kit *kit, const KitAspect *ki) : m_kit(kit),
m_kitInformation(ki), m_isSticky(kit->isSticky(ki->id())) m_kitInformation(ki), m_isSticky(kit->isSticky(ki->id()))
{ } { }
Core::Id KitConfigWidget::kitInformationId() const Core::Id KitAspectWidget::kitInformationId() const
{ {
return m_kitInformation->id(); return m_kitInformation->id();
} }
bool KitConfigWidget::isMutable() const bool KitAspectWidget::isMutable() const
{ {
return m_kit->isMutable(m_kitInformation->id()); return m_kit->isMutable(m_kitInformation->id());
} }
void KitConfigWidget::setMutable(bool b) void KitAspectWidget::setMutable(bool b)
{ {
m_kit->setMutable(m_kitInformation->id(), b); m_kit->setMutable(m_kitInformation->id(), b);
} }
QString KitConfigWidget::msgManage() QString KitAspectWidget::msgManage()
{ {
return tr("Manage..."); return tr("Manage...");
} }
void KitConfigWidget::setPalette(const QPalette &p) void KitAspectWidget::setPalette(const QPalette &p)
{ {
if (mainWidget()) if (mainWidget())
mainWidget()->setPalette(p); mainWidget()->setPalette(p);
@@ -62,7 +62,7 @@ void KitConfigWidget::setPalette(const QPalette &p)
buttonWidget()->setPalette(p); buttonWidget()->setPalette(p);
} }
void KitConfigWidget::setStyle(QStyle *s) void KitAspectWidget::setStyle(QStyle *s)
{ {
if (mainWidget()) if (mainWidget())
mainWidget()->setStyle(s); mainWidget()->setStyle(s);

View File

@@ -34,18 +34,18 @@
namespace ProjectExplorer { namespace ProjectExplorer {
class Kit; class Kit;
class KitInformation; class KitAspect;
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// KitConfigWidget // KitAspectWidget
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
class PROJECTEXPLORER_EXPORT KitConfigWidget : public QObject class PROJECTEXPLORER_EXPORT KitAspectWidget : public QObject
{ {
Q_OBJECT Q_OBJECT
public: public:
KitConfigWidget(Kit *kit, const KitInformation *ki); KitAspectWidget(Kit *kit, const KitAspect *ki);
Core::Id kitInformationId() const; Core::Id kitInformationId() const;
@@ -74,7 +74,7 @@ signals:
protected: protected:
Kit *m_kit; Kit *m_kit;
const KitInformation *m_kitInformation; const KitAspect *m_kitInformation;
bool m_isSticky; bool m_isSticky;
}; };

View File

@@ -50,26 +50,26 @@ const char KITINFORMATION_ID_V2[] = "PE.Profile.ToolChains";
const char KITINFORMATION_ID_V3[] = "PE.Profile.ToolChainsV3"; const char KITINFORMATION_ID_V3[] = "PE.Profile.ToolChainsV3";
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// SysRootKitInformation: // SysRootKitAspect:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
SysRootKitInformation::SysRootKitInformation() SysRootKitAspect::SysRootKitAspect()
{ {
setObjectName(QLatin1String("SysRootInformation")); setObjectName(QLatin1String("SysRootInformation"));
setId(SysRootKitInformation::id()); setId(SysRootKitAspect::id());
setPriority(31000); setPriority(31000);
} }
QVariant SysRootKitInformation::defaultValue(const Kit *k) const QVariant SysRootKitAspect::defaultValue(const Kit *k) const
{ {
Q_UNUSED(k) Q_UNUSED(k)
return QString(); return QString();
} }
QList<Task> SysRootKitInformation::validate(const Kit *k) const QList<Task> SysRootKitAspect::validate(const Kit *k) const
{ {
QList<Task> result; QList<Task> result;
const Utils::FileName dir = SysRootKitInformation::sysRoot(k); const Utils::FileName dir = SysRootKitAspect::sysRoot(k);
if (dir.isEmpty()) if (dir.isEmpty())
return result; return result;
@@ -91,41 +91,41 @@ QList<Task> SysRootKitInformation::validate(const Kit *k) const
return result; return result;
} }
KitConfigWidget *SysRootKitInformation::createConfigWidget(Kit *k) const KitAspectWidget *SysRootKitAspect::createConfigWidget(Kit *k) const
{ {
QTC_ASSERT(k, return nullptr); QTC_ASSERT(k, return nullptr);
return new Internal::SysRootInformationConfigWidget(k, this); return new Internal::SysRootKitAspectWidget(k, this);
} }
KitInformation::ItemList SysRootKitInformation::toUserOutput(const Kit *k) const KitAspect::ItemList SysRootKitAspect::toUserOutput(const Kit *k) const
{ {
return ItemList() << qMakePair(tr("Sys Root"), sysRoot(k).toUserOutput()); return ItemList() << qMakePair(tr("Sys Root"), sysRoot(k).toUserOutput());
} }
void SysRootKitInformation::addToMacroExpander(Kit *kit, Utils::MacroExpander *expander) const void SysRootKitAspect::addToMacroExpander(Kit *kit, Utils::MacroExpander *expander) const
{ {
QTC_ASSERT(kit, return); QTC_ASSERT(kit, return);
expander->registerFileVariables("SysRoot", tr("Sys Root"), [kit]() -> QString { expander->registerFileVariables("SysRoot", tr("Sys Root"), [kit]() -> QString {
return SysRootKitInformation::sysRoot(kit).toString(); return SysRootKitAspect::sysRoot(kit).toString();
}); });
} }
Core::Id SysRootKitInformation::id() Core::Id SysRootKitAspect::id()
{ {
return "PE.Profile.SysRoot"; return "PE.Profile.SysRoot";
} }
Utils::FileName SysRootKitInformation::sysRoot(const Kit *k) Utils::FileName SysRootKitAspect::sysRoot(const Kit *k)
{ {
if (!k) if (!k)
return Utils::FileName(); return Utils::FileName();
if (!k->value(SysRootKitInformation::id()).toString().isEmpty()) if (!k->value(SysRootKitAspect::id()).toString().isEmpty())
return Utils::FileName::fromString(k->value(SysRootKitInformation::id()).toString()); return Utils::FileName::fromString(k->value(SysRootKitAspect::id()).toString());
for (ToolChain *tc : ToolChainKitInformation::toolChains(k)) { for (ToolChain *tc : ToolChainKitAspect::toolChains(k)) {
if (!tc->sysRoot().isEmpty()) if (!tc->sysRoot().isEmpty())
return Utils::FileName::fromString(tc->sysRoot()); return Utils::FileName::fromString(tc->sysRoot());
} }
@@ -133,12 +133,12 @@ Utils::FileName SysRootKitInformation::sysRoot(const Kit *k)
return Utils::FileName(); return Utils::FileName();
} }
void SysRootKitInformation::setSysRoot(Kit *k, const Utils::FileName &v) void SysRootKitAspect::setSysRoot(Kit *k, const Utils::FileName &v)
{ {
if (!k) if (!k)
return; return;
for (ToolChain *tc : ToolChainKitInformation::toolChains(k)) { for (ToolChain *tc : ToolChainKitAspect::toolChains(k)) {
if (!tc->sysRoot().isEmpty()) { if (!tc->sysRoot().isEmpty()) {
// It's the sysroot from toolchain, don't set it. // It's the sysroot from toolchain, don't set it.
if (tc->sysRoot() == v.toString()) if (tc->sysRoot() == v.toString())
@@ -148,21 +148,21 @@ void SysRootKitInformation::setSysRoot(Kit *k, const Utils::FileName &v)
break; break;
} }
} }
k->setValue(SysRootKitInformation::id(), v.toString()); k->setValue(SysRootKitAspect::id(), v.toString());
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// ToolChainKitInformation: // ToolChainKitAspect:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
ToolChainKitInformation::ToolChainKitInformation() ToolChainKitAspect::ToolChainKitAspect()
{ {
setObjectName(QLatin1String("ToolChainInformation")); setObjectName(QLatin1String("ToolChainInformation"));
setId(ToolChainKitInformation::id()); setId(ToolChainKitAspect::id());
setPriority(30000); setPriority(30000);
connect(KitManager::instance(), &KitManager::kitsLoaded, connect(KitManager::instance(), &KitManager::kitsLoaded,
this, &ToolChainKitInformation::kitsWereLoaded); this, &ToolChainKitAspect::kitsWereLoaded);
} }
// language id -> tool chain id // language id -> tool chain id
@@ -189,19 +189,19 @@ static QVariant defaultToolChainValue()
return result; return result;
} }
QVariant ToolChainKitInformation::defaultValue(const Kit *k) const QVariant ToolChainKitAspect::defaultValue(const Kit *k) const
{ {
Q_UNUSED(k); Q_UNUSED(k);
return defaultToolChainValue(); return defaultToolChainValue();
} }
QList<Task> ToolChainKitInformation::validate(const Kit *k) const QList<Task> ToolChainKitAspect::validate(const Kit *k) const
{ {
QList<Task> result; QList<Task> result;
const QList<ToolChain*> tcList = toolChains(k); const QList<ToolChain*> tcList = toolChains(k);
if (tcList.isEmpty()) { if (tcList.isEmpty()) {
result << Task(Task::Warning, ToolChainKitInformation::msgNoToolChainInTarget(), result << Task(Task::Warning, ToolChainKitAspect::msgNoToolChainInTarget(),
Utils::FileName(), -1, Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM)); Utils::FileName(), -1, Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM));
} else { } else {
QSet<Abi> targetAbis; QSet<Abi> targetAbis;
@@ -218,7 +218,7 @@ QList<Task> ToolChainKitInformation::validate(const Kit *k) const
return result; return result;
} }
void ToolChainKitInformation::upgrade(Kit *k) void ToolChainKitAspect::upgrade(Kit *k)
{ {
QTC_ASSERT(k, return); QTC_ASSERT(k, return);
@@ -238,7 +238,7 @@ void ToolChainKitInformation::upgrade(Kit *k)
// Used up to 4.1: // Used up to 4.1:
newValue.insert(Deprecated::Toolchain::languageId(Deprecated::Toolchain::Cxx), oldValue.toString()); newValue.insert(Deprecated::Toolchain::languageId(Deprecated::Toolchain::Cxx), oldValue.toString());
const Core::Id typeId = DeviceTypeKitInformation::deviceTypeId(k); const Core::Id typeId = DeviceTypeKitAspect::deviceTypeId(k);
if (typeId == Constants::DESKTOP_DEVICE_TYPE) { if (typeId == Constants::DESKTOP_DEVICE_TYPE) {
// insert default C compiler which did not exist before // insert default C compiler which did not exist before
newValue.insert(Deprecated::Toolchain::languageId(Deprecated::Toolchain::C), newValue.insert(Deprecated::Toolchain::languageId(Deprecated::Toolchain::C),
@@ -253,7 +253,7 @@ void ToolChainKitInformation::upgrade(Kit *k)
// upgrade 4.2 to 4.3 (keep old settings around for now) // upgrade 4.2 to 4.3 (keep old settings around for now)
{ {
const QVariant oldValue = k->value(oldIdV2); const QVariant oldValue = k->value(oldIdV2);
const QVariant value = k->value(ToolChainKitInformation::id()); const QVariant value = k->value(ToolChainKitAspect::id());
if (value.isNull() && !oldValue.isNull()) { if (value.isNull() && !oldValue.isNull()) {
QVariantMap newValue = oldValue.toMap(); QVariantMap newValue = oldValue.toMap();
QVariantMap::iterator it = newValue.find(Deprecated::Toolchain::languageId(Deprecated::Toolchain::C)); QVariantMap::iterator it = newValue.find(Deprecated::Toolchain::languageId(Deprecated::Toolchain::C));
@@ -262,14 +262,14 @@ void ToolChainKitInformation::upgrade(Kit *k)
it = newValue.find(Deprecated::Toolchain::languageId(Deprecated::Toolchain::Cxx)); it = newValue.find(Deprecated::Toolchain::languageId(Deprecated::Toolchain::Cxx));
if (it != newValue.end()) if (it != newValue.end())
newValue.insert(Core::Id(Constants::CXX_LANGUAGE_ID).toString(), it.value()); newValue.insert(Core::Id(Constants::CXX_LANGUAGE_ID).toString(), it.value());
k->setValue(ToolChainKitInformation::id(), newValue); k->setValue(ToolChainKitAspect::id(), newValue);
k->setSticky(ToolChainKitInformation::id(), k->isSticky(oldIdV2)); k->setSticky(ToolChainKitAspect::id(), k->isSticky(oldIdV2));
} }
} }
// upgrade 4.3-temporary-master-state to 4.3: // upgrade 4.3-temporary-master-state to 4.3:
{ {
const QVariantMap valueMap = k->value(ToolChainKitInformation::id()).toMap(); const QVariantMap valueMap = k->value(ToolChainKitAspect::id()).toMap();
QVariantMap result; QVariantMap result;
for (const QString &key : valueMap.keys()) { for (const QString &key : valueMap.keys()) {
const int pos = key.lastIndexOf('.'); const int pos = key.lastIndexOf('.');
@@ -278,11 +278,11 @@ void ToolChainKitInformation::upgrade(Kit *k)
else else
result.insert(key, valueMap.value(key)); result.insert(key, valueMap.value(key));
} }
k->setValue(ToolChainKitInformation::id(), result); k->setValue(ToolChainKitAspect::id(), result);
} }
} }
void ToolChainKitInformation::fix(Kit *k) void ToolChainKitAspect::fix(Kit *k)
{ {
QTC_ASSERT(ToolChainManager::isLoaded(), return); QTC_ASSERT(ToolChainManager::isLoaded(), return);
foreach (const Core::Id& l, ToolChainManager::allLanguages()) { foreach (const Core::Id& l, ToolChainManager::allLanguages()) {
@@ -303,12 +303,12 @@ static Core::Id findLanguage(const QString &ls)
[lsUpper](Core::Id l) { return lsUpper == l.toString().toUpper(); }); [lsUpper](Core::Id l) { return lsUpper == l.toString().toUpper(); });
} }
void ToolChainKitInformation::setup(Kit *k) void ToolChainKitAspect::setup(Kit *k)
{ {
QTC_ASSERT(ToolChainManager::isLoaded(), return); QTC_ASSERT(ToolChainManager::isLoaded(), return);
QTC_ASSERT(k, return); QTC_ASSERT(k, return);
const QVariantMap value = k->value(ToolChainKitInformation::id()).toMap(); const QVariantMap value = k->value(ToolChainKitAspect::id()).toMap();
for (auto i = value.constBegin(); i != value.constEnd(); ++i) { for (auto i = value.constBegin(); i != value.constEnd(); ++i) {
Core::Id l = findLanguage(i.key()); Core::Id l = findLanguage(i.key());
@@ -333,32 +333,32 @@ void ToolChainKitInformation::setup(Kit *k)
} }
} }
KitConfigWidget *ToolChainKitInformation::createConfigWidget(Kit *k) const KitAspectWidget *ToolChainKitAspect::createConfigWidget(Kit *k) const
{ {
QTC_ASSERT(k, return nullptr); QTC_ASSERT(k, return nullptr);
return new Internal::ToolChainInformationConfigWidget(k, this); return new Internal::ToolChainKitAspectWidget(k, this);
} }
QString ToolChainKitInformation::displayNamePostfix(const Kit *k) const QString ToolChainKitAspect::displayNamePostfix(const Kit *k) const
{ {
ToolChain *tc = toolChain(k, Constants::CXX_LANGUAGE_ID); ToolChain *tc = toolChain(k, Constants::CXX_LANGUAGE_ID);
return tc ? tc->displayName() : QString(); return tc ? tc->displayName() : QString();
} }
KitInformation::ItemList ToolChainKitInformation::toUserOutput(const Kit *k) const KitAspect::ItemList ToolChainKitAspect::toUserOutput(const Kit *k) const
{ {
ToolChain *tc = toolChain(k, Constants::CXX_LANGUAGE_ID); ToolChain *tc = toolChain(k, Constants::CXX_LANGUAGE_ID);
return ItemList() << qMakePair(tr("Compiler"), tc ? tc->displayName() : tr("None")); return ItemList() << qMakePair(tr("Compiler"), tc ? tc->displayName() : tr("None"));
} }
void ToolChainKitInformation::addToEnvironment(const Kit *k, Utils::Environment &env) const void ToolChainKitAspect::addToEnvironment(const Kit *k, Utils::Environment &env) const
{ {
ToolChain *tc = toolChain(k, Constants::CXX_LANGUAGE_ID); ToolChain *tc = toolChain(k, Constants::CXX_LANGUAGE_ID);
if (tc) if (tc)
tc->addToEnvironment(env); tc->addToEnvironment(env);
} }
void ToolChainKitInformation::addToMacroExpander(Kit *kit, Utils::MacroExpander *expander) const void ToolChainKitAspect::addToMacroExpander(Kit *kit, Utils::MacroExpander *expander) const
{ {
QTC_ASSERT(kit, return); QTC_ASSERT(kit, return);
@@ -388,7 +388,7 @@ void ToolChainKitInformation::addToMacroExpander(Kit *kit, Utils::MacroExpander
} }
IOutputParser *ToolChainKitInformation::createOutputParser(const Kit *k) const IOutputParser *ToolChainKitAspect::createOutputParser(const Kit *k) const
{ {
for (const Core::Id langId : {Constants::CXX_LANGUAGE_ID, Constants::C_LANGUAGE_ID}) { for (const Core::Id langId : {Constants::CXX_LANGUAGE_ID, Constants::C_LANGUAGE_ID}) {
if (const ToolChain * const tc = toolChain(k, langId)) if (const ToolChain * const tc = toolChain(k, langId))
@@ -397,7 +397,7 @@ IOutputParser *ToolChainKitInformation::createOutputParser(const Kit *k) const
return nullptr; return nullptr;
} }
QSet<Core::Id> ToolChainKitInformation::availableFeatures(const Kit *k) const QSet<Core::Id> ToolChainKitAspect::availableFeatures(const Kit *k) const
{ {
QSet<Core::Id> result; QSet<Core::Id> result;
for (ToolChain *tc : toolChains(k)) for (ToolChain *tc : toolChains(k))
@@ -405,30 +405,30 @@ QSet<Core::Id> ToolChainKitInformation::availableFeatures(const Kit *k) const
return result; return result;
} }
Core::Id ToolChainKitInformation::id() Core::Id ToolChainKitAspect::id()
{ {
return KITINFORMATION_ID_V3; return KITINFORMATION_ID_V3;
} }
QByteArray ToolChainKitInformation::toolChainId(const Kit *k, Core::Id language) QByteArray ToolChainKitAspect::toolChainId(const Kit *k, Core::Id language)
{ {
QTC_ASSERT(ToolChainManager::isLoaded(), return nullptr); QTC_ASSERT(ToolChainManager::isLoaded(), return nullptr);
if (!k) if (!k)
return QByteArray(); return QByteArray();
QVariantMap value = k->value(ToolChainKitInformation::id()).toMap(); QVariantMap value = k->value(ToolChainKitAspect::id()).toMap();
return value.value(language.toString(), QByteArray()).toByteArray(); return value.value(language.toString(), QByteArray()).toByteArray();
} }
ToolChain *ToolChainKitInformation::toolChain(const Kit *k, Core::Id language) ToolChain *ToolChainKitAspect::toolChain(const Kit *k, Core::Id language)
{ {
return ToolChainManager::findToolChain(toolChainId(k, language)); return ToolChainManager::findToolChain(toolChainId(k, language));
} }
QList<ToolChain *> ToolChainKitInformation::toolChains(const Kit *k) QList<ToolChain *> ToolChainKitAspect::toolChains(const Kit *k)
{ {
QTC_ASSERT(k, return QList<ToolChain *>()); QTC_ASSERT(k, return QList<ToolChain *>());
const QVariantMap value = k->value(ToolChainKitInformation::id()).toMap(); const QVariantMap value = k->value(ToolChainKitAspect::id()).toMap();
const QList<ToolChain *> tcList const QList<ToolChain *> tcList
= Utils::transform(ToolChainManager::allLanguages().toList(), = Utils::transform(ToolChainManager::allLanguages().toList(),
[&value](Core::Id l) -> ToolChain * { [&value](Core::Id l) -> ToolChain * {
@@ -437,18 +437,18 @@ QList<ToolChain *> ToolChainKitInformation::toolChains(const Kit *k)
return Utils::filtered(tcList, [](ToolChain *tc) { return tc; }); return Utils::filtered(tcList, [](ToolChain *tc) { return tc; });
} }
void ToolChainKitInformation::setToolChain(Kit *k, ToolChain *tc) void ToolChainKitAspect::setToolChain(Kit *k, ToolChain *tc)
{ {
QTC_ASSERT(tc, return); QTC_ASSERT(tc, return);
QTC_ASSERT(k, return); QTC_ASSERT(k, return);
QVariantMap result = k->value(ToolChainKitInformation::id()).toMap(); QVariantMap result = k->value(ToolChainKitAspect::id()).toMap();
result.insert(tc->language().toString(), tc->id()); result.insert(tc->language().toString(), tc->id());
k->setValue(id(), result); k->setValue(id(), result);
} }
/** /**
* @brief ToolChainKitInformation::setAllToolChainsToMatch * @brief ToolChainKitAspect::setAllToolChainsToMatch
* *
* Set up all toolchains to be similar to the one toolchain provided. Similar ideally means * Set up all toolchains to be similar to the one toolchain provided. Similar ideally means
* that all toolchains use the "same" compiler from the same installation, but we will * that all toolchains use the "same" compiler from the same installation, but we will
@@ -457,7 +457,7 @@ void ToolChainKitInformation::setToolChain(Kit *k, ToolChain *tc)
* @param k The kit to set up * @param k The kit to set up
* @param tc The toolchain to match other languages for. * @param tc The toolchain to match other languages for.
*/ */
void ToolChainKitInformation::setAllToolChainsToMatch(Kit *k, ToolChain *tc) void ToolChainKitAspect::setAllToolChainsToMatch(Kit *k, ToolChain *tc)
{ {
QTC_ASSERT(tc, return); QTC_ASSERT(tc, return);
QTC_ASSERT(k, return); QTC_ASSERT(k, return);
@@ -465,7 +465,7 @@ void ToolChainKitInformation::setAllToolChainsToMatch(Kit *k, ToolChain *tc)
const QList<ToolChain *> allTcList = ToolChainManager::toolChains(); const QList<ToolChain *> allTcList = ToolChainManager::toolChains();
QTC_ASSERT(allTcList.contains(tc), return); QTC_ASSERT(allTcList.contains(tc), return);
QVariantMap result = k->value(ToolChainKitInformation::id()).toMap(); QVariantMap result = k->value(ToolChainKitAspect::id()).toMap();
result.insert(tc->language().toString(), tc->id()); result.insert(tc->language().toString(), tc->id());
for (Core::Id l : ToolChainManager::allLanguages()) { for (Core::Id l : ToolChainManager::allLanguages()) {
@@ -496,17 +496,17 @@ void ToolChainKitInformation::setAllToolChainsToMatch(Kit *k, ToolChain *tc)
k->setValue(id(), result); k->setValue(id(), result);
} }
void ToolChainKitInformation::clearToolChain(Kit *k, Core::Id language) void ToolChainKitAspect::clearToolChain(Kit *k, Core::Id language)
{ {
QTC_ASSERT(language.isValid(), return); QTC_ASSERT(language.isValid(), return);
QTC_ASSERT(k, return); QTC_ASSERT(k, return);
QVariantMap result = k->value(ToolChainKitInformation::id()).toMap(); QVariantMap result = k->value(ToolChainKitAspect::id()).toMap();
result.insert(language.toString(), QByteArray()); result.insert(language.toString(), QByteArray());
k->setValue(id(), result); k->setValue(id(), result);
} }
Abi ToolChainKitInformation::targetAbi(const Kit *k) Abi ToolChainKitAspect::targetAbi(const Kit *k)
{ {
QList<ToolChain *> tcList = toolChains(k); QList<ToolChain *> tcList = toolChains(k);
// Find the best possible ABI for all the tool chains... // Find the best possible ABI for all the tool chains...
@@ -539,29 +539,29 @@ Abi ToolChainKitInformation::targetAbi(const Kit *k)
return candidates.at(0); // Use basically a random Abi... return candidates.at(0); // Use basically a random Abi...
} }
QString ToolChainKitInformation::msgNoToolChainInTarget() QString ToolChainKitAspect::msgNoToolChainInTarget()
{ {
return tr("No compiler set in kit."); return tr("No compiler set in kit.");
} }
void ToolChainKitInformation::kitsWereLoaded() void ToolChainKitAspect::kitsWereLoaded()
{ {
foreach (Kit *k, KitManager::kits()) foreach (Kit *k, KitManager::kits())
fix(k); fix(k);
connect(ToolChainManager::instance(), &ToolChainManager::toolChainRemoved, connect(ToolChainManager::instance(), &ToolChainManager::toolChainRemoved,
this, &ToolChainKitInformation::toolChainRemoved); this, &ToolChainKitAspect::toolChainRemoved);
connect(ToolChainManager::instance(), &ToolChainManager::toolChainUpdated, connect(ToolChainManager::instance(), &ToolChainManager::toolChainUpdated,
this, &ToolChainKitInformation::toolChainUpdated); this, &ToolChainKitAspect::toolChainUpdated);
} }
void ToolChainKitInformation::toolChainUpdated(ToolChain *tc) void ToolChainKitAspect::toolChainUpdated(ToolChain *tc)
{ {
for (Kit *k : KitManager::kits([tc](const Kit *k) { return toolChain(k, tc->language()) == tc; })) for (Kit *k : KitManager::kits([tc](const Kit *k) { return toolChain(k, tc->language()) == tc; }))
notifyAboutUpdate(k); notifyAboutUpdate(k);
} }
void ToolChainKitInformation::toolChainRemoved(ToolChain *tc) void ToolChainKitAspect::toolChainRemoved(ToolChain *tc)
{ {
Q_UNUSED(tc); Q_UNUSED(tc);
foreach (Kit *k, KitManager::kits()) foreach (Kit *k, KitManager::kits())
@@ -569,35 +569,35 @@ void ToolChainKitInformation::toolChainRemoved(ToolChain *tc)
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// DeviceTypeKitInformation: // DeviceTypeKitAspect:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
DeviceTypeKitInformation::DeviceTypeKitInformation() DeviceTypeKitAspect::DeviceTypeKitAspect()
{ {
setObjectName(QLatin1String("DeviceTypeInformation")); setObjectName(QLatin1String("DeviceTypeInformation"));
setId(DeviceTypeKitInformation::id()); setId(DeviceTypeKitAspect::id());
setPriority(33000); setPriority(33000);
} }
QVariant DeviceTypeKitInformation::defaultValue(const Kit *k) const QVariant DeviceTypeKitAspect::defaultValue(const Kit *k) const
{ {
Q_UNUSED(k); Q_UNUSED(k);
return QByteArray(Constants::DESKTOP_DEVICE_TYPE); return QByteArray(Constants::DESKTOP_DEVICE_TYPE);
} }
QList<Task> DeviceTypeKitInformation::validate(const Kit *k) const QList<Task> DeviceTypeKitAspect::validate(const Kit *k) const
{ {
Q_UNUSED(k); Q_UNUSED(k);
return QList<Task>(); return QList<Task>();
} }
KitConfigWidget *DeviceTypeKitInformation::createConfigWidget(Kit *k) const KitAspectWidget *DeviceTypeKitAspect::createConfigWidget(Kit *k) const
{ {
QTC_ASSERT(k, return nullptr); QTC_ASSERT(k, return nullptr);
return new Internal::DeviceTypeInformationConfigWidget(k, this); return new Internal::DeviceTypeKitAspectWidget(k, this);
} }
KitInformation::ItemList DeviceTypeKitInformation::toUserOutput(const Kit *k) const KitAspect::ItemList DeviceTypeKitAspect::toUserOutput(const Kit *k) const
{ {
QTC_ASSERT(k, return {}); QTC_ASSERT(k, return {});
Core::Id type = deviceTypeId(k); Core::Id type = deviceTypeId(k);
@@ -609,57 +609,57 @@ KitInformation::ItemList DeviceTypeKitInformation::toUserOutput(const Kit *k) co
return ItemList() << qMakePair(tr("Device type"), typeDisplayName); return ItemList() << qMakePair(tr("Device type"), typeDisplayName);
} }
const Core::Id DeviceTypeKitInformation::id() const Core::Id DeviceTypeKitAspect::id()
{ {
return "PE.Profile.DeviceType"; return "PE.Profile.DeviceType";
} }
const Core::Id DeviceTypeKitInformation::deviceTypeId(const Kit *k) const Core::Id DeviceTypeKitAspect::deviceTypeId(const Kit *k)
{ {
return k ? Core::Id::fromSetting(k->value(DeviceTypeKitInformation::id())) : Core::Id(); return k ? Core::Id::fromSetting(k->value(DeviceTypeKitAspect::id())) : Core::Id();
} }
void DeviceTypeKitInformation::setDeviceTypeId(Kit *k, Core::Id type) void DeviceTypeKitAspect::setDeviceTypeId(Kit *k, Core::Id type)
{ {
QTC_ASSERT(k, return); QTC_ASSERT(k, return);
k->setValue(DeviceTypeKitInformation::id(), type.toSetting()); k->setValue(DeviceTypeKitAspect::id(), type.toSetting());
} }
Kit::Predicate DeviceTypeKitInformation::deviceTypePredicate(Core::Id type) Kit::Predicate DeviceTypeKitAspect::deviceTypePredicate(Core::Id type)
{ {
return [type](const Kit *kit) { return type.isValid() && deviceTypeId(kit) == type; }; return [type](const Kit *kit) { return type.isValid() && deviceTypeId(kit) == type; };
} }
QSet<Core::Id> DeviceTypeKitInformation::supportedPlatforms(const Kit *k) const QSet<Core::Id> DeviceTypeKitAspect::supportedPlatforms(const Kit *k) const
{ {
return {deviceTypeId(k)}; return {deviceTypeId(k)};
} }
QSet<Core::Id> DeviceTypeKitInformation::availableFeatures(const Kit *k) const QSet<Core::Id> DeviceTypeKitAspect::availableFeatures(const Kit *k) const
{ {
Core::Id id = DeviceTypeKitInformation::deviceTypeId(k); Core::Id id = DeviceTypeKitAspect::deviceTypeId(k);
if (id.isValid()) if (id.isValid())
return {id.withPrefix("DeviceType.")}; return {id.withPrefix("DeviceType.")};
return QSet<Core::Id>(); return QSet<Core::Id>();
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// DeviceKitInformation: // DeviceKitAspect:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
DeviceKitInformation::DeviceKitInformation() DeviceKitAspect::DeviceKitAspect()
{ {
setObjectName(QLatin1String("DeviceInformation")); setObjectName(QLatin1String("DeviceInformation"));
setId(DeviceKitInformation::id()); setId(DeviceKitAspect::id());
setPriority(32000); setPriority(32000);
connect(KitManager::instance(), &KitManager::kitsLoaded, connect(KitManager::instance(), &KitManager::kitsLoaded,
this, &DeviceKitInformation::kitsWereLoaded); this, &DeviceKitAspect::kitsWereLoaded);
} }
QVariant DeviceKitInformation::defaultValue(const Kit *k) const QVariant DeviceKitAspect::defaultValue(const Kit *k) const
{ {
Core::Id type = DeviceTypeKitInformation::deviceTypeId(k); Core::Id type = DeviceTypeKitAspect::deviceTypeId(k);
// Use default device if that is compatible: // Use default device if that is compatible:
IDevice::ConstPtr dev = DeviceManager::instance()->defaultDevice(type); IDevice::ConstPtr dev = DeviceManager::instance()->defaultDevice(type);
if (dev && dev->isCompatibleWith(k)) if (dev && dev->isCompatibleWith(k))
@@ -674,9 +674,9 @@ QVariant DeviceKitInformation::defaultValue(const Kit *k) const
return QString(); return QString();
} }
QList<Task> DeviceKitInformation::validate(const Kit *k) const QList<Task> DeviceKitAspect::validate(const Kit *k) const
{ {
IDevice::ConstPtr dev = DeviceKitInformation::device(k); IDevice::ConstPtr dev = DeviceKitAspect::device(k);
QList<Task> result; QList<Task> result;
if (dev.isNull()) if (dev.isNull())
result.append(Task(Task::Warning, tr("No device set."), result.append(Task(Task::Warning, tr("No device set."),
@@ -688,9 +688,9 @@ QList<Task> DeviceKitInformation::validate(const Kit *k) const
return result; return result;
} }
void DeviceKitInformation::fix(Kit *k) void DeviceKitAspect::fix(Kit *k)
{ {
IDevice::ConstPtr dev = DeviceKitInformation::device(k); IDevice::ConstPtr dev = DeviceKitAspect::device(k);
if (!dev.isNull() && !dev->isCompatibleWith(k)) { if (!dev.isNull() && !dev->isCompatibleWith(k)) {
qWarning("Device is no longer compatible with kit \"%s\", removing it.", qWarning("Device is no longer compatible with kit \"%s\", removing it.",
qPrintable(k->displayName())); qPrintable(k->displayName()));
@@ -698,109 +698,109 @@ void DeviceKitInformation::fix(Kit *k)
} }
} }
void DeviceKitInformation::setup(Kit *k) void DeviceKitAspect::setup(Kit *k)
{ {
QTC_ASSERT(DeviceManager::instance()->isLoaded(), return); QTC_ASSERT(DeviceManager::instance()->isLoaded(), return);
IDevice::ConstPtr dev = DeviceKitInformation::device(k); IDevice::ConstPtr dev = DeviceKitAspect::device(k);
if (!dev.isNull() && dev->isCompatibleWith(k)) if (!dev.isNull() && dev->isCompatibleWith(k))
return; return;
setDeviceId(k, Core::Id::fromSetting(defaultValue(k))); setDeviceId(k, Core::Id::fromSetting(defaultValue(k)));
} }
KitConfigWidget *DeviceKitInformation::createConfigWidget(Kit *k) const KitAspectWidget *DeviceKitAspect::createConfigWidget(Kit *k) const
{ {
QTC_ASSERT(k, return nullptr); QTC_ASSERT(k, return nullptr);
return new Internal::DeviceInformationConfigWidget(k, this); return new Internal::DeviceKitAspectWidget(k, this);
} }
QString DeviceKitInformation::displayNamePostfix(const Kit *k) const QString DeviceKitAspect::displayNamePostfix(const Kit *k) const
{ {
IDevice::ConstPtr dev = device(k); IDevice::ConstPtr dev = device(k);
return dev.isNull() ? QString() : dev->displayName(); return dev.isNull() ? QString() : dev->displayName();
} }
KitInformation::ItemList DeviceKitInformation::toUserOutput(const Kit *k) const KitAspect::ItemList DeviceKitAspect::toUserOutput(const Kit *k) const
{ {
IDevice::ConstPtr dev = device(k); IDevice::ConstPtr dev = device(k);
return ItemList() << qMakePair(tr("Device"), dev.isNull() ? tr("Unconfigured") : dev->displayName()); return ItemList() << qMakePair(tr("Device"), dev.isNull() ? tr("Unconfigured") : dev->displayName());
} }
void DeviceKitInformation::addToMacroExpander(Kit *kit, Utils::MacroExpander *expander) const void DeviceKitAspect::addToMacroExpander(Kit *kit, Utils::MacroExpander *expander) const
{ {
QTC_ASSERT(kit, return); QTC_ASSERT(kit, return);
expander->registerVariable("Device:HostAddress", tr("Host address"), expander->registerVariable("Device:HostAddress", tr("Host address"),
[kit]() -> QString { [kit]() -> QString {
const IDevice::ConstPtr device = DeviceKitInformation::device(kit); const IDevice::ConstPtr device = DeviceKitAspect::device(kit);
return device ? device->sshParameters().host() : QString(); return device ? device->sshParameters().host() : QString();
}); });
expander->registerVariable("Device:SshPort", tr("SSH port"), expander->registerVariable("Device:SshPort", tr("SSH port"),
[kit]() -> QString { [kit]() -> QString {
const IDevice::ConstPtr device = DeviceKitInformation::device(kit); const IDevice::ConstPtr device = DeviceKitAspect::device(kit);
return device ? QString::number(device->sshParameters().port()) : QString(); return device ? QString::number(device->sshParameters().port()) : QString();
}); });
expander->registerVariable("Device:UserName", tr("User name"), expander->registerVariable("Device:UserName", tr("User name"),
[kit]() -> QString { [kit]() -> QString {
const IDevice::ConstPtr device = DeviceKitInformation::device(kit); const IDevice::ConstPtr device = DeviceKitAspect::device(kit);
return device ? device->sshParameters().userName() : QString(); return device ? device->sshParameters().userName() : QString();
}); });
expander->registerVariable("Device:KeyFile", tr("Private key file"), expander->registerVariable("Device:KeyFile", tr("Private key file"),
[kit]() -> QString { [kit]() -> QString {
const IDevice::ConstPtr device = DeviceKitInformation::device(kit); const IDevice::ConstPtr device = DeviceKitAspect::device(kit);
return device ? device->sshParameters().privateKeyFile : QString(); return device ? device->sshParameters().privateKeyFile : QString();
}); });
expander->registerVariable("Device:Name", tr("Device name"), expander->registerVariable("Device:Name", tr("Device name"),
[kit]() -> QString { [kit]() -> QString {
const IDevice::ConstPtr device = DeviceKitInformation::device(kit); const IDevice::ConstPtr device = DeviceKitAspect::device(kit);
return device ? device->displayName() : QString(); return device ? device->displayName() : QString();
}); });
} }
Core::Id DeviceKitInformation::id() Core::Id DeviceKitAspect::id()
{ {
return "PE.Profile.Device"; return "PE.Profile.Device";
} }
IDevice::ConstPtr DeviceKitInformation::device(const Kit *k) IDevice::ConstPtr DeviceKitAspect::device(const Kit *k)
{ {
QTC_ASSERT(DeviceManager::instance()->isLoaded(), return IDevice::ConstPtr()); QTC_ASSERT(DeviceManager::instance()->isLoaded(), return IDevice::ConstPtr());
return DeviceManager::instance()->find(deviceId(k)); return DeviceManager::instance()->find(deviceId(k));
} }
Core::Id DeviceKitInformation::deviceId(const Kit *k) Core::Id DeviceKitAspect::deviceId(const Kit *k)
{ {
return k ? Core::Id::fromSetting(k->value(DeviceKitInformation::id())) : Core::Id(); return k ? Core::Id::fromSetting(k->value(DeviceKitAspect::id())) : Core::Id();
} }
void DeviceKitInformation::setDevice(Kit *k, IDevice::ConstPtr dev) void DeviceKitAspect::setDevice(Kit *k, IDevice::ConstPtr dev)
{ {
setDeviceId(k, dev ? dev->id() : Core::Id()); setDeviceId(k, dev ? dev->id() : Core::Id());
} }
void DeviceKitInformation::setDeviceId(Kit *k, Core::Id id) void DeviceKitAspect::setDeviceId(Kit *k, Core::Id id)
{ {
QTC_ASSERT(k, return); QTC_ASSERT(k, return);
k->setValue(DeviceKitInformation::id(), id.toSetting()); k->setValue(DeviceKitAspect::id(), id.toSetting());
} }
void DeviceKitInformation::kitsWereLoaded() void DeviceKitAspect::kitsWereLoaded()
{ {
foreach (Kit *k, KitManager::kits()) foreach (Kit *k, KitManager::kits())
fix(k); fix(k);
DeviceManager *dm = DeviceManager::instance(); DeviceManager *dm = DeviceManager::instance();
connect(dm, &DeviceManager::deviceListReplaced, this, &DeviceKitInformation::devicesChanged); connect(dm, &DeviceManager::deviceListReplaced, this, &DeviceKitAspect::devicesChanged);
connect(dm, &DeviceManager::deviceAdded, this, &DeviceKitInformation::devicesChanged); connect(dm, &DeviceManager::deviceAdded, this, &DeviceKitAspect::devicesChanged);
connect(dm, &DeviceManager::deviceRemoved, this, &DeviceKitInformation::devicesChanged); connect(dm, &DeviceManager::deviceRemoved, this, &DeviceKitAspect::devicesChanged);
connect(dm, &DeviceManager::deviceUpdated, this, &DeviceKitInformation::deviceUpdated); connect(dm, &DeviceManager::deviceUpdated, this, &DeviceKitAspect::deviceUpdated);
connect(KitManager::instance(), &KitManager::kitUpdated, connect(KitManager::instance(), &KitManager::kitUpdated,
this, &DeviceKitInformation::kitUpdated); this, &DeviceKitAspect::kitUpdated);
connect(KitManager::instance(), &KitManager::unmanagedKitUpdated, connect(KitManager::instance(), &KitManager::unmanagedKitUpdated,
this, &DeviceKitInformation::kitUpdated); this, &DeviceKitAspect::kitUpdated);
} }
void DeviceKitInformation::deviceUpdated(Core::Id id) void DeviceKitAspect::deviceUpdated(Core::Id id)
{ {
foreach (Kit *k, KitManager::kits()) { foreach (Kit *k, KitManager::kits()) {
if (deviceId(k) == id) if (deviceId(k) == id)
@@ -808,40 +808,40 @@ void DeviceKitInformation::deviceUpdated(Core::Id id)
} }
} }
void DeviceKitInformation::kitUpdated(Kit *k) void DeviceKitAspect::kitUpdated(Kit *k)
{ {
setup(k); // Set default device if necessary setup(k); // Set default device if necessary
} }
void DeviceKitInformation::devicesChanged() void DeviceKitAspect::devicesChanged()
{ {
foreach (Kit *k, KitManager::kits()) foreach (Kit *k, KitManager::kits())
setup(k); // Set default device if necessary setup(k); // Set default device if necessary
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// EnvironmentKitInformation: // EnvironmentKitAspect:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
EnvironmentKitInformation::EnvironmentKitInformation() EnvironmentKitAspect::EnvironmentKitAspect()
{ {
setObjectName(QLatin1String("EnvironmentKitInformation")); setObjectName(QLatin1String("EnvironmentKitAspect"));
setId(EnvironmentKitInformation::id()); setId(EnvironmentKitAspect::id());
setPriority(29000); setPriority(29000);
} }
QVariant EnvironmentKitInformation::defaultValue(const Kit *k) const QVariant EnvironmentKitAspect::defaultValue(const Kit *k) const
{ {
Q_UNUSED(k) Q_UNUSED(k)
return QStringList(); return QStringList();
} }
QList<Task> EnvironmentKitInformation::validate(const Kit *k) const QList<Task> EnvironmentKitAspect::validate(const Kit *k) const
{ {
QList<Task> result; QList<Task> result;
QTC_ASSERT(k, return result); QTC_ASSERT(k, return result);
const QVariant variant = k->value(EnvironmentKitInformation::id()); const QVariant variant = k->value(EnvironmentKitAspect::id());
if (!variant.isNull() && !variant.canConvert(QVariant::List)) { if (!variant.isNull() && !variant.canConvert(QVariant::List)) {
result.append(Task(Task::Error, tr("The environment setting value is invalid."), result.append(Task(Task::Error, tr("The environment setting value is invalid."),
Utils::FileName(), -1, Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))); Utils::FileName(), -1, Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM)));
@@ -849,18 +849,18 @@ QList<Task> EnvironmentKitInformation::validate(const Kit *k) const
return result; return result;
} }
void EnvironmentKitInformation::fix(Kit *k) void EnvironmentKitAspect::fix(Kit *k)
{ {
QTC_ASSERT(k, return); QTC_ASSERT(k, return);
const QVariant variant = k->value(EnvironmentKitInformation::id()); const QVariant variant = k->value(EnvironmentKitAspect::id());
if (!variant.isNull() && !variant.canConvert(QVariant::List)) { if (!variant.isNull() && !variant.canConvert(QVariant::List)) {
qWarning("Kit \"%s\" has a wrong environment value set.", qPrintable(k->displayName())); qWarning("Kit \"%s\" has a wrong environment value set.", qPrintable(k->displayName()));
setEnvironmentChanges(k, QList<Utils::EnvironmentItem>()); setEnvironmentChanges(k, QList<Utils::EnvironmentItem>());
} }
} }
void EnvironmentKitInformation::addToEnvironment(const Kit *k, Utils::Environment &env) const void EnvironmentKitAspect::addToEnvironment(const Kit *k, Utils::Environment &env) const
{ {
const QStringList values const QStringList values
= Utils::transform(Utils::EnvironmentItem::toStringList(environmentChanges(k)), = Utils::transform(Utils::EnvironmentItem::toStringList(environmentChanges(k)),
@@ -868,34 +868,34 @@ void EnvironmentKitInformation::addToEnvironment(const Kit *k, Utils::Environmen
env.modify(Utils::EnvironmentItem::fromStringList(values)); env.modify(Utils::EnvironmentItem::fromStringList(values));
} }
KitConfigWidget *EnvironmentKitInformation::createConfigWidget(Kit *k) const KitAspectWidget *EnvironmentKitAspect::createConfigWidget(Kit *k) const
{ {
QTC_ASSERT(k, return nullptr); QTC_ASSERT(k, return nullptr);
return new Internal::KitEnvironmentConfigWidget(k, this); return new Internal::EnvironmentKitAspectWidget(k, this);
} }
KitInformation::ItemList EnvironmentKitInformation::toUserOutput(const Kit *k) const KitAspect::ItemList EnvironmentKitAspect::toUserOutput(const Kit *k) const
{ {
return { qMakePair(tr("Environment"), return { qMakePair(tr("Environment"),
Utils::EnvironmentItem::toStringList(environmentChanges(k)).join("<br>")) }; Utils::EnvironmentItem::toStringList(environmentChanges(k)).join("<br>")) };
} }
Core::Id EnvironmentKitInformation::id() Core::Id EnvironmentKitAspect::id()
{ {
return "PE.Profile.Environment"; return "PE.Profile.Environment";
} }
QList<Utils::EnvironmentItem> EnvironmentKitInformation::environmentChanges(const Kit *k) QList<Utils::EnvironmentItem> EnvironmentKitAspect::environmentChanges(const Kit *k)
{ {
if (k) if (k)
return Utils::EnvironmentItem::fromStringList(k->value(EnvironmentKitInformation::id()).toStringList()); return Utils::EnvironmentItem::fromStringList(k->value(EnvironmentKitAspect::id()).toStringList());
return QList<Utils::EnvironmentItem>(); return QList<Utils::EnvironmentItem>();
} }
void EnvironmentKitInformation::setEnvironmentChanges(Kit *k, const QList<Utils::EnvironmentItem> &changes) void EnvironmentKitAspect::setEnvironmentChanges(Kit *k, const QList<Utils::EnvironmentItem> &changes)
{ {
if (k) if (k)
k->setValue(EnvironmentKitInformation::id(), Utils::EnvironmentItem::toStringList(changes)); k->setValue(EnvironmentKitAspect::id(), Utils::EnvironmentItem::toStringList(changes));
} }
} // namespace ProjectExplorer } // namespace ProjectExplorer

View File

@@ -37,24 +37,24 @@
namespace ProjectExplorer { namespace ProjectExplorer {
class KitConfigWidget; class KitAspectWidget;
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// SysRootInformation: // SysRootInformation:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
class PROJECTEXPLORER_EXPORT SysRootKitInformation : public KitInformation class PROJECTEXPLORER_EXPORT SysRootKitAspect : public KitAspect
{ {
Q_OBJECT Q_OBJECT
public: public:
SysRootKitInformation(); SysRootKitAspect();
QVariant defaultValue(const Kit *k) const override; QVariant defaultValue(const Kit *k) const override;
QList<Task> validate(const Kit *k) const override; QList<Task> validate(const Kit *k) const override;
KitConfigWidget *createConfigWidget(Kit *k) const override; KitAspectWidget *createConfigWidget(Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override; ItemList toUserOutput(const Kit *k) const override;
void addToMacroExpander(Kit *kit, Utils::MacroExpander *expander) const override; void addToMacroExpander(Kit *kit, Utils::MacroExpander *expander) const override;
@@ -68,12 +68,12 @@ public:
// ToolChainInformation: // ToolChainInformation:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
class PROJECTEXPLORER_EXPORT ToolChainKitInformation : public KitInformation class PROJECTEXPLORER_EXPORT ToolChainKitAspect : public KitAspect
{ {
Q_OBJECT Q_OBJECT
public: public:
ToolChainKitInformation(); ToolChainKitAspect();
QVariant defaultValue(const Kit *k) const override; QVariant defaultValue(const Kit *k) const override;
@@ -82,7 +82,7 @@ public:
void fix(Kit *k) override; void fix(Kit *k) override;
void setup(Kit *k) override; void setup(Kit *k) override;
KitConfigWidget *createConfigWidget(Kit *k) const override; KitAspectWidget *createConfigWidget(Kit *k) const override;
QString displayNamePostfix(const Kit *k) const override; QString displayNamePostfix(const Kit *k) const override;
@@ -114,18 +114,18 @@ private:
// DeviceTypeInformation: // DeviceTypeInformation:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
class PROJECTEXPLORER_EXPORT DeviceTypeKitInformation : public KitInformation class PROJECTEXPLORER_EXPORT DeviceTypeKitAspect : public KitAspect
{ {
Q_OBJECT Q_OBJECT
public: public:
DeviceTypeKitInformation(); DeviceTypeKitAspect();
QVariant defaultValue(const Kit *k) const override; QVariant defaultValue(const Kit *k) const override;
QList<Task> validate(const Kit *k) const override; QList<Task> validate(const Kit *k) const override;
KitConfigWidget *createConfigWidget(Kit *k) const override; KitAspectWidget *createConfigWidget(Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override; ItemList toUserOutput(const Kit *k) const override;
@@ -143,12 +143,12 @@ public:
// DeviceInformation: // DeviceInformation:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
class PROJECTEXPLORER_EXPORT DeviceKitInformation : public KitInformation class PROJECTEXPLORER_EXPORT DeviceKitAspect : public KitAspect
{ {
Q_OBJECT Q_OBJECT
public: public:
DeviceKitInformation(); DeviceKitAspect();
QVariant defaultValue(const Kit *k) const override; QVariant defaultValue(const Kit *k) const override;
@@ -156,7 +156,7 @@ public:
void fix(Kit *k) override; void fix(Kit *k) override;
void setup(Kit *k) override; void setup(Kit *k) override;
KitConfigWidget *createConfigWidget(Kit *k) const override; KitAspectWidget *createConfigWidget(Kit *k) const override;
QString displayNamePostfix(const Kit *k) const override; QString displayNamePostfix(const Kit *k) const override;
@@ -178,15 +178,15 @@ private:
}; };
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// EnvironmentKitInformation: // EnvironmentKitAspect:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
class PROJECTEXPLORER_EXPORT EnvironmentKitInformation : public KitInformation class PROJECTEXPLORER_EXPORT EnvironmentKitAspect : public KitAspect
{ {
Q_OBJECT Q_OBJECT
public: public:
EnvironmentKitInformation(); EnvironmentKitAspect();
QVariant defaultValue(const Kit *k) const override; QVariant defaultValue(const Kit *k) const override;
@@ -194,7 +194,7 @@ public:
void fix(Kit *k) override; void fix(Kit *k) override;
void addToEnvironment(const Kit *k, Utils::Environment &env) const override; void addToEnvironment(const Kit *k, Utils::Environment &env) const override;
KitConfigWidget *createConfigWidget(Kit *k) const override; KitAspectWidget *createConfigWidget(Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override; ItemList toUserOutput(const Kit *k) const override;

View File

@@ -61,76 +61,76 @@ namespace ProjectExplorer {
namespace Internal { namespace Internal {
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// SysRootInformationConfigWidget: // SysRootKitAspectWidget:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
SysRootInformationConfigWidget::SysRootInformationConfigWidget(Kit *k, const KitInformation *ki) : SysRootKitAspectWidget::SysRootKitAspectWidget(Kit *k, const KitAspect *ki) :
KitConfigWidget(k, ki) KitAspectWidget(k, ki)
{ {
m_chooser = new Utils::PathChooser; m_chooser = new Utils::PathChooser;
m_chooser->setExpectedKind(Utils::PathChooser::ExistingDirectory); m_chooser->setExpectedKind(Utils::PathChooser::ExistingDirectory);
m_chooser->setHistoryCompleter(QLatin1String("PE.SysRoot.History")); m_chooser->setHistoryCompleter(QLatin1String("PE.SysRoot.History"));
m_chooser->setFileName(SysRootKitInformation::sysRoot(k)); m_chooser->setFileName(SysRootKitAspect::sysRoot(k));
connect(m_chooser, &Utils::PathChooser::pathChanged, connect(m_chooser, &Utils::PathChooser::pathChanged,
this, &SysRootInformationConfigWidget::pathWasChanged); this, &SysRootKitAspectWidget::pathWasChanged);
} }
SysRootInformationConfigWidget::~SysRootInformationConfigWidget() SysRootKitAspectWidget::~SysRootKitAspectWidget()
{ {
delete m_chooser; delete m_chooser;
} }
QString SysRootInformationConfigWidget::displayName() const QString SysRootKitAspectWidget::displayName() const
{ {
return tr("Sysroot"); return tr("Sysroot");
} }
QString SysRootInformationConfigWidget::toolTip() const QString SysRootKitAspectWidget::toolTip() const
{ {
return tr("The root directory of the system image to use.<br>" return tr("The root directory of the system image to use.<br>"
"Leave empty when building for the desktop."); "Leave empty when building for the desktop.");
} }
void SysRootInformationConfigWidget::setPalette(const QPalette &p) void SysRootKitAspectWidget::setPalette(const QPalette &p)
{ {
KitConfigWidget::setPalette(p); KitAspectWidget::setPalette(p);
m_chooser->setOkColor(p.color(QPalette::Active, QPalette::Text)); m_chooser->setOkColor(p.color(QPalette::Active, QPalette::Text));
} }
void SysRootInformationConfigWidget::refresh() void SysRootKitAspectWidget::refresh()
{ {
if (!m_ignoreChange) if (!m_ignoreChange)
m_chooser->setFileName(SysRootKitInformation::sysRoot(m_kit)); m_chooser->setFileName(SysRootKitAspect::sysRoot(m_kit));
} }
void SysRootInformationConfigWidget::makeReadOnly() void SysRootKitAspectWidget::makeReadOnly()
{ {
m_chooser->setReadOnly(true); m_chooser->setReadOnly(true);
} }
QWidget *SysRootInformationConfigWidget::mainWidget() const QWidget *SysRootKitAspectWidget::mainWidget() const
{ {
return m_chooser->lineEdit(); return m_chooser->lineEdit();
} }
QWidget *SysRootInformationConfigWidget::buttonWidget() const QWidget *SysRootKitAspectWidget::buttonWidget() const
{ {
return m_chooser->buttonAtIndex(0); return m_chooser->buttonAtIndex(0);
} }
void SysRootInformationConfigWidget::pathWasChanged() void SysRootKitAspectWidget::pathWasChanged()
{ {
m_ignoreChange = true; m_ignoreChange = true;
SysRootKitInformation::setSysRoot(m_kit, m_chooser->fileName()); SysRootKitAspect::setSysRoot(m_kit, m_chooser->fileName());
m_ignoreChange = false; m_ignoreChange = false;
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// ToolChainInformationConfigWidget: // ToolChainKitAspectWidget:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
ToolChainInformationConfigWidget::ToolChainInformationConfigWidget(Kit *k, const KitInformation *ki) : ToolChainKitAspectWidget::ToolChainKitAspectWidget(Kit *k, const KitAspect *ki) :
KitConfigWidget(k, ki) KitAspectWidget(k, ki)
{ {
m_mainWidget = new QWidget; m_mainWidget = new QWidget;
m_mainWidget->setContentsMargins(0, 0, 0, 0); m_mainWidget->setContentsMargins(0, 0, 0, 0);
@@ -163,31 +163,31 @@ ToolChainInformationConfigWidget::ToolChainInformationConfigWidget(Kit *k, const
refresh(); refresh();
m_manageButton = new QPushButton(KitConfigWidget::msgManage()); m_manageButton = new QPushButton(KitAspectWidget::msgManage());
m_manageButton->setContentsMargins(0, 0, 0, 0); m_manageButton->setContentsMargins(0, 0, 0, 0);
connect(m_manageButton, &QAbstractButton::clicked, connect(m_manageButton, &QAbstractButton::clicked,
this, &ToolChainInformationConfigWidget::manageToolChains); this, &ToolChainKitAspectWidget::manageToolChains);
} }
ToolChainInformationConfigWidget::~ToolChainInformationConfigWidget() ToolChainKitAspectWidget::~ToolChainKitAspectWidget()
{ {
delete m_mainWidget; delete m_mainWidget;
delete m_manageButton; delete m_manageButton;
} }
QString ToolChainInformationConfigWidget::displayName() const QString ToolChainKitAspectWidget::displayName() const
{ {
return tr("Compiler"); return tr("Compiler");
} }
QString ToolChainInformationConfigWidget::toolTip() const QString ToolChainKitAspectWidget::toolTip() const
{ {
return tr("The compiler to use for building.<br>" return tr("The compiler to use for building.<br>"
"Make sure the compiler will produce binaries compatible with the target device, " "Make sure the compiler will produce binaries compatible with the target device, "
"Qt version and other libraries used."); "Qt version and other libraries used.");
} }
void ToolChainInformationConfigWidget::refresh() void ToolChainKitAspectWidget::refresh()
{ {
m_ignoreChanges = true; m_ignoreChanges = true;
@@ -203,13 +203,13 @@ void ToolChainInformationConfigWidget::refresh()
cb->addItem(tc->displayName(), tc->id()); cb->addItem(tc->displayName(), tc->id());
cb->setEnabled(cb->count() > 1 && !m_isReadOnly); cb->setEnabled(cb->count() > 1 && !m_isReadOnly);
const int index = indexOf(cb, ToolChainKitInformation::toolChain(m_kit, l)); const int index = indexOf(cb, ToolChainKitAspect::toolChain(m_kit, l));
cb->setCurrentIndex(index); cb->setCurrentIndex(index);
} }
m_ignoreChanges = false; m_ignoreChanges = false;
} }
void ToolChainInformationConfigWidget::makeReadOnly() void ToolChainKitAspectWidget::makeReadOnly()
{ {
m_isReadOnly = true; m_isReadOnly = true;
foreach (Core::Id l, m_languageComboboxMap.keys()) { foreach (Core::Id l, m_languageComboboxMap.keys()) {
@@ -217,22 +217,22 @@ void ToolChainInformationConfigWidget::makeReadOnly()
} }
} }
QWidget *ToolChainInformationConfigWidget::mainWidget() const QWidget *ToolChainKitAspectWidget::mainWidget() const
{ {
return m_mainWidget; return m_mainWidget;
} }
QWidget *ToolChainInformationConfigWidget::buttonWidget() const QWidget *ToolChainKitAspectWidget::buttonWidget() const
{ {
return m_manageButton; return m_manageButton;
} }
void ToolChainInformationConfigWidget::manageToolChains() void ToolChainKitAspectWidget::manageToolChains()
{ {
ICore::showOptionsDialog(Constants::TOOLCHAIN_SETTINGS_PAGE_ID, buttonWidget()); ICore::showOptionsDialog(Constants::TOOLCHAIN_SETTINGS_PAGE_ID, buttonWidget());
} }
void ToolChainInformationConfigWidget::currentToolChainChanged(Id language, int idx) void ToolChainKitAspectWidget::currentToolChainChanged(Id language, int idx)
{ {
if (m_ignoreChanges || idx < 0) if (m_ignoreChanges || idx < 0)
return; return;
@@ -241,12 +241,12 @@ void ToolChainInformationConfigWidget::currentToolChainChanged(Id language, int
ToolChain *tc = ToolChainManager::findToolChain(id); ToolChain *tc = ToolChainManager::findToolChain(id);
QTC_ASSERT(!tc || tc->language() == language, return); QTC_ASSERT(!tc || tc->language() == language, return);
if (tc) if (tc)
ToolChainKitInformation::setToolChain(m_kit, tc); ToolChainKitAspect::setToolChain(m_kit, tc);
else else
ToolChainKitInformation::clearToolChain(m_kit, language); ToolChainKitAspect::clearToolChain(m_kit, language);
} }
int ToolChainInformationConfigWidget::indexOf(QComboBox *cb, const ToolChain *tc) int ToolChainKitAspectWidget::indexOf(QComboBox *cb, const ToolChain *tc)
{ {
const QByteArray id = tc ? tc->id() : QByteArray(); const QByteArray id = tc ? tc->id() : QByteArray();
for (int i = 0; i < cb->count(); ++i) { for (int i = 0; i < cb->count(); ++i) {
@@ -257,11 +257,11 @@ int ToolChainInformationConfigWidget::indexOf(QComboBox *cb, const ToolChain *tc
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// DeviceTypeInformationConfigWidget: // DeviceTypeKitAspectWidget:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
DeviceTypeInformationConfigWidget::DeviceTypeInformationConfigWidget(Kit *workingCopy, const KitInformation *ki) : DeviceTypeKitAspectWidget::DeviceTypeKitAspectWidget(Kit *workingCopy, const KitAspect *ki) :
KitConfigWidget(workingCopy, ki), m_comboBox(new QComboBox) KitAspectWidget(workingCopy, ki), m_comboBox(new QComboBox)
{ {
for (IDeviceFactory *factory : IDeviceFactory::allDeviceFactories()) for (IDeviceFactory *factory : IDeviceFactory::allDeviceFactories())
m_comboBox->addItem(factory->displayName(), factory->deviceType().toSetting()); m_comboBox->addItem(factory->displayName(), factory->deviceType().toSetting());
@@ -270,32 +270,32 @@ DeviceTypeInformationConfigWidget::DeviceTypeInformationConfigWidget(Kit *workin
refresh(); refresh();
connect(m_comboBox, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), connect(m_comboBox, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
this, &DeviceTypeInformationConfigWidget::currentTypeChanged); this, &DeviceTypeKitAspectWidget::currentTypeChanged);
} }
DeviceTypeInformationConfigWidget::~DeviceTypeInformationConfigWidget() DeviceTypeKitAspectWidget::~DeviceTypeKitAspectWidget()
{ {
delete m_comboBox; delete m_comboBox;
} }
QWidget *DeviceTypeInformationConfigWidget::mainWidget() const QWidget *DeviceTypeKitAspectWidget::mainWidget() const
{ {
return m_comboBox; return m_comboBox;
} }
QString DeviceTypeInformationConfigWidget::displayName() const QString DeviceTypeKitAspectWidget::displayName() const
{ {
return tr("Device type"); return tr("Device type");
} }
QString DeviceTypeInformationConfigWidget::toolTip() const QString DeviceTypeKitAspectWidget::toolTip() const
{ {
return tr("The type of device to run applications on."); return tr("The type of device to run applications on.");
} }
void DeviceTypeInformationConfigWidget::refresh() void DeviceTypeKitAspectWidget::refresh()
{ {
Id devType = DeviceTypeKitInformation::deviceTypeId(m_kit); Id devType = DeviceTypeKitAspect::deviceTypeId(m_kit);
if (!devType.isValid()) if (!devType.isValid())
m_comboBox->setCurrentIndex(-1); m_comboBox->setCurrentIndex(-1);
for (int i = 0; i < m_comboBox->count(); ++i) { for (int i = 0; i < m_comboBox->count(); ++i) {
@@ -306,112 +306,112 @@ void DeviceTypeInformationConfigWidget::refresh()
} }
} }
void DeviceTypeInformationConfigWidget::makeReadOnly() void DeviceTypeKitAspectWidget::makeReadOnly()
{ {
m_comboBox->setEnabled(false); m_comboBox->setEnabled(false);
} }
void DeviceTypeInformationConfigWidget::currentTypeChanged(int idx) void DeviceTypeKitAspectWidget::currentTypeChanged(int idx)
{ {
Id type = idx < 0 ? Id() : Id::fromSetting(m_comboBox->itemData(idx)); Id type = idx < 0 ? Id() : Id::fromSetting(m_comboBox->itemData(idx));
DeviceTypeKitInformation::setDeviceTypeId(m_kit, type); DeviceTypeKitAspect::setDeviceTypeId(m_kit, type);
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// DeviceInformationConfigWidget: // DeviceKitAspectWidget:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
DeviceInformationConfigWidget::DeviceInformationConfigWidget(Kit *workingCopy, const KitInformation *ki) : DeviceKitAspectWidget::DeviceKitAspectWidget(Kit *workingCopy, const KitAspect *ki) :
KitConfigWidget(workingCopy, ki), KitAspectWidget(workingCopy, ki),
m_comboBox(new QComboBox), m_comboBox(new QComboBox),
m_model(new DeviceManagerModel(DeviceManager::instance())) m_model(new DeviceManagerModel(DeviceManager::instance()))
{ {
m_comboBox->setSizePolicy(QSizePolicy::Ignored, m_comboBox->sizePolicy().verticalPolicy()); m_comboBox->setSizePolicy(QSizePolicy::Ignored, m_comboBox->sizePolicy().verticalPolicy());
m_comboBox->setModel(m_model); m_comboBox->setModel(m_model);
m_manageButton = new QPushButton(KitConfigWidget::msgManage()); m_manageButton = new QPushButton(KitAspectWidget::msgManage());
refresh(); refresh();
m_comboBox->setToolTip(toolTip()); m_comboBox->setToolTip(toolTip());
connect(m_model, &QAbstractItemModel::modelAboutToBeReset, connect(m_model, &QAbstractItemModel::modelAboutToBeReset,
this, &DeviceInformationConfigWidget::modelAboutToReset); this, &DeviceKitAspectWidget::modelAboutToReset);
connect(m_model, &QAbstractItemModel::modelReset, connect(m_model, &QAbstractItemModel::modelReset,
this, &DeviceInformationConfigWidget::modelReset); this, &DeviceKitAspectWidget::modelReset);
connect(m_comboBox, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), connect(m_comboBox, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
this, &DeviceInformationConfigWidget::currentDeviceChanged); this, &DeviceKitAspectWidget::currentDeviceChanged);
connect(m_manageButton, &QAbstractButton::clicked, connect(m_manageButton, &QAbstractButton::clicked,
this, &DeviceInformationConfigWidget::manageDevices); this, &DeviceKitAspectWidget::manageDevices);
} }
DeviceInformationConfigWidget::~DeviceInformationConfigWidget() DeviceKitAspectWidget::~DeviceKitAspectWidget()
{ {
delete m_comboBox; delete m_comboBox;
delete m_model; delete m_model;
delete m_manageButton; delete m_manageButton;
} }
QWidget *DeviceInformationConfigWidget::mainWidget() const QWidget *DeviceKitAspectWidget::mainWidget() const
{ {
return m_comboBox; return m_comboBox;
} }
QString DeviceInformationConfigWidget::displayName() const QString DeviceKitAspectWidget::displayName() const
{ {
return tr("Device"); return tr("Device");
} }
QString DeviceInformationConfigWidget::toolTip() const QString DeviceKitAspectWidget::toolTip() const
{ {
return tr("The device to run the applications on."); return tr("The device to run the applications on.");
} }
void DeviceInformationConfigWidget::refresh() void DeviceKitAspectWidget::refresh()
{ {
m_model->setTypeFilter(DeviceTypeKitInformation::deviceTypeId(m_kit)); m_model->setTypeFilter(DeviceTypeKitAspect::deviceTypeId(m_kit));
m_comboBox->setCurrentIndex(m_model->indexOf(DeviceKitInformation::device(m_kit))); m_comboBox->setCurrentIndex(m_model->indexOf(DeviceKitAspect::device(m_kit)));
} }
void DeviceInformationConfigWidget::makeReadOnly() void DeviceKitAspectWidget::makeReadOnly()
{ {
m_comboBox->setEnabled(false); m_comboBox->setEnabled(false);
} }
QWidget *DeviceInformationConfigWidget::buttonWidget() const QWidget *DeviceKitAspectWidget::buttonWidget() const
{ {
return m_manageButton; return m_manageButton;
} }
void DeviceInformationConfigWidget::manageDevices() void DeviceKitAspectWidget::manageDevices()
{ {
ICore::showOptionsDialog(Constants::DEVICE_SETTINGS_PAGE_ID, buttonWidget()); ICore::showOptionsDialog(Constants::DEVICE_SETTINGS_PAGE_ID, buttonWidget());
} }
void DeviceInformationConfigWidget::modelAboutToReset() void DeviceKitAspectWidget::modelAboutToReset()
{ {
m_selectedId = m_model->deviceId(m_comboBox->currentIndex()); m_selectedId = m_model->deviceId(m_comboBox->currentIndex());
m_ignoreChange = true; m_ignoreChange = true;
} }
void DeviceInformationConfigWidget::modelReset() void DeviceKitAspectWidget::modelReset()
{ {
m_comboBox->setCurrentIndex(m_model->indexForId(m_selectedId)); m_comboBox->setCurrentIndex(m_model->indexForId(m_selectedId));
m_ignoreChange = false; m_ignoreChange = false;
} }
void DeviceInformationConfigWidget::currentDeviceChanged() void DeviceKitAspectWidget::currentDeviceChanged()
{ {
if (m_ignoreChange) if (m_ignoreChange)
return; return;
DeviceKitInformation::setDeviceId(m_kit, m_model->deviceId(m_comboBox->currentIndex())); DeviceKitAspect::setDeviceId(m_kit, m_model->deviceId(m_comboBox->currentIndex()));
} }
// -------------------------------------------------------------------- // --------------------------------------------------------------------
// KitEnvironmentConfigWidget: // EnvironmentKitAspectWidget:
// -------------------------------------------------------------------- // --------------------------------------------------------------------
KitEnvironmentConfigWidget::KitEnvironmentConfigWidget(Kit *workingCopy, const KitInformation *ki) : EnvironmentKitAspectWidget::EnvironmentKitAspectWidget(Kit *workingCopy, const KitAspect *ki) :
KitConfigWidget(workingCopy, ki), KitAspectWidget(workingCopy, ki),
m_summaryLabel(new QLabel), m_summaryLabel(new QLabel),
m_manageButton(new QPushButton), m_manageButton(new QPushButton),
m_mainWidget(new QWidget) m_mainWidget(new QWidget)
@@ -427,25 +427,25 @@ KitEnvironmentConfigWidget::KitEnvironmentConfigWidget(Kit *workingCopy, const K
refresh(); refresh();
m_manageButton->setText(tr("Change...")); m_manageButton->setText(tr("Change..."));
connect(m_manageButton, &QAbstractButton::clicked, connect(m_manageButton, &QAbstractButton::clicked,
this, &KitEnvironmentConfigWidget::editEnvironmentChanges); this, &EnvironmentKitAspectWidget::editEnvironmentChanges);
} }
QWidget *KitEnvironmentConfigWidget::mainWidget() const QWidget *EnvironmentKitAspectWidget::mainWidget() const
{ {
return m_mainWidget; return m_mainWidget;
} }
QString KitEnvironmentConfigWidget::displayName() const QString EnvironmentKitAspectWidget::displayName() const
{ {
return tr("Environment"); return tr("Environment");
} }
QString KitEnvironmentConfigWidget::toolTip() const QString EnvironmentKitAspectWidget::toolTip() const
{ {
return tr("Additional build environment settings when using this kit."); return tr("Additional build environment settings when using this kit.");
} }
void KitEnvironmentConfigWidget::refresh() void EnvironmentKitAspectWidget::refresh()
{ {
const QList<Utils::EnvironmentItem> changes = currentEnvironment(); const QList<Utils::EnvironmentItem> changes = currentEnvironment();
QString shortSummary = Utils::EnvironmentItem::toStringList(changes).join(QLatin1String("; ")); QString shortSummary = Utils::EnvironmentItem::toStringList(changes).join(QLatin1String("; "));
@@ -454,14 +454,14 @@ void KitEnvironmentConfigWidget::refresh()
m_summaryLabel->setText(shortSummary.isEmpty() ? tr("No changes to apply.") : shortSummary); m_summaryLabel->setText(shortSummary.isEmpty() ? tr("No changes to apply.") : shortSummary);
} }
void KitEnvironmentConfigWidget::makeReadOnly() void EnvironmentKitAspectWidget::makeReadOnly()
{ {
m_manageButton->setEnabled(false); m_manageButton->setEnabled(false);
} }
QList<Utils::EnvironmentItem> KitEnvironmentConfigWidget::currentEnvironment() const QList<Utils::EnvironmentItem> EnvironmentKitAspectWidget::currentEnvironment() const
{ {
QList<Utils::EnvironmentItem> changes = EnvironmentKitInformation::environmentChanges(m_kit); QList<Utils::EnvironmentItem> changes = EnvironmentKitAspect::environmentChanges(m_kit);
if (Utils::HostOsInfo::isWindowsHost()) { if (Utils::HostOsInfo::isWindowsHost()) {
const Utils::EnvironmentItem forceMSVCEnglishItem("VSLANG", "1033"); const Utils::EnvironmentItem forceMSVCEnglishItem("VSLANG", "1033");
@@ -476,7 +476,7 @@ QList<Utils::EnvironmentItem> KitEnvironmentConfigWidget::currentEnvironment() c
return changes; return changes;
} }
void KitEnvironmentConfigWidget::editEnvironmentChanges() void EnvironmentKitAspectWidget::editEnvironmentChanges()
{ {
bool ok; bool ok;
Utils::MacroExpander *expander = m_kit->macroExpander(); Utils::MacroExpander *expander = m_kit->macroExpander();
@@ -498,15 +498,15 @@ void KitEnvironmentConfigWidget::editEnvironmentChanges()
changes.append(forceMSVCEnglishItem); changes.append(forceMSVCEnglishItem);
} }
EnvironmentKitInformation::setEnvironmentChanges(m_kit, changes); EnvironmentKitAspect::setEnvironmentChanges(m_kit, changes);
} }
QWidget *KitEnvironmentConfigWidget::buttonWidget() const QWidget *EnvironmentKitAspectWidget::buttonWidget() const
{ {
return m_manageButton; return m_manageButton;
} }
void KitEnvironmentConfigWidget::initMSVCOutputSwitch(QVBoxLayout *layout) void EnvironmentKitAspectWidget::initMSVCOutputSwitch(QVBoxLayout *layout)
{ {
m_vslangCheckbox = new QCheckBox(tr("Force UTF-8 MSVC compiler output")); m_vslangCheckbox = new QCheckBox(tr("Force UTF-8 MSVC compiler output"));
layout->addWidget(m_vslangCheckbox); layout->addWidget(m_vslangCheckbox);
@@ -515,13 +515,13 @@ void KitEnvironmentConfigWidget::initMSVCOutputSwitch(QVBoxLayout *layout)
"compiler).")); "compiler)."));
connect(m_vslangCheckbox, &QCheckBox::toggled, this, [this](bool checked) { connect(m_vslangCheckbox, &QCheckBox::toggled, this, [this](bool checked) {
QList<Utils::EnvironmentItem> changes QList<Utils::EnvironmentItem> changes
= EnvironmentKitInformation::environmentChanges(m_kit); = EnvironmentKitAspect::environmentChanges(m_kit);
const Utils::EnvironmentItem forceMSVCEnglishItem("VSLANG", "1033"); const Utils::EnvironmentItem forceMSVCEnglishItem("VSLANG", "1033");
if (!checked && changes.indexOf(forceMSVCEnglishItem) >= 0) if (!checked && changes.indexOf(forceMSVCEnglishItem) >= 0)
changes.removeAll(forceMSVCEnglishItem); changes.removeAll(forceMSVCEnglishItem);
if (checked && changes.indexOf(forceMSVCEnglishItem) < 0) if (checked && changes.indexOf(forceMSVCEnglishItem) < 0)
changes.append(forceMSVCEnglishItem); changes.append(forceMSVCEnglishItem);
EnvironmentKitInformation::setEnvironmentChanges(m_kit, changes); EnvironmentKitAspect::setEnvironmentChanges(m_kit, changes);
}); });
} }

View File

@@ -50,16 +50,16 @@ class DeviceManagerModel;
namespace Internal { namespace Internal {
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// SysRootInformationConfigWidget: // SysRootKitAspectWidget:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
class SysRootInformationConfigWidget : public KitConfigWidget class SysRootKitAspectWidget : public KitAspectWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
SysRootInformationConfigWidget(Kit *k, const KitInformation *ki); SysRootKitAspectWidget(Kit *k, const KitAspect *ki);
~SysRootInformationConfigWidget() override; ~SysRootKitAspectWidget() override;
QString displayName() const override; QString displayName() const override;
void refresh() override; void refresh() override;
@@ -78,16 +78,16 @@ private:
}; };
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// ToolChainInformationConfigWidget: // ToolChainKitAspectWidget:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
class ToolChainInformationConfigWidget : public KitConfigWidget class ToolChainKitAspectWidget : public KitAspectWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
ToolChainInformationConfigWidget(Kit *k, const KitInformation *ki); ToolChainKitAspectWidget(Kit *k, const KitAspect *ki);
~ToolChainInformationConfigWidget() override; ~ToolChainKitAspectWidget() override;
QString displayName() const override; QString displayName() const override;
void refresh() override; void refresh() override;
@@ -110,16 +110,16 @@ private:
}; };
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// DeviceTypeInformationConfigWidget: // DeviceTypeKitAspectWidget:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
class DeviceTypeInformationConfigWidget : public KitConfigWidget class DeviceTypeKitAspectWidget : public KitAspectWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
DeviceTypeInformationConfigWidget(Kit *workingCopy, const KitInformation *ki); DeviceTypeKitAspectWidget(Kit *workingCopy, const KitAspect *ki);
~DeviceTypeInformationConfigWidget() override; ~DeviceTypeKitAspectWidget() override;
QWidget *mainWidget() const override; QWidget *mainWidget() const override;
QString displayName() const override; QString displayName() const override;
@@ -134,16 +134,16 @@ private:
}; };
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// DeviceInformationConfigWidget: // DeviceKitAspectWidget:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
class DeviceInformationConfigWidget : public KitConfigWidget class DeviceKitAspectWidget : public KitAspectWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
DeviceInformationConfigWidget(Kit *workingCopy, const KitInformation *ki); DeviceKitAspectWidget(Kit *workingCopy, const KitAspect *ki);
~DeviceInformationConfigWidget() override; ~DeviceKitAspectWidget() override;
QWidget *mainWidget() const override; QWidget *mainWidget() const override;
QWidget *buttonWidget() const override; QWidget *buttonWidget() const override;
@@ -166,12 +166,12 @@ private:
Core::Id m_selectedId; Core::Id m_selectedId;
}; };
class KitEnvironmentConfigWidget : public KitConfigWidget class EnvironmentKitAspectWidget : public KitAspectWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
KitEnvironmentConfigWidget(Kit *workingCopy, const KitInformation *ki); EnvironmentKitAspectWidget(Kit *workingCopy, const KitAspect *ki);
QWidget *mainWidget() const override; QWidget *mainWidget() const override;
QWidget *buttonWidget() const override; QWidget *buttonWidget() const override;

View File

@@ -69,7 +69,7 @@ class KitManagerPrivate
public: public:
Kit *m_defaultKit = nullptr; Kit *m_defaultKit = nullptr;
bool m_initialized = false; bool m_initialized = false;
std::vector<std::unique_ptr<KitInformation>> m_informationList; std::vector<std::unique_ptr<KitAspect>> m_informationList;
std::vector<std::unique_ptr<Kit>> m_kitList; std::vector<std::unique_ptr<Kit>> m_kitList;
std::unique_ptr<PersistentSettingsWriter> m_writer; std::unique_ptr<PersistentSettingsWriter> m_writer;
}; };
@@ -151,7 +151,7 @@ void KitManager::restoreKits()
Kit *ptr = i->get(); Kit *ptr = i->get();
// Overwrite settings that the SDK sets to those values: // Overwrite settings that the SDK sets to those values:
foreach (const KitInformation *ki, KitManager::kitInformation()) { foreach (const KitAspect *ki, KitManager::kitInformation()) {
// Copy sticky settings over: // Copy sticky settings over:
if (ptr->isSticky(ki->id())) { if (ptr->isSticky(ki->id())) {
ptr->setValue(ki->id(), toStore->value(ki->id())); ptr->setValue(ki->id(), toStore->value(ki->id()));
@@ -227,7 +227,7 @@ bool KitManager::isLoaded()
return d->m_initialized; return d->m_initialized;
} }
void KitManager::registerKitInformation(std::unique_ptr<KitInformation> &&ki) void KitManager::registerKitAspect(std::unique_ptr<KitAspect> &&ki)
{ {
QTC_ASSERT(ki->id().isValid(), return ); QTC_ASSERT(ki->id().isValid(), return );
QTC_ASSERT(!Utils::contains(d->m_informationList, ki.get()), return ); QTC_ASSERT(!Utils::contains(d->m_informationList, ki.get()), return );
@@ -235,8 +235,8 @@ void KitManager::registerKitInformation(std::unique_ptr<KitInformation> &&ki)
auto it = std::lower_bound(std::begin(d->m_informationList), auto it = std::lower_bound(std::begin(d->m_informationList),
std::end(d->m_informationList), std::end(d->m_informationList),
ki, ki,
[](const std::unique_ptr<KitInformation> &a, [](const std::unique_ptr<KitAspect> &a,
const std::unique_ptr<KitInformation> &b) { const std::unique_ptr<KitAspect> &b) {
return a->priority() > b->priority(); return a->priority() > b->priority();
}); });
d->m_informationList.insert(it, std::move(ki)); d->m_informationList.insert(it, std::move(ki));
@@ -364,7 +364,7 @@ Kit *KitManager::defaultKit()
return d->m_defaultKit; return d->m_defaultKit;
} }
QList<KitInformation *> KitManager::kitInformation() QList<KitAspect *> KitManager::kitInformation()
{ {
return Utils::toRawPointer<QList>(d->m_informationList); return Utils::toRawPointer<QList>(d->m_informationList);
} }
@@ -372,7 +372,7 @@ QList<KitInformation *> KitManager::kitInformation()
KitManagerConfigWidget *KitManager::createConfigWidget(Kit *k) KitManagerConfigWidget *KitManager::createConfigWidget(Kit *k)
{ {
auto *result = new KitManagerConfigWidget(k); auto *result = new KitManagerConfigWidget(k);
foreach (KitInformation *ki, kitInformation()) foreach (KitAspect *ki, kitInformation())
result->addConfigWidget(ki->createConfigWidget(result->workingCopy())); result->addConfigWidget(ki->createConfigWidget(result->workingCopy()));
result->updateVisibility(); result->updateVisibility();
@@ -442,7 +442,7 @@ void KitManager::completeKit(Kit *k)
{ {
QTC_ASSERT(k, return); QTC_ASSERT(k, return);
KitGuard g(k); KitGuard g(k);
for (const std::unique_ptr<KitInformation> &ki : d->m_informationList) { for (const std::unique_ptr<KitAspect> &ki : d->m_informationList) {
ki->upgrade(k); ki->upgrade(k);
if (!k->hasValue(ki->id())) if (!k->hasValue(ki->id()))
k->setValue(ki->id(), ki->defaultValue(k)); k->setValue(ki->id(), ki->defaultValue(k));
@@ -452,46 +452,46 @@ void KitManager::completeKit(Kit *k)
} }
// -------------------------------------------------------------------- // --------------------------------------------------------------------
// KitInformation: // KitAspect:
// -------------------------------------------------------------------- // --------------------------------------------------------------------
void KitInformation::addToEnvironment(const Kit *k, Environment &env) const void KitAspect::addToEnvironment(const Kit *k, Environment &env) const
{ {
Q_UNUSED(k); Q_UNUSED(k);
Q_UNUSED(env); Q_UNUSED(env);
} }
IOutputParser *KitInformation::createOutputParser(const Kit *k) const IOutputParser *KitAspect::createOutputParser(const Kit *k) const
{ {
Q_UNUSED(k); Q_UNUSED(k);
return nullptr; return nullptr;
} }
QString KitInformation::displayNamePostfix(const Kit *k) const QString KitAspect::displayNamePostfix(const Kit *k) const
{ {
Q_UNUSED(k); Q_UNUSED(k);
return QString(); return QString();
} }
QSet<Id> KitInformation::supportedPlatforms(const Kit *k) const QSet<Id> KitAspect::supportedPlatforms(const Kit *k) const
{ {
Q_UNUSED(k); Q_UNUSED(k);
return QSet<Id>(); return QSet<Id>();
} }
QSet<Id> KitInformation::availableFeatures(const Kit *k) const QSet<Id> KitAspect::availableFeatures(const Kit *k) const
{ {
Q_UNUSED(k); Q_UNUSED(k);
return QSet<Id>(); return QSet<Id>();
} }
void KitInformation::addToMacroExpander(Kit *k, MacroExpander *expander) const void KitAspect::addToMacroExpander(Kit *k, MacroExpander *expander) const
{ {
Q_UNUSED(k); Q_UNUSED(k);
Q_UNUSED(expander); Q_UNUSED(expander);
} }
void KitInformation::notifyAboutUpdate(Kit *k) void KitAspect::notifyAboutUpdate(Kit *k)
{ {
if (k) if (k)
k->kitUpdated(); k->kitUpdated();

View File

@@ -46,7 +46,7 @@ class MacroExpander;
namespace ProjectExplorer { namespace ProjectExplorer {
class Task; class Task;
class IOutputParser; class IOutputParser;
class KitConfigWidget; class KitAspectWidget;
class KitManager; class KitManager;
namespace Internal { namespace Internal {
@@ -55,13 +55,13 @@ class KitModel;
} // namespace Internal } // namespace Internal
/** /**
* @brief The KitInformation class * @brief The KitAspect class
* *
* One piece of information stored in the kit. * One piece of information stored in the kit.
* *
* This needs to get registered with the \a KitManager. * This needs to get registered with the \a KitManager.
*/ */
class PROJECTEXPLORER_EXPORT KitInformation : public QObject class PROJECTEXPLORER_EXPORT KitAspect : public QObject
{ {
Q_OBJECT Q_OBJECT
@@ -85,7 +85,7 @@ public:
virtual ItemList toUserOutput(const Kit *) const = 0; virtual ItemList toUserOutput(const Kit *) const = 0;
virtual KitConfigWidget *createConfigWidget(Kit *) const = 0; virtual KitAspectWidget *createConfigWidget(Kit *) const = 0;
virtual void addToEnvironment(const Kit *k, Utils::Environment &env) const; virtual void addToEnvironment(const Kit *k, Utils::Environment &env) const;
virtual IOutputParser *createOutputParser(const Kit *k) const; virtual IOutputParser *createOutputParser(const Kit *k) const;
@@ -120,7 +120,7 @@ public:
static Kit *kit(Core::Id id); static Kit *kit(Core::Id id);
static Kit *defaultKit(); static Kit *defaultKit();
static QList<KitInformation *> kitInformation(); static QList<KitAspect *> kitInformation();
static Internal::KitManagerConfigWidget *createConfigWidget(Kit *k); static Internal::KitManagerConfigWidget *createConfigWidget(Kit *k);
@@ -129,8 +129,8 @@ public:
static void setDefaultKit(Kit *k); static void setDefaultKit(Kit *k);
template<typename KI, typename... Args> template<typename KI, typename... Args>
static void registerKitInformation(Args&&... args) { static void registerKitAspect(Args&&... args) {
registerKitInformation(std::make_unique<KI>(std::forward<Args>(args)...)); registerKitAspect(std::make_unique<KI>(std::forward<Args>(args)...));
} }
static QSet<Core::Id> supportedPlatforms(); static QSet<Core::Id> supportedPlatforms();
@@ -159,10 +159,10 @@ signals:
private: private:
explicit KitManager(QObject *parent = nullptr); explicit KitManager(QObject *parent = nullptr);
static void registerKitInformation(std::unique_ptr<KitInformation> &&ki); static void registerKitAspect(std::unique_ptr<KitAspect> &&ki);
// Make sure the this is only called after all // Make sure the this is only called after all
// KitInformation are registered! // KitAspects are registered!
void restoreKits(); void restoreKits();
class KitList class KitList
{ {
@@ -178,7 +178,7 @@ private:
friend class ProjectExplorerPlugin; // for constructor friend class ProjectExplorerPlugin; // for constructor
friend class Kit; friend class Kit;
friend class Internal::KitModel; friend class Internal::KitModel;
friend class KitInformation; // for notifyAbutUpdate friend class KitAspect; // for notifyAbutUpdate
}; };
} // namespace ProjectExplorer } // namespace ProjectExplorer

View File

@@ -211,7 +211,7 @@ QString KitManagerConfigWidget::validityMessage() const
return m_modifiedKit->toHtml(tmp); return m_modifiedKit->toHtml(tmp);
} }
void KitManagerConfigWidget::addConfigWidget(KitConfigWidget *widget) void KitManagerConfigWidget::addConfigWidget(KitAspectWidget *widget)
{ {
QTC_ASSERT(widget, return); QTC_ASSERT(widget, return);
QTC_ASSERT(!m_widgets.contains(widget), return); QTC_ASSERT(!m_widgets.contains(widget), return);
@@ -249,7 +249,7 @@ void KitManagerConfigWidget::updateVisibility()
{ {
int count = m_widgets.count(); int count = m_widgets.count();
for (int i = 0; i < count; ++i) { for (int i = 0; i < count; ++i) {
KitConfigWidget *widget = m_widgets.at(i); KitAspectWidget *widget = m_widgets.at(i);
bool visible = widget->visibleInKit(); bool visible = widget->visibleInKit();
widget->mainWidget()->setVisible(visible); widget->mainWidget()->setVisible(visible);
if (widget->buttonWidget()) if (widget->buttonWidget())
@@ -265,7 +265,7 @@ void KitManagerConfigWidget::setHasUniqueName(bool unique)
void KitManagerConfigWidget::makeStickySubWidgetsReadOnly() void KitManagerConfigWidget::makeStickySubWidgetsReadOnly()
{ {
foreach (KitConfigWidget *w, m_widgets) { foreach (KitAspectWidget *w, m_widgets) {
if (w->isSticky()) if (w->isSticky())
w->makeReadOnly(); w->makeReadOnly();
} }
@@ -348,7 +348,7 @@ void KitManagerConfigWidget::workingCopyWasUpdated(Kit *k)
k->fix(); k->fix();
m_fixingKit = false; m_fixingKit = false;
foreach (KitConfigWidget *w, m_widgets) foreach (KitAspectWidget *w, m_widgets)
w->refresh(); w->refresh();
m_cachedDisplayName.clear(); m_cachedDisplayName.clear();
@@ -376,7 +376,7 @@ void KitManagerConfigWidget::kitWasUpdated(Kit *k)
void KitManagerConfigWidget::showEvent(QShowEvent *event) void KitManagerConfigWidget::showEvent(QShowEvent *event)
{ {
Q_UNUSED(event); Q_UNUSED(event);
foreach (KitConfigWidget *widget, m_widgets) foreach (KitAspectWidget *widget, m_widgets)
widget->refresh(); widget->refresh();
} }

View File

@@ -60,7 +60,7 @@ public:
bool isValid() const; bool isValid() const;
bool hasWarning() const; bool hasWarning() const;
QString validityMessage() const; QString validityMessage() const;
void addConfigWidget(KitConfigWidget *widget); void addConfigWidget(KitAspectWidget *widget);
void makeStickySubWidgetsReadOnly(); void makeStickySubWidgetsReadOnly();
Kit *workingCopy() const; Kit *workingCopy() const;
@@ -97,7 +97,7 @@ private:
QToolButton *m_iconButton; QToolButton *m_iconButton;
QLineEdit *m_nameEdit; QLineEdit *m_nameEdit;
QLineEdit *m_fileSystemFriendlyNameLineEdit; QLineEdit *m_fileSystemFriendlyNameLineEdit;
QList<KitConfigWidget *> m_widgets; QList<KitAspectWidget *> m_widgets;
QList<QLabel *> m_labels; QList<QLabel *> m_labels;
Kit *m_kit; Kit *m_kit;
std::unique_ptr<Kit> m_modifiedKit; std::unique_ptr<Kit> m_modifiedKit;

View File

@@ -126,7 +126,7 @@ QString MakeStep::defaultDisplayName()
static const QList<ToolChain *> preferredToolChains(const Kit *kit) static const QList<ToolChain *> preferredToolChains(const Kit *kit)
{ {
QList<ToolChain *> tcs = ToolChainKitInformation::toolChains(kit); QList<ToolChain *> tcs = ToolChainKitAspect::toolChains(kit);
// prefer CXX, then C, then others // prefer CXX, then C, then others
Utils::sort(tcs, [](ToolChain *tcA, ToolChain *tcB) { Utils::sort(tcs, [](ToolChain *tcA, ToolChain *tcB) {
if (tcA->language() == tcB->language()) if (tcA->language() == tcB->language())

View File

@@ -579,7 +579,7 @@ KitAreaWidget::~KitAreaWidget()
void KitAreaWidget::setKit(Kit *k) void KitAreaWidget::setKit(Kit *k)
{ {
foreach (KitConfigWidget *w, m_widgets) foreach (KitAspectWidget *w, m_widgets)
delete(w); delete(w);
m_widgets.clear(); m_widgets.clear();
@@ -591,9 +591,9 @@ void KitAreaWidget::setKit(Kit *k)
m_labels.clear(); m_labels.clear();
int row = 0; int row = 0;
foreach (KitInformation *ki, KitManager::kitInformation()) { foreach (KitAspect *ki, KitManager::kitInformation()) {
if (k && k->isMutable(ki->id())) { if (k && k->isMutable(ki->id())) {
KitConfigWidget *widget = ki->createConfigWidget(k); KitAspectWidget *widget = ki->createConfigWidget(k);
m_widgets << widget; m_widgets << widget;
QLabel *label = new QLabel(widget->displayName()); QLabel *label = new QLabel(widget->displayName());
m_labels << label; m_labels << label;
@@ -619,9 +619,9 @@ void KitAreaWidget::updateKit(Kit *k)
return; return;
bool addedMutables = false; bool addedMutables = false;
QList<Core::Id> knownIdList = Utils::transform(m_widgets, &KitConfigWidget::kitInformationId); QList<Core::Id> knownIdList = Utils::transform(m_widgets, &KitAspectWidget::kitInformationId);
foreach (KitInformation *ki, KitManager::kitInformation()) { foreach (KitAspect *ki, KitManager::kitInformation()) {
Core::Id currentId = ki->id(); Core::Id currentId = ki->id();
if (m_kit->isMutable(currentId) && !knownIdList.removeOne(currentId)) { if (m_kit->isMutable(currentId) && !knownIdList.removeOne(currentId)) {
addedMutables = true; addedMutables = true;
@@ -635,7 +635,7 @@ void KitAreaWidget::updateKit(Kit *k)
setKit(m_kit); setKit(m_kit);
} else { } else {
// Refresh all widgets if the number of mutable settings did not change // Refresh all widgets if the number of mutable settings did not change
foreach (KitConfigWidget *w, m_widgets) foreach (KitAspectWidget *w, m_widgets)
w->refresh(); w->refresh();
} }
} }

View File

@@ -37,7 +37,7 @@ QT_END_NAMESPACE
namespace ProjectExplorer { namespace ProjectExplorer {
class Kit; class Kit;
class KitConfigWidget; class KitAspectWidget;
class Project; class Project;
class Target; class Target;
class BuildConfiguration; class BuildConfiguration;
@@ -101,7 +101,7 @@ private:
QGridLayout *m_layout; QGridLayout *m_layout;
Kit *m_kit = nullptr; Kit *m_kit = nullptr;
QList<KitConfigWidget *> m_widgets; QList<KitAspectWidget *> m_widgets;
QList<QLabel *> m_labels; QList<QLabel *> m_labels;
}; };

View File

@@ -603,12 +603,12 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
IWizardFactory::registerFeatureProvider(new KitFeatureProvider); IWizardFactory::registerFeatureProvider(new KitFeatureProvider);
// Register KitInformation: // Register KitAspects:
KitManager::registerKitInformation<DeviceTypeKitInformation>(); KitManager::registerKitAspect<DeviceTypeKitAspect>();
KitManager::registerKitInformation<DeviceKitInformation>(); KitManager::registerKitAspect<DeviceKitAspect>();
KitManager::registerKitInformation<ToolChainKitInformation>(); KitManager::registerKitAspect<ToolChainKitAspect>();
KitManager::registerKitInformation<SysRootKitInformation>(); KitManager::registerKitAspect<SysRootKitAspect>();
KitManager::registerKitInformation<EnvironmentKitInformation>(); KitManager::registerKitAspect<EnvironmentKitAspect>();
IWizardFactory::registerFactoryCreator([]() -> QList<IWizardFactory *> { IWizardFactory::registerFactoryCreator([]() -> QList<IWizardFactory *> {
QList<IWizardFactory *> result; QList<IWizardFactory *> result;
@@ -1535,7 +1535,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
tr("The host address of the device in the currently active kit."), tr("The host address of the device in the currently active kit."),
[]() -> QString { []() -> QString {
Kit *kit = currentKit(); Kit *kit = currentKit();
const IDevice::ConstPtr device = DeviceKitInformation::device(kit); const IDevice::ConstPtr device = DeviceKitAspect::device(kit);
return device ? device->sshParameters().host() : QString(); return device ? device->sshParameters().host() : QString();
}); });
@@ -1543,7 +1543,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
tr("The SSH port of the device in the currently active kit."), tr("The SSH port of the device in the currently active kit."),
[]() -> QString { []() -> QString {
Kit *kit = currentKit(); Kit *kit = currentKit();
const IDevice::ConstPtr device = DeviceKitInformation::device(kit); const IDevice::ConstPtr device = DeviceKitAspect::device(kit);
return device ? QString::number(device->sshParameters().port()) : QString(); return device ? QString::number(device->sshParameters().port()) : QString();
}); });
@@ -1551,7 +1551,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
tr("The username with which to log into the device in the currently active kit."), tr("The username with which to log into the device in the currently active kit."),
[]() -> QString { []() -> QString {
Kit *kit = currentKit(); Kit *kit = currentKit();
const IDevice::ConstPtr device = DeviceKitInformation::device(kit); const IDevice::ConstPtr device = DeviceKitAspect::device(kit);
return device ? device->sshParameters().userName() : QString(); return device ? device->sshParameters().userName() : QString();
}); });
@@ -1561,7 +1561,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
"in the currently active kit."), "in the currently active kit."),
[]() -> QString { []() -> QString {
Kit *kit = currentKit(); Kit *kit = currentKit();
const IDevice::ConstPtr device = DeviceKitInformation::device(kit); const IDevice::ConstPtr device = DeviceKitAspect::device(kit);
return device ? device->sshParameters().privateKeyFile : QString(); return device ? device->sshParameters().privateKeyFile : QString();
}); });
@@ -2546,7 +2546,7 @@ int ProjectExplorerPluginPrivate::queue(QList<Project *> projects, QList<Id> ste
return false; return false;
IDevice::ConstPtr device = rc->runnable().device; IDevice::ConstPtr device = rc->runnable().device;
if (device.isNull()) if (device.isNull())
device = DeviceKitInformation::device(t->kit()); device = DeviceKitAspect::device(t->kit());
return !device.isNull() && device->type() == Core::Id(Constants::DESKTOP_DEVICE_TYPE); return !device.isNull() && device->type() == Core::Id(Constants::DESKTOP_DEVICE_TYPE);
}); });
} }

View File

@@ -73,7 +73,7 @@ static bool hasOtherUsers(Core::Id id, const QVariant &v, Kit *k)
ProjectImporter::ProjectImporter(const Utils::FileName &path) : m_projectPath(path) ProjectImporter::ProjectImporter(const Utils::FileName &path) : m_projectPath(path)
{ {
useTemporaryKitInformation(ToolChainKitInformation::id(), useTemporaryKitAspect(ToolChainKitAspect::id(),
[this](Kit *k, const QVariantList &vl) { cleanupTemporaryToolChains(k, vl); }, [this](Kit *k, const QVariantList &vl) { cleanupTemporaryToolChains(k, vl); },
[this](Kit *k, const QVariantList &vl) { persistTemporaryToolChains(k, vl); }); [this](Kit *k, const QVariantList &vl) { persistTemporaryToolChains(k, vl); });
} }
@@ -167,7 +167,7 @@ Target *ProjectImporter::preferredTarget(const QList<Target *> &possibleTargets)
return t; return t;
if (pickedFallback) if (pickedFallback)
continue; continue;
if (DeviceTypeKitInformation::deviceTypeId(t->kit()) == Constants::DESKTOP_DEVICE_TYPE) { if (DeviceTypeKitAspect::deviceTypeId(t->kit()) == Constants::DESKTOP_DEVICE_TYPE) {
activeTarget = t; activeTarget = t;
pickedFallback = true; pickedFallback = true;
} }
@@ -294,12 +294,12 @@ Kit *ProjectImporter::createTemporaryKit(const KitSetupFunction &setup) const
k->setUnexpandedDisplayName(QCoreApplication::translate("ProjectExplorer::ProjectImporter", "Imported Kit"));; k->setUnexpandedDisplayName(QCoreApplication::translate("ProjectExplorer::ProjectImporter", "Imported Kit"));;
// Set up values: // Set up values:
foreach (KitInformation *ki, KitManager::kitInformation()) foreach (KitAspect *ki, KitManager::kitInformation())
ki->setup(kptr); ki->setup(kptr);
setup(kptr); setup(kptr);
foreach (KitInformation *ki, KitManager::kitInformation()) foreach (KitAspect *ki, KitManager::kitInformation())
ki->fix(kptr); ki->fix(kptr);
markKitAsTemporary(kptr); markKitAsTemporary(kptr);
@@ -326,7 +326,7 @@ void ProjectImporter::cleanupTemporaryToolChains(Kit *k, const QVariantList &vl)
ToolChain *tc = toolChainFromVariant(v); ToolChain *tc = toolChainFromVariant(v);
QTC_ASSERT(tc, continue); QTC_ASSERT(tc, continue);
ToolChainManager::deregisterToolChain(tc); ToolChainManager::deregisterToolChain(tc);
ToolChainKitInformation::setToolChain(k, nullptr); ToolChainKitAspect::setToolChain(k, nullptr);
} }
} }
@@ -335,13 +335,13 @@ void ProjectImporter::persistTemporaryToolChains(Kit *k, const QVariantList &vl)
for (const QVariant &v : vl) { for (const QVariant &v : vl) {
ToolChain *tmpTc = toolChainFromVariant(v); ToolChain *tmpTc = toolChainFromVariant(v);
QTC_ASSERT(tmpTc, continue); QTC_ASSERT(tmpTc, continue);
ToolChain *actualTc = ToolChainKitInformation::toolChain(k, tmpTc->language()); ToolChain *actualTc = ToolChainKitAspect::toolChain(k, tmpTc->language());
if (tmpTc && actualTc != tmpTc) if (tmpTc && actualTc != tmpTc)
ToolChainManager::deregisterToolChain(tmpTc); ToolChainManager::deregisterToolChain(tmpTc);
} }
} }
void ProjectImporter::useTemporaryKitInformation(Core::Id id, void ProjectImporter::useTemporaryKitAspect(Core::Id id,
ProjectImporter::CleanupFunction cleanup, ProjectImporter::CleanupFunction cleanup,
ProjectImporter::PersistFunction persist) ProjectImporter::PersistFunction persist)
{ {
@@ -400,7 +400,7 @@ ProjectImporter::findOrCreateToolChains(const Utils::FileName &toolChainPath,
}); });
for (const ToolChain *tc : result.tcs) { for (const ToolChain *tc : result.tcs) {
const QByteArray tcId = tc->id(); const QByteArray tcId = tc->id();
result.areTemporary = result.areTemporary ? true : hasKitWithTemporaryData(ToolChainKitInformation::id(), tcId); result.areTemporary = result.areTemporary ? true : hasKitWithTemporaryData(ToolChainKitAspect::id(), tcId);
} }
if (!result.tcs.isEmpty()) if (!result.tcs.isEmpty())
return result; return result;

View File

@@ -103,7 +103,7 @@ protected:
// Handle temporary additions to Kits (Qt Versions, ToolChains, etc.) // Handle temporary additions to Kits (Qt Versions, ToolChains, etc.)
using CleanupFunction = std::function<void(Kit *, const QVariantList &)>; using CleanupFunction = std::function<void(Kit *, const QVariantList &)>;
using PersistFunction = std::function<void(Kit *, const QVariantList &)>; using PersistFunction = std::function<void(Kit *, const QVariantList &)>;
void useTemporaryKitInformation(Core::Id id, void useTemporaryKitAspect(Core::Id id,
CleanupFunction cleanup, PersistFunction persist); CleanupFunction cleanup, PersistFunction persist);
void addTemporaryData(Core::Id id, const QVariant &cleanupData, Kit *k) const; void addTemporaryData(Core::Id id, const QVariant &cleanupData, Kit *k) const;
// Does *any* kit feature the requested data yet? // Does *any* kit feature the requested data yet?

View File

@@ -435,9 +435,9 @@ QString RunConfigurationFactory::decoratedTargetName(const QString &targetName,
QString displayName; QString displayName;
if (!targetName.isEmpty()) if (!targetName.isEmpty())
displayName = QFileInfo(targetName).completeBaseName(); displayName = QFileInfo(targetName).completeBaseName();
Core::Id devType = DeviceTypeKitInformation::deviceTypeId(target->kit()); Core::Id devType = DeviceTypeKitAspect::deviceTypeId(target->kit());
if (devType != Constants::DESKTOP_DEVICE_TYPE) { if (devType != Constants::DESKTOP_DEVICE_TYPE) {
if (IDevice::ConstPtr dev = DeviceKitInformation::device(target->kit())) { if (IDevice::ConstPtr dev = DeviceKitAspect::device(target->kit())) {
if (displayName.isEmpty()) { if (displayName.isEmpty()) {
//: Shown in Run configuration if no executable is given, %1 is device name //: Shown in Run configuration if no executable is given, %1 is device name
displayName = RunConfiguration::tr("Run on %1").arg(dev->displayName()); displayName = RunConfiguration::tr("Run on %1").arg(dev->displayName());
@@ -524,7 +524,7 @@ bool RunConfigurationFactory::canHandle(Target *target) const
if (!m_supportedTargetDeviceTypes.isEmpty()) if (!m_supportedTargetDeviceTypes.isEmpty())
if (!m_supportedTargetDeviceTypes.contains( if (!m_supportedTargetDeviceTypes.contains(
DeviceTypeKitInformation::deviceTypeId(kit))) DeviceTypeKitAspect::deviceTypeId(kit)))
return false; return false;
return true; return true;
@@ -796,7 +796,7 @@ public:
outputFormatter = runConfiguration->createOutputFormatter(); outputFormatter = runConfiguration->createOutputFormatter();
device = runnable.device; device = runnable.device;
if (!device) if (!device)
device = DeviceKitInformation::device(runConfiguration->target()->kit()); device = DeviceKitAspect::device(runConfiguration->target()->kit());
project = runConfiguration->target()->project(); project = runConfiguration->target()->project();
} else { } else {
outputFormatter = new OutputFormatter(); outputFormatter = new OutputFormatter();

View File

@@ -452,7 +452,7 @@ void Target::setOverlayIcon(const QIcon &icon)
QString Target::overlayIconToolTip() QString Target::overlayIconToolTip()
{ {
IDevice::ConstPtr current = DeviceKitInformation::device(kit()); IDevice::ConstPtr current = DeviceKitAspect::device(kit());
return current.isNull() ? QString() : formatDeviceInfo(current->deviceInformation()); return current.isNull() ? QString() : formatDeviceInfo(current->deviceInformation());
} }
@@ -682,7 +682,7 @@ QVariant Target::additionalData(Core::Id id) const
void Target::updateDeviceState() void Target::updateDeviceState()
{ {
IDevice::ConstPtr current = DeviceKitInformation::device(kit()); IDevice::ConstPtr current = DeviceKitAspect::device(kit());
QIcon overlay; QIcon overlay;
static const QIcon disconnected = Icons::DEVICE_DISCONNECTED_INDICATOR_OVERLAY.icon(); static const QIcon disconnected = Icons::DEVICE_DISCONNECTED_INDICATOR_OVERLAY.icon();

View File

@@ -73,7 +73,7 @@ TargetSetupWidget::TargetSetupWidget(Kit *k, const QString &projectPath) :
auto panel = new Utils::FadingWidget(m_detailsWidget); auto panel = new Utils::FadingWidget(m_detailsWidget);
auto panelLayout = new QHBoxLayout(panel); auto panelLayout = new QHBoxLayout(panel);
m_manageButton = new QPushButton(KitConfigWidget::msgManage()); m_manageButton = new QPushButton(KitAspectWidget::msgManage());
panelLayout->addWidget(m_manageButton); panelLayout->addWidget(m_manageButton);
m_detailsWidget->setToolWidget(panel); m_detailsWidget->setToolWidget(panel);

View File

@@ -76,7 +76,7 @@ static QString extractToolchainPrefix(QString *compilerName)
static QString targetPlatform(const ProjectExplorer::Abi &abi, const ProjectExplorer::Kit *k) static QString targetPlatform(const ProjectExplorer::Abi &abi, const ProjectExplorer::Kit *k)
{ {
const Core::Id device = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(k); const Core::Id device = ProjectExplorer::DeviceTypeKitAspect::deviceTypeId(k);
switch (abi.os()) { switch (abi.os()) {
case ProjectExplorer::Abi::WindowsOS: case ProjectExplorer::Abi::WindowsOS:
return QLatin1String("windows"); return QLatin1String("windows");
@@ -195,7 +195,7 @@ QVariantMap DefaultPropertyProvider::properties(const ProjectExplorer::Kit *k,
{ {
QTC_ASSERT(k, return defaultData); QTC_ASSERT(k, return defaultData);
QVariantMap data = autoGeneratedProperties(k, defaultData); QVariantMap data = autoGeneratedProperties(k, defaultData);
const QVariantMap customProperties = QbsKitInformation::properties(k); const QVariantMap customProperties = QbsKitAspect::properties(k);
for (QVariantMap::ConstIterator it = customProperties.constBegin(); for (QVariantMap::ConstIterator it = customProperties.constBegin();
it != customProperties.constEnd(); ++it) { it != customProperties.constEnd(); ++it) {
data.insert(it.key(), it.value()); data.insert(it.key(), it.value());
@@ -222,14 +222,14 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor
{ {
QVariantMap data = defaultData; QVariantMap data = defaultData;
const QString sysroot = ProjectExplorer::SysRootKitInformation::sysRoot(k).toUserOutput(); const QString sysroot = ProjectExplorer::SysRootKitAspect::sysRoot(k).toUserOutput();
if (!sysroot.isEmpty()) if (!sysroot.isEmpty())
data.insert(QLatin1String(QBS_SYSROOT), sysroot); data.insert(QLatin1String(QBS_SYSROOT), sysroot);
ProjectExplorer::ToolChain *tcC ProjectExplorer::ToolChain *tcC
= ProjectExplorer::ToolChainKitInformation::toolChain(k, ProjectExplorer::Constants::C_LANGUAGE_ID); = ProjectExplorer::ToolChainKitAspect::toolChain(k, ProjectExplorer::Constants::C_LANGUAGE_ID);
ProjectExplorer::ToolChain *tcCxx ProjectExplorer::ToolChain *tcCxx
= ProjectExplorer::ToolChainKitInformation::toolChain(k, ProjectExplorer::Constants::CXX_LANGUAGE_ID); = ProjectExplorer::ToolChainKitAspect::toolChain(k, ProjectExplorer::Constants::CXX_LANGUAGE_ID);
if (!tcC && !tcCxx) if (!tcC && !tcCxx)
return data; return data;

View File

@@ -399,7 +399,7 @@ QbsBuildConfigurationFactory::QbsBuildConfigurationFactory()
setSupportedProjectType(Constants::PROJECT_ID); setSupportedProjectType(Constants::PROJECT_ID);
setSupportedProjectMimeTypeName(Constants::MIME_TYPE); setSupportedProjectMimeTypeName(Constants::MIME_TYPE);
setIssueReporter([](Kit *k, const QString &projectPath, const QString &buildDir) -> QList<Task> { setIssueReporter([](Kit *k, const QString &projectPath, const QString &buildDir) -> QList<Task> {
const QtSupport::BaseQtVersion * const version = QtSupport::QtKitInformation::qtVersion(k); const QtSupport::BaseQtVersion * const version = QtSupport::QtKitAspect::qtVersion(k);
return version ? version->reportIssues(projectPath, buildDir) return version ? version->reportIssues(projectPath, buildDir)
: QList<ProjectExplorer::Task>(); : QList<ProjectExplorer::Task>();
}); });

View File

@@ -42,49 +42,49 @@ using namespace ProjectExplorer;
namespace QbsProjectManager { namespace QbsProjectManager {
namespace Internal { namespace Internal {
class ConfigWidget final : public KitConfigWidget class AspectWidget final : public KitAspectWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
ConfigWidget(Kit *kit, const KitInformation *kitInfo) AspectWidget(Kit *kit, const KitAspect *kitInfo)
: KitConfigWidget(kit, kitInfo), : KitAspectWidget(kit, kitInfo),
m_contentLabel(new Utils::ElidingLabel), m_contentLabel(new Utils::ElidingLabel),
m_changeButton(new QPushButton(tr("Change..."))) m_changeButton(new QPushButton(tr("Change...")))
{ {
connect(m_changeButton, &QPushButton::clicked, this, &ConfigWidget::changeProperties); connect(m_changeButton, &QPushButton::clicked, this, &AspectWidget::changeProperties);
} }
private: private:
QString displayName() const override { return QbsKitInformation::displayName(); } QString displayName() const override { return QbsKitAspect::displayName(); }
void makeReadOnly() override { m_changeButton->setEnabled(false); } void makeReadOnly() override { m_changeButton->setEnabled(false); }
void refresh() override { m_contentLabel->setText(QbsKitInformation::representation(kit())); } void refresh() override { m_contentLabel->setText(QbsKitAspect::representation(kit())); }
QWidget *mainWidget() const override { return m_contentLabel; } QWidget *mainWidget() const override { return m_contentLabel; }
QWidget *buttonWidget() const override { return m_changeButton; } QWidget *buttonWidget() const override { return m_changeButton; }
void changeProperties() void changeProperties()
{ {
CustomQbsPropertiesDialog dlg(QbsKitInformation::properties(kit())); CustomQbsPropertiesDialog dlg(QbsKitAspect::properties(kit()));
if (dlg.exec() == QDialog::Accepted) if (dlg.exec() == QDialog::Accepted)
QbsKitInformation::setProperties(kit(), dlg.properties()); QbsKitAspect::setProperties(kit(), dlg.properties());
} }
QLabel * const m_contentLabel; QLabel * const m_contentLabel;
QPushButton * const m_changeButton; QPushButton * const m_changeButton;
}; };
QbsKitInformation::QbsKitInformation() QbsKitAspect::QbsKitAspect()
{ {
setObjectName(QLatin1String("QbsKitInformation")); setObjectName(QLatin1String("QbsKitAspect"));
setId(QbsKitInformation::id()); setId(QbsKitAspect::id());
setPriority(22000); setPriority(22000);
} }
QString QbsKitInformation::displayName() QString QbsKitAspect::displayName()
{ {
return tr("Additional Qbs Profile Settings"); return tr("Additional Qbs Profile Settings");
} }
QString QbsKitInformation::representation(const Kit *kit) QString QbsKitAspect::representation(const Kit *kit)
{ {
const QVariantMap props = properties(kit); const QVariantMap props = properties(kit);
QString repr; QString repr;
@@ -96,34 +96,34 @@ QString QbsKitInformation::representation(const Kit *kit)
return repr; return repr;
} }
QVariantMap QbsKitInformation::properties(const Kit *kit) QVariantMap QbsKitAspect::properties(const Kit *kit)
{ {
QTC_ASSERT(kit, return QVariantMap()); QTC_ASSERT(kit, return QVariantMap());
return kit->value(id()).toMap(); return kit->value(id()).toMap();
} }
void QbsKitInformation::setProperties(Kit *kit, const QVariantMap &properties) void QbsKitAspect::setProperties(Kit *kit, const QVariantMap &properties)
{ {
QTC_ASSERT(kit, return); QTC_ASSERT(kit, return);
kit->setValue(id(), properties); kit->setValue(id(), properties);
} }
Core::Id QbsKitInformation::id() Core::Id QbsKitAspect::id()
{ {
return "Qbs.KitInformation"; return "Qbs.KitInformation";
} }
QVariant QbsKitInformation::defaultValue(const Kit *) const { return QString(); } QVariant QbsKitAspect::defaultValue(const Kit *) const { return QString(); }
QList<Task> QbsKitInformation::validate(const Kit *) const { return QList<Task>(); } QList<Task> QbsKitAspect::validate(const Kit *) const { return QList<Task>(); }
KitInformation::ItemList QbsKitInformation::toUserOutput(const Kit *k) const KitAspect::ItemList QbsKitAspect::toUserOutput(const Kit *k) const
{ {
return ItemList({qMakePair(displayName(), representation(k))}); return ItemList({qMakePair(displayName(), representation(k))});
} }
KitConfigWidget *QbsKitInformation::createConfigWidget(Kit *k) const KitAspectWidget *QbsKitAspect::createConfigWidget(Kit *k) const
{ {
return new ConfigWidget(k, this); return new AspectWidget(k, this);
} }
} // namespace Internal } // namespace Internal

View File

@@ -30,12 +30,12 @@
namespace QbsProjectManager { namespace QbsProjectManager {
namespace Internal { namespace Internal {
class QbsKitInformation final : public ProjectExplorer::KitInformation class QbsKitAspect final : public ProjectExplorer::KitAspect
{ {
Q_OBJECT Q_OBJECT
public: public:
QbsKitInformation(); QbsKitAspect();
static QString displayName(); static QString displayName();
static QString representation(const ProjectExplorer::Kit *kit); static QString representation(const ProjectExplorer::Kit *kit);
@@ -48,7 +48,7 @@ private:
QVariant defaultValue(const ProjectExplorer::Kit *) const override; QVariant defaultValue(const ProjectExplorer::Kit *) const override;
QList<ProjectExplorer::Task> validate(const ProjectExplorer::Kit *) const override; QList<ProjectExplorer::Task> validate(const ProjectExplorer::Kit *) const override;
ItemList toUserOutput(const ProjectExplorer::Kit *) const override; ItemList toUserOutput(const ProjectExplorer::Kit *) const override;
ProjectExplorer::KitConfigWidget *createConfigWidget(ProjectExplorer::Kit *) const override; ProjectExplorer::KitAspectWidget *createConfigWidget(ProjectExplorer::Kit *) const override;
}; };
} // namespace Internal } // namespace Internal

View File

@@ -693,7 +693,7 @@ void QbsProject::configureAsExampleProject(const QSet<Id> &platforms)
}; };
foreach (Kit *k, kits) { foreach (Kit *k, kits) {
const QtSupport::BaseQtVersion * const qtVersion const QtSupport::BaseQtVersion * const qtVersion
= QtSupport::QtKitInformation::qtVersion(k); = QtSupport::QtKitAspect::qtVersion(k);
if (!qtVersion || !qtVersionMatchesPlatform(qtVersion)) if (!qtVersion || !qtVersionMatchesPlatform(qtVersion))
continue; continue;
if (auto factory = BuildConfigurationFactory::find(k, projectFilePath().toString())) if (auto factory = BuildConfigurationFactory::find(k, projectFilePath().toString()))

View File

@@ -163,14 +163,14 @@ bool QbsProjectImporter::matchKit(void *directoryData, const Kit *k) const
const auto * const bgData = static_cast<BuildGraphData *>(directoryData); const auto * const bgData = static_cast<BuildGraphData *>(directoryData);
qCDebug(qbsPmLog) << "matching kit" << k->displayName() << "against imported build" qCDebug(qbsPmLog) << "matching kit" << k->displayName() << "against imported build"
<< bgData->bgFilePath.toUserOutput(); << bgData->bgFilePath.toUserOutput();
if (ToolChainKitInformation::toolChains(k).isEmpty() && bgData->cCompilerPath.isEmpty() if (ToolChainKitAspect::toolChains(k).isEmpty() && bgData->cCompilerPath.isEmpty()
&& bgData->cxxCompilerPath.isEmpty()) { && bgData->cxxCompilerPath.isEmpty()) {
return true; return true;
} }
const ToolChain * const cToolchain const ToolChain * const cToolchain
= ToolChainKitInformation::toolChain(k, Constants::C_LANGUAGE_ID); = ToolChainKitAspect::toolChain(k, Constants::C_LANGUAGE_ID);
const ToolChain * const cxxToolchain const ToolChain * const cxxToolchain
= ToolChainKitInformation::toolChain(k, Constants::CXX_LANGUAGE_ID); = ToolChainKitAspect::toolChain(k, Constants::CXX_LANGUAGE_ID);
if (!bgData->cCompilerPath.isEmpty()) { if (!bgData->cCompilerPath.isEmpty()) {
if (!cToolchain) if (!cToolchain)
return false; return false;
@@ -183,14 +183,14 @@ bool QbsProjectImporter::matchKit(void *directoryData, const Kit *k) const
if (bgData->cxxCompilerPath != cxxToolchain->compilerCommand()) if (bgData->cxxCompilerPath != cxxToolchain->compilerCommand())
return false; return false;
} }
const QtSupport::BaseQtVersion * const qtVersion = QtSupport::QtKitInformation::qtVersion(k); const QtSupport::BaseQtVersion * const qtVersion = QtSupport::QtKitAspect::qtVersion(k);
if (!bgData->qtBinPath.isEmpty()) { if (!bgData->qtBinPath.isEmpty()) {
if (!qtVersion) if (!qtVersion)
return false; return false;
if (bgData->qtBinPath != qtVersion->binPath()) if (bgData->qtBinPath != qtVersion->binPath())
return false; return false;
} }
if (bgData->sysroot != SysRootKitInformation::sysRoot(k)) if (bgData->sysroot != SysRootKitAspect::sysRoot(k))
return false; return false;
qCDebug(qbsPmLog) << "Kit matches"; qCDebug(qbsPmLog) << "Kit matches";
@@ -215,9 +215,9 @@ Kit *QbsProjectImporter::createKit(void *directoryData) const
tcData << findOrCreateToolChains(bgData->cCompilerPath, Constants::C_LANGUAGE_ID); tcData << findOrCreateToolChains(bgData->cCompilerPath, Constants::C_LANGUAGE_ID);
foreach (const ToolChainData &tc, tcData) { foreach (const ToolChainData &tc, tcData) {
if (!tc.tcs.isEmpty()) if (!tc.tcs.isEmpty())
ToolChainKitInformation::setToolChain(k, tc.tcs.first()); ToolChainKitAspect::setToolChain(k, tc.tcs.first());
} }
SysRootKitInformation::setSysRoot(k, bgData->sysroot); SysRootKitAspect::setSysRoot(k, bgData->sysroot);
}); });
} }

View File

@@ -166,7 +166,7 @@ void QbsManager::addProfile(const QString &name, const QVariantMap &data)
void QbsManager::addQtProfileFromKit(const QString &profileName, const ProjectExplorer::Kit *k) void QbsManager::addQtProfileFromKit(const QString &profileName, const ProjectExplorer::Kit *k)
{ {
const QtSupport::BaseQtVersion * const qt = QtSupport::QtKitInformation::qtVersion(k); const QtSupport::BaseQtVersion * const qt = QtSupport::QtKitAspect::qtVersion(k);
if (!qt) if (!qt)
return; return;

Some files were not shown because too many files have changed in this diff Show More