ProjectExplorer: Make Device::displayType a data member

Change-Id: If650f660e3b10bc28d575ded07a854f59be26f87
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-06-19 13:28:14 +02:00
parent e2d6c0bfea
commit f420788465
21 changed files with 31 additions and 66 deletions

View File

@@ -50,6 +50,7 @@ AndroidDevice::AndroidDevice()
setupId(IDevice::AutoDetected, Constants::ANDROID_DEVICE_ID); setupId(IDevice::AutoDetected, Constants::ANDROID_DEVICE_ID);
setType(Constants::ANDROID_DEVICE_TYPE); setType(Constants::ANDROID_DEVICE_TYPE);
setDisplayName(QCoreApplication::translate("Android::Internal::AndroidDevice", "Run on Android")); setDisplayName(QCoreApplication::translate("Android::Internal::AndroidDevice", "Run on Android"));
setDisplayType(QCoreApplication::translate("Android::Internal::AndroidDevice", "Android"));
setMachineType(IDevice::Hardware); setMachineType(IDevice::Hardware);
setDeviceState(DeviceReadyToUse); setDeviceState(DeviceReadyToUse);
QString activityPath; QString activityPath;
@@ -65,11 +66,6 @@ IDevice::DeviceInfo AndroidDevice::deviceInformation() const
return IDevice::DeviceInfo(); return IDevice::DeviceInfo();
} }
QString AndroidDevice::displayType() const
{
return QCoreApplication::translate("Android::Internal::AndroidDevice", "Android");
}
IDeviceWidget *AndroidDevice::createWidget() IDeviceWidget *AndroidDevice::createWidget()
{ {
return nullptr; return nullptr;

View File

@@ -41,7 +41,6 @@ private:
ProjectExplorer::IDevice::DeviceInfo deviceInformation() const override; ProjectExplorer::IDevice::DeviceInfo deviceInformation() const override;
QString displayType() const override;
ProjectExplorer::IDeviceWidget *createWidget() override; ProjectExplorer::IDeviceWidget *createWidget() override;
bool canAutoDetectPorts() const override; bool canAutoDetectPorts() const override;
ProjectExplorer::DeviceProcessSignalOperation::Ptr signalOperation() const override; ProjectExplorer::DeviceProcessSignalOperation::Ptr signalOperation() const override;

View File

@@ -52,6 +52,8 @@ const char gdbServerProviderIdKeyC[] = "GdbServerProviderId";
BareMetalDevice::~BareMetalDevice() BareMetalDevice::~BareMetalDevice()
{ {
setDisplayType(QCoreApplication::translate("BareMetal::Internal::BareMetalDevice", "Bare Metal"));
if (GdbServerProvider *provider = GdbServerProviderManager::findProvider(m_gdbServerProviderId)) if (GdbServerProvider *provider = GdbServerProviderManager::findProvider(m_gdbServerProviderId))
provider->unregisterDevice(this); provider->unregisterDevice(this);
} }
@@ -135,11 +137,6 @@ DeviceProcessSignalOperation::Ptr BareMetalDevice::signalOperation() const
return DeviceProcessSignalOperation::Ptr(); return DeviceProcessSignalOperation::Ptr();
} }
QString BareMetalDevice::displayType() const
{
return QCoreApplication::translate("BareMetal::Internal::BareMetalDevice", "Bare Metal");
}
IDeviceWidget *BareMetalDevice::createWidget() IDeviceWidget *BareMetalDevice::createWidget()
{ {
return new BareMetalDeviceConfigurationWidget(sharedFromThis()); return new BareMetalDeviceConfigurationWidget(sharedFromThis());

View File

@@ -45,7 +45,6 @@ public:
static Ptr create() { return Ptr(new BareMetalDevice); } static Ptr create() { return Ptr(new BareMetalDevice); }
~BareMetalDevice() final; ~BareMetalDevice() final;
QString displayType() const final;
ProjectExplorer::IDeviceWidget *createWidget() final; ProjectExplorer::IDeviceWidget *createWidget() final;
Utils::OsType osType() const final; Utils::OsType osType() const final;

View File

@@ -141,6 +141,8 @@ private:
QdbDevice::QdbDevice() QdbDevice::QdbDevice()
{ {
setDisplayType(tr("Boot2Qt Device"));
addDeviceAction({tr("Reboot Device"), [](const IDevice::Ptr &device, QWidget *) { addDeviceAction({tr("Reboot Device"), [](const IDevice::Ptr &device, QWidget *) {
CommandLine cmd{FilePath::fromString("reboot")}; CommandLine cmd{FilePath::fromString("reboot")};
(void) new DeviceApplicationObserver(device, cmd); (void) new DeviceApplicationObserver(device, cmd);
@@ -152,11 +154,6 @@ QdbDevice::QdbDevice()
}}); }});
} }
QString QdbDevice::displayType() const
{
return tr("Boot2Qt Device");
}
ProjectExplorer::IDeviceWidget *QdbDevice::createWidget() ProjectExplorer::IDeviceWidget *QdbDevice::createWidget()
{ {
ProjectExplorer::IDeviceWidget *w = RemoteLinux::LinuxDevice::createWidget(); ProjectExplorer::IDeviceWidget *w = RemoteLinux::LinuxDevice::createWidget();

View File

@@ -40,7 +40,6 @@ public:
static Ptr create() { return Ptr(new QdbDevice); } static Ptr create() { return Ptr(new QdbDevice); }
QString displayType() const final;
ProjectExplorer::IDeviceWidget *createWidget() final; ProjectExplorer::IDeviceWidget *createWidget() final;
ProjectExplorer::DeviceProcess *createProcess(QObject *parent) const final; ProjectExplorer::DeviceProcess *createProcess(QObject *parent) const final;

View File

@@ -84,6 +84,7 @@ IosDevice::IosDevice()
setupId(IDevice::AutoDetected, Constants::IOS_DEVICE_ID); setupId(IDevice::AutoDetected, Constants::IOS_DEVICE_ID);
setType(Constants::IOS_DEVICE_TYPE); setType(Constants::IOS_DEVICE_TYPE);
setDisplayName(IosDevice::name()); setDisplayName(IosDevice::name());
setDisplayType(QCoreApplication::translate("Ios::Internal::IosDevice", "iOS"));
setMachineType(IDevice::Hardware); setMachineType(IDevice::Hardware);
setDeviceState(DeviceDisconnected); setDeviceState(DeviceDisconnected);
Utils::PortList ports; Utils::PortList ports;
@@ -98,6 +99,7 @@ IosDevice::IosDevice(const QString &uid)
setupId(IDevice::AutoDetected, Core::Id(Constants::IOS_DEVICE_ID).withSuffix(uid)); setupId(IDevice::AutoDetected, Core::Id(Constants::IOS_DEVICE_ID).withSuffix(uid));
setType(Constants::IOS_DEVICE_TYPE); setType(Constants::IOS_DEVICE_TYPE);
setDisplayName(IosDevice::name()); setDisplayName(IosDevice::name());
setDisplayType(QCoreApplication::translate("Ios::Internal::IosDevice", "iOS"));
setMachineType(IDevice::Hardware); setMachineType(IDevice::Hardware);
setDeviceState(DeviceDisconnected); setDeviceState(DeviceDisconnected);
} }
@@ -116,11 +118,6 @@ IDevice::DeviceInfo IosDevice::deviceInformation() const
return res; return res;
} }
QString IosDevice::displayType() const
{
return QCoreApplication::translate("Ios::Internal::IosDevice", "iOS");
}
IDeviceWidget *IosDevice::createWidget() IDeviceWidget *IosDevice::createWidget()
{ {
return nullptr; return nullptr;

View File

@@ -52,7 +52,6 @@ public:
ProjectExplorer::IDevice::DeviceInfo deviceInformation() const override; ProjectExplorer::IDevice::DeviceInfo deviceInformation() const override;
ProjectExplorer::IDeviceWidget *createWidget() override; ProjectExplorer::IDeviceWidget *createWidget() override;
ProjectExplorer::DeviceProcessSignalOperation::Ptr signalOperation() const override; ProjectExplorer::DeviceProcessSignalOperation::Ptr signalOperation() const override;
QString displayType() const override;
void fromMap(const QVariantMap &map) override; void fromMap(const QVariantMap &map) override;
QVariantMap toMap() const override; QVariantMap toMap() const override;

View File

@@ -51,29 +51,19 @@ IosSimulator::IosSimulator(Core::Id id)
setType(Constants::IOS_SIMULATOR_TYPE); setType(Constants::IOS_SIMULATOR_TYPE);
setMachineType(IDevice::Emulator); setMachineType(IDevice::Emulator);
setDisplayName(QCoreApplication::translate("Ios::Internal::IosSimulator", "iOS Simulator")); setDisplayName(QCoreApplication::translate("Ios::Internal::IosSimulator", "iOS Simulator"));
setDisplayType(QCoreApplication::translate("Ios::Internal::IosSimulator", "iOS Simulator"));
setDeviceState(DeviceReadyToUse); setDeviceState(DeviceReadyToUse);
} }
IosSimulator::IosSimulator() IosSimulator::IosSimulator()
: m_lastPort(Constants::IOS_SIMULATOR_PORT_START) : IosSimulator(Constants::IOS_SIMULATOR_DEVICE_ID)
{ {}
setupId(IDevice::AutoDetected, Constants::IOS_SIMULATOR_DEVICE_ID);
setType(Constants::IOS_SIMULATOR_TYPE);
setMachineType(IDevice::Emulator);
setDisplayName(QCoreApplication::translate("Ios::Internal::IosSimulator", "iOS Simulator"));
setDeviceState(DeviceReadyToUse);
}
IDevice::DeviceInfo IosSimulator::deviceInformation() const IDevice::DeviceInfo IosSimulator::deviceInformation() const
{ {
return IDevice::DeviceInfo(); return IDevice::DeviceInfo();
} }
QString IosSimulator::displayType() const
{
return QCoreApplication::translate("Ios::Internal::IosSimulator", "iOS Simulator");
}
IDeviceWidget *IosSimulator::createWidget() IDeviceWidget *IosSimulator::createWidget()
{ {
return nullptr; return nullptr;

View File

@@ -69,7 +69,6 @@ public:
using Ptr = QSharedPointer<IosSimulator>; using Ptr = QSharedPointer<IosSimulator>;
ProjectExplorer::IDevice::DeviceInfo deviceInformation() const override; ProjectExplorer::IDevice::DeviceInfo deviceInformation() const override;
QString displayType() const override;
ProjectExplorer::IDeviceWidget *createWidget() override; ProjectExplorer::IDeviceWidget *createWidget() override;
ProjectExplorer::DeviceProcessSignalOperation::Ptr signalOperation() const override; ProjectExplorer::DeviceProcessSignalOperation::Ptr signalOperation() const override;
Utils::Port nextPort() const; Utils::Port nextPort() const;

View File

@@ -55,6 +55,8 @@ DesktopDevice::DesktopDevice()
setupId(IDevice::AutoDetected, DESKTOP_DEVICE_ID); setupId(IDevice::AutoDetected, DESKTOP_DEVICE_ID);
setType(DESKTOP_DEVICE_TYPE); setType(DESKTOP_DEVICE_TYPE);
setDisplayName(QCoreApplication::translate("ProjectExplorer::DesktopDevice", "Local PC")); setDisplayName(QCoreApplication::translate("ProjectExplorer::DesktopDevice", "Local PC"));
setDisplayType(QCoreApplication::translate("ProjectExplorer::DesktopDevice", "Desktop"));
setDeviceState(IDevice::DeviceStateUnknown); setDeviceState(IDevice::DeviceStateUnknown);
setMachineType(IDevice::Hardware); setMachineType(IDevice::Hardware);
const QString portRange = const QString portRange =
@@ -70,11 +72,6 @@ IDevice::DeviceInfo DesktopDevice::deviceInformation() const
return DeviceInfo(); return DeviceInfo();
} }
QString DesktopDevice::displayType() const
{
return QCoreApplication::translate("ProjectExplorer::DesktopDevice", "Desktop");
}
IDeviceWidget *DesktopDevice::createWidget() IDeviceWidget *DesktopDevice::createWidget()
{ {
return nullptr; return nullptr;

View File

@@ -40,7 +40,6 @@ class PROJECTEXPLORER_EXPORT DesktopDevice : public IDevice
public: public:
IDevice::DeviceInfo deviceInformation() const override; IDevice::DeviceInfo deviceInformation() const override;
QString displayType() const override;
IDeviceWidget *createWidget() override; IDeviceWidget *createWidget() override;
bool canAutoDetectPorts() const override; bool canAutoDetectPorts() const override;
bool canCreateProcessModel() const override; bool canCreateProcessModel() const override;

View File

@@ -410,11 +410,11 @@ public:
setupId(AutoDetected, Core::Id::fromString(QUuid::createUuid().toString())); setupId(AutoDetected, Core::Id::fromString(QUuid::createUuid().toString()));
setType(testTypeId()); setType(testTypeId());
setMachineType(Hardware); setMachineType(Hardware);
setDisplayType("blubb");
} }
static Core::Id testTypeId() { return "TestType"; } static Core::Id testTypeId() { return "TestType"; }
private: private:
QString displayType() const override { return QLatin1String("blubb"); }
IDeviceWidget *createWidget() override { return nullptr; } IDeviceWidget *createWidget() override { return nullptr; }
DeviceProcessSignalOperation::Ptr signalOperation() const override DeviceProcessSignalOperation::Ptr signalOperation() const override
{ {

View File

@@ -138,6 +138,7 @@ public:
IDevicePrivate() = default; IDevicePrivate() = default;
QString displayName; QString displayName;
QString displayType;
Core::Id type; Core::Id type;
IDevice::Origin origin = IDevice::AutoDetected; IDevice::Origin origin = IDevice::AutoDetected;
Core::Id id; Core::Id id;
@@ -199,11 +200,19 @@ QString IDevice::displayName() const
void IDevice::setDisplayName(const QString &name) void IDevice::setDisplayName(const QString &name)
{ {
if (d->displayName == name)
return;
d->displayName = name; d->displayName = name;
} }
QString IDevice::displayType() const
{
return d->displayType;
}
void IDevice::setDisplayType(const QString &type)
{
d->displayType = type;
}
IDevice::DeviceInfo IDevice::deviceInformation() const IDevice::DeviceInfo IDevice::deviceInformation() const
{ {
const QString key = QCoreApplication::translate("ProjectExplorer::IDevice", "Device"); const QString key = QCoreApplication::translate("ProjectExplorer::IDevice", "Device");

View File

@@ -155,7 +155,8 @@ public:
virtual bool isCompatibleWith(const Kit *k) const; virtual bool isCompatibleWith(const Kit *k) const;
virtual QString displayType() const = 0; QString displayType() const;
virtual IDeviceWidget *createWidget() = 0; virtual IDeviceWidget *createWidget() = 0;
struct DeviceAction { struct DeviceAction {
@@ -227,6 +228,7 @@ protected:
using OpenTerminal = std::function<void(const Utils::Environment &, const QString &)>; using OpenTerminal = std::function<void(const Utils::Environment &, const QString &)>;
void setOpenTerminal(const OpenTerminal &openTerminal); void setOpenTerminal(const OpenTerminal &openTerminal);
void setDisplayType(const QString &type);
private: private:
IDevice(const IDevice &) = delete; IDevice(const IDevice &) = delete;

View File

@@ -82,17 +82,13 @@ class QnxPortsGatheringMethod : public PortsGatheringMethod
QnxDevice::QnxDevice() QnxDevice::QnxDevice()
{ {
setDisplayType(tr("QNX"));
addDeviceAction({tr("Deploy Qt libraries..."), [](const IDevice::Ptr &device, QWidget *parent) { addDeviceAction({tr("Deploy Qt libraries..."), [](const IDevice::Ptr &device, QWidget *parent) {
QnxDeployQtLibrariesDialog dialog(device, parent); QnxDeployQtLibrariesDialog dialog(device, parent);
dialog.exec(); dialog.exec();
}}); }});
} }
QString QnxDevice::displayType() const
{
return tr("QNX");
}
OsType QnxDevice::osType() const OsType QnxDevice::osType() const
{ {
return OsTypeOtherUnix; return OsTypeOtherUnix;

View File

@@ -49,7 +49,6 @@ public:
ProjectExplorer::DeviceTester *createDeviceTester() const override; ProjectExplorer::DeviceTester *createDeviceTester() const override;
ProjectExplorer::DeviceProcess *createProcess(QObject *parent) const override; ProjectExplorer::DeviceProcess *createProcess(QObject *parent) const override;
QString displayType() const override;
Utils::OsType osType() const override; Utils::OsType osType() const override;
int qnxVersion() const; int qnxVersion() const;

View File

@@ -172,11 +172,6 @@ class LinuxPortsGatheringMethod : public PortsGatheringMethod
} }
}; };
QString LinuxDevice::displayType() const
{
return tr("Generic Linux");
}
IDeviceWidget *LinuxDevice::createWidget() IDeviceWidget *LinuxDevice::createWidget()
{ {
return new GenericLinuxDeviceConfigurationWidget(sharedFromThis()); return new GenericLinuxDeviceConfigurationWidget(sharedFromThis());
@@ -189,6 +184,8 @@ Utils::OsType LinuxDevice::osType() const
LinuxDevice::LinuxDevice() LinuxDevice::LinuxDevice()
{ {
setDisplayType(tr("Generic Linux"));
addDeviceAction({tr("Deploy Public Key..."), [](const IDevice::Ptr &device, QWidget *parent) { addDeviceAction({tr("Deploy Public Key..."), [](const IDevice::Ptr &device, QWidget *parent) {
if (auto d = PublicKeyDeploymentDialog::createDialog(device, parent)) { if (auto d = PublicKeyDeploymentDialog::createDialog(device, parent)) {
d->exec(); d->exec();

View File

@@ -44,7 +44,6 @@ public:
static Ptr create() { return Ptr(new LinuxDevice); } static Ptr create() { return Ptr(new LinuxDevice); }
QString displayType() const override;
ProjectExplorer::IDeviceWidget *createWidget() override; ProjectExplorer::IDeviceWidget *createWidget() override;
Utils::OsType osType() const override; Utils::OsType osType() const override;

View File

@@ -60,17 +60,13 @@ Q_LOGGING_CATEGORY(winrtDeviceLog, "qtc.winrt.deviceParser", QtWarningMsg)
WinRtDevice::WinRtDevice() WinRtDevice::WinRtDevice()
{ {
setDisplayType(displayNameForType(type()));
Utils::PortList portList; Utils::PortList portList;
portList.addRange(Utils::Port(ProjectExplorer::Constants::DESKTOP_PORT_START), portList.addRange(Utils::Port(ProjectExplorer::Constants::DESKTOP_PORT_START),
Utils::Port(ProjectExplorer::Constants::DESKTOP_PORT_END)); Utils::Port(ProjectExplorer::Constants::DESKTOP_PORT_END));
setFreePorts(portList); setFreePorts(portList);
} }
QString WinRtDevice::displayType() const
{
return displayNameForType(type());
}
IDeviceWidget *WinRtDevice::createWidget() IDeviceWidget *WinRtDevice::createWidget()
{ {
return nullptr; return nullptr;

View File

@@ -41,7 +41,6 @@ public:
static Ptr create() { return Ptr(new WinRtDevice); } static Ptr create() { return Ptr(new WinRtDevice); }
QString displayType() const override;
ProjectExplorer::IDeviceWidget *createWidget() override; ProjectExplorer::IDeviceWidget *createWidget() override;
ProjectExplorer::DeviceProcessSignalOperation::Ptr signalOperation() const override; ProjectExplorer::DeviceProcessSignalOperation::Ptr signalOperation() const override;
void fromMap(const QVariantMap &map) override; void fromMap(const QVariantMap &map) override;