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,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();
|
||||
return tr("iOS Simulator");
|
||||
}
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user