diff options
author | Tobias Nätterlund <tobias.naetterlund.qnx@kdab.com> | 2013-03-14 12:39:17 +0100 |
---|---|---|
committer | Tobias Nätterlund <tobias.naetterlund@kdab.com> | 2013-03-28 12:00:51 +0100 |
commit | 5c36c594fe38f9825983584598b1bdf8a7351241 (patch) | |
tree | 7f9f6be60d0dd1a1972b1d18c73b749f6eb34628 /src/plugins/qnx/blackberrydeviceconfiguration.cpp | |
parent | 44200e0feebab4f71bf6d5131905f002b4964137 (diff) | |
download | qt-creator-5c36c594fe38f9825983584598b1bdf8a7351241.tar.gz |
QNX: Refactored connection handling for BlackBerry devices
The blackberry-connect connection is now established at
Qt Creator startup, and taken down when Qt Creator shuts down.
The user also has the ability to disconnect manually in the
Device settings widget.
The connection status is shown in the Devices settings widget,
as well as in the project selector. And it is impossible run or
debug an application without having the device connected.
Change-Id: I64f2e48a647e6d850851d2f20d0ec7bbd5980ea5
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Reviewed-by: Mehdi Fekari <mfekari@rim.com>
Diffstat (limited to 'src/plugins/qnx/blackberrydeviceconfiguration.cpp')
-rw-r--r-- | src/plugins/qnx/blackberrydeviceconfiguration.cpp | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/src/plugins/qnx/blackberrydeviceconfiguration.cpp b/src/plugins/qnx/blackberrydeviceconfiguration.cpp index 3013f321e4..7fd5ac0474 100644 --- a/src/plugins/qnx/blackberrydeviceconfiguration.cpp +++ b/src/plugins/qnx/blackberrydeviceconfiguration.cpp @@ -33,6 +33,7 @@ #include "qnxconstants.h" #include "blackberrydeviceconfigurationwidget.h" +#include "blackberrydeviceconnectionmanager.h" #include "blackberrydeviceprocesssupport.h" #include <projectexplorer/kitinformation.h> @@ -41,6 +42,11 @@ using namespace Qnx; using namespace Qnx::Internal; using namespace ProjectExplorer; +namespace { +const char ConnectToDeviceActionId[] = "Qnx.BlackBerry.ConnectToDeviceAction"; +const char DisconnectFromDeviceActionId[] = "Qnx.BlackBerry.DisconnectFromDeviceAction"; +} + BlackBerryDeviceConfiguration::BlackBerryDeviceConfiguration() : RemoteLinux::LinuxDevice() { @@ -116,19 +122,34 @@ IDeviceWidget *BlackBerryDeviceConfiguration::createWidget() QList<Core::Id> BlackBerryDeviceConfiguration::actionIds() const { - return QList<Core::Id>(); + return QList<Core::Id>() << Core::Id(ConnectToDeviceActionId) + << Core::Id(DisconnectFromDeviceActionId); } QString BlackBerryDeviceConfiguration::displayNameForActionId(Core::Id actionId) const { - Q_UNUSED(actionId); + if (actionId == Core::Id(ConnectToDeviceActionId)) + return tr("Connect to device"); + else if (actionId == Core::Id(DisconnectFromDeviceActionId)) + return tr("Disconnect from device"); + return QString(); } void BlackBerryDeviceConfiguration::executeAction(Core::Id actionId, QWidget *parent) const { - Q_UNUSED(actionId); Q_UNUSED(parent); + + const BlackBerryDeviceConfiguration::ConstPtr device = + sharedFromThis().staticCast<const BlackBerryDeviceConfiguration>(); + + BlackBerryDeviceConnectionManager *connectionManager = + BlackBerryDeviceConnectionManager::instance(); + if (actionId == Core::Id(ConnectToDeviceActionId)) + connectionManager->connectDevice(device); + else if (actionId == Core::Id(DisconnectFromDeviceActionId) + && connectionManager->isConnected(id())) + connectionManager->disconnectDevice(device); } QVariantMap BlackBerryDeviceConfiguration::toMap() const |