summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/madde/maddedevice.cpp3
-rw-r--r--src/plugins/madde/maddedevice.h2
-rw-r--r--src/plugins/madde/maddedevicetester.cpp6
-rw-r--r--src/plugins/madde/maddedevicetester.h6
-rw-r--r--src/plugins/madde/maemodeviceconfigwizard.cpp10
-rw-r--r--src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp18
-rw-r--r--src/plugins/projectexplorer/devicesupport/devicesettingswidget.h1
-rw-r--r--src/plugins/projectexplorer/devicesupport/devicetestdialog.cpp (renamed from src/plugins/remotelinux/linuxdevicetestdialog.cpp)47
-rw-r--r--src/plugins/projectexplorer/devicesupport/devicetestdialog.h (renamed from src/plugins/remotelinux/linuxdevicetestdialog.h)29
-rw-r--r--src/plugins/projectexplorer/devicesupport/devicetestdialog.ui (renamed from src/plugins/remotelinux/linuxdevicetestdialog.ui)8
-rw-r--r--src/plugins/projectexplorer/devicesupport/idevice.cpp7
-rw-r--r--src/plugins/projectexplorer/devicesupport/idevice.h26
-rw-r--r--src/plugins/projectexplorer/projectexplorer.pro3
-rw-r--r--src/plugins/projectexplorer/projectexplorer.qbs3
-rw-r--r--src/plugins/qnx/qnxdeviceconfiguration.cpp2
-rw-r--r--src/plugins/qnx/qnxdeviceconfiguration.h2
-rw-r--r--src/plugins/qnx/qnxdeviceconfigurationwizard.cpp4
-rw-r--r--src/plugins/qnx/qnxdevicetester.cpp8
-rw-r--r--src/plugins/qnx/qnxdevicetester.h6
-rw-r--r--src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp6
-rw-r--r--src/plugins/remotelinux/linuxdevice.cpp13
-rw-r--r--src/plugins/remotelinux/linuxdevice.h4
-rw-r--r--src/plugins/remotelinux/linuxdevicetester.cpp7
-rw-r--r--src/plugins/remotelinux/linuxdevicetester.h24
-rw-r--r--src/plugins/remotelinux/remotelinux.pro3
-rw-r--r--src/plugins/remotelinux/remotelinux.qbs3
-rw-r--r--src/plugins/remotelinux/remotelinux_constants.h1
27 files changed, 122 insertions, 130 deletions
diff --git a/src/plugins/madde/maddedevice.cpp b/src/plugins/madde/maddedevice.cpp
index e8f3c5546f..821fb059f6 100644
--- a/src/plugins/madde/maddedevice.cpp
+++ b/src/plugins/madde/maddedevice.cpp
@@ -31,7 +31,6 @@
#include "maddedevicetester.h"
#include "maemoconstants.h"
-#include <remotelinux/linuxdevicetestdialog.h>
#include <remotelinux/publickeydeploymentdialog.h>
#include <remotelinux/remotelinux_constants.h>
#include <utils/qtcassert.h>
@@ -111,7 +110,7 @@ QSize MaddeDevice::packageManagerIconSize(Core::Id type)
return QSize();
}
-AbstractLinuxDeviceTester *MaddeDevice::createDeviceTester() const
+DeviceTester *MaddeDevice::createDeviceTester() const
{
return new MaddeDeviceTester;
}
diff --git a/src/plugins/madde/maddedevice.h b/src/plugins/madde/maddedevice.h
index 463c225231..bd2ec00253 100644
--- a/src/plugins/madde/maddedevice.h
+++ b/src/plugins/madde/maddedevice.h
@@ -58,7 +58,7 @@ public:
static QSize packageManagerIconSize(Core::Id type);
- RemoteLinux::AbstractLinuxDeviceTester *createDeviceTester() const;
+ ProjectExplorer::DeviceTester *createDeviceTester() const;
private:
MaddeDevice();
diff --git a/src/plugins/madde/maddedevicetester.cpp b/src/plugins/madde/maddedevicetester.cpp
index 8a68d98565..29b7d888f8 100644
--- a/src/plugins/madde/maddedevicetester.cpp
+++ b/src/plugins/madde/maddedevicetester.cpp
@@ -47,7 +47,7 @@ const char QmlToolingDirectory[] = "/usr/lib/qt4/plugins/qmltooling";
} // anonymous namespace
MaddeDeviceTester::MaddeDeviceTester(QObject *parent)
- : AbstractLinuxDeviceTester(parent),
+ : ProjectExplorer::DeviceTester(parent),
m_genericTester(new GenericLinuxDeviceTester(this)),
m_state(Inactive),
m_processRunner(0)
@@ -68,8 +68,8 @@ void MaddeDeviceTester::testDevice(const ProjectExplorer::IDevice::ConstPtr &dev
m_state = GenericTest;
connect(m_genericTester, SIGNAL(progressMessage(QString)), SIGNAL(progressMessage(QString)));
connect(m_genericTester, SIGNAL(errorMessage(QString)), SIGNAL(errorMessage(QString)));
- connect(m_genericTester, SIGNAL(finished(RemoteLinux::AbstractLinuxDeviceTester::TestResult)),
- SLOT(handleGenericTestFinished(RemoteLinux::AbstractLinuxDeviceTester::TestResult)));
+ connect(m_genericTester, SIGNAL(finished(ProjectExplorer::DeviceTester::TestResult)),
+ SLOT(handleGenericTestFinished(ProjectExplorer::DeviceTester::TestResult)));
m_genericTester->testDevice(deviceConfiguration);
}
diff --git a/src/plugins/madde/maddedevicetester.h b/src/plugins/madde/maddedevicetester.h
index cf63d41311..98461f0beb 100644
--- a/src/plugins/madde/maddedevicetester.h
+++ b/src/plugins/madde/maddedevicetester.h
@@ -38,7 +38,7 @@ class SshRemoteProcessRunner;
namespace Madde {
namespace Internal {
-class MaddeDeviceTester : public RemoteLinux::AbstractLinuxDeviceTester
+class MaddeDeviceTester : public ProjectExplorer::DeviceTester
{
Q_OBJECT
@@ -50,7 +50,7 @@ public:
void stopTest();
private slots:
- void handleGenericTestFinished(RemoteLinux::AbstractLinuxDeviceTester::TestResult result);
+ void handleGenericTestFinished(ProjectExplorer::DeviceTester::TestResult result);
void handleConnectionError();
void handleProcessFinished(int exitStatus);
@@ -66,7 +66,7 @@ private:
RemoteLinux::GenericLinuxDeviceTester * const m_genericTester;
State m_state;
- TestResult m_result;
+ ProjectExplorer::DeviceTester::TestResult m_result;
QSsh::SshRemoteProcessRunner *m_processRunner;
ProjectExplorer::IDevice::ConstPtr m_deviceConfiguration;
};
diff --git a/src/plugins/madde/maemodeviceconfigwizard.cpp b/src/plugins/madde/maemodeviceconfigwizard.cpp
index 0b352549e2..f3f8c311d9 100644
--- a/src/plugins/madde/maemodeviceconfigwizard.cpp
+++ b/src/plugins/madde/maemodeviceconfigwizard.cpp
@@ -40,7 +40,6 @@
#include "maemoglobal.h"
#include <remotelinux/genericlinuxdeviceconfigurationwizardpages.h>
-#include <remotelinux/linuxdevicetestdialog.h>
#include <remotelinux/sshkeydeployer.h>
#include <utils/fileutils.h>
#include <ssh/sshkeygenerator.h>
@@ -553,7 +552,6 @@ MaemoDeviceConfigWizard::~MaemoDeviceConfigWizard()
IDevice::Ptr MaemoDeviceConfigWizard::device()
{
- bool doTest;
QString freePortsSpec;
QSsh::SshConnectionParameters sshParams;
sshParams.userName = defaultUser();
@@ -564,24 +562,16 @@ IDevice::Ptr MaemoDeviceConfigWizard::device()
sshParams.password.clear();
sshParams.timeout = 30;
freePortsSpec = QLatin1String("13219,14168");
- doTest = false;
} else {
sshParams.authenticationType = QSsh::SshConnectionParameters::AuthenticationTypePublicKey;
sshParams.privateKeyFile = d->wizardData.privateKeyFilePath;
sshParams.timeout = 10;
freePortsSpec = QLatin1String("10000-10100");
- doTest = true;
}
const MaddeDevice::Ptr device = MaddeDevice::create(d->wizardData.configName,
d->wizardData.deviceType, d->wizardData.machineType);
device->setFreePorts(PortList::fromString(freePortsSpec));
device->setSshParameters(sshParams);
- if (doTest) {
- // Might be called after accept.
- QWidget *parent = isVisible() ? this : static_cast<QWidget *>(0);
- LinuxDeviceTestDialog dlg(device, new MaddeDeviceTester(this), parent);
- dlg.exec();
- }
return device;
}
diff --git a/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp b/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp
index fb3a428752..2679225e39 100644
--- a/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp
+++ b/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp
@@ -34,6 +34,7 @@
#include "devicemanager.h"
#include "devicemanagermodel.h"
#include "deviceprocessesdialog.h"
+#include "devicetestdialog.h"
#include "idevice.h"
#include "idevicefactory.h"
#include "idevicewidget.h"
@@ -167,6 +168,8 @@ void DeviceSettingsWidget::addDevice()
m_deviceManager->addDevice(device);
m_ui->removeConfigButton->setEnabled(true);
m_ui->configurationComboBox->setCurrentIndex(m_deviceManagerModel->indexOf(device));
+ if (device->hasDeviceTester())
+ testDevice();
}
void DeviceSettingsWidget::removeDevice()
@@ -262,6 +265,14 @@ void DeviceSettingsWidget::setDefaultDevice()
m_ui->defaultDeviceButton->setEnabled(false);
}
+void DeviceSettingsWidget::testDevice()
+{
+ const IDevice::ConstPtr &device = currentDevice();
+ QTC_ASSERT(device && device->hasDeviceTester(), return);
+ DeviceTestDialog dlg(device, this);
+ dlg.exec();
+}
+
void DeviceSettingsWidget::handleDeviceUpdated(Id id)
{
const int index = m_deviceManagerModel->indexForId(id);
@@ -286,6 +297,13 @@ void DeviceSettingsWidget::currentDeviceChanged(int index)
setDeviceInfoWidgetsEnabled(true);
m_ui->removeConfigButton->setEnabled(true);
+ if (device->hasDeviceTester()) {
+ QPushButton * const button = new QPushButton(tr("Test"));
+ m_additionalActionButtons << button;
+ connect(button, SIGNAL(clicked()), SLOT(testDevice()));
+ m_ui->buttonsLayout->insertWidget(m_ui->buttonsLayout->count() - 1, button);
+ }
+
if (device->canCreateProcessModel()) {
QPushButton * const button = new QPushButton(tr("Show Running Processes"));
m_additionalActionButtons << button;
diff --git a/src/plugins/projectexplorer/devicesupport/devicesettingswidget.h b/src/plugins/projectexplorer/devicesupport/devicesettingswidget.h
index d589400a43..f697483165 100644
--- a/src/plugins/projectexplorer/devicesupport/devicesettingswidget.h
+++ b/src/plugins/projectexplorer/devicesupport/devicesettingswidget.h
@@ -68,6 +68,7 @@ private slots:
void removeDevice();
void deviceNameEditingFinished();
void setDefaultDevice();
+ void testDevice();
void handleAdditionalActionRequest(int actionId);
void handleProcessListRequested();
diff --git a/src/plugins/remotelinux/linuxdevicetestdialog.cpp b/src/plugins/projectexplorer/devicesupport/devicetestdialog.cpp
index 63605db74d..ef09413a2f 100644
--- a/src/plugins/remotelinux/linuxdevicetestdialog.cpp
+++ b/src/plugins/projectexplorer/devicesupport/devicetestdialog.cpp
@@ -26,8 +26,8 @@
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
****************************************************************************/
-#include "linuxdevicetestdialog.h"
-#include "ui_linuxdevicetestdialog.h"
+#include "devicetestdialog.h"
+#include "ui_devicetestdialog.h"
#include <QBrush>
#include <QColor>
@@ -35,72 +35,70 @@
#include <QPushButton>
#include <QTextCharFormat>
-namespace RemoteLinux {
+namespace ProjectExplorer {
namespace Internal {
-class LinuxDeviceTestDialogPrivate {
+
+class DeviceTestDialog::DeviceTestDialogPrivate
+{
public:
- LinuxDeviceTestDialogPrivate(AbstractLinuxDeviceTester *tester)
+ DeviceTestDialogPrivate(DeviceTester *tester)
: deviceTester(tester), finished(false)
{
}
- Ui::LinuxDeviceTestDialog ui;
- AbstractLinuxDeviceTester * const deviceTester;
+ Ui::DeviceTestDialog ui;
+ DeviceTester * const deviceTester;
bool finished;
};
-} // namespace Internal
-
-using namespace Internal;
-
-LinuxDeviceTestDialog::LinuxDeviceTestDialog(const ProjectExplorer::IDevice::ConstPtr &deviceConfiguration,
- AbstractLinuxDeviceTester *deviceTester, QWidget *parent)
- : QDialog(parent), d(new LinuxDeviceTestDialogPrivate(deviceTester))
+DeviceTestDialog::DeviceTestDialog(const ProjectExplorer::IDevice::ConstPtr &deviceConfiguration,
+ QWidget *parent)
+ : QDialog(parent), d(new DeviceTestDialogPrivate(deviceConfiguration->createDeviceTester()))
{
d->ui.setupUi(this);
d->deviceTester->setParent(this);
connect(d->deviceTester, SIGNAL(progressMessage(QString)), SLOT(handleProgressMessage(QString)));
connect(d->deviceTester, SIGNAL(errorMessage(QString)), SLOT(handleErrorMessage(QString)));
- connect(d->deviceTester, SIGNAL(finished(RemoteLinux::AbstractLinuxDeviceTester::TestResult)),
- SLOT(handleTestFinished(RemoteLinux::AbstractLinuxDeviceTester::TestResult)));
+ connect(d->deviceTester, SIGNAL(finished(ProjectExplorer::DeviceTester::TestResult)),
+ SLOT(handleTestFinished(ProjectExplorer::DeviceTester::TestResult)));
d->deviceTester->testDevice(deviceConfiguration);
}
-LinuxDeviceTestDialog::~LinuxDeviceTestDialog()
+DeviceTestDialog::~DeviceTestDialog()
{
delete d;
}
-void LinuxDeviceTestDialog::reject()
+void DeviceTestDialog::reject()
{
if (!d->finished)
d->deviceTester->stopTest();
QDialog::reject();
}
-void LinuxDeviceTestDialog::handleProgressMessage(const QString &message)
+void DeviceTestDialog::handleProgressMessage(const QString &message)
{
addText(message, QLatin1String("black"), false);
}
-void LinuxDeviceTestDialog::handleErrorMessage(const QString &message)
+void DeviceTestDialog::handleErrorMessage(const QString &message)
{
addText(message, QLatin1String("red"), false);
}
-void LinuxDeviceTestDialog::handleTestFinished(AbstractLinuxDeviceTester::TestResult result)
+void DeviceTestDialog::handleTestFinished(ProjectExplorer::DeviceTester::TestResult result)
{
d->finished = true;
d->ui.buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Close"));
- if (result == AbstractLinuxDeviceTester::TestSuccess)
+ if (result == ProjectExplorer::DeviceTester::TestSuccess)
addText(tr("Device test finished successfully."), QLatin1String("blue"), true);
else
addText(tr("Device test failed."), QLatin1String("red"), true);
}
-void LinuxDeviceTestDialog::addText(const QString &text, const QString &color, bool bold)
+void DeviceTestDialog::addText(const QString &text, const QString &color, bool bold)
{
QTextCharFormat format = d->ui.textEdit->currentCharFormat();
format.setForeground(QBrush(QColor(color)));
@@ -111,4 +109,5 @@ void LinuxDeviceTestDialog::addText(const QString &text, const QString &color, b
d->ui.textEdit->appendPlainText(text);
}
-} // namespace RemoteLinux
+} // namespace Internal
+} // namespace ProjectExplorer
diff --git a/src/plugins/remotelinux/linuxdevicetestdialog.h b/src/plugins/projectexplorer/devicesupport/devicetestdialog.h
index 1ac3535735..e07493e398 100644
--- a/src/plugins/remotelinux/linuxdevicetestdialog.h
+++ b/src/plugins/projectexplorer/devicesupport/devicetestdialog.h
@@ -26,42 +26,39 @@
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
****************************************************************************/
-#ifndef LINUXDEVICETESTDIALOG_H
-#define LINUXDEVICETESTDIALOG_H
+#ifndef DEVICETESTDIALOG_H
+#define DEVICETESTDIALOG_H
-#include "linuxdevicetester.h"
-#include "remotelinux_export.h"
+#include "idevice.h"
#include <QDialog>
-namespace RemoteLinux {
+namespace ProjectExplorer {
namespace Internal {
-class LinuxDeviceTestDialogPrivate;
-} // namespace Internal
-class REMOTELINUX_EXPORT LinuxDeviceTestDialog : public QDialog
+class DeviceTestDialog : public QDialog
{
Q_OBJECT
public:
- // Note: The dialog takes ownership of deviceTester
- LinuxDeviceTestDialog(const ProjectExplorer::IDevice::ConstPtr &deviceConfiguration,
- AbstractLinuxDeviceTester * deviceTester, QWidget *parent = 0);
- ~LinuxDeviceTestDialog();
+ DeviceTestDialog(const IDevice::ConstPtr &deviceConfiguration, QWidget *parent = 0);
+ ~DeviceTestDialog();
void reject();
private slots:
void handleProgressMessage(const QString &message);
void handleErrorMessage(const QString &message);
- void handleTestFinished(RemoteLinux::AbstractLinuxDeviceTester::TestResult result);
+ void handleTestFinished(ProjectExplorer::DeviceTester::TestResult result);
private:
void addText(const QString &text, const QString &color, bool bold);
- Internal::LinuxDeviceTestDialogPrivate * const d;
+ class DeviceTestDialogPrivate;
+ DeviceTestDialogPrivate * const d;
};
-} // namespace RemoteLinux
+} // namespace Internal
+} // namespace ProjectExplorer
-#endif // LINUXDEVICETESTDIALOG_H
+#endif // Include guard.
diff --git a/src/plugins/remotelinux/linuxdevicetestdialog.ui b/src/plugins/projectexplorer/devicesupport/devicetestdialog.ui
index 4160d13452..b640f722d4 100644
--- a/src/plugins/remotelinux/linuxdevicetestdialog.ui
+++ b/src/plugins/projectexplorer/devicesupport/devicetestdialog.ui
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
- <class>RemoteLinux::Internal::LinuxDeviceTestDialog</class>
- <widget class="QDialog" name="RemoteLinux::Internal::LinuxDeviceTestDialog">
+ <class>ProjectExplorer::Internal::DeviceTestDialog</class>
+ <widget class="QDialog" name="ProjectExplorer::Internal::DeviceTestDialog">
<property name="geometry">
<rect>
<x>0</x>
@@ -38,7 +38,7 @@
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
- <receiver>RemoteLinux::Internal::LinuxDeviceTestDialog</receiver>
+ <receiver>ProjectExplorer::Internal::DeviceTestDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
@@ -54,7 +54,7 @@
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
- <receiver>RemoteLinux::Internal::LinuxDeviceTestDialog</receiver>
+ <receiver>ProjectExplorer::Internal::DeviceTestDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
diff --git a/src/plugins/projectexplorer/devicesupport/idevice.cpp b/src/plugins/projectexplorer/devicesupport/idevice.cpp
index 1afe29f684..7f24712c73 100644
--- a/src/plugins/projectexplorer/devicesupport/idevice.cpp
+++ b/src/plugins/projectexplorer/devicesupport/idevice.cpp
@@ -194,6 +194,7 @@ public:
PortsGatheringMethod::~PortsGatheringMethod() { }
DeviceProcessSupport::~DeviceProcessSupport() { }
+DeviceTester::DeviceTester(QObject *parent) : QObject(parent) { }
IDevice::IDevice() : d(new Internal::IDevicePrivate)
{ }
@@ -268,6 +269,12 @@ DeviceProcessList *IDevice::createProcessListModel(QObject *parent) const
return 0;
}
+DeviceTester *IDevice::createDeviceTester() const
+{
+ QTC_ASSERT(false, qDebug("This should not have been called..."));
+ return 0;
+}
+
IDevice::DeviceState IDevice::deviceState() const
{
return d->deviceState;
diff --git a/src/plugins/projectexplorer/devicesupport/idevice.h b/src/plugins/projectexplorer/devicesupport/idevice.h
index 3d54eb48ca..b066688132 100644
--- a/src/plugins/projectexplorer/devicesupport/idevice.h
+++ b/src/plugins/projectexplorer/devicesupport/idevice.h
@@ -35,11 +35,11 @@
#include <QAbstractSocket>
#include <QList>
+#include <QObject>
#include <QSharedPointer>
#include <QVariantMap>
QT_BEGIN_NAMESPACE
-class QObject;
class QWidget;
QT_END_NAMESPACE
@@ -52,6 +52,7 @@ class DeviceProcessList;
namespace Internal { class IDevicePrivate; }
class IDeviceWidget;
+class DeviceTester;
class PROJECTEXPLORER_EXPORT DeviceProcessSupport
{
@@ -73,7 +74,6 @@ public:
virtual QList<int> usedPorts(const QByteArray &commandOutput) const = 0;
};
-
// See cpp file for documentation.
class PROJECTEXPLORER_EXPORT IDevice
{
@@ -118,6 +118,8 @@ public:
virtual PortsGatheringMethod::Ptr portsGatheringMethod() const;
virtual bool canCreateProcessModel() const { return false; }
virtual DeviceProcessList *createProcessListModel(QObject *parent = 0) const;
+ virtual bool hasDeviceTester() const { return false; }
+ virtual DeviceTester *createDeviceTester() const;
enum DeviceState { DeviceReadyToUse, DeviceConnected, DeviceDisconnected, DeviceStateUnknown };
DeviceState deviceState() const;
@@ -159,6 +161,26 @@ private:
friend class DeviceManager;
};
+
+class PROJECTEXPLORER_EXPORT DeviceTester : public QObject
+{
+ Q_OBJECT
+
+public:
+ enum TestResult { TestSuccess, TestFailure };
+
+ virtual void testDevice(const ProjectExplorer::IDevice::ConstPtr &deviceConfiguration) = 0;
+ virtual void stopTest() = 0;
+
+signals:
+ void progressMessage(const QString &message);
+ void errorMessage(const QString &message);
+ void finished(ProjectExplorer::DeviceTester::TestResult result);
+
+protected:
+ explicit DeviceTester(QObject *parent = 0);
+};
+
} // namespace ProjectExplorer
#endif // IDEVICE_H
diff --git a/src/plugins/projectexplorer/projectexplorer.pro b/src/plugins/projectexplorer/projectexplorer.pro
index fb71346958..f778848240 100644
--- a/src/plugins/projectexplorer/projectexplorer.pro
+++ b/src/plugins/projectexplorer/projectexplorer.pro
@@ -121,6 +121,7 @@ HEADERS += projectexplorer.h \
devicesupport/deviceprocessesdialog.h \
devicesupport/devicesettingswidget.h \
devicesupport/devicesettingspage.h \
+ devicesupport/devicetestdialog.h \
devicesupport/deviceusedportsgatherer.h \
devicesupport/deviceapplicationrunner.h \
devicesupport/localprocesslist.h \
@@ -237,6 +238,7 @@ SOURCES += projectexplorer.cpp \
devicesupport/deviceprocessesdialog.cpp \
devicesupport/devicesettingswidget.cpp \
devicesupport/devicesettingspage.cpp \
+ devicesupport/devicetestdialog.cpp \
devicesupport/deviceusedportsgatherer.cpp \
devicesupport/deviceapplicationrunner.cpp \
devicesupport/localprocesslist.cpp \
@@ -257,6 +259,7 @@ FORMS += processstep.ui \
codestylesettingspropertiespage.ui \
devicesupport/devicefactoryselectiondialog.ui \
devicesupport/devicesettingswidget.ui \
+ devicesupport/devicetestdialog.ui \
devicesupport/desktopdeviceconfigurationwidget.ui
WINSOURCES += \
diff --git a/src/plugins/projectexplorer/projectexplorer.qbs b/src/plugins/projectexplorer/projectexplorer.qbs
index 55dd5a3432..e70197598a 100644
--- a/src/plugins/projectexplorer/projectexplorer.qbs
+++ b/src/plugins/projectexplorer/projectexplorer.qbs
@@ -269,6 +269,9 @@ QtcPlugin {
"devicesupport/devicesettingswidget.cpp",
"devicesupport/devicesettingswidget.h",
"devicesupport/devicesettingswidget.ui",
+ "devicesupport/devicetestdialog.cpp",
+ "devicesupport/devicetestdialog.h",
+ "devicesupport/devicetestdialog.ui",
"devicesupport/deviceusedportsgatherer.cpp",
"devicesupport/deviceusedportsgatherer.h",
"devicesupport/idevice.cpp",
diff --git a/src/plugins/qnx/qnxdeviceconfiguration.cpp b/src/plugins/qnx/qnxdeviceconfiguration.cpp
index 7fb16988a6..13e1bd252f 100644
--- a/src/plugins/qnx/qnxdeviceconfiguration.cpp
+++ b/src/plugins/qnx/qnxdeviceconfiguration.cpp
@@ -187,7 +187,7 @@ ProjectExplorer::DeviceProcessList *QnxDeviceConfiguration::createProcessListMod
return new QnxDeviceProcessList(sharedFromThis(), parent);
}
-RemoteLinux::AbstractLinuxDeviceTester *QnxDeviceConfiguration::createDeviceTester() const
+ProjectExplorer::DeviceTester *QnxDeviceConfiguration::createDeviceTester() const
{
return new QnxDeviceTester;
}
diff --git a/src/plugins/qnx/qnxdeviceconfiguration.h b/src/plugins/qnx/qnxdeviceconfiguration.h
index 1e2a9d0aef..5f0ccd9d95 100644
--- a/src/plugins/qnx/qnxdeviceconfiguration.h
+++ b/src/plugins/qnx/qnxdeviceconfiguration.h
@@ -54,7 +54,7 @@ public:
ProjectExplorer::PortsGatheringMethod::Ptr portsGatheringMethod() const;
ProjectExplorer::DeviceProcessList *createProcessListModel(QObject *parent) const;
- RemoteLinux::AbstractLinuxDeviceTester *createDeviceTester() const;
+ ProjectExplorer::DeviceTester *createDeviceTester() const;
QString displayType() const;
diff --git a/src/plugins/qnx/qnxdeviceconfigurationwizard.cpp b/src/plugins/qnx/qnxdeviceconfigurationwizard.cpp
index d60ec64de1..01ef63389d 100644
--- a/src/plugins/qnx/qnxdeviceconfigurationwizard.cpp
+++ b/src/plugins/qnx/qnxdeviceconfigurationwizard.cpp
@@ -37,7 +37,6 @@
#include <projectexplorer/devicesupport/deviceusedportsgatherer.h>
#include <remotelinux/genericlinuxdeviceconfigurationwizardpages.h>
-#include <remotelinux/linuxdevicetestdialog.h>
#include <utils/portlist.h>
using namespace ProjectExplorer;
@@ -76,8 +75,5 @@ IDevice::Ptr QnxDeviceConfigurationWizard::device()
device->setSshParameters(sshParams);
device->setFreePorts(Utils::PortList::fromString(QLatin1String("10000-10100")));
- RemoteLinux::LinuxDeviceTestDialog dlg(device, device->createDeviceTester(), this);
- dlg.exec();
-
return device;
}
diff --git a/src/plugins/qnx/qnxdevicetester.cpp b/src/plugins/qnx/qnxdevicetester.cpp
index c7ce356483..72dd95c582 100644
--- a/src/plugins/qnx/qnxdevicetester.cpp
+++ b/src/plugins/qnx/qnxdevicetester.cpp
@@ -38,7 +38,7 @@ using namespace Qnx;
using namespace Qnx::Internal;
QnxDeviceTester::QnxDeviceTester(QObject *parent)
- : RemoteLinux::AbstractLinuxDeviceTester(parent)
+ : ProjectExplorer::DeviceTester(parent)
, m_result(TestSuccess)
, m_state(Inactive)
, m_currentCommandIndex(-1)
@@ -70,8 +70,8 @@ void QnxDeviceTester::testDevice(const ProjectExplorer::IDevice::ConstPtr &devic
connect(m_genericTester, SIGNAL(progressMessage(QString)), SIGNAL(progressMessage(QString)));
connect(m_genericTester, SIGNAL(errorMessage(QString)), SIGNAL(errorMessage(QString)));
- connect(m_genericTester, SIGNAL(finished(RemoteLinux::AbstractLinuxDeviceTester::TestResult)),
- SLOT(handleGenericTestFinished(RemoteLinux::AbstractLinuxDeviceTester::TestResult)));
+ connect(m_genericTester, SIGNAL(finished(ProjectExplorer::DeviceTester::TestResult)),
+ SLOT(handleGenericTestFinished(ProjectExplorer::DeviceTester::TestResult)));
m_state = GenericTest;
m_genericTester->testDevice(deviceConfiguration);
@@ -96,7 +96,7 @@ void QnxDeviceTester::stopTest()
setFinished();
}
-void QnxDeviceTester::handleGenericTestFinished(RemoteLinux::AbstractLinuxDeviceTester::TestResult result)
+void QnxDeviceTester::handleGenericTestFinished(TestResult result)
{
QTC_ASSERT(m_state == GenericTest, return);
diff --git a/src/plugins/qnx/qnxdevicetester.h b/src/plugins/qnx/qnxdevicetester.h
index ccec636f08..e3bff15a79 100644
--- a/src/plugins/qnx/qnxdevicetester.h
+++ b/src/plugins/qnx/qnxdevicetester.h
@@ -43,7 +43,7 @@ class SshRemoteProcessRunner;
namespace Qnx {
namespace Internal {
-class QnxDeviceTester : public RemoteLinux::AbstractLinuxDeviceTester
+class QnxDeviceTester : public ProjectExplorer::DeviceTester
{
Q_OBJECT
public:
@@ -53,7 +53,7 @@ public:
void stopTest();
private slots:
- void handleGenericTestFinished(RemoteLinux::AbstractLinuxDeviceTester::TestResult result);
+ void handleGenericTestFinished(ProjectExplorer::DeviceTester::TestResult result);
void handleProcessFinished(int exitStatus);
void handleConnectionError();
@@ -70,7 +70,7 @@ private:
RemoteLinux::GenericLinuxDeviceTester *m_genericTester;
ProjectExplorer::IDevice::ConstPtr m_deviceConfiguration;
- TestResult m_result;
+ ProjectExplorer::DeviceTester::TestResult m_result;
State m_state;
int m_currentCommandIndex;
diff --git a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp
index c33bef0c8e..8ad502a052 100644
--- a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp
+++ b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp
@@ -31,8 +31,6 @@
#include "genericlinuxdeviceconfigurationwizardpages.h"
#include "linuxdevice.h"
-#include "linuxdevicetestdialog.h"
-#include "linuxdevicetester.h"
#include "remotelinux_constants.h"
#include <utils/portlist.h>
@@ -91,10 +89,6 @@ IDevice::Ptr GenericLinuxDeviceConfigurationWizard::device()
Core::Id(Constants::GenericLinuxOsType), IDevice::Hardware);
device->setFreePorts(Utils::PortList::fromString(QLatin1String("10000-10100")));
device->setSshParameters(sshParams);
- // Might be called after accept.
- QWidget *parent = isVisible() ? this : static_cast<QWidget *>(0);
- LinuxDeviceTestDialog dlg(device, new GenericLinuxDeviceTester(this), parent);
- dlg.exec();
return device;
}
diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp
index 8c530ac3ac..98625199a0 100644
--- a/src/plugins/remotelinux/linuxdevice.cpp
+++ b/src/plugins/remotelinux/linuxdevice.cpp
@@ -30,7 +30,7 @@
#include "linuxdevice.h"
#include "genericlinuxdeviceconfigurationwidget.h"
-#include "linuxdevicetestdialog.h"
+#include "linuxdevicetester.h"
#include "publickeydeploymentdialog.h"
#include "remotelinux_constants.h"
@@ -192,16 +192,13 @@ ProjectExplorer::IDeviceWidget *LinuxDevice::createWidget()
QList<Core::Id> LinuxDevice::actionIds() const
{
- return QList<Core::Id>() << Core::Id(Constants::GenericTestDeviceActionId)
- << Core::Id(Constants::GenericDeployKeyToDeviceActionId);
+ return QList<Core::Id>() << Core::Id(Constants::GenericDeployKeyToDeviceActionId);
}
QString LinuxDevice::displayNameForActionId(Core::Id actionId) const
{
QTC_ASSERT(actionIds().contains(actionId), return QString());
- if (actionId == Constants::GenericTestDeviceActionId)
- return tr("Test");
if (actionId == Constants::GenericDeployKeyToDeviceActionId)
return tr("Deploy Public Key...");
return QString(); // Can't happen.
@@ -213,9 +210,7 @@ void LinuxDevice::executeAction(Core::Id actionId, QWidget *parent) const
QDialog *d = 0;
const LinuxDevice::ConstPtr device = sharedFromThis().staticCast<const LinuxDevice>();
- if (actionId == Constants::GenericTestDeviceActionId)
- d = new LinuxDeviceTestDialog(device, createDeviceTester(), parent);
- else if (actionId == Constants::GenericDeployKeyToDeviceActionId)
+ if (actionId == Constants::GenericDeployKeyToDeviceActionId)
d = PublicKeyDeploymentDialog::createDialog(device, parent);
if (d)
d->exec();
@@ -264,7 +259,7 @@ DeviceProcessList *LinuxDevice::createProcessListModel(QObject *parent) const
return new LinuxDeviceProcessList(sharedFromThis(), parent);
}
-AbstractLinuxDeviceTester *LinuxDevice::createDeviceTester() const
+DeviceTester *LinuxDevice::createDeviceTester() const
{
return new GenericLinuxDeviceTester;
}
diff --git a/src/plugins/remotelinux/linuxdevice.h b/src/plugins/remotelinux/linuxdevice.h
index 0ec84cd44e..7e8224a475 100644
--- a/src/plugins/remotelinux/linuxdevice.h
+++ b/src/plugins/remotelinux/linuxdevice.h
@@ -41,7 +41,6 @@ namespace Utils { class PortList; }
namespace RemoteLinux {
namespace Internal { class LinuxDevicePrivate; }
-class AbstractLinuxDeviceTester;
class REMOTELINUX_EXPORT LinuxDeviceProcessSupport : public ProjectExplorer::DeviceProcessSupport
{
@@ -74,7 +73,8 @@ public:
ProjectExplorer::PortsGatheringMethod::Ptr portsGatheringMethod() const;
bool canCreateProcessModel() const { return true; }
ProjectExplorer::DeviceProcessList *createProcessListModel(QObject *parent) const;
- virtual AbstractLinuxDeviceTester *createDeviceTester() const;
+ bool hasDeviceTester() const { return true; }
+ ProjectExplorer::DeviceTester *createDeviceTester() const;
protected:
LinuxDevice() {}
diff --git a/src/plugins/remotelinux/linuxdevicetester.cpp b/src/plugins/remotelinux/linuxdevicetester.cpp
index 9f2fa97143..7b30be03a9 100644
--- a/src/plugins/remotelinux/linuxdevicetester.cpp
+++ b/src/plugins/remotelinux/linuxdevicetester.cpp
@@ -61,13 +61,8 @@ public:
using namespace Internal;
-AbstractLinuxDeviceTester::AbstractLinuxDeviceTester(QObject *parent) : QObject(parent)
-{
-}
-
-
GenericLinuxDeviceTester::GenericLinuxDeviceTester(QObject *parent)
- : AbstractLinuxDeviceTester(parent), d(new GenericLinuxDeviceTesterPrivate)
+ : DeviceTester(parent), d(new GenericLinuxDeviceTesterPrivate)
{
}
diff --git a/src/plugins/remotelinux/linuxdevicetester.h b/src/plugins/remotelinux/linuxdevicetester.h
index 4ecd8b9af1..8c3070b0bf 100644
--- a/src/plugins/remotelinux/linuxdevicetester.h
+++ b/src/plugins/remotelinux/linuxdevicetester.h
@@ -44,27 +44,7 @@ namespace Internal {
class GenericLinuxDeviceTesterPrivate;
}
-class REMOTELINUX_EXPORT AbstractLinuxDeviceTester : public QObject
-{
- Q_OBJECT
-
-public:
- enum TestResult { TestSuccess, TestFailure };
-
- virtual void testDevice(const ProjectExplorer::IDevice::ConstPtr &deviceConfiguration) = 0;
- virtual void stopTest() = 0;
-
-signals:
- void progressMessage(const QString &message);
- void errorMessage(const QString &message);
- void finished(RemoteLinux::AbstractLinuxDeviceTester::TestResult result);
-
-protected:
- explicit AbstractLinuxDeviceTester(QObject *parent = 0);
-};
-
-
-class REMOTELINUX_EXPORT GenericLinuxDeviceTester : public AbstractLinuxDeviceTester
+class REMOTELINUX_EXPORT GenericLinuxDeviceTester : public ProjectExplorer::DeviceTester
{
Q_OBJECT
@@ -85,7 +65,7 @@ private slots:
void handlePortListReady();
private:
- void setFinished(TestResult result);
+ void setFinished(ProjectExplorer::DeviceTester::TestResult result);
Internal::GenericLinuxDeviceTesterPrivate * const d;
};
diff --git a/src/plugins/remotelinux/remotelinux.pro b/src/plugins/remotelinux/remotelinux.pro
index 311cb6d127..62b3061f40 100644
--- a/src/plugins/remotelinux/remotelinux.pro
+++ b/src/plugins/remotelinux/remotelinux.pro
@@ -35,7 +35,6 @@ HEADERS += \
packageuploader.h \
linuxdevicetester.h \
remotelinux_constants.h \
- linuxdevicetestdialog.h \
remotelinuxenvironmentreader.h \
sshkeydeployer.h \
typespecificdeviceconfigurationlistmodel.h \
@@ -81,7 +80,6 @@ SOURCES += \
remotelinuxpackageinstaller.cpp \
packageuploader.cpp \
linuxdevicetester.cpp \
- linuxdevicetestdialog.cpp \
remotelinuxenvironmentreader.cpp \
sshkeydeployer.cpp \
typespecificdeviceconfigurationlistmodel.cpp \
@@ -98,7 +96,6 @@ SOURCES += \
FORMS += \
genericlinuxdeviceconfigurationwizardsetuppage.ui \
- linuxdevicetestdialog.ui \
remotelinuxdeployconfigurationwidget.ui \
genericlinuxdeviceconfigurationwidget.ui \
remotelinuxcheckforfreediskspacestepwidget.ui
diff --git a/src/plugins/remotelinux/remotelinux.qbs b/src/plugins/remotelinux/remotelinux.qbs
index 1458b756a3..7e6ad2b0d2 100644
--- a/src/plugins/remotelinux/remotelinux.qbs
+++ b/src/plugins/remotelinux/remotelinux.qbs
@@ -46,9 +46,6 @@ QtcPlugin {
"genericremotelinuxdeploystepfactory.h",
"linuxdevice.cpp",
"linuxdevice.h",
- "linuxdevicetestdialog.cpp",
- "linuxdevicetestdialog.h",
- "linuxdevicetestdialog.ui",
"linuxdevicetester.cpp",
"linuxdevicetester.h",
"packageuploader.cpp",
diff --git a/src/plugins/remotelinux/remotelinux_constants.h b/src/plugins/remotelinux/remotelinux_constants.h
index 0cfdfa5200..42041f3ce5 100644
--- a/src/plugins/remotelinux/remotelinux_constants.h
+++ b/src/plugins/remotelinux/remotelinux_constants.h
@@ -34,7 +34,6 @@ namespace Constants {
const char GenericLinuxOsType[] = "GenericLinuxOsType";
-const char GenericTestDeviceActionId[] = "RemoteLinux.GenericTestDeviceAction";
const char GenericDeployKeyToDeviceActionId[] = "RemoteLinux.GenericDeployKeyToDeviceAction";
const char EMBEDDED_LINUX_QT[] = "RemoteLinux.EmbeddedLinuxQt";