add ipv4 1~128 support && fix some bug
This commit is contained in:
parent
150bbd4489
commit
76c50dba47
|
@ -315,6 +315,7 @@ void KyConnectResourse::getIpv6ConnectSetting(
|
|||
connectSetting.m_ipv6ConfigIpType = CONFIG_IP_MANUAL;
|
||||
|
||||
connectSetting.m_ipv6Address = ipv6Setting->addresses();
|
||||
|
||||
connectSetting.m_ipv6Dns = ipv6Setting->dns();
|
||||
|
||||
return;
|
||||
|
|
|
@ -121,7 +121,6 @@ void KyConnectSetting::dumpInfo()
|
|||
qDebug()<<"ipv4 dns" << m_ipv4Dns.at(index).toString();
|
||||
}
|
||||
|
||||
/*
|
||||
for (int index = 0 ; index << m_ipv6Address.size(); index++) {
|
||||
qDebug()<<"ipv6 address" << m_ipv6Address.at(index).ip().toString();
|
||||
qDebug()<<"ipv6 gate way" << m_ipv6Address.at(index).gateway().toString();
|
||||
|
@ -131,5 +130,4 @@ void KyConnectSetting::dumpInfo()
|
|||
for (int index = 0; index < m_ipv6Dns.size(); ++index) {
|
||||
qDebug()<<"ipv6 dns" << m_ipv6Dns.at(index).toString();
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
|
@ -466,6 +466,7 @@ void KyWirelessConnectOperation::addAndActiveWirelessConnect(QString & devIface,
|
|||
|
||||
qDebug() << "findBestWirelessSecurity type "<< sec_type;
|
||||
|
||||
NetworkManager::ConnectionSettings::Ptr settings = nullptr;
|
||||
switch (sec_type)
|
||||
{
|
||||
case NetworkManager::UnknownSecurity:
|
||||
|
@ -475,7 +476,8 @@ void KyWirelessConnectOperation::addAndActiveWirelessConnect(QString & devIface,
|
|||
break;
|
||||
case NetworkManager::WpaPsk:
|
||||
case NetworkManager::Wpa2Psk:
|
||||
if (NetworkManager::ConnectionSettings::Ptr settings = assembleWpaXPskSettings(access_point, connSettingInfo.m_psk, connSettingInfo.isAutoConnect)) {
|
||||
settings = assembleWpaXPskSettings(access_point, connSettingInfo.m_psk, connSettingInfo.isAutoConnect;
|
||||
if (nullptr != settings) {
|
||||
map_settings = settings->toMap();
|
||||
} else {
|
||||
qWarning() << QStringLiteral("connection settings assembly for '%1' failed, abandoning activation...").arg(conn_name);
|
||||
|
@ -484,7 +486,8 @@ void KyWirelessConnectOperation::addAndActiveWirelessConnect(QString & devIface,
|
|||
break;
|
||||
//TODO: other types...
|
||||
case NetworkManager::SAE:
|
||||
if (NetworkManager::ConnectionSettings::Ptr settings = assembleSaeSettings(access_point, connSettingInfo.m_psk, connSettingInfo.isAutoConnect)) {
|
||||
settings = assembleSaeSettings(access_point, connSettingInfo.m_psk, connSettingInfo.isAutoConnect;
|
||||
if (nullptr != settings) {
|
||||
map_settings = settings->toMap();
|
||||
} else {
|
||||
qWarning() << QStringLiteral("connection settings assembly for '%1' failed, abandoning activation...").arg(conn_name);
|
||||
|
|
|
@ -48,7 +48,7 @@ public:
|
|||
|
||||
KyIpConfigType ipv6ConfigType = CONFIG_IP_DHCP;
|
||||
QString strIPV6Address;
|
||||
QString strIPV6Prefix;
|
||||
int iIPV6Prefix;
|
||||
QString strIPV6FirDns;
|
||||
QString strIPV6SecDns;
|
||||
QString strIPV6GateWay;
|
||||
|
|
|
@ -57,6 +57,9 @@ void DetailPage::setMac(const QString &mac) {
|
|||
|
||||
void DetailPage::setAutoConnect(bool flag)
|
||||
{
|
||||
if (!mIsWlan) {
|
||||
return;
|
||||
}
|
||||
this->forgetNetBox->setChecked(flag);
|
||||
}
|
||||
|
||||
|
@ -67,6 +70,9 @@ void DetailPage::getSsid(QString &ssid)
|
|||
|
||||
bool DetailPage::checkIsChanged(const ConInfo info)
|
||||
{
|
||||
if (!mIsWlan) {
|
||||
return false;
|
||||
}
|
||||
if (info.isAutoConnect != forgetNetBox->isChecked()) {
|
||||
return true;
|
||||
} else {
|
||||
|
@ -84,7 +90,6 @@ void DetailPage::addDetailItem(QListWidget *listWidget, DetailWidget *detailWidg
|
|||
}
|
||||
|
||||
void DetailPage::initUI() {
|
||||
forgetNetBox = new QCheckBox(this);
|
||||
layout = new QVBoxLayout(this);
|
||||
layout->setContentsMargins(0,0,0,0);
|
||||
|
||||
|
@ -147,16 +152,19 @@ void DetailPage::initUI() {
|
|||
m_macWidget = new DetailWidget(qobject_cast<QWidget *>(mMac), m_listWidget);
|
||||
m_macWidget->setKey(tr("Mac:"));
|
||||
|
||||
autoConnect = new QLabel(this);
|
||||
if (mIsWlan) {
|
||||
autoConnect = new QLabel(this);
|
||||
forgetNetBox = new QCheckBox(this);
|
||||
|
||||
autoConnect->setText(tr("Auto Connection"));
|
||||
mAutoLayout = new QHBoxLayout(this);
|
||||
QSpacerItem *horizontalSpacer;
|
||||
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||||
autoConnect->setText(tr("Auto Connection"));
|
||||
mAutoLayout = new QHBoxLayout(this);
|
||||
QSpacerItem *horizontalSpacer;
|
||||
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||||
|
||||
mAutoLayout->addWidget(forgetNetBox);
|
||||
mAutoLayout->addWidget(autoConnect);
|
||||
mAutoLayout->addSpacerItem(horizontalSpacer);
|
||||
mAutoLayout->addWidget(forgetNetBox);
|
||||
mAutoLayout->addWidget(autoConnect);
|
||||
mAutoLayout->addSpacerItem(horizontalSpacer);
|
||||
}
|
||||
|
||||
this->addDetailItem(m_listWidget, m_ssidWidget);
|
||||
this->addDetailItem(m_listWidget, m_protocolWidget);
|
||||
|
@ -179,7 +187,9 @@ void DetailPage::initUI() {
|
|||
m_listWidget->setPalette(mpal);
|
||||
|
||||
layout->addWidget(mDetailFrame);
|
||||
layout->addLayout(mAutoLayout);
|
||||
if (mIsWlan) {
|
||||
layout->addLayout(mAutoLayout);
|
||||
}
|
||||
}
|
||||
|
||||
void DetailPage::setEnableOfSaveBtn() {
|
||||
|
|
|
@ -241,7 +241,7 @@ bool Ipv4Page::getTextEditState(QString text)
|
|||
return match;
|
||||
}
|
||||
|
||||
bool Ipv4Page::getNetMaskState(QString text)
|
||||
bool Ipv4Page::netMaskIsValide(QString text)
|
||||
{
|
||||
if (getTextEditState(text)) {
|
||||
return true;
|
||||
|
|
|
@ -51,7 +51,7 @@ private:
|
|||
void setLineEnabled(bool check);
|
||||
void configSave();
|
||||
bool getTextEditState(QString text);
|
||||
bool getNetMaskState(QString text);
|
||||
bool netMaskIsValide(QString text);
|
||||
QString getNetMaskText(QString text);
|
||||
bool checkConnectBtnIsEnabled();
|
||||
|
||||
|
|
|
@ -16,9 +16,14 @@ void Ipv6Page::setIpv6Config(KyIpConfigType ipv6Config)
|
|||
}
|
||||
}
|
||||
|
||||
void Ipv6Page::setIpv6(const QString &ipv4)
|
||||
void Ipv6Page::setIpv6(const QString &ipv6)
|
||||
{
|
||||
ipv6AddressEdit->setText(ipv4);
|
||||
ipv6AddressEdit->setText(ipv6);
|
||||
}
|
||||
|
||||
void Ipv6Page::setIpv6Perfix(const int &ipv6Perfix)
|
||||
{
|
||||
lengthEdit->setText(QString::number(ipv6Perfix));
|
||||
}
|
||||
|
||||
void Ipv6Page::setIpv6FirDns(const QString &ipv6FirDns)
|
||||
|
@ -58,7 +63,7 @@ bool Ipv6Page::checkIsChanged(const ConInfo info, KyConnectSetting &setting)
|
|||
isChanged = true;
|
||||
}
|
||||
if(info.strIPV6Address != ipv6AddressEdit->text()
|
||||
|| info.strIPV6Prefix != lengthEdit->text()
|
||||
|| info.iIPV6Prefix != lengthEdit->text().toInt()
|
||||
|| info.strIPV6GateWay != gateWayEdit->text()
|
||||
|| info.strIPV6FirDns != firstDnsEdit->text()
|
||||
|| info.strIPV6SecDns != secondDnsEdit->text()) {
|
||||
|
@ -226,3 +231,26 @@ bool Ipv6Page::getIpv6EditState(QString text)
|
|||
return match;
|
||||
}
|
||||
|
||||
int Ipv6Page::getPerfixLength(QString text)
|
||||
{
|
||||
qDebug() << "getPerfixLength" << text;
|
||||
int length = 0;
|
||||
QStringList list= text.split(":");
|
||||
for (int i = 0; i < list.size(); ++i) {
|
||||
QString temp = list.at(i);
|
||||
if (temp.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
bool ok;
|
||||
unsigned int val = temp.toUInt(&ok, 16);
|
||||
temp = temp.setNum(val,2);
|
||||
for(int j = 0; j < temp.length(); ++j) {
|
||||
if (temp.at(j) == "1") {
|
||||
length++;
|
||||
}
|
||||
}
|
||||
}
|
||||
qDebug() << "getPerfixLength" << length;
|
||||
return length;
|
||||
}
|
||||
|
||||
|
|
|
@ -22,12 +22,15 @@ public:
|
|||
Ipv6Page(QWidget *parent = nullptr);
|
||||
void setIpv6Config(KyIpConfigType ipv6Config);
|
||||
void setIpv6(const QString &ipv4);
|
||||
void setIpv6Perfix(const int &ipv6Perfix);
|
||||
void setIpv6FirDns(const QString &ipv6FirDns);
|
||||
void setIpv6SecDns(const QString &ipv6SecDns);
|
||||
void setGateWay(const QString &gateWay);
|
||||
|
||||
bool checkIsChanged(const ConInfo info, KyConnectSetting &setting);
|
||||
|
||||
int getPerfixLength(QString text);
|
||||
|
||||
public:
|
||||
QComboBox *ipv6ConfigCombox;
|
||||
QLineEdit *ipv6AddressEdit;
|
||||
|
@ -52,7 +55,6 @@ private:
|
|||
|
||||
bool checkConnectBtnIsEnabled();
|
||||
|
||||
|
||||
private slots:
|
||||
void configChanged(int index);
|
||||
void setEnableOfSaveBtn();
|
||||
|
|
|
@ -296,7 +296,7 @@ void NetDetail::initComponent()
|
|||
stackWidget->setCurrentIndex(SECURITY_PAGE_NUM);
|
||||
});
|
||||
connect(confimBtn, SIGNAL(clicked()), this, SLOT(on_btnConfirm_clicked()));
|
||||
if (!m_uuid.isEmpty()) {
|
||||
if (isWlan && !m_uuid.isEmpty()) {
|
||||
forgetBtn->show();
|
||||
connect(forgetBtn, SIGNAL(clicked()), this, SLOT(on_btnForget_clicked()));
|
||||
} else {
|
||||
|
@ -362,10 +362,11 @@ void NetDetail::pagePadding(QString netName, bool isWlan)
|
|||
//ipv6页面填充
|
||||
if (m_info.ipv6ConfigType == CONFIG_IP_MANUAL) {
|
||||
ipv6Page->setIpv6Config(m_info.ipv6ConfigType);
|
||||
ipv6Page->setIpv6(m_info.strIPV4Address);
|
||||
ipv6Page->setIpv6(m_info.strIPV6Address);
|
||||
ipv6Page->setIpv6Perfix(m_info.iIPV6Prefix);
|
||||
ipv6Page->setIpv6FirDns(m_info.strIPV6FirDns);
|
||||
ipv6Page->setIpv6SecDns(m_info.strIPV4SecDns);
|
||||
ipv6Page->setGateWay(m_info.strIPV4GateWay);
|
||||
ipv6Page->setIpv6SecDns(m_info.strIPV6SecDns);
|
||||
ipv6Page->setGateWay(m_info.strIPV6GateWay);
|
||||
} else {
|
||||
ipv6Page->setIpv6Config(m_info.ipv6ConfigType);
|
||||
}
|
||||
|
@ -411,13 +412,11 @@ void NetDetail::getBaseInfo(ConInfo &conInfo)
|
|||
|
||||
if (!hardAddress.isEmpty()) {
|
||||
conInfo.strBandWidth = QString("%1").arg(bandWith/1000) + "Mbps";
|
||||
conInfo.strMac = hardAddress;
|
||||
}
|
||||
|
||||
if (!isWlan) {
|
||||
conInfo.strConType = "802-3-ethernet";
|
||||
if (!hardAddress.isEmpty()) {
|
||||
conInfo.strMac = hardAddress;
|
||||
}
|
||||
} else {
|
||||
conInfo.strConType = "802-11-wireless";
|
||||
if (!isActive) {
|
||||
|
@ -426,8 +425,6 @@ void NetDetail::getBaseInfo(ConInfo &conInfo)
|
|||
qDebug() << "getWifiNetWork failed device:" << m_deviceName << " name:" << m_name;
|
||||
return;
|
||||
} else {
|
||||
|
||||
conInfo.strMac = item.m_bssid;
|
||||
conInfo.strHz = QString::number(item.m_frequency);
|
||||
conInfo.strChan = QString::number(item.m_channel);
|
||||
//无线特有
|
||||
|
@ -494,6 +491,7 @@ void NetDetail::getStaticIpInfo(ConInfo &conInfo, bool bActived)
|
|||
KyConnectResourse *kyConnectResourse = new KyConnectResourse(this);
|
||||
KyConnectSetting connetSetting;
|
||||
kyConnectResourse->getConnectionSetting(m_uuid,connetSetting);
|
||||
connetSetting.dumpInfo();
|
||||
|
||||
conInfo.ipv4ConfigType = connetSetting.m_ipv4ConfigIpType;
|
||||
conInfo.ipv6ConfigType = connetSetting.m_ipv6ConfigIpType;
|
||||
|
@ -516,7 +514,7 @@ void NetDetail::getStaticIpInfo(ConInfo &conInfo, bool bActived)
|
|||
if (connetSetting.m_ipv6ConfigIpType == CONFIG_IP_MANUAL) {
|
||||
if (connetSetting.m_ipv6Address.size() > 0) {
|
||||
conInfo.strIPV6Address = connetSetting.m_ipv6Address.at(0).ip().toString();
|
||||
conInfo.strIPV6Prefix = connetSetting.m_ipv6Address.at(0).netmask().toString();
|
||||
conInfo.iIPV6Prefix = ipv6Page->getPerfixLength(connetSetting.m_ipv6Address.at(0).netmask().toString());
|
||||
conInfo.strIPV6GateWay = connetSetting.m_ipv6Address.at(0).gateway().toString();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue