diff options
author | El Mehdi Fekari <mfekari@rim.com> | 2013-07-18 18:08:42 +0200 |
---|---|---|
committer | Mehdi Fekari <mfekari@blackberry.com> | 2013-07-25 12:34:47 +0200 |
commit | 04c45c395b6bd74b31cf5a8d6920a4b700828053 (patch) | |
tree | d526f1ad1933595b35c247a7464963d0a6e28e4b /src/plugins/qnx/blackberryruncontrol.cpp | |
parent | 87b1ea2af7c80e3bd7e513b34f721cdbbee0ea1e (diff) | |
download | qt-creator-04c45c395b6bd74b31cf5a8d6920a4b700828053.tar.gz |
Qnx: Automatically connect to device when running an app
Task-number: QTCREATORBUG-9839
Change-Id: Iac6e6bd8d4f16d09c82658b9cd02518ee6300e1b
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src/plugins/qnx/blackberryruncontrol.cpp')
-rw-r--r-- | src/plugins/qnx/blackberryruncontrol.cpp | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/src/plugins/qnx/blackberryruncontrol.cpp b/src/plugins/qnx/blackberryruncontrol.cpp index a8d87b85c5..15a0766c40 100644 --- a/src/plugins/qnx/blackberryruncontrol.cpp +++ b/src/plugins/qnx/blackberryruncontrol.cpp @@ -32,6 +32,9 @@ #include "blackberryruncontrol.h" #include "blackberryapplicationrunner.h" #include "blackberryrunconfiguration.h" +#include "blackberrydeviceconnectionmanager.h" + +#include <projectexplorer/target.h> #include <QIcon> #include <QTimer> @@ -42,6 +45,7 @@ using namespace Qnx::Internal; BlackBerryRunControl::BlackBerryRunControl(BlackBerryRunConfiguration *runConfiguration) : ProjectExplorer::RunControl(runConfiguration, ProjectExplorer::NormalRunMode) { + m_device = BlackBerryDeviceConfiguration::device(runConfiguration->target()->kit()); m_runner = new BlackBerryApplicationRunner(false, runConfiguration, this); connect(m_runner, SIGNAL(started()), this, SIGNAL(started())); @@ -53,7 +57,7 @@ BlackBerryRunControl::BlackBerryRunControl(BlackBerryRunConfiguration *runConfig void BlackBerryRunControl::start() { - m_runner->start(); + checkDeviceConnection(); } ProjectExplorer::RunControl::StopResult BlackBerryRunControl::stop() @@ -75,3 +79,32 @@ void BlackBerryRunControl::handleStartFailed(const QString &message) { appendMessage(message, Utils::StdErrFormat); } + +void BlackBerryRunControl::handleDeviceConnected() +{ + m_runner->start(); +} + +void BlackBerryRunControl::displayConnectionOutput(Core::Id deviceId, const QString &output) +{ + if (deviceId != m_device->id()) + return; + + if (output.contains(QLatin1String("Info:"))) + appendMessage(output, Utils::StdOutFormat); + else if (output.contains(QLatin1String("Error:"))) + appendMessage(output, Utils::StdErrFormat); +} + +void BlackBerryRunControl::checkDeviceConnection() +{ + if (!BlackBerryDeviceConnectionManager::instance()->isConnected(m_device->id())) { + connect(BlackBerryDeviceConnectionManager::instance(), SIGNAL(deviceConnected()), + this, SLOT(handleDeviceConnected())); + connect(BlackBerryDeviceConnectionManager::instance(), SIGNAL(connectionOutput(Core::Id,QString)), + this, SLOT(displayConnectionOutput(Core::Id,QString))); + BlackBerryDeviceConnectionManager::instance()->connectDevice(m_device->id()); + } else { + m_runner->start(); + } +} |