Merge branch '1008-new' into 'dbus-interface'

Fix bug

See merge request kylin-desktop/kylin-nm!300
This commit is contained in:
ren peijia 2021-10-11 02:10:33 +00:00
commit a6d1cd6969
2 changed files with 16 additions and 8 deletions

View File

@ -288,10 +288,10 @@ void WlanListItem::onNetButtonClicked()
qDebug()<<"Clicked on connected wifi, it will be inactivated. ssid = " << m_data->m_NetSsid << Q_FUNC_INFO << __LINE__;
return;
}
//有配置或者无密码的wifi直接连接
if (m_data->m_isConfigured || m_hasPwd == false) {
this->onConnectButtonClicked();
// m_connoperation->activeWirelessConnect(m_wlanDevice, m_data->m_connectUuid);//初始化没有uuid只有激活一次才有uuid
//有配置的wifi直接连接
if (m_data->m_isConfigured) {
// this->onConnectButtonClicked();
m_connoperation->activeWirelessConnect(m_wlanDevice, m_data->m_connectUuid);//初始化没有uuid只有激活一次才有uuid
qDebug() << "Has configuration, will be activated. ssid = " << m_data->m_NetSsid << m_wlanDevice << m_data->m_connectUuid << Q_FUNC_INFO << __LINE__;
return;
}
@ -302,7 +302,7 @@ void WlanListItem::onNetButtonClicked()
} else {
this->setExpanded(true);
}
} else {
} else { //无密码的情况
onConnectButtonClicked();
}
}
@ -387,6 +387,7 @@ void WlanListItem::onConnectButtonClicked()
settings.isAutoConnect = m_autoConnectCheckBox->isChecked();
settings.m_psk = m_pwdLineEdit->text();
if (m_data->m_secuType.isEmpty() || m_data->m_secuType == "") {
qDebug() << "connect to no password wifi" << Q_FUNC_INFO << __LINE__;
settings.m_type = WpaNone;
} else if (m_data->m_secuType.contains("WPA1") || m_data->m_secuType.contains("WPA2")) {
settings.m_type = WpaPsk;
@ -422,7 +423,8 @@ void WlanListItem::onWlanStatusChange(QString uuid, NetworkManager::ActiveConnec
{
QString ssid, devName;
m_resource->getSsidByUuid(uuid, ssid, devName);
if (m_data->m_NetSsid == ssid) {
//有可能配置被删了获取不到ssid,所以也可以按uuid判断解决连接中点忘记网络图标还在loading的问题
if (m_data->m_NetSsid == ssid || m_data->m_connectUuid == uuid) {
qDebug() << "[WlanPage] State changed to :" << state << Q_FUNC_INFO <<__LINE__;
m_state = state;
if ((state == NetworkManager::ActiveConnection::State::Activating || state == NetworkManager::ActiveConnection::State::Deactivating)

View File

@ -103,6 +103,8 @@ void WlanPage::initWlanUI()
m_activatedNetLayout->addWidget(m_activatedNetListWidget);
// m_inactivatedNetListArea->setFixedHeight(SCROLLAREA_HEIGHT);
m_inactivatedNetListArea->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
m_tipsLabel->hide(); //设备关闭的label要用的话可以放出来
}
/**
@ -298,6 +300,7 @@ void WlanPage::getAllWlan()
qDebug() << "Started loading wlan list!" << QDateTime::currentDateTime().toString("hh:mm:ss.zzzz");
m_inactivatedNetListWidget->clear();
m_itemsMap.clear();
m_expandedItem = nullptr; //每次重绘整个列表时要清空扩展项否则会导致再展开某一项item的时候进程崩溃
QList<KyWirelessNetItem> wlanList;
// if (!m_resource->getAllDeviceWifiNetwork(map))
if (!m_resource->getDeviceWifiNetwork(m_defaultDevice, wlanList)) { //ZJP_TODO 获取默认网卡并传入
@ -334,6 +337,7 @@ void WlanPage::onWlanAdded(QString interface, KyWirelessNetItem &item)
qDebug() << "A Wlan Added! interface = " << interface << "; ssid = " << item.m_NetSsid << "interface" << interface << Q_FUNC_INFO <<__LINE__;
if (interface != m_defaultDevice) {
qDebug() << "wlan add interface not equal defaultdevice,ignore";
return;
}
KyWirelessNetItem *data = new KyWirelessNetItem(item);
WlanListItem *wlanItemWidget = new WlanListItem(m_resource, data, m_defaultDevice);
@ -497,7 +501,8 @@ void WlanPage::onActivatedWlanChanged(QString uuid, NetworkManager::ActiveConnec
//弹窗显示wifi连接状况
qDebug() << "[WlanPage] State changed to :" << state << reason << Q_FUNC_INFO <<__LINE__;
//QString ssid;
m_resource->getSsidByUuid(uuid, ssid, m_defaultDevice);
QString device = m_defaultDevice;
m_resource->getSsidByUuid(uuid, ssid, device);
if (m_activatedWlanSSid == ssid && state == NetworkManager::ActiveConnection::State::Activated) {
if(m_activedssid != m_activatedWlanSSid){
m_activedssid = m_activatedWlanSSid;
@ -575,6 +580,7 @@ void WlanPage::onActivatedWlanChanged(QString uuid, NetworkManager::ActiveConnec
QString oldActWlanSsid = m_activatedWlanSSid;
getActiveWlan();
QString newActWlanSsid = m_activatedWlanSSid;
qDebug() << "Refresh active wlan succeed, old ssid = " << oldActWlanSsid << "; new ssid = " << newActWlanSsid << Q_FUNC_INFO << __LINE__;
if (oldActWlanSsid != newActWlanSsid) {
if (!oldActWlanSsid.isEmpty()) {
KyWirelessNetItem item;
@ -615,7 +621,7 @@ void WlanPage::onItemHeightChanged(const QString &ssid)
void WlanPage::onConnectButtonClicked(KyWirelessConnectSetting &connSettingInfo, const bool &isHidden)
{
qDebug() << "Received signal of connecting wlan, ssid = " << connSettingInfo.m_ssid << Q_FUNC_INFO << __LINE__;
qDebug() << "Received signal of connecting wlan, ssid = " << connSettingInfo.m_ssid << "device name = " << m_defaultDevice << Q_FUNC_INFO << __LINE__;
m_wirelessConnectOpreation->addAndActiveWirelessConnect(m_defaultDevice, connSettingInfo, isHidden);
}