diff options
author | hjk <hjk@qt.io> | 2019-01-11 14:50:08 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2019-01-14 12:55:51 +0000 |
commit | a3c6d30b75d83973ec292dc8d909d62b141110bd (patch) | |
tree | dbc9a4fa364f07b25e59a4397d840907dc1059f8 /src/plugins/qnx/qnxdevice.cpp | |
parent | cc5c899ce0953799a702bd0828e6c9260facf9e1 (diff) |
ProjectExplorer: Simplify IDevice extra device action setup
Function objects are easy nowadays.
Change-Id: Iec2b770b99d8f11b7a090fb3bd51af8aa60f6fe0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/qnx/qnxdevice.cpp')
-rw-r--r-- | src/plugins/qnx/qnxdevice.cpp | 41 |
1 files changed, 10 insertions, 31 deletions
diff --git a/src/plugins/qnx/qnxdevice.cpp b/src/plugins/qnx/qnxdevice.cpp index 500ebcd9764..2e586b33afc 100644 --- a/src/plugins/qnx/qnxdevice.cpp +++ b/src/plugins/qnx/qnxdevice.cpp @@ -50,7 +50,6 @@ namespace Qnx { using namespace Internal; const char QnxVersionKey[] = "QnxVersion"; -const char DeployQtLibrariesActionId [] = "Qnx.Qnx.DeployQtLibrariesAction"; class QnxPortsGatheringMethod : public PortsGatheringMethod { @@ -79,19 +78,26 @@ class QnxPortsGatheringMethod : public PortsGatheringMethod }; QnxDevice::QnxDevice() - : RemoteLinux::LinuxDevice() - , m_versionNumber(0) { + init(); } QnxDevice::QnxDevice(const QString &name, Core::Id type, MachineType machineType, Origin origin, Core::Id id) : RemoteLinux::LinuxDevice(name, type, machineType, origin, id) - , m_versionNumber(0) { + init(); } QnxDevice::QnxDevice(const QnxDevice &other) = default; +void QnxDevice::init() +{ + addDeviceAction({tr("Deploy Qt libraries..."), [](const IDevice::Ptr &device, QWidget *parent) { + QnxDeployQtLibrariesDialog dialog(device, parent); + dialog.exec(); + }}); +} + QnxDevice::Ptr QnxDevice::create() { return Ptr(new QnxDevice); @@ -190,33 +196,6 @@ DeviceProcess *QnxDevice::createProcess(QObject *parent) const return new QnxDeviceProcess(sharedFromThis(), parent); } -QList<Core::Id> QnxDevice::actionIds() const -{ - QList<Core::Id> actions = RemoteLinux::LinuxDevice::actionIds(); - actions << Core::Id(DeployQtLibrariesActionId); - return actions; -} - -QString QnxDevice::displayNameForActionId(Core::Id actionId) const -{ - if (actionId == Core::Id(DeployQtLibrariesActionId)) - return tr("Deploy Qt libraries..."); - - return RemoteLinux::LinuxDevice::displayNameForActionId(actionId); -} - -void QnxDevice::executeAction(Core::Id actionId, QWidget *parent) -{ - const QnxDevice::ConstPtr device = - sharedFromThis().staticCast<const QnxDevice>(); - if (actionId == Core::Id(DeployQtLibrariesActionId)) { - QnxDeployQtLibrariesDialog dialog(device, parent); - dialog.exec(); - } else { - RemoteLinux::LinuxDevice::executeAction(actionId, parent); - } -} - DeviceProcessSignalOperation::Ptr QnxDevice::signalOperation() const { return DeviceProcessSignalOperation::Ptr( |