From b31f6aa50201e45f7f2eae804f95d97bf772ab23 Mon Sep 17 00:00:00 2001 From: Denis Shienkov Date: Thu, 28 Nov 2019 14:49:42 +0300 Subject: BareMetal: Share HostWidget for all debug providers Change-Id: Ie1db80987c8f3cacdae49daff3969228105c08ea Reviewed-by: hjk --- src/plugins/baremetal/idebugserverprovider.cpp | 39 ++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'src/plugins/baremetal/idebugserverprovider.cpp') 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 #include #include +#include #include 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::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 -- cgit v1.2.1