diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2019-11-28 14:49:42 +0300 |
---|---|---|
committer | Denis Shienkov <denis.shienkov@gmail.com> | 2019-11-28 12:28:51 +0000 |
commit | b31f6aa50201e45f7f2eae804f95d97bf772ab23 (patch) | |
tree | c60e2569689a736581a33b81e822a21bf2c0276d /src/plugins/baremetal/idebugserverprovider.cpp | |
parent | 6fdbd6d7845adbfbecc8a828e400b4ee6fd939ed (diff) | |
download | qt-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.cpp | 39 |
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 |