解决存在多个连接其他网络弹窗问题
This commit is contained in:
parent
e91d71aee8
commit
cc5e08963a
|
@ -829,35 +829,7 @@ void MainWindow::showCreateWiredConnectWidget(const QString devName)
|
|||
void MainWindow::showAddOtherWlanWidget(QString devName)
|
||||
{
|
||||
qDebug() << "showAddOtherWlanWidget! devName = " << devName;
|
||||
if (m_addOtherPagePtrMap.contains(devName)) {
|
||||
if (m_addOtherPagePtrMap[devName] != nullptr) {
|
||||
qDebug() << "showAddOtherWlanWidget" << devName << "already create,just raise";
|
||||
|
||||
KWindowSystem::raiseWindow(m_addOtherPagePtrMap[devName]->winId());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
NetDetail *netDetail = new NetDetail(devName, "", "", false, true, true, this);
|
||||
connect(netDetail, &NetDetail::createPageClose, [&](QString interfaceName){
|
||||
if (m_addOtherPagePtrMap.contains(interfaceName)) {
|
||||
m_addOtherPagePtrMap[interfaceName] = nullptr;
|
||||
}
|
||||
});
|
||||
m_addOtherPagePtrMap.insert(devName, netDetail);
|
||||
netDetail->show();
|
||||
#endif
|
||||
|
||||
JoinHiddenWiFiPage *hiddenWiFi =new JoinHiddenWiFiPage(devName);
|
||||
connect(hiddenWiFi, &JoinHiddenWiFiPage::hiddenWiFiPageClose, [&](QString interfaceName){
|
||||
if (m_addOtherPagePtrMap.contains(interfaceName)) {
|
||||
m_addOtherPagePtrMap[interfaceName] = nullptr;
|
||||
}
|
||||
});
|
||||
m_addOtherPagePtrMap.insert(devName, hiddenWiFi);
|
||||
connect(hiddenWiFi, &JoinHiddenWiFiPage::showWlanList, this, &MainWindow::onShowMainWindow);
|
||||
hiddenWiFi->show();
|
||||
m_wlanWidget->showAddOtherPage(devName);
|
||||
}
|
||||
|
||||
void MainWindow::getWirelessDeviceCap(QMap<QString, int> &map)
|
||||
|
|
|
@ -152,6 +152,7 @@ private:
|
|||
void initUI();
|
||||
void initDbusConnnect();
|
||||
void initTrayIcon();
|
||||
|
||||
void resetTrayIconTool();
|
||||
void initWindowTheme();
|
||||
void resetWindowTheme();
|
||||
|
@ -194,8 +195,6 @@ private:
|
|||
IconActiveType iconStatus = IconActiveType::NOT_CONNECTED;
|
||||
|
||||
QMap<QString, NetDetail*> m_createPagePtrMap;
|
||||
// QMap<QString, NetDetail*> m_addOtherPagePtrMap;
|
||||
QMap<QString, JoinHiddenWiFiPage*> m_addOtherPagePtrMap;
|
||||
|
||||
public Q_SLOTS:
|
||||
void onShowMainWindow(int type);
|
||||
|
|
|
@ -87,6 +87,7 @@ WlanPage::WlanPage(QWidget *parent) : TabPage(parent)
|
|||
}
|
||||
});
|
||||
m_wlanPagePtrMap.clear();
|
||||
m_joinHiddenWiFiPagePtrMap.clear();
|
||||
}
|
||||
|
||||
bool WlanPage::eventFilter(QObject *w, QEvent *e)
|
||||
|
@ -758,6 +759,12 @@ void WlanPage::onDeviceRemove(QString deviceName)
|
|||
|
||||
QString originalDeviceName = m_currentDevice;
|
||||
|
||||
if (m_joinHiddenWiFiPagePtrMap.contains(deviceName)) {
|
||||
if (m_joinHiddenWiFiPagePtrMap[deviceName] != nullptr) {
|
||||
m_joinHiddenWiFiPagePtrMap[deviceName]->close();
|
||||
}
|
||||
}
|
||||
|
||||
m_devList.removeOne(deviceName);
|
||||
deleteDeviceFromCombox(deviceName);
|
||||
|
||||
|
@ -1125,24 +1132,8 @@ void WlanPage::requestScan()
|
|||
|
||||
void WlanPage::onHiddenWlanClicked()
|
||||
{
|
||||
// qDebug() << "[wlanPage] AddHideWifi Clicked! " << Q_FUNC_INFO << __LINE__ ;
|
||||
// NetDetail *netDetail = new NetDetail(m_currentDevice, "", "", false, true, true);
|
||||
// netDetail->show();
|
||||
if(m_hiddenWiFi != nullptr){
|
||||
m_hiddenWiFi->activateWindow();
|
||||
return;
|
||||
}
|
||||
|
||||
m_hiddenWiFi = new JoinHiddenWiFiPage(m_currentDevice);
|
||||
|
||||
connect(m_hiddenWiFi, &JoinHiddenWiFiPage::showWlanList, this, &WlanPage::showMainWindow);
|
||||
connect(m_hiddenWiFi, &JoinHiddenWiFiPage::destroyed, [&](){
|
||||
if (m_hiddenWiFi != nullptr) {
|
||||
m_hiddenWiFi = nullptr;
|
||||
}
|
||||
});
|
||||
|
||||
m_hiddenWiFi->show();
|
||||
qDebug() << "[wlanPage] AddHideWifi Clicked! " << Q_FUNC_INFO << __LINE__ ;
|
||||
showHiddenWlanPage(m_currentDevice);
|
||||
}
|
||||
|
||||
void WlanPage::showControlCenter()
|
||||
|
@ -1516,6 +1507,28 @@ void WlanPage::showRate()
|
|||
});
|
||||
}
|
||||
|
||||
void WlanPage::showHiddenWlanPage(QString devName)
|
||||
{
|
||||
if (m_joinHiddenWiFiPagePtrMap.contains(devName)) {
|
||||
if (m_joinHiddenWiFiPagePtrMap[devName] != nullptr) {
|
||||
qDebug() << "[WlanPage] showAddOtherWlanWidget" << devName << "already create,just raise";
|
||||
KWindowSystem::raiseWindow(m_joinHiddenWiFiPagePtrMap[devName]->winId());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
JoinHiddenWiFiPage *hiddenWiFi =new JoinHiddenWiFiPage(devName);
|
||||
connect(hiddenWiFi, &JoinHiddenWiFiPage::hiddenWiFiPageClose, [&](QString interfaceName){
|
||||
if (m_joinHiddenWiFiPagePtrMap.contains(interfaceName)) {
|
||||
m_joinHiddenWiFiPagePtrMap[interfaceName] = nullptr;
|
||||
}
|
||||
});
|
||||
connect(hiddenWiFi, &JoinHiddenWiFiPage::showWlanList, this, &WlanPage::showMainWindow);
|
||||
|
||||
m_joinHiddenWiFiPagePtrMap.insert(devName, hiddenWiFi);
|
||||
hiddenWiFi->show();
|
||||
}
|
||||
|
||||
void WlanPage::showDetailPage(QString devName, QString ssid)
|
||||
{
|
||||
KyWirelessNetItem wirelessNetItem;
|
||||
|
@ -1546,6 +1559,11 @@ void WlanPage::showDetailPage(QString devName, QString ssid)
|
|||
return;
|
||||
}
|
||||
|
||||
void WlanPage::showAddOtherPage(QString devName)
|
||||
{
|
||||
showHiddenWlanPage(devName);
|
||||
}
|
||||
|
||||
bool WlanPage::checkWlanStatus(NetworkManager::ActiveConnection::State state)
|
||||
{
|
||||
if (m_activatedConnectResource->checkWirelessStatus(state)) {
|
||||
|
|
|
@ -66,6 +66,7 @@ public:
|
|||
void deactivateWirelessConnection(const QString& devName, const QString& ssid);
|
||||
|
||||
void showDetailPage(QString devName, QString uuid);
|
||||
void showAddOtherPage(QString devName);
|
||||
|
||||
bool checkWlanStatus(NetworkManager::ActiveConnection::State state);
|
||||
|
||||
|
@ -145,6 +146,8 @@ private:
|
|||
|
||||
void showRate();
|
||||
|
||||
void showHiddenWlanPage(QString devName);
|
||||
|
||||
QListWidgetItem *addEmptyItem(QListWidget *wirelessListWidget);
|
||||
QListWidgetItem *addNewItem(KyWirelessNetItem &wirelessNetItem,
|
||||
QListWidget *wirelessListWidget);
|
||||
|
@ -231,8 +234,8 @@ private:
|
|||
QTimer *m_scanTimer = nullptr;
|
||||
QTimer *m_refreshIconTimer = nullptr;
|
||||
|
||||
JoinHiddenWiFiPage *m_hiddenWiFi = nullptr;
|
||||
QMap<QString, QMap<QString, NetDetail*>> m_wlanPagePtrMap;
|
||||
QMap<QString, JoinHiddenWiFiPage*> m_joinHiddenWiFiPagePtrMap;
|
||||
};
|
||||
|
||||
#endif // WLANPAGE_H
|
||||
|
|
Loading…
Reference in New Issue