diff --git a/src/plugins/boot2qt/boot2qt.pro b/src/plugins/boot2qt/boot2qt.pro
index e26910cf1ab..8c5f51e5043 100644
--- a/src/plugins/boot2qt/boot2qt.pro
+++ b/src/plugins/boot2qt/boot2qt.pro
@@ -11,7 +11,6 @@ HEADERS += \
qdbdevice.h \
qdbqtversion.h \
qdbdeployconfigurationfactory.h \
- qdbdevicewizard.h \
qdbrunconfiguration.h \
qdbmakedefaultappstep.h \
qdbmakedefaultappservice.h \
@@ -28,7 +27,6 @@ SOURCES += \
qdbdevice.cpp \
qdbqtversion.cpp \
qdbdeployconfigurationfactory.cpp \
- qdbdevicewizard.cpp \
qdbrunconfiguration.cpp \
qdbmakedefaultappstep.cpp \
qdbmakedefaultappservice.cpp \
@@ -38,8 +36,5 @@ SOURCES += \
qdbdevicedebugsupport.cpp \
qdbplugin.cpp \
-FORMS += \
- qdbdevicewizardsettingspage.ui
-
RESOURCES += \
qdb.qrc
diff --git a/src/plugins/boot2qt/boot2qt.qbs b/src/plugins/boot2qt/boot2qt.qbs
index eb80cd03a4d..ac6a33f2797 100644
--- a/src/plugins/boot2qt/boot2qt.qbs
+++ b/src/plugins/boot2qt/boot2qt.qbs
@@ -29,9 +29,6 @@ QtcPlugin {
"qdbdevice.h",
"qdbdevicedebugsupport.cpp",
"qdbdevicedebugsupport.h",
- "qdbdevicewizard.cpp",
- "qdbdevicewizard.h",
- "qdbdevicewizardsettingspage.ui",
"qdbmakedefaultappservice.cpp",
"qdbmakedefaultappservice.h",
"qdbmakedefaultappstep.cpp",
diff --git a/src/plugins/boot2qt/qdbdevice.cpp b/src/plugins/boot2qt/qdbdevice.cpp
index a5b898d3cd7..8156ee7a89a 100644
--- a/src/plugins/boot2qt/qdbdevice.cpp
+++ b/src/plugins/boot2qt/qdbdevice.cpp
@@ -28,7 +28,6 @@
#include "qdbutils.h"
#include "qdbconstants.h"
#include "qdbdevicedebugsupport.h"
-#include "qdbdevicewizard.h"
#include %2
"
+ "Those will be auto-detected.
The connectivity to the device is tested after finishing."));
+
+ auto formLayout = new QFormLayout(this);
+ formLayout->addRow(QdbDevice::tr("Device name:"), nameLineEdit);
+ formLayout->addRow(QdbDevice::tr("Device address:"), addressLineEdit);
+ formLayout->addRow(usbWarningLabel);
+
+ connect(nameLineEdit, &QLineEdit::textChanged, this, &QWizardPage::completeChanged);
+ connect(addressLineEdit, &QLineEdit::textChanged, this, &QWizardPage::completeChanged);
+ }
+
+ QString deviceName() const { return nameLineEdit->text().trimmed(); }
+ QString deviceAddress() const { return addressLineEdit->text().trimmed(); }
+
+private:
+ bool isComplete() const final {
+ return !deviceName().isEmpty() && !deviceAddress().isEmpty();
+ }
+
+ QLineEdit *nameLineEdit;
+ QLineEdit *addressLineEdit;
+
+};
+
+class QdbDeviceWizard : public QWizard
+{
+public:
+ QdbDeviceWizard(QWidget *parent)
+ : QWizard(parent)
+ {
+ setWindowTitle(QdbDeviceWizard::tr("Boot2Qt Network Device Setup"));
+ settingsPage.setCommitPage(true);
+
+ enum { SettingsPageId };
+
+ setPage(SettingsPageId, &settingsPage);
+ }
+
+ ProjectExplorer::IDevice::Ptr device()
+ {
+ QdbDevice::Ptr device = QdbDevice::create();
+
+ device->setDisplayName(settingsPage.deviceName());
+ device->setupId(ProjectExplorer::IDevice::ManuallyAdded, Core::Id());
+ device->setType(Constants::QdbLinuxOsType);
+ device->setMachineType(ProjectExplorer::IDevice::Hardware);
+
+ device->setupDefaultNetworkSettings(settingsPage.deviceAddress());
+
+ return device;
+ }
+
+private:
+ QdbSettingsPage settingsPage;
+};
+
+
+// Device factory
QdbLinuxDeviceFactory::QdbLinuxDeviceFactory()
: IDeviceFactory(Constants::QdbLinuxOsType)
@@ -235,7 +308,11 @@ QdbLinuxDeviceFactory::QdbLinuxDeviceFactory()
IDevice::Ptr QdbLinuxDeviceFactory::create() const
{
- return createDevice(QdbDeviceWizard::HardwareDevice);
+ QdbDeviceWizard wizard(Core::ICore::mainWindow());
+
+ if (wizard.exec() != QDialog::Accepted)
+ return IDevice::Ptr();
+ return wizard.device();
}
} // namespace Internal
diff --git a/src/plugins/boot2qt/qdbdevicewizard.cpp b/src/plugins/boot2qt/qdbdevicewizard.cpp
deleted file mode 100644
index 165732084cc..00000000000
--- a/src/plugins/boot2qt/qdbdevicewizard.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-****************************************************************************/
-
-#include "qdbdevicewizard.h"
-#include "ui_qdbdevicewizardsettingspage.h"
-
-#include "qdbconstants.h"
-#include "qdbdevice.h"
-
-#include