mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2024-12-02 00:32:24 +08:00
49 lines
1.3 KiB
C++
49 lines
1.3 KiB
C++
// Copyright (C) 2018 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
|
|
#include <limits>
|
|
|
|
#include <QtCore>
|
|
#include <QtNetwork>
|
|
|
|
#include "nicselector.h"
|
|
#include "ui_nicselector.h"
|
|
|
|
NicSelector::NicSelector(QWidget *parent) :
|
|
QDialog(parent),
|
|
ui(new Ui::NicSelector)
|
|
{
|
|
ui->setupUi(this);
|
|
auto portValidator = new QIntValidator(0, int(std::numeric_limits<quint16>::max()),
|
|
ui->portSelector);
|
|
ui->portSelector->setValidator(portValidator);
|
|
ui->portSelector->setText(QStringLiteral("22334"));
|
|
|
|
const QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses();
|
|
availableAddresses.reserve(ipAddressesList.size());
|
|
for (const QHostAddress &ip : ipAddressesList) {
|
|
if (ip != QHostAddress::LocalHost && ip.toIPv4Address()) {
|
|
availableAddresses.push_back(ip);
|
|
ui->ipSelector->addItem(ip.toString());
|
|
}
|
|
}
|
|
}
|
|
|
|
NicSelector::~NicSelector()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
QHostAddress NicSelector::selectedIp() const
|
|
{
|
|
if (!availableAddresses.size())
|
|
return {};
|
|
|
|
return availableAddresses[ui->ipSelector->currentIndex()];
|
|
}
|
|
|
|
quint16 NicSelector::selectedPort() const
|
|
{
|
|
return quint16(ui->portSelector->text().toUInt());
|
|
}
|