Refresh wired interface after connect a blurtooth type network

This commit is contained in:
chenlelin 2021-01-20 19:33:10 +08:00
parent bfac7f99b9
commit 30dacc96d7
3 changed files with 9 additions and 4 deletions

View File

@ -208,6 +208,7 @@ void BackThread::execDisWifi()
void BackThread::execConnLan(QString connName, QString ifname, QString connectType) void BackThread::execConnLan(QString connName, QString ifname, QString connectType)
{ {
currConnLanUuid = connName; currConnLanUuid = connName;
currConnLanType = connectType;
KylinDBus objKyDbus; KylinDBus objKyDbus;
//先断开当前网卡对应的已连接有线网 //先断开当前网卡对应的已连接有线网
@ -224,13 +225,11 @@ void BackThread::execConnLan(QString connName, QString ifname, QString connectTy
// emit connDone(7); // emit connDone(7);
//} //}
QString mycmd; QString mycmd;
qDebug() << "传送过来的类型-------------------》" << connectType;
if (connectType == "bluetooth") { if (connectType == "bluetooth") {
mycmd = "export LANG='en_US.UTF-8';export LANGUAGE='en_US';nmcli connection up '" + connName + "'"; mycmd = "export LANG='en_US.UTF-8';export LANGUAGE='en_US';nmcli connection up '" + connName + "'";
} else { } else {
mycmd = "export LANG='en_US.UTF-8';export LANGUAGE='en_US';nmcli connection up '" + connName + "' ifname '" + ifname + "'"; mycmd = "export LANG='en_US.UTF-8';export LANGUAGE='en_US';nmcli connection up '" + connName + "' ifname '" + ifname + "'";
} }
qDebug() << "sdasadsadsadsa------------->" << mycmd;
QStringList options; QStringList options;
options << "-c" << mycmd; options << "-c" << mycmd;
process->start("/bin/bash",options); process->start("/bin/bash",options);
@ -265,7 +264,12 @@ void BackThread::dellConnectLanResult(QString info)
if (info.indexOf("successfully") != -1) { if (info.indexOf("successfully") != -1) {
qDebug()<<"debug: in function execConnLan, wired net state is: "<<QString::number(execGetIface()->lstate); qDebug()<<"debug: in function execConnLan, wired net state is: "<<QString::number(execGetIface()->lstate);
syslog(LOG_DEBUG, "In function execConnLan, wired net state is: %d", execGetIface()->lstate); syslog(LOG_DEBUG, "In function execConnLan, wired net state is: %d", execGetIface()->lstate);
emit connDone(0);
if (currConnLanType == "bluetooth") {
emit connDone(2);
} else {
emit connDone(0);
}
} else { } else {
QString cmd = "nmcli connection down '" + currConnLanUuid + "'"; QString cmd = "nmcli connection down '" + currConnLanUuid + "'";
Utils::m_system(cmd.toUtf8().data()); Utils::m_system(cmd.toUtf8().data());

View File

@ -51,6 +51,7 @@ public:
QProcess *cmdConnWifi = nullptr; QProcess *cmdConnWifi = nullptr;
QProcess *process; QProcess *process;
QString currConnLanUuid; QString currConnLanUuid;
QString currConnLanType;
public slots: public slots:
void execEnNet(); void execEnNet();

View File

@ -2762,7 +2762,7 @@ void MainWindow::connLanDone(int connFlag)
// Lan连接结果0点击连接成功 1因网线未插入失败 2因mac地址匹配不上失败 3开机启动网络工具时已经连接 // Lan连接结果0点击连接成功 1因网线未插入失败 2因mac地址匹配不上失败 3开机启动网络工具时已经连接
if (connFlag == 0) { if (connFlag == 0) {
syslog(LOG_DEBUG, "Wired net already connected by clicking button"); syslog(LOG_DEBUG, "Wired net already connected by clicking button");
this->ksnm->execGetLanList(); //this->ksnm->execGetLanList();
QString txt(tr("Conn Ethernet Success")); QString txt(tr("Conn Ethernet Success"));
objKyDBus->showDesktopNotify(txt); objKyDBus->showDesktopNotify(txt);