summaryrefslogtreecommitdiff
path: root/src/plugins/baremetal/idebugserverprovider.cpp
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2019-11-28 14:49:42 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2019-11-28 12:28:51 +0000
commitb31f6aa50201e45f7f2eae804f95d97bf772ab23 (patch)
treec60e2569689a736581a33b81e822a21bf2c0276d /src/plugins/baremetal/idebugserverprovider.cpp
parent6fdbd6d7845adbfbecc8a828e400b4ee6fd939ed (diff)
downloadqt-creator-b31f6aa50201e45f7f2eae804f95d97bf772ab23.tar.gz
BareMetal: Share HostWidget for all debug providers
Change-Id: Ie1db80987c8f3cacdae49daff3969228105c08ea Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/baremetal/idebugserverprovider.cpp')
-rw-r--r--src/plugins/baremetal/idebugserverprovider.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/plugins/baremetal/idebugserverprovider.cpp b/src/plugins/baremetal/idebugserverprovider.cpp
index 7b7493dd3f..ccd2f583b7 100644
--- a/src/plugins/baremetal/idebugserverprovider.cpp
+++ b/src/plugins/baremetal/idebugserverprovider.cpp
@@ -34,6 +34,7 @@
#include <QFormLayout>
#include <QLabel>
#include <QLineEdit>
+#include <QSpinBox>
#include <QUuid>
namespace BareMetal {
@@ -260,5 +261,43 @@ void IDebugServerProviderConfigWidget::setFromProvider()
m_nameLineEdit->setText(m_provider->displayName());
}
+// HostWidget
+
+HostWidget::HostWidget(QWidget *parent)
+ : QWidget(parent)
+{
+ m_hostLineEdit = new QLineEdit(this);
+ m_hostLineEdit->setToolTip(tr("Enter TCP/IP hostname of the GDB server provider, "
+ "like \"localhost\" or \"192.0.2.1\"."));
+ m_portSpinBox = new QSpinBox(this);
+ m_portSpinBox->setRange(0, 65535);
+ m_portSpinBox->setToolTip(tr("Enter TCP/IP port which will be listened by "
+ "the GDB server provider."));
+ const auto layout = new QHBoxLayout(this);
+ layout->setContentsMargins(0, 0, 0, 0);
+ layout->addWidget(m_hostLineEdit);
+ layout->addWidget(m_portSpinBox);
+
+ connect(m_hostLineEdit, &QLineEdit::textChanged,
+ this, &HostWidget::dataChanged);
+ connect(m_portSpinBox, QOverload<int>::of(&QSpinBox::valueChanged),
+ this, &HostWidget::dataChanged);
+}
+
+void HostWidget::setChannel(const QUrl &channel)
+{
+ const QSignalBlocker blocker(this);
+ m_hostLineEdit->setText(channel.host());
+ m_portSpinBox->setValue(channel.port());
+}
+
+QUrl HostWidget::channel() const
+{
+ QUrl url;
+ url.setHost(m_hostLineEdit->text());
+ url.setPort(m_portSpinBox->value());
+ return url;
+}
+
} // namespace Internal
} // namespace BareMetal