aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qnx/qnxdevice.cpp
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2019-01-11 14:50:08 +0100
committerhjk <hjk@qt.io>2019-01-14 12:55:51 +0000
commita3c6d30b75d83973ec292dc8d909d62b141110bd (patch)
treedbc9a4fa364f07b25e59a4397d840907dc1059f8 /src/plugins/qnx/qnxdevice.cpp
parentcc5c899ce0953799a702bd0828e6c9260facf9e1 (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.cpp41
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(