forked from qt-creator/qt-creator
Move some knowledge from KitAspectWidget to KitAspect
The authoritative source of information about a KitAspect is the KitAspect itself, not the associated widget. Change-Id: I72d3d0425b845457846a940350bab59f1ff0cc2c Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -57,11 +57,8 @@ public:
|
||||
AndroidGdbServerKitAspectWidget(Kit *kit, const KitAspect *ki);
|
||||
~AndroidGdbServerKitAspectWidget() override;
|
||||
|
||||
QString displayName() const override;
|
||||
QString toolTip() const override;
|
||||
void makeReadOnly() override;
|
||||
void refresh() override;
|
||||
bool visibleInKit() override;
|
||||
|
||||
QWidget *mainWidget() const override;
|
||||
QWidget *buttonWidget() const override;
|
||||
@@ -78,6 +75,8 @@ private:
|
||||
AndroidGdbServerKitAspect::AndroidGdbServerKitAspect()
|
||||
{
|
||||
setId(AndroidGdbServerKitAspect::id());
|
||||
setDisplayName(tr("Android GDB server"));
|
||||
setDescription(tr("The GDB server to use for this kit."));
|
||||
setPriority(27999); // Just one less than Debugger!
|
||||
}
|
||||
|
||||
@@ -91,6 +90,11 @@ QList<Task> AndroidGdbServerKitAspect::validate(const Kit *) const
|
||||
return QList<Task>();
|
||||
}
|
||||
|
||||
bool AndroidGdbServerKitAspect::isApplicableToKit(const Kit *k) const
|
||||
{
|
||||
return DeviceKitAspect::deviceId(k) == Constants::ANDROID_DEVICE_ID;
|
||||
}
|
||||
|
||||
KitAspect::ItemList AndroidGdbServerKitAspect::toUserOutput(const Kit *kit) const
|
||||
{
|
||||
return KitAspect::ItemList()
|
||||
@@ -169,16 +173,6 @@ AndroidGdbServerKitAspectWidget::~AndroidGdbServerKitAspectWidget()
|
||||
delete m_label;
|
||||
}
|
||||
|
||||
QString AndroidGdbServerKitAspectWidget::displayName() const
|
||||
{
|
||||
return tr("Android GDB server");
|
||||
}
|
||||
|
||||
QString AndroidGdbServerKitAspectWidget::toolTip() const
|
||||
{
|
||||
return tr("The GDB server to use for this kit.");
|
||||
}
|
||||
|
||||
void AndroidGdbServerKitAspectWidget::makeReadOnly()
|
||||
{
|
||||
m_button->setEnabled(false);
|
||||
@@ -189,11 +183,6 @@ void AndroidGdbServerKitAspectWidget::refresh()
|
||||
m_label->setText(AndroidGdbServerKitAspect::gdbServer(m_kit).toString());
|
||||
}
|
||||
|
||||
bool AndroidGdbServerKitAspectWidget::visibleInKit()
|
||||
{
|
||||
return DeviceKitAspect::deviceId(m_kit) == Constants::ANDROID_DEVICE_ID;
|
||||
}
|
||||
|
||||
QWidget *AndroidGdbServerKitAspectWidget::mainWidget() const
|
||||
{
|
||||
return m_label;
|
||||
|
@@ -37,9 +37,8 @@ public:
|
||||
AndroidGdbServerKitAspect();
|
||||
|
||||
QVariant defaultValue(const ProjectExplorer::Kit *) const override;
|
||||
|
||||
QList<ProjectExplorer::Task> validate(const ProjectExplorer::Kit *) const override;
|
||||
|
||||
bool isApplicableToKit(const ProjectExplorer::Kit *k) const override;
|
||||
ItemList toUserOutput(const ProjectExplorer::Kit *) const override;
|
||||
|
||||
ProjectExplorer::KitAspectWidget *createConfigWidget(ProjectExplorer::Kit *) const override;
|
||||
|
@@ -111,7 +111,6 @@ public:
|
||||
|
||||
private:
|
||||
// KitAspectWidget interface
|
||||
QString displayName() const override { return tr("CMake Tool"); }
|
||||
void makeReadOnly() override { m_comboBox->setEnabled(false); }
|
||||
QWidget *mainWidget() const override { return m_comboBox; }
|
||||
QWidget *buttonWidget() const override { return m_manageButton; }
|
||||
@@ -122,12 +121,6 @@ private:
|
||||
m_comboBox->setCurrentIndex(tool ? indexOf(tool->id()) : -1);
|
||||
}
|
||||
|
||||
QString toolTip() const override
|
||||
{
|
||||
return tr("The CMake Tool to use when building a project with CMake.<br>"
|
||||
"This setting is ignored when using other build systems.");
|
||||
}
|
||||
|
||||
int indexOf(const Core::Id &id)
|
||||
{
|
||||
for (int i = 0; i < m_comboBox->count(); ++i) {
|
||||
@@ -213,6 +206,9 @@ CMakeKitAspect::CMakeKitAspect()
|
||||
{
|
||||
setObjectName(QLatin1String("CMakeKitAspect"));
|
||||
setId(TOOL_ID);
|
||||
setDisplayName(tr("CMake Tool"));
|
||||
setDescription(tr("The CMake Tool to use when building a project with CMake.<br>"
|
||||
"This setting is ignored when using other build systems."));
|
||||
setPriority(20000);
|
||||
|
||||
//make sure the default value is set if a selected CMake is removed
|
||||
@@ -347,7 +343,6 @@ public:
|
||||
|
||||
private:
|
||||
// KitAspectWidget interface
|
||||
QString displayName() const override { return tr("CMake generator"); }
|
||||
void makeReadOnly() override { m_changeButton->setEnabled(false); }
|
||||
QWidget *mainWidget() const override { return m_label; }
|
||||
QWidget *buttonWidget() const override { return m_changeButton; }
|
||||
@@ -375,12 +370,6 @@ private:
|
||||
m_label->setText(message);
|
||||
}
|
||||
|
||||
QString toolTip() const override
|
||||
{
|
||||
return tr("CMake generator defines how a project is built when using CMake.<br>"
|
||||
"This setting is ignored when using other build systems.");
|
||||
}
|
||||
|
||||
void changeGenerator()
|
||||
{
|
||||
QPointer<QDialog> changeDialog = new QDialog(m_changeButton);
|
||||
@@ -531,6 +520,9 @@ CMakeGeneratorKitAspect::CMakeGeneratorKitAspect()
|
||||
{
|
||||
setObjectName(QLatin1String("CMakeGeneratorKitAspect"));
|
||||
setId(GENERATOR_ID);
|
||||
setDisplayName(tr("CMake generator"));
|
||||
setDescription(tr("CMake generator defines how a project is built when using CMake.<br>"
|
||||
"This setting is ignored when using other build systems."));
|
||||
setPriority(19000);
|
||||
}
|
||||
|
||||
@@ -804,7 +796,6 @@ public:
|
||||
|
||||
private:
|
||||
// KitAspectWidget interface
|
||||
QString displayName() const override { return tr("CMake Configuration"); }
|
||||
QWidget *mainWidget() const override { return m_summaryLabel; }
|
||||
QWidget *buttonWidget() const override { return m_manageButton; }
|
||||
|
||||
@@ -824,11 +815,6 @@ private:
|
||||
m_editor->setPlainText(current.join('\n'));
|
||||
}
|
||||
|
||||
QString toolTip() const override
|
||||
{
|
||||
return tr("Default configuration passed to CMake when setting up a project.");
|
||||
}
|
||||
|
||||
void editConfigurationChanges()
|
||||
{
|
||||
if (m_dialog) {
|
||||
@@ -903,6 +889,8 @@ CMakeConfigurationKitAspect::CMakeConfigurationKitAspect()
|
||||
{
|
||||
setObjectName(QLatin1String("CMakeConfigurationKitAspect"));
|
||||
setId(CONFIGURATION_ID);
|
||||
setDisplayName(tr("CMake Configuration"));
|
||||
setDescription(tr("Default configuration passed to CMake when setting up a project."));
|
||||
setPriority(18000);
|
||||
}
|
||||
|
||||
|
@@ -83,8 +83,6 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
QString displayName() const override { return tr("Debugger"); }
|
||||
QString toolTip() const override { return tr("The debugger to use for this kit."); }
|
||||
QWidget *buttonWidget() const override { return m_manageButton; }
|
||||
QWidget *mainWidget() const override { return m_comboBox; }
|
||||
|
||||
@@ -149,6 +147,8 @@ DebuggerKitAspect::DebuggerKitAspect()
|
||||
{
|
||||
setObjectName("DebuggerKitAspect");
|
||||
setId(DebuggerKitAspect::id());
|
||||
setDisplayName(tr("Debugger"));
|
||||
setDescription(tr("The debugger to use for this kit."));
|
||||
setPriority(28000);
|
||||
}
|
||||
|
||||
|
@@ -42,7 +42,6 @@ public:
|
||||
DebuggerKitAspect();
|
||||
|
||||
QVariant defaultValue(const ProjectExplorer::Kit *k) const override;
|
||||
|
||||
QList<ProjectExplorer::Task> validate(const ProjectExplorer::Kit *k) const override
|
||||
{ return DebuggerKitAspect::validateDebugger(k); }
|
||||
|
||||
|
@@ -84,7 +84,6 @@ public:
|
||||
~SysRootKitAspectWidget() override { delete m_chooser; }
|
||||
|
||||
private:
|
||||
QString displayName() const override { return tr("Sysroot"); }
|
||||
void makeReadOnly() override { m_chooser->setReadOnly(true); }
|
||||
QWidget *buttonWidget() const override { return m_chooser->buttonAtIndex(0); }
|
||||
QWidget *mainWidget() const override { return m_chooser->lineEdit(); }
|
||||
@@ -95,12 +94,6 @@ private:
|
||||
m_chooser->setFileName(SysRootKitAspect::sysRoot(m_kit));
|
||||
}
|
||||
|
||||
QString toolTip() const override
|
||||
{
|
||||
return tr("The root directory of the system image to use.<br>"
|
||||
"Leave empty when building for the desktop.");
|
||||
}
|
||||
|
||||
void setPalette(const QPalette &p) override
|
||||
{
|
||||
KitAspectWidget::setPalette(p);
|
||||
@@ -123,6 +116,9 @@ SysRootKitAspect::SysRootKitAspect()
|
||||
{
|
||||
setObjectName(QLatin1String("SysRootInformation"));
|
||||
setId(SysRootKitAspect::id());
|
||||
setDisplayName(tr("Sysroot"));
|
||||
setDescription(tr("The root directory of the system image to use.<br>"
|
||||
"Leave empty when building for the desktop."));
|
||||
setPriority(31000);
|
||||
}
|
||||
|
||||
@@ -272,7 +268,6 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
QString displayName() const override { return tr("Compiler"); }
|
||||
QWidget *mainWidget() const override { return m_mainWidget; }
|
||||
QWidget *buttonWidget() const override { return m_manageButton; }
|
||||
|
||||
@@ -305,13 +300,6 @@ private:
|
||||
}
|
||||
}
|
||||
|
||||
QString toolTip() const override
|
||||
{
|
||||
return tr("The compiler to use for building.<br>"
|
||||
"Make sure the compiler will produce binaries compatible with the target device, "
|
||||
"Qt version and other libraries used.");
|
||||
}
|
||||
|
||||
void manageToolChains()
|
||||
{
|
||||
Core::ICore::showOptionsDialog(Constants::TOOLCHAIN_SETTINGS_PAGE_ID, buttonWidget());
|
||||
@@ -353,6 +341,10 @@ ToolChainKitAspect::ToolChainKitAspect()
|
||||
{
|
||||
setObjectName(QLatin1String("ToolChainInformation"));
|
||||
setId(ToolChainKitAspect::id());
|
||||
setDisplayName(tr("Compiler"));
|
||||
setDescription(tr("The compiler to use for building.<br>"
|
||||
"Make sure the compiler will produce binaries compatible "
|
||||
"with the target device, Qt version and other libraries used."));
|
||||
setPriority(30000);
|
||||
|
||||
connect(KitManager::instance(), &KitManager::kitsLoaded,
|
||||
@@ -786,8 +778,6 @@ public:
|
||||
|
||||
private:
|
||||
QWidget *mainWidget() const override { return m_comboBox; }
|
||||
QString displayName() const override { return tr("Device type"); }
|
||||
QString toolTip() const override { return tr("The type of device to run applications on."); }
|
||||
void makeReadOnly() override { m_comboBox->setEnabled(false); }
|
||||
|
||||
void refresh() override
|
||||
@@ -817,6 +807,8 @@ DeviceTypeKitAspect::DeviceTypeKitAspect()
|
||||
{
|
||||
setObjectName(QLatin1String("DeviceTypeInformation"));
|
||||
setId(DeviceTypeKitAspect::id());
|
||||
setDisplayName(tr("Device type"));
|
||||
setDescription(tr("The type of device to run applications on."));
|
||||
setPriority(33000);
|
||||
}
|
||||
|
||||
@@ -923,8 +915,6 @@ public:
|
||||
private:
|
||||
QWidget *mainWidget() const override { return m_comboBox; }
|
||||
QWidget *buttonWidget() const override { return m_manageButton; }
|
||||
QString displayName() const override { return tr("Device"); }
|
||||
QString toolTip() const override { return tr("The device to run the applications on."); }
|
||||
void makeReadOnly() override { m_comboBox->setEnabled(false); }
|
||||
|
||||
void refresh() override
|
||||
@@ -970,6 +960,8 @@ DeviceKitAspect::DeviceKitAspect()
|
||||
{
|
||||
setObjectName(QLatin1String("DeviceInformation"));
|
||||
setId(DeviceKitAspect::id());
|
||||
setDisplayName(tr("Device"));
|
||||
setDescription(tr("The device to run the applications on."));
|
||||
setPriority(32000);
|
||||
|
||||
connect(KitManager::instance(), &KitManager::kitsLoaded,
|
||||
@@ -1168,14 +1160,8 @@ public:
|
||||
private:
|
||||
QWidget *mainWidget() const override { return m_mainWidget; }
|
||||
QWidget *buttonWidget() const override { return m_manageButton; }
|
||||
QString displayName() const override { return tr("Environment"); }
|
||||
void makeReadOnly() override { m_manageButton->setEnabled(false); }
|
||||
|
||||
QString toolTip() const override
|
||||
{
|
||||
return tr("Additional build environment settings when using this kit.");
|
||||
}
|
||||
|
||||
void refresh() override
|
||||
{
|
||||
const QList<Utils::EnvironmentItem> changes = currentEnvironment();
|
||||
@@ -1257,6 +1243,8 @@ EnvironmentKitAspect::EnvironmentKitAspect()
|
||||
{
|
||||
setObjectName(QLatin1String("EnvironmentKitAspect"));
|
||||
setId(EnvironmentKitAspect::id());
|
||||
setDisplayName(tr("Environment"));
|
||||
setDescription(tr("Additional build environment settings when using this kit."));
|
||||
setPriority(29000);
|
||||
}
|
||||
|
||||
|
@@ -51,11 +51,8 @@ public:
|
||||
SysRootKitAspect();
|
||||
|
||||
QVariant defaultValue(const Kit *k) const override;
|
||||
|
||||
QList<Task> validate(const Kit *k) const override;
|
||||
|
||||
KitAspectWidget *createConfigWidget(Kit *k) const override;
|
||||
|
||||
ItemList toUserOutput(const Kit *k) const override;
|
||||
void addToMacroExpander(Kit *kit, Utils::MacroExpander *expander) const override;
|
||||
|
||||
@@ -76,7 +73,6 @@ public:
|
||||
ToolChainKitAspect();
|
||||
|
||||
QVariant defaultValue(const Kit *k) const override;
|
||||
|
||||
QList<Task> validate(const Kit *k) const override;
|
||||
void upgrade(Kit *k) override;
|
||||
void fix(Kit *k) override;
|
||||
@@ -122,11 +118,8 @@ public:
|
||||
DeviceTypeKitAspect();
|
||||
|
||||
QVariant defaultValue(const Kit *k) const override;
|
||||
|
||||
QList<Task> validate(const Kit *k) const override;
|
||||
|
||||
KitAspectWidget *createConfigWidget(Kit *k) const override;
|
||||
|
||||
ItemList toUserOutput(const Kit *k) const override;
|
||||
|
||||
static const Core::Id id();
|
||||
@@ -151,7 +144,6 @@ public:
|
||||
DeviceKitAspect();
|
||||
|
||||
QVariant defaultValue(const Kit *k) const override;
|
||||
|
||||
QList<Task> validate(const Kit *k) const override;
|
||||
void fix(Kit *k) override;
|
||||
void setup(Kit *k) override;
|
||||
@@ -189,7 +181,6 @@ public:
|
||||
EnvironmentKitAspect();
|
||||
|
||||
QVariant defaultValue(const Kit *k) const override;
|
||||
|
||||
QList<Task> validate(const Kit *k) const override;
|
||||
void fix(Kit *k) override;
|
||||
|
||||
|
@@ -75,6 +75,8 @@ public:
|
||||
|
||||
Core::Id id() const { return m_id; }
|
||||
int priority() const { return m_priority; }
|
||||
QString displayName() const { return m_displayName; }
|
||||
QString description() const { return m_description; }
|
||||
|
||||
virtual QVariant defaultValue(const Kit *) const = 0;
|
||||
|
||||
@@ -101,12 +103,18 @@ public:
|
||||
|
||||
virtual void addToMacroExpander(ProjectExplorer::Kit *kit, Utils::MacroExpander *expander) const;
|
||||
|
||||
virtual bool isApplicableToKit(const Kit *) const { return true; }
|
||||
|
||||
protected:
|
||||
void setId(Core::Id id) { m_id = id; }
|
||||
void setDisplayName(const QString &name) { m_displayName = name; }
|
||||
void setDescription(const QString &desc) { m_description = desc; }
|
||||
void setPriority(int priority) { m_priority = priority; }
|
||||
void notifyAboutUpdate(Kit *k);
|
||||
|
||||
private:
|
||||
QString m_displayName;
|
||||
QString m_description;
|
||||
Core::Id m_id;
|
||||
int m_priority = 0; // The higher the closer to the top.
|
||||
};
|
||||
@@ -119,12 +127,12 @@ public:
|
||||
KitAspectWidget(Kit *kit, const KitAspect *ki);
|
||||
|
||||
Core::Id kitInformationId() const;
|
||||
QString displayName() const { return m_kitInformation->displayName(); }
|
||||
QString toolTip() const { return m_kitInformation->description(); }
|
||||
|
||||
virtual QString displayName() const = 0;
|
||||
virtual QString toolTip() const { return QString(); }
|
||||
virtual void makeReadOnly() = 0;
|
||||
virtual void refresh() = 0;
|
||||
virtual bool visibleInKit() { return true; }
|
||||
bool visibleInKit() { return m_kitInformation->isApplicableToKit(m_kit); }
|
||||
|
||||
virtual QWidget *mainWidget() const = 0;
|
||||
virtual QWidget *buttonWidget() const { return nullptr; }
|
||||
|
@@ -54,7 +54,6 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
QString displayName() const override { return QbsKitAspect::displayName(); }
|
||||
void makeReadOnly() override { m_changeButton->setEnabled(false); }
|
||||
void refresh() override { m_contentLabel->setText(QbsKitAspect::representation(kit())); }
|
||||
QWidget *mainWidget() const override { return m_contentLabel; }
|
||||
@@ -75,14 +74,10 @@ QbsKitAspect::QbsKitAspect()
|
||||
{
|
||||
setObjectName(QLatin1String("QbsKitAspect"));
|
||||
setId(QbsKitAspect::id());
|
||||
setDisplayName(tr("Additional Qbs Profile Settings"));
|
||||
setPriority(22000);
|
||||
}
|
||||
|
||||
QString QbsKitAspect::displayName()
|
||||
{
|
||||
return tr("Additional Qbs Profile Settings");
|
||||
}
|
||||
|
||||
QString QbsKitAspect::representation(const Kit *kit)
|
||||
{
|
||||
const QVariantMap props = properties(kit);
|
||||
|
@@ -37,7 +37,6 @@ class QbsKitAspect final : public ProjectExplorer::KitAspect
|
||||
public:
|
||||
QbsKitAspect();
|
||||
|
||||
static QString displayName();
|
||||
static QString representation(const ProjectExplorer::Kit *kit);
|
||||
static QVariantMap properties(const ProjectExplorer::Kit *kit);
|
||||
static void setProperties(ProjectExplorer::Kit *kit, const QVariantMap &properties);
|
||||
|
@@ -61,15 +61,8 @@ public:
|
||||
|
||||
private:
|
||||
QWidget *mainWidget() const override { return m_lineEdit; }
|
||||
QString displayName() const override { return tr("Qt mkspec"); }
|
||||
void makeReadOnly() override { m_lineEdit->setEnabled(false); }
|
||||
|
||||
QString toolTip() const override
|
||||
{
|
||||
return tr("The mkspec to use when building the project with qmake.<br>"
|
||||
"This setting is ignored when using other build systems.");
|
||||
}
|
||||
|
||||
void refresh() override
|
||||
{
|
||||
if (!m_ignoreChange)
|
||||
@@ -92,6 +85,9 @@ QmakeKitAspect::QmakeKitAspect()
|
||||
{
|
||||
setObjectName(QLatin1String("QmakeKitAspect"));
|
||||
setId(QmakeKitAspect::id());
|
||||
setDisplayName(tr("Qt mkspec"));
|
||||
setDescription(tr("The mkspec to use when building the project with qmake.<br>"
|
||||
"This setting is ignored when using other build systems."));
|
||||
setPriority(24000);
|
||||
}
|
||||
|
||||
|
@@ -38,7 +38,6 @@ public:
|
||||
QmakeKitAspect();
|
||||
|
||||
QVariant defaultValue(const ProjectExplorer::Kit *k) const override;
|
||||
|
||||
QList<ProjectExplorer::Task> validate(const ProjectExplorer::Kit *k) const override;
|
||||
void setup(ProjectExplorer::Kit *k) override;
|
||||
|
||||
|
@@ -82,7 +82,6 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
QString displayName() const override { return tr("Qt version"); }
|
||||
void makeReadOnly() override { m_combo->setEnabled(false); }
|
||||
QWidget *mainWidget() const override { return m_combo; }
|
||||
QWidget *buttonWidget() const override { return m_manageButton; }
|
||||
@@ -92,13 +91,6 @@ private:
|
||||
m_combo->setCurrentIndex(findQtVersion(QtKitAspect::qtVersionId(m_kit)));
|
||||
}
|
||||
|
||||
QString toolTip() const override
|
||||
{
|
||||
return tr("The Qt library to use for all projects using this kit.<br>"
|
||||
"A Qt version is required for qmake-based projects "
|
||||
"and optional when using other build systems.");
|
||||
}
|
||||
|
||||
private:
|
||||
static QString itemNameFor(const BaseQtVersion *v)
|
||||
{
|
||||
@@ -158,6 +150,10 @@ QtKitAspect::QtKitAspect()
|
||||
{
|
||||
setObjectName(QLatin1String("QtKitAspect"));
|
||||
setId(QtKitAspect::id());
|
||||
setDisplayName(tr("Qt version"));
|
||||
setDescription(tr("The Qt library to use for all projects using this kit.<br>"
|
||||
"A Qt version is required for qmake-based projects "
|
||||
"and optional when using other build systems."));
|
||||
setPriority(26000);
|
||||
|
||||
connect(KitManager::instance(), &KitManager::kitsLoaded,
|
||||
|
Reference in New Issue
Block a user