forked from qt-creator/qt-creator
Simplify IDeviceFactory use
With a 1:1 mapping of factory and created device types, the signatures of the device factory methods are much simpler, and yield even in the cases where a factory created more than one device type (WinRt and Qdb) less code after duplication of the factory. Change-Id: I1c6279a88e8483001e5603cfe1922029243be610 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -36,25 +36,18 @@ namespace Android {
|
||||
namespace Internal {
|
||||
|
||||
AndroidDeviceFactory::AndroidDeviceFactory()
|
||||
: ProjectExplorer::IDeviceFactory(Constants::ANDROID_DEVICE_TYPE)
|
||||
{
|
||||
setObjectName(QLatin1String("AndroidDeviceFactory"));
|
||||
}
|
||||
|
||||
QString AndroidDeviceFactory::displayNameForId(Core::Id type) const
|
||||
QString AndroidDeviceFactory::displayName() const
|
||||
{
|
||||
if (type == Constants::ANDROID_DEVICE_TYPE)
|
||||
return tr("Android Device");
|
||||
return QString();
|
||||
}
|
||||
|
||||
QList<Core::Id> AndroidDeviceFactory::availableCreationIds() const
|
||||
QIcon AndroidDeviceFactory::icon() const
|
||||
{
|
||||
return QList<Core::Id>() << Core::Id(Constants::ANDROID_DEVICE_TYPE);
|
||||
}
|
||||
|
||||
QIcon AndroidDeviceFactory::iconForId(Core::Id type) const
|
||||
{
|
||||
Q_UNUSED(type)
|
||||
using namespace Utils;
|
||||
static const QIcon icon =
|
||||
Icon::combinedIcon({Icon({{":/android/images/androiddevicesmall.png",
|
||||
@@ -69,15 +62,14 @@ bool AndroidDeviceFactory::canCreate() const
|
||||
return false;
|
||||
}
|
||||
|
||||
ProjectExplorer::IDevice::Ptr AndroidDeviceFactory::create(Core::Id id) const
|
||||
ProjectExplorer::IDevice::Ptr AndroidDeviceFactory::create() const
|
||||
{
|
||||
Q_UNUSED(id)
|
||||
return ProjectExplorer::IDevice::Ptr();
|
||||
}
|
||||
|
||||
bool AndroidDeviceFactory::canRestore(const QVariantMap &map) const
|
||||
{
|
||||
return ProjectExplorer::IDevice::typeFromMap(map) == Constants::ANDROID_DEVICE_TYPE;
|
||||
return ProjectExplorer::IDevice::typeFromMap(map) == deviceType();
|
||||
}
|
||||
|
||||
ProjectExplorer::IDevice::Ptr AndroidDeviceFactory::restore(const QVariantMap &map) const
|
||||
|
@@ -36,12 +36,11 @@ class AndroidDeviceFactory : public ProjectExplorer::IDeviceFactory
|
||||
public:
|
||||
AndroidDeviceFactory();
|
||||
|
||||
QString displayNameForId(Core::Id type) const override;
|
||||
QList<Core::Id> availableCreationIds() const override;
|
||||
QIcon iconForId(Core::Id type) const override;
|
||||
QString displayName() const override;
|
||||
QIcon icon() const override;
|
||||
|
||||
bool canCreate() const override;
|
||||
ProjectExplorer::IDevice::Ptr create(Core::Id id) const override;
|
||||
ProjectExplorer::IDevice::Ptr create() const override;
|
||||
bool canRestore(const QVariantMap &map) const override;
|
||||
ProjectExplorer::IDevice::Ptr restore(const QVariantMap &map) const override;
|
||||
};
|
||||
|
@@ -40,22 +40,17 @@ namespace BareMetal {
|
||||
namespace Internal {
|
||||
|
||||
BareMetalDeviceConfigurationFactory::BareMetalDeviceConfigurationFactory()
|
||||
: IDeviceFactory(Constants::BareMetalOsType)
|
||||
{
|
||||
}
|
||||
|
||||
QString BareMetalDeviceConfigurationFactory::displayNameForId(Core::Id type) const
|
||||
QString BareMetalDeviceConfigurationFactory::displayName() const
|
||||
{
|
||||
return type == Constants::BareMetalOsType ? tr("Bare Metal Device") : QString();
|
||||
return tr("Bare Metal Device");
|
||||
}
|
||||
|
||||
QList<Core::Id> BareMetalDeviceConfigurationFactory::availableCreationIds() const
|
||||
QIcon BareMetalDeviceConfigurationFactory::icon() const
|
||||
{
|
||||
return QList<Core::Id>() << Core::Id(Constants::BareMetalOsType);
|
||||
}
|
||||
|
||||
QIcon BareMetalDeviceConfigurationFactory::iconForId(Core::Id type) const
|
||||
{
|
||||
Q_UNUSED(type)
|
||||
using namespace Utils;
|
||||
static const QIcon icon =
|
||||
Icon::combinedIcon({Icon({{":/baremetal/images/baremetaldevicesmall.png",
|
||||
@@ -65,9 +60,8 @@ QIcon BareMetalDeviceConfigurationFactory::iconForId(Core::Id type) const
|
||||
return icon;
|
||||
}
|
||||
|
||||
IDevice::Ptr BareMetalDeviceConfigurationFactory::create(Core::Id id) const
|
||||
IDevice::Ptr BareMetalDeviceConfigurationFactory::create() const
|
||||
{
|
||||
QTC_ASSERT(id == Constants::BareMetalOsType, return IDevice::Ptr());
|
||||
BareMetalDeviceConfigurationWizard wizard;
|
||||
if (wizard.exec() != QDialog::Accepted)
|
||||
return IDevice::Ptr();
|
||||
@@ -76,7 +70,7 @@ IDevice::Ptr BareMetalDeviceConfigurationFactory::create(Core::Id id) const
|
||||
|
||||
bool BareMetalDeviceConfigurationFactory::canRestore(const QVariantMap &map) const
|
||||
{
|
||||
return IDevice::typeFromMap(map) == Constants::BareMetalOsType;
|
||||
return IDevice::typeFromMap(map) == deviceType();
|
||||
}
|
||||
|
||||
IDevice::Ptr BareMetalDeviceConfigurationFactory::restore(const QVariantMap &map) const
|
||||
|
@@ -38,11 +38,10 @@ class BareMetalDeviceConfigurationFactory
|
||||
public:
|
||||
BareMetalDeviceConfigurationFactory();
|
||||
|
||||
QString displayNameForId(Core::Id type) const override;
|
||||
QList<Core::Id> availableCreationIds() const override;
|
||||
QIcon iconForId(Core::Id type) const override;
|
||||
QString displayName() const override;
|
||||
QIcon icon() const override;
|
||||
|
||||
ProjectExplorer::IDevice::Ptr create(Core::Id id) const override;
|
||||
ProjectExplorer::IDevice::Ptr create() const override;
|
||||
bool canRestore(const QVariantMap &map) const override;
|
||||
ProjectExplorer::IDevice::Ptr restore(const QVariantMap &map) const override;
|
||||
};
|
||||
|
@@ -36,23 +36,18 @@ namespace Ios {
|
||||
namespace Internal {
|
||||
|
||||
IosDeviceFactory::IosDeviceFactory()
|
||||
: ProjectExplorer::IDeviceFactory(Constants::IOS_DEVICE_ID)
|
||||
{
|
||||
setObjectName(QLatin1String("IosDeviceFactory"));
|
||||
}
|
||||
|
||||
QString IosDeviceFactory::displayNameForId(Core::Id type) const
|
||||
QString IosDeviceFactory::displayName() const
|
||||
{
|
||||
return type == Constants::IOS_DEVICE_TYPE ? IosDevice::name() : QString();
|
||||
return IosDevice::name();
|
||||
}
|
||||
|
||||
QList<Core::Id> IosDeviceFactory::availableCreationIds() const
|
||||
QIcon IosDeviceFactory::icon() const
|
||||
{
|
||||
return QList<Core::Id>() << Core::Id(Constants::IOS_DEVICE_TYPE);
|
||||
}
|
||||
|
||||
QIcon IosDeviceFactory::iconForId(Core::Id type) const
|
||||
{
|
||||
Q_UNUSED(type)
|
||||
using namespace Utils;
|
||||
static const QIcon icon =
|
||||
Icon::combinedIcon({Icon({{":/ios/images/iosdevicesmall.png",
|
||||
@@ -67,9 +62,8 @@ bool IosDeviceFactory::canCreate() const
|
||||
return false;
|
||||
}
|
||||
|
||||
ProjectExplorer::IDevice::Ptr IosDeviceFactory::create(Core::Id id) const
|
||||
ProjectExplorer::IDevice::Ptr IosDeviceFactory::create() const
|
||||
{
|
||||
Q_UNUSED(id)
|
||||
return ProjectExplorer::IDevice::Ptr();
|
||||
}
|
||||
|
||||
|
@@ -40,12 +40,11 @@ class IosDeviceFactory : public ProjectExplorer::IDeviceFactory
|
||||
public:
|
||||
IosDeviceFactory();
|
||||
|
||||
QString displayNameForId(Core::Id type) const override;
|
||||
QList<Core::Id> availableCreationIds() const override;
|
||||
QIcon iconForId(Core::Id type) const override;
|
||||
QString displayName() const override;
|
||||
QIcon icon() const override;
|
||||
|
||||
bool canCreate() const override;
|
||||
ProjectExplorer::IDevice::Ptr create(Core::Id id) const override;
|
||||
ProjectExplorer::IDevice::Ptr create() const override;
|
||||
bool canRestore(const QVariantMap &map) const override;
|
||||
ProjectExplorer::IDevice::Ptr restore(const QVariantMap &map) const override;
|
||||
};
|
||||
|
@@ -36,25 +36,18 @@ namespace Ios {
|
||||
namespace Internal {
|
||||
|
||||
IosSimulatorFactory::IosSimulatorFactory()
|
||||
: ProjectExplorer::IDeviceFactory(Constants::IOS_SIMULATOR_TYPE)
|
||||
{
|
||||
setObjectName(QLatin1String("IosSimulatorFactory"));
|
||||
}
|
||||
|
||||
QString IosSimulatorFactory::displayNameForId(Core::Id type) const
|
||||
QString IosSimulatorFactory::displayName() const
|
||||
{
|
||||
if (type == Constants::IOS_SIMULATOR_TYPE)
|
||||
return tr("iOS Simulator");
|
||||
return QString();
|
||||
}
|
||||
|
||||
QList<Core::Id> IosSimulatorFactory::availableCreationIds() const
|
||||
QIcon IosSimulatorFactory::icon() const
|
||||
{
|
||||
return QList<Core::Id>() << Core::Id(Constants::IOS_SIMULATOR_TYPE);
|
||||
}
|
||||
|
||||
QIcon IosSimulatorFactory::iconForId(Core::Id type) const
|
||||
{
|
||||
Q_UNUSED(type)
|
||||
using namespace Utils;
|
||||
static const QIcon icon =
|
||||
Icon::combinedIcon({Icon({{":/ios/images/iosdevicesmall.png",
|
||||
@@ -69,15 +62,14 @@ bool IosSimulatorFactory::canCreate() const
|
||||
return false;
|
||||
}
|
||||
|
||||
ProjectExplorer::IDevice::Ptr IosSimulatorFactory::create(Core::Id id) const
|
||||
ProjectExplorer::IDevice::Ptr IosSimulatorFactory::create() const
|
||||
{
|
||||
Q_UNUSED(id)
|
||||
return ProjectExplorer::IDevice::Ptr();
|
||||
}
|
||||
|
||||
bool IosSimulatorFactory::canRestore(const QVariantMap &map) const
|
||||
{
|
||||
return ProjectExplorer::IDevice::typeFromMap(map) == Constants::IOS_SIMULATOR_TYPE;
|
||||
return ProjectExplorer::IDevice::typeFromMap(map) == deviceType();
|
||||
}
|
||||
|
||||
ProjectExplorer::IDevice::Ptr IosSimulatorFactory::restore(const QVariantMap &map) const
|
||||
|
@@ -36,12 +36,11 @@ class IosSimulatorFactory : public ProjectExplorer::IDeviceFactory
|
||||
public:
|
||||
IosSimulatorFactory();
|
||||
|
||||
QString displayNameForId(Core::Id type) const override;
|
||||
QList<Core::Id> availableCreationIds() const override;
|
||||
QIcon iconForId(Core::Id type) const override;
|
||||
QString displayName() const override;
|
||||
QIcon icon() const override;
|
||||
|
||||
bool canCreate() const override;
|
||||
ProjectExplorer::IDevice::Ptr create(Core::Id id) const override;
|
||||
ProjectExplorer::IDevice::Ptr create() const override;
|
||||
bool canRestore(const QVariantMap &map) const override;
|
||||
ProjectExplorer::IDevice::Ptr restore(const QVariantMap &map) const override;
|
||||
};
|
||||
|
@@ -38,24 +38,17 @@
|
||||
namespace ProjectExplorer {
|
||||
namespace Internal {
|
||||
|
||||
DesktopDeviceFactory::DesktopDeviceFactory(QObject *parent) : IDeviceFactory(parent)
|
||||
DesktopDeviceFactory::DesktopDeviceFactory()
|
||||
: IDeviceFactory(Constants::DESKTOP_DEVICE_TYPE)
|
||||
{ }
|
||||
|
||||
QString DesktopDeviceFactory::displayNameForId(Core::Id type) const
|
||||
QString DesktopDeviceFactory::displayName() const
|
||||
{
|
||||
if (type == Constants::DESKTOP_DEVICE_TYPE)
|
||||
return tr("Desktop");
|
||||
return QString();
|
||||
}
|
||||
|
||||
QList<Core::Id> DesktopDeviceFactory::availableCreationIds() const
|
||||
QIcon DesktopDeviceFactory::icon() const
|
||||
{
|
||||
return QList<Core::Id>() << Core::Id(Constants::DESKTOP_DEVICE_TYPE);
|
||||
}
|
||||
|
||||
QIcon DesktopDeviceFactory::iconForId(Core::Id type) const
|
||||
{
|
||||
Q_UNUSED(type)
|
||||
static const QIcon icon =
|
||||
Utils::creatorTheme()->flag(Utils::Theme::FlatSideBarIcons)
|
||||
? Utils::Icon::combinedIcon({Icons::DESKTOP_DEVICE.icon(),
|
||||
@@ -69,15 +62,14 @@ bool DesktopDeviceFactory::canCreate() const
|
||||
return false;
|
||||
}
|
||||
|
||||
IDevice::Ptr DesktopDeviceFactory::create(Core::Id id) const
|
||||
IDevice::Ptr DesktopDeviceFactory::create() const
|
||||
{
|
||||
Q_UNUSED(id);
|
||||
return IDevice::Ptr();
|
||||
}
|
||||
|
||||
bool DesktopDeviceFactory::canRestore(const QVariantMap &map) const
|
||||
{
|
||||
return IDevice::idFromMap(map) == Constants::DESKTOP_DEVICE_ID;
|
||||
return IDevice::idFromMap(map) == deviceType();
|
||||
}
|
||||
|
||||
IDevice::Ptr DesktopDeviceFactory::restore(const QVariantMap &map) const
|
||||
|
@@ -35,14 +35,13 @@ class DesktopDeviceFactory : public IDeviceFactory
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit DesktopDeviceFactory(QObject *parent = 0);
|
||||
DesktopDeviceFactory();
|
||||
|
||||
QString displayNameForId(Core::Id type) const override;
|
||||
QList<Core::Id> availableCreationIds() const override;
|
||||
QIcon iconForId(Core::Id type) const override;
|
||||
QString displayName() const override;
|
||||
QIcon icon() const override;
|
||||
|
||||
bool canCreate() const override;
|
||||
IDevice::Ptr create(Core::Id id) const override;
|
||||
IDevice::Ptr create() const override;
|
||||
bool canRestore(const QVariantMap &map) const override;
|
||||
IDevice::Ptr restore(const QVariantMap &map) const override;
|
||||
};
|
||||
|
@@ -62,7 +62,7 @@ bool DeviceCheckBuildStep::init(QList<const BuildStep *> &earlierSteps)
|
||||
return false;
|
||||
}
|
||||
|
||||
IDevice::Ptr newDevice = factory->create(deviceTypeId);
|
||||
IDevice::Ptr newDevice = factory->create();
|
||||
if (newDevice.isNull()) {
|
||||
emit addOutput(tr("No device configured."), BuildStep::OutputFormat::ErrorMessage);
|
||||
return false;
|
||||
|
@@ -45,12 +45,10 @@ DeviceFactorySelectionDialog::DeviceFactorySelectionDialog(QWidget *parent) :
|
||||
for (const IDeviceFactory * const factory : IDeviceFactory::allDeviceFactories()) {
|
||||
if (!factory->canCreate())
|
||||
continue;
|
||||
foreach (Core::Id id, factory->availableCreationIds()) {
|
||||
QListWidgetItem *item = new QListWidgetItem(factory->displayNameForId(id));
|
||||
item->setData(Qt::UserRole, QVariant::fromValue(id));
|
||||
QListWidgetItem *item = new QListWidgetItem(factory->displayName());
|
||||
item->setData(Qt::UserRole, QVariant::fromValue(factory->deviceType()));
|
||||
ui->listWidget->addItem(item);
|
||||
}
|
||||
}
|
||||
|
||||
connect(ui->listWidget, &QListWidget::itemSelectionChanged,
|
||||
this, &DeviceFactorySelectionDialog::handleItemSelectionChanged);
|
||||
|
@@ -147,7 +147,7 @@ void DeviceSettingsWidget::addDevice()
|
||||
IDeviceFactory *factory = IDeviceFactory::find(toCreate);
|
||||
if (!factory)
|
||||
return;
|
||||
IDevice::Ptr device = factory->create(toCreate);
|
||||
IDevice::Ptr device = factory->create();
|
||||
if (device.isNull())
|
||||
return;
|
||||
|
||||
|
@@ -80,7 +80,7 @@ namespace ProjectExplorer {
|
||||
|
||||
bool IDeviceFactory::canCreate() const
|
||||
{
|
||||
return !availableCreationIds().isEmpty();
|
||||
return true;
|
||||
}
|
||||
|
||||
static QList<IDeviceFactory *> g_deviceFactories;
|
||||
@@ -89,11 +89,12 @@ IDeviceFactory *IDeviceFactory::find(Core::Id type)
|
||||
{
|
||||
return Utils::findOrDefault(g_deviceFactories,
|
||||
[&type](IDeviceFactory *factory) {
|
||||
return factory->availableCreationIds().contains(type);
|
||||
return factory->deviceType() == type;
|
||||
});
|
||||
}
|
||||
|
||||
IDeviceFactory::IDeviceFactory(QObject *parent) : QObject(parent)
|
||||
IDeviceFactory::IDeviceFactory(Core::Id deviceType)
|
||||
: m_deviceType(deviceType)
|
||||
{
|
||||
g_deviceFactories.append(this);
|
||||
}
|
||||
|
@@ -47,22 +47,23 @@ public:
|
||||
~IDeviceFactory() override;
|
||||
static const QList<IDeviceFactory *> allDeviceFactories();
|
||||
|
||||
virtual QString displayNameForId(Core::Id type) const = 0;
|
||||
|
||||
virtual QList<Core::Id> availableCreationIds() const = 0;
|
||||
|
||||
virtual QIcon iconForId(Core::Id type) const = 0;
|
||||
virtual QString displayName() const = 0;
|
||||
virtual QIcon icon() const = 0;
|
||||
|
||||
virtual bool canCreate() const;
|
||||
virtual IDevice::Ptr create(Core::Id id) const = 0;
|
||||
virtual IDevice::Ptr create() const = 0;
|
||||
|
||||
virtual bool canRestore(const QVariantMap &map) const = 0;
|
||||
virtual IDevice::Ptr restore(const QVariantMap &map) const = 0;
|
||||
|
||||
static IDeviceFactory *find(Core::Id type);
|
||||
Core::Id deviceType() const { return m_deviceType; }
|
||||
|
||||
protected:
|
||||
explicit IDeviceFactory(QObject *parent = nullptr);
|
||||
explicit IDeviceFactory(Core::Id deviceType);
|
||||
|
||||
private:
|
||||
const Core::Id m_deviceType;
|
||||
};
|
||||
|
||||
} // namespace ProjectExplorer
|
||||
|
@@ -356,9 +356,9 @@ static QIcon iconForDeviceType(Core::Id deviceType)
|
||||
{
|
||||
const IDeviceFactory *factory = Utils::findOrDefault(IDeviceFactory::allDeviceFactories(),
|
||||
[&deviceType](const IDeviceFactory *factory) {
|
||||
return factory->availableCreationIds().contains(deviceType);
|
||||
return factory->deviceType() == deviceType;
|
||||
});
|
||||
return factory ? factory->iconForId(deviceType) : QIcon();
|
||||
return factory ? factory->icon() : QIcon();
|
||||
}
|
||||
|
||||
QIcon Kit::icon() const
|
||||
|
@@ -586,13 +586,8 @@ KitInformation::ItemList DeviceTypeKitInformation::toUserOutput(const Kit *k) co
|
||||
Core::Id type = deviceTypeId(k);
|
||||
QString typeDisplayName = tr("Unknown device type");
|
||||
if (type.isValid()) {
|
||||
IDeviceFactory *factory = Utils::findOrDefault(IDeviceFactory::allDeviceFactories(),
|
||||
[&type](IDeviceFactory *factory) {
|
||||
return factory->availableCreationIds().contains(type);
|
||||
});
|
||||
|
||||
if (factory)
|
||||
typeDisplayName = factory->displayNameForId(type);
|
||||
if (IDeviceFactory *factory = IDeviceFactory::find(type))
|
||||
typeDisplayName = factory->displayName();
|
||||
}
|
||||
return ItemList() << qMakePair(tr("Device type"), typeDisplayName);
|
||||
}
|
||||
|
@@ -262,10 +262,8 @@ int ToolChainInformationConfigWidget::indexOf(QComboBox *cb, const ToolChain *tc
|
||||
DeviceTypeInformationConfigWidget::DeviceTypeInformationConfigWidget(Kit *workingCopy, const KitInformation *ki) :
|
||||
KitConfigWidget(workingCopy, ki), m_comboBox(new QComboBox)
|
||||
{
|
||||
for (IDeviceFactory *factory : IDeviceFactory::allDeviceFactories()) {
|
||||
foreach (Id id, factory->availableCreationIds())
|
||||
m_comboBox->addItem(factory->displayNameForId(id), id.toSetting());
|
||||
}
|
||||
for (IDeviceFactory *factory : IDeviceFactory::allDeviceFactories())
|
||||
m_comboBox->addItem(factory->displayName(), factory->deviceType().toSetting());
|
||||
|
||||
m_comboBox->setToolTip(toolTip());
|
||||
|
||||
|
@@ -515,13 +515,11 @@ QSet<Id> KitFeatureProvider::availablePlatforms() const
|
||||
|
||||
QString KitFeatureProvider::displayNameForPlatform(Id id) const
|
||||
{
|
||||
for (IDeviceFactory *f : IDeviceFactory::allDeviceFactories()) {
|
||||
if (f->availableCreationIds().contains(id)) {
|
||||
const QString dn = f->displayNameForId(id);
|
||||
QTC_ASSERT(!dn.isEmpty(), continue);
|
||||
if (IDeviceFactory *f = IDeviceFactory::find(id)) {
|
||||
const QString dn = f->displayName();
|
||||
QTC_CHECK(!dn.isEmpty());
|
||||
return dn;
|
||||
}
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
|
@@ -37,25 +37,18 @@
|
||||
namespace Qnx {
|
||||
namespace Internal {
|
||||
|
||||
QnxDeviceFactory::QnxDeviceFactory(QObject *parent) :
|
||||
ProjectExplorer::IDeviceFactory(parent)
|
||||
QnxDeviceFactory::QnxDeviceFactory()
|
||||
: ProjectExplorer::IDeviceFactory(Constants::QNX_QNX_OS_TYPE)
|
||||
{
|
||||
}
|
||||
|
||||
QString QnxDeviceFactory::displayNameForId(Core::Id type) const
|
||||
QString QnxDeviceFactory::displayName() const
|
||||
{
|
||||
QTC_ASSERT(type == Constants::QNX_QNX_OS_TYPE, return QString());
|
||||
return tr("QNX Device");
|
||||
}
|
||||
|
||||
QList<Core::Id> QnxDeviceFactory::availableCreationIds() const
|
||||
QIcon QnxDeviceFactory::icon() const
|
||||
{
|
||||
return {Constants::QNX_QNX_OS_TYPE};
|
||||
}
|
||||
|
||||
QIcon QnxDeviceFactory::iconForId(Core::Id type) const
|
||||
{
|
||||
Q_UNUSED(type)
|
||||
using namespace Utils;
|
||||
static const QIcon icon =
|
||||
Icon::combinedIcon({Icon({{":/qnx/images/qnxdevicesmall.png",
|
||||
@@ -70,9 +63,8 @@ bool QnxDeviceFactory::canCreate() const
|
||||
return true;
|
||||
}
|
||||
|
||||
ProjectExplorer::IDevice::Ptr QnxDeviceFactory::create(Core::Id id) const
|
||||
ProjectExplorer::IDevice::Ptr QnxDeviceFactory::create() const
|
||||
{
|
||||
Q_UNUSED(id);
|
||||
QnxDeviceWizard wizard;
|
||||
if (wizard.exec() != QDialog::Accepted)
|
||||
return ProjectExplorer::IDevice::Ptr();
|
||||
@@ -81,7 +73,7 @@ ProjectExplorer::IDevice::Ptr QnxDeviceFactory::create(Core::Id id) const
|
||||
|
||||
bool QnxDeviceFactory::canRestore(const QVariantMap &map) const
|
||||
{
|
||||
return ProjectExplorer::IDevice::typeFromMap(map) == Constants::QNX_QNX_OS_TYPE;
|
||||
return ProjectExplorer::IDevice::typeFromMap(map) == deviceType();
|
||||
}
|
||||
|
||||
ProjectExplorer::IDevice::Ptr QnxDeviceFactory::restore(const QVariantMap &map) const
|
||||
|
@@ -35,14 +35,13 @@ class QnxDeviceFactory : public ProjectExplorer::IDeviceFactory
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit QnxDeviceFactory(QObject *parent = 0);
|
||||
QnxDeviceFactory();
|
||||
|
||||
QString displayNameForId(Core::Id type) const override;
|
||||
QList<Core::Id> availableCreationIds() const override;
|
||||
QIcon iconForId(Core::Id type) const override;
|
||||
QString displayName() const override;
|
||||
QIcon icon() const override;
|
||||
|
||||
bool canCreate() const override;
|
||||
ProjectExplorer::IDevice::Ptr create(Core::Id id) const override;
|
||||
ProjectExplorer::IDevice::Ptr create() const override;
|
||||
|
||||
bool canRestore(const QVariantMap &map) const override;
|
||||
ProjectExplorer::IDevice::Ptr restore(const QVariantMap &map) const override;
|
||||
|
@@ -39,31 +39,23 @@ using namespace ProjectExplorer;
|
||||
|
||||
namespace RemoteLinux {
|
||||
|
||||
GenericLinuxDeviceConfigurationFactory::GenericLinuxDeviceConfigurationFactory(QObject *parent)
|
||||
: IDeviceFactory(parent)
|
||||
GenericLinuxDeviceConfigurationFactory::GenericLinuxDeviceConfigurationFactory()
|
||||
: IDeviceFactory(Constants::GenericLinuxOsType)
|
||||
{
|
||||
}
|
||||
|
||||
QString GenericLinuxDeviceConfigurationFactory::displayNameForId(Core::Id type) const
|
||||
QString GenericLinuxDeviceConfigurationFactory::displayName() const
|
||||
{
|
||||
QTC_ASSERT(type == Constants::GenericLinuxOsType, return QString());
|
||||
return tr("Generic Linux Device");
|
||||
}
|
||||
|
||||
QList<Core::Id> GenericLinuxDeviceConfigurationFactory::availableCreationIds() const
|
||||
QIcon GenericLinuxDeviceConfigurationFactory::icon() const
|
||||
{
|
||||
return QList<Core::Id>() << Core::Id(Constants::GenericLinuxOsType);
|
||||
}
|
||||
|
||||
QIcon GenericLinuxDeviceConfigurationFactory::iconForId(Core::Id type) const
|
||||
{
|
||||
Q_UNUSED(type)
|
||||
return QIcon();
|
||||
}
|
||||
|
||||
IDevice::Ptr GenericLinuxDeviceConfigurationFactory::create(Core::Id id) const
|
||||
IDevice::Ptr GenericLinuxDeviceConfigurationFactory::create() const
|
||||
{
|
||||
QTC_ASSERT(id == Constants::GenericLinuxOsType, return IDevice::Ptr());
|
||||
GenericLinuxDeviceConfigurationWizard wizard(Core::ICore::mainWindow());
|
||||
if (wizard.exec() != QDialog::Accepted)
|
||||
return IDevice::Ptr();
|
||||
@@ -72,7 +64,7 @@ IDevice::Ptr GenericLinuxDeviceConfigurationFactory::create(Core::Id id) const
|
||||
|
||||
bool GenericLinuxDeviceConfigurationFactory::canRestore(const QVariantMap &map) const
|
||||
{
|
||||
return IDevice::typeFromMap(map) == Constants::GenericLinuxOsType;
|
||||
return IDevice::typeFromMap(map) == deviceType();
|
||||
}
|
||||
|
||||
IDevice::Ptr GenericLinuxDeviceConfigurationFactory::restore(const QVariantMap &map) const
|
||||
|
@@ -37,13 +37,12 @@ class REMOTELINUX_EXPORT GenericLinuxDeviceConfigurationFactory
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
GenericLinuxDeviceConfigurationFactory(QObject *parent = 0);
|
||||
GenericLinuxDeviceConfigurationFactory();
|
||||
|
||||
QString displayNameForId(Core::Id type) const override;
|
||||
QList<Core::Id> availableCreationIds() const override;
|
||||
QIcon iconForId(Core::Id type) const override;
|
||||
QString displayName() const override;
|
||||
QIcon icon() const override;
|
||||
|
||||
ProjectExplorer::IDevice::Ptr create(Core::Id id) const override;
|
||||
ProjectExplorer::IDevice::Ptr create() const override;
|
||||
bool canRestore(const QVariantMap &map) const override;
|
||||
ProjectExplorer::IDevice::Ptr restore(const QVariantMap &map) const override;
|
||||
};
|
||||
|
@@ -47,9 +47,8 @@ using QtSupport::QtVersionManager;
|
||||
namespace WinRt {
|
||||
namespace Internal {
|
||||
|
||||
WinRtDeviceFactory::WinRtDeviceFactory()
|
||||
: m_process(0)
|
||||
, m_initialized(false)
|
||||
WinRtDeviceFactory::WinRtDeviceFactory(Core::Id deviceType)
|
||||
: ProjectExplorer::IDeviceFactory(deviceType)
|
||||
{
|
||||
if (allPrerequisitesLoaded()) {
|
||||
onPrerequisitesLoaded();
|
||||
@@ -62,21 +61,13 @@ WinRtDeviceFactory::WinRtDeviceFactory()
|
||||
}
|
||||
}
|
||||
|
||||
QString WinRtDeviceFactory::displayNameForId(Core::Id type) const
|
||||
QString WinRtDeviceFactory::displayName() const
|
||||
{
|
||||
return WinRtDevice::displayNameForType(type);
|
||||
return WinRtDevice::displayNameForType(deviceType());
|
||||
}
|
||||
|
||||
QList<Core::Id> WinRtDeviceFactory::availableCreationIds() const
|
||||
QIcon WinRtDeviceFactory::icon() const
|
||||
{
|
||||
return QList<Core::Id>() << Constants::WINRT_DEVICE_TYPE_LOCAL
|
||||
<< Constants::WINRT_DEVICE_TYPE_PHONE
|
||||
<< Constants::WINRT_DEVICE_TYPE_EMULATOR;
|
||||
}
|
||||
|
||||
QIcon WinRtDeviceFactory::iconForId(Core::Id type) const
|
||||
{
|
||||
Q_UNUSED(type)
|
||||
using namespace Utils;
|
||||
return Icon::combinedIcon({Icon({{":/winrt/images/winrtdevicesmall.png",
|
||||
Theme::PanelTextColorDark}}, Icon::Tint),
|
||||
@@ -84,16 +75,15 @@ QIcon WinRtDeviceFactory::iconForId(Core::Id type) const
|
||||
Theme::IconsBaseColor}})});
|
||||
}
|
||||
|
||||
IDevice::Ptr WinRtDeviceFactory::create(Core::Id id) const
|
||||
IDevice::Ptr WinRtDeviceFactory::create() const
|
||||
{
|
||||
Q_UNUSED(id);
|
||||
QTC_CHECK(false);
|
||||
return IDevice::Ptr();
|
||||
}
|
||||
|
||||
bool WinRtDeviceFactory::canRestore(const QVariantMap &map) const
|
||||
{
|
||||
return availableCreationIds().contains(IDevice::typeFromMap(map));
|
||||
return IDevice::typeFromMap(map) == deviceType();
|
||||
}
|
||||
|
||||
IDevice::Ptr WinRtDeviceFactory::restore(const QVariantMap &map) const
|
||||
|
@@ -35,12 +35,11 @@ class WinRtDeviceFactory : public ProjectExplorer::IDeviceFactory
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
WinRtDeviceFactory();
|
||||
QString displayNameForId(Core::Id type) const override;
|
||||
QList<Core::Id> availableCreationIds() const override;
|
||||
QIcon iconForId(Core::Id type) const override;
|
||||
explicit WinRtDeviceFactory(Core::Id deviceType);
|
||||
QString displayName() const override;
|
||||
QIcon icon() const override;
|
||||
bool canCreate() const override { return false; }
|
||||
ProjectExplorer::IDevice::Ptr create(Core::Id id) const override;
|
||||
ProjectExplorer::IDevice::Ptr create() const override;
|
||||
bool canRestore(const QVariantMap &map) const override;
|
||||
ProjectExplorer::IDevice::Ptr restore(const QVariantMap &map) const override;
|
||||
|
||||
@@ -55,8 +54,8 @@ private:
|
||||
QString findRunnerFilePath() const;
|
||||
void parseRunnerOutput(const QByteArray &output) const;
|
||||
|
||||
Utils::QtcProcess *m_process;
|
||||
bool m_initialized;
|
||||
Utils::QtcProcess *m_process = nullptr;
|
||||
bool m_initialized = false;
|
||||
};
|
||||
|
||||
} // Internal
|
||||
|
@@ -52,7 +52,9 @@ public:
|
||||
WinRtPhoneDeployConfigurationFactory phoneDeployConfigFactory;
|
||||
WinRtEmulatorDeployConfigurationFactory emulatorDeployFactory;
|
||||
WinRtDeployStepFactory deployStepFactory;
|
||||
WinRtDeviceFactory deviceFactory;
|
||||
WinRtDeviceFactory localDeviceFactory{Constants::WINRT_DEVICE_TYPE_LOCAL};
|
||||
WinRtDeviceFactory phoneDeviceFactory{Constants::WINRT_DEVICE_TYPE_PHONE};
|
||||
WinRtDeviceFactory emulatorDeviceFactory{Constants::WINRT_DEVICE_TYPE_EMULATOR};
|
||||
};
|
||||
|
||||
WinRtPlugin::WinRtPlugin()
|
||||
|
Reference in New Issue
Block a user