Merge branch '0607-dev' into 'main'
Some new functions See merge request kylin-desktop/kylin-nm!14
This commit is contained in:
commit
b6587dd2cf
|
@ -1,3 +1,19 @@
|
||||||
|
kylin-nm (3.0.1-1kylin50) v101; urgency=medium
|
||||||
|
|
||||||
|
* BUG号:无
|
||||||
|
* 需求号:#33373 #33309 #33960
|
||||||
|
* 其他改动:无
|
||||||
|
|
||||||
|
-- zhangjiaping <zhangjiaping@kylinos.cn> Mon, 07 Jun 2021 16:17:18 +0800
|
||||||
|
|
||||||
|
kylin-nm (3.0.1-1kylin49hw1) v101; urgency=medium
|
||||||
|
|
||||||
|
* BUG号:#56269 #54745 #54354 #50457
|
||||||
|
* 需求号:无
|
||||||
|
* 其他改动:无
|
||||||
|
|
||||||
|
-- zhangjiaping <zhangjiaping@kylinos.cn> Sat, 05 Jun 2021 14:43:32 +0800
|
||||||
|
|
||||||
kylin-nm (3.0.1-1kylin49) v101; urgency=medium
|
kylin-nm (3.0.1-1kylin49) v101; urgency=medium
|
||||||
|
|
||||||
* BUG号:无
|
* BUG号:无
|
||||||
|
|
|
@ -82,7 +82,9 @@ IFace* BackThread::execGetIface()
|
||||||
|
|
||||||
if (istateStr == "unmanaged") {
|
if (istateStr == "unmanaged") {
|
||||||
iface->lstate = 2; //switch of wired device is off
|
iface->lstate = 2; //switch of wired device is off
|
||||||
} else if (istateStr == "disconnected" || istateStr == "unavailable") {
|
} else if (istateStr == "unavailable") {
|
||||||
|
iface->lstate = 4;
|
||||||
|
} else if (istateStr == "disconnected") {
|
||||||
iface->lstate = 1; //wired network is disconnected
|
iface->lstate = 1; //wired network is disconnected
|
||||||
} else if (istateStr == "connected" || istateStr == "connecting (getting IP configuration)") {
|
} else if (istateStr == "connected" || istateStr == "connecting (getting IP configuration)") {
|
||||||
iface->lstate = 0; //wired network is connected
|
iface->lstate = 0; //wired network is connected
|
||||||
|
@ -112,6 +114,25 @@ IFace* BackThread::execGetIface()
|
||||||
return iface;
|
return iface;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BackThread::saveSwitchButtonState(const QString &key, const QVariant &value)
|
||||||
|
{
|
||||||
|
QSettings * m_settings = new QSettings(CONFIG_FILE_PATH, QSettings::IniFormat);
|
||||||
|
m_settings->setValue(key, value);
|
||||||
|
m_settings->sync();
|
||||||
|
delete m_settings;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
QVariant BackThread::getSwitchState(const QString &key)
|
||||||
|
{
|
||||||
|
QSettings * m_settings = new QSettings(CONFIG_FILE_PATH, QSettings::IniFormat);
|
||||||
|
QVariant value = m_settings->value(key);
|
||||||
|
delete m_settings;
|
||||||
|
if (!value.isValid())
|
||||||
|
return QVariant();
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
//turn on the switch of network
|
//turn on the switch of network
|
||||||
void BackThread::execEnNet()
|
void BackThread::execEnNet()
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,6 +29,11 @@
|
||||||
#include <QDBusInterface>
|
#include <QDBusInterface>
|
||||||
#include <QDBusMessage>
|
#include <QDBusMessage>
|
||||||
#include <QDBusArgument>
|
#include <QDBusArgument>
|
||||||
|
#include <QSettings>
|
||||||
|
|
||||||
|
#define CONFIG_FILE_PATH QDir::homePath() + "/.config/ukui/kylin-nm.conf"
|
||||||
|
#define WIFI_SWITCH_OPENED "wifi_switch_opened"
|
||||||
|
#define LAN_SWITCH_OPENED "lan_switch_opened"
|
||||||
|
|
||||||
class IFace{
|
class IFace{
|
||||||
public:
|
public:
|
||||||
|
@ -45,7 +50,9 @@ public:
|
||||||
explicit BackThread(QObject *parent = nullptr);
|
explicit BackThread(QObject *parent = nullptr);
|
||||||
~BackThread();
|
~BackThread();
|
||||||
|
|
||||||
IFace* execGetIface();
|
static IFace* execGetIface();
|
||||||
|
static void saveSwitchButtonState(const QString &key, const QVariant &value);
|
||||||
|
static QVariant getSwitchState(const QString &key);
|
||||||
QString getConnProp(QString connName);
|
QString getConnProp(QString connName);
|
||||||
QString execChkLanWidth(QString ethName);
|
QString execChkLanWidth(QString ethName);
|
||||||
QProcess *cmdProcessWifi = nullptr;
|
QProcess *cmdProcessWifi = nullptr;
|
||||||
|
|
|
@ -294,6 +294,7 @@ void ConfForm::on_btnCreate_clicked()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
cmdStr += " connection.autoconnect yes connection.autoconnect-priority 0";
|
||||||
Utils::m_system(cmdStr.toUtf8().data());
|
Utils::m_system(cmdStr.toUtf8().data());
|
||||||
|
|
||||||
if (ui->cbType->currentIndex() == 1) {
|
if (ui->cbType->currentIndex() == 1) {
|
||||||
|
|
|
@ -129,6 +129,37 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||||
qDebug()<<"Init button connections...";
|
qDebug()<<"Init button connections...";
|
||||||
connect(ui->btnNetList, &QPushButton::clicked, this, &MainWindow::onBtnNetListClicked);
|
connect(ui->btnNetList, &QPushButton::clicked, this, &MainWindow::onBtnNetListClicked);
|
||||||
connect(btnWireless, &SwitchButton::clicked,this, &MainWindow::onBtnWifiClicked);
|
connect(btnWireless, &SwitchButton::clicked,this, &MainWindow::onBtnWifiClicked);
|
||||||
|
connect(btnWired, &SwitchButton::clicked, this, &MainWindow::onBtnLanClicked);
|
||||||
|
connect(this, &MainWindow::onWiredDeviceChanged, this, &MainWindow::setLanSwitchStatus);
|
||||||
|
|
||||||
|
QVariant wifi_state = BackThread::getSwitchState(WIFI_SWITCH_OPENED);
|
||||||
|
QVariant lan_state = BackThread::getSwitchState(LAN_SWITCH_OPENED);
|
||||||
|
if (!wifi_state.isNull() && wifi_state.isValid()) {
|
||||||
|
//设置WiFi开关状态
|
||||||
|
if (wifi_state.toBool() && !btnWireless->getSwitchStatus())
|
||||||
|
onBtnWifiClicked(1);
|
||||||
|
else if (!wifi_state.toBool() && btnWireless->getSwitchStatus())
|
||||||
|
onBtnWifiClicked(0);
|
||||||
|
}
|
||||||
|
if (!lan_state.isNull() && lan_state.isValid()) {
|
||||||
|
//设置lan开关状态
|
||||||
|
if (lan_state.toBool() && !btnWired->getSwitchStatus())
|
||||||
|
onBtnLanClicked(1);
|
||||||
|
else if (!lan_state.toBool() && btnWired->getSwitchStatus())
|
||||||
|
onBtnLanClicked(0);
|
||||||
|
}
|
||||||
|
connect(btnWired, &SwitchButton::switchStatusChanged, this, [ = ]() {
|
||||||
|
BackThread::saveSwitchButtonState(LAN_SWITCH_OPENED, btnWired->getSwitchStatus());
|
||||||
|
});
|
||||||
|
connect(btnWireless, &SwitchButton::switchStatusChanged, this, [ = ]() {
|
||||||
|
BackThread::saveSwitchButtonState(WIFI_SWITCH_OPENED, btnWireless->getSwitchStatus());
|
||||||
|
});
|
||||||
|
if (!objKyDBus->isWiredCableOn) {
|
||||||
|
btnWired->blockSignals(true);
|
||||||
|
btnWired->setSwitchStatus(false);
|
||||||
|
btnWired->setEnabled(false);
|
||||||
|
btnWired->blockSignals(false);
|
||||||
|
}
|
||||||
|
|
||||||
ui->btnNetList->setAttribute(Qt::WA_Hover,true);
|
ui->btnNetList->setAttribute(Qt::WA_Hover,true);
|
||||||
ui->btnNetList->installEventFilter(this);
|
ui->btnNetList->installEventFilter(this);
|
||||||
|
@ -365,6 +396,8 @@ void MainWindow::createLeftAreaUI()
|
||||||
qDebug()<<"Creating Left Area Ui...";
|
qDebug()<<"Creating Left Area Ui...";
|
||||||
btnWireless = new SwitchButton(this);
|
btnWireless = new SwitchButton(this);
|
||||||
btnWireless->setStyleSheet("SwitchButton{border:none;background-color:rgba(255,255,255,0.12);}");
|
btnWireless->setStyleSheet("SwitchButton{border:none;background-color:rgba(255,255,255,0.12);}");
|
||||||
|
btnWired = new SwitchButton(this);
|
||||||
|
btnWired->setStyleSheet("SwitchButton{border:none;background-color:rgba(255,255,255,0.12);}");
|
||||||
ui->btnNetList->setFocusPolicy(Qt::NoFocus);
|
ui->btnNetList->setFocusPolicy(Qt::NoFocus);
|
||||||
QString txtEthernet(tr("Ethernet"));
|
QString txtEthernet(tr("Ethernet"));
|
||||||
ui->btnNetList->setToolTip(txtEthernet);
|
ui->btnNetList->setToolTip(txtEthernet);
|
||||||
|
@ -375,10 +408,13 @@ void MainWindow::createLeftAreaUI()
|
||||||
paletteLan.setBrush(QPalette::Button, QBrush(QColor(1,1,1,0)));
|
paletteLan.setBrush(QPalette::Button, QBrush(QColor(1,1,1,0)));
|
||||||
ui->btnNetListImg->setPalette(paletteLan);
|
ui->btnNetListImg->setPalette(paletteLan);
|
||||||
//添加PushButton的svg图片
|
//添加PushButton的svg图片
|
||||||
if (!QIcon::fromTheme("network-wired-symbolic").isNull())
|
if (!QIcon::fromTheme("network-wired-connected-symbolic").isNull()) {
|
||||||
|
ui->btnNetListImg->setIcon(QIcon::fromTheme("network-wired-connected-symbolic"));
|
||||||
|
} else if (!QIcon::fromTheme("network-wired-symbolic").isNull()) {
|
||||||
ui->btnNetListImg->setIcon(QIcon::fromTheme("network-wired-symbolic"));
|
ui->btnNetListImg->setIcon(QIcon::fromTheme("network-wired-symbolic"));
|
||||||
else
|
} else {
|
||||||
ui->btnNetListImg->setIcon(QIcon(":/res/x/net-list-bg.svg"));
|
ui->btnNetListImg->setIcon(QIcon(":/res/x/net-list-bg.svg"));
|
||||||
|
}
|
||||||
ui->btnNetListImg->setProperty("useIconHighlightEffect", true);
|
ui->btnNetListImg->setProperty("useIconHighlightEffect", true);
|
||||||
ui->btnNetListImg->setProperty("iconHighlightEffectMode", true);
|
ui->btnNetListImg->setProperty("iconHighlightEffectMode", true);
|
||||||
|
|
||||||
|
@ -402,6 +438,7 @@ void MainWindow::createLeftAreaUI()
|
||||||
ui->btnNet->hide();
|
ui->btnNet->hide();
|
||||||
|
|
||||||
btnWireless->setGeometry(412,20,50,24);
|
btnWireless->setGeometry(412,20,50,24);
|
||||||
|
btnWired->setGeometry(412,20,50,24);
|
||||||
|
|
||||||
ui->btnHotspot->setStyleSheet(leftBtnQss);
|
ui->btnHotspot->setStyleSheet(leftBtnQss);
|
||||||
ui->btnHotspot->setFocusPolicy(Qt::NoFocus);
|
ui->btnHotspot->setFocusPolicy(Qt::NoFocus);
|
||||||
|
@ -644,8 +681,18 @@ void MainWindow::createTrayIcon()
|
||||||
trayIcon->setContextMenu(trayIconMenu);
|
trayIcon->setContextMenu(trayIconMenu);
|
||||||
|
|
||||||
// 初始化托盘所有Icon
|
// 初始化托盘所有Icon
|
||||||
iconLanOnline = QIcon::fromTheme("network-wired-symbolic");
|
if (!QIcon::fromTheme("network-wired-connected-symbolic").isNull()) {
|
||||||
iconLanOffline = QIcon::fromTheme("network-wired-offline-symbolic");
|
iconLanOnline = QIcon::fromTheme("network-wired-connected-symbolic");
|
||||||
|
} else if (!QIcon::fromTheme("network-wired-symbolic").isNull()) {
|
||||||
|
iconLanOnline = QIcon::fromTheme("network-wired-symbolic");
|
||||||
|
} else {
|
||||||
|
iconLanOnline = QIcon(":/res/x/net-list-bg.svg");
|
||||||
|
}
|
||||||
|
if (!QIcon::fromTheme("network-wired-disconnected-symbolic").isNull()) {
|
||||||
|
iconLanOffline = QIcon::fromTheme("network-wired-disconnected-symbolic");
|
||||||
|
} else {
|
||||||
|
iconLanOffline = QIcon::fromTheme("network-wired-offline-symbolic");
|
||||||
|
}
|
||||||
iconWifiFull = QIcon::fromTheme("network-wireless-signal-excellent-symbolic");
|
iconWifiFull = QIcon::fromTheme("network-wireless-signal-excellent-symbolic");
|
||||||
iconWifiHigh = QIcon::fromTheme("network-wireless-signal-good-symbolic");
|
iconWifiHigh = QIcon::fromTheme("network-wireless-signal-good-symbolic");
|
||||||
iconWifiMedium = QIcon::fromTheme("network-wireless-signal-ok");
|
iconWifiMedium = QIcon::fromTheme("network-wireless-signal-ok");
|
||||||
|
@ -999,6 +1046,7 @@ void MainWindow::onPhysicalCarrierChanged(bool flag)
|
||||||
qDebug()<<"wired physical cable is already plug in";
|
qDebug()<<"wired physical cable is already plug in";
|
||||||
//syslog(LOG_DEBUG,"wired physical cable is already plug in");
|
//syslog(LOG_DEBUG,"wired physical cable is already plug in");
|
||||||
wiredCableUpTimer->start(4000);
|
wiredCableUpTimer->start(4000);
|
||||||
|
// onBtnLanClicked(4);
|
||||||
} else {
|
} else {
|
||||||
qDebug()<<"wired physical cable is already plug out";
|
qDebug()<<"wired physical cable is already plug out";
|
||||||
//syslog(LOG_DEBUG,"wired physical cable is already plug out");
|
//syslog(LOG_DEBUG,"wired physical cable is already plug out");
|
||||||
|
@ -1011,6 +1059,7 @@ void MainWindow::onPhysicalCarrierChanged(bool flag)
|
||||||
sleep(2);
|
sleep(2);
|
||||||
//wiredCableDownTimer->start(2000);
|
//wiredCableDownTimer->start(2000);
|
||||||
emit carrierDownHandle();
|
emit carrierDownHandle();
|
||||||
|
emit btnWired->clicked(5);
|
||||||
delete iface;
|
delete iface;
|
||||||
bt->deleteLater();
|
bt->deleteLater();
|
||||||
break;
|
break;
|
||||||
|
@ -1034,6 +1083,7 @@ void MainWindow::onCarrierUpHandle()
|
||||||
onBtnNetListClicked(1);
|
onBtnNetListClicked(1);
|
||||||
is_stop_check_net_state = 0;
|
is_stop_check_net_state = 0;
|
||||||
isHandlingWiredCableOn = false;
|
isHandlingWiredCableOn = false;
|
||||||
|
emit btnWired->clicked(4);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::onCarrierDownHandle()
|
void MainWindow::onCarrierDownHandle()
|
||||||
|
@ -1090,6 +1140,8 @@ void MainWindow::onNetworkDeviceAdded(QDBusObjectPath objPath)
|
||||||
//仅处理无线网卡插入情况
|
//仅处理无线网卡插入情况
|
||||||
objKyDBus->isWirelessCardOn = false;
|
objKyDBus->isWirelessCardOn = false;
|
||||||
objKyDBus->getObjectPath();
|
objKyDBus->getObjectPath();
|
||||||
|
if (objKyDBus->multiWirelessPaths.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
if (objKyDBus->multiWirelessPaths.at(0).path() == objPath.path()) { //证明添加的是无线网卡
|
if (objKyDBus->multiWirelessPaths.at(0).path() == objPath.path()) { //证明添加的是无线网卡
|
||||||
is_wireless_adapter_ready = 0;
|
is_wireless_adapter_ready = 0;
|
||||||
|
@ -1105,6 +1157,8 @@ void MainWindow::onNetworkDeviceAdded(QDBusObjectPath objPath)
|
||||||
|
|
||||||
void MainWindow::onNetworkDeviceRemoved(QDBusObjectPath objPath)
|
void MainWindow::onNetworkDeviceRemoved(QDBusObjectPath objPath)
|
||||||
{
|
{
|
||||||
|
if (objKyDBus->multiWirelessPaths.isEmpty())
|
||||||
|
return;
|
||||||
//仅处理无线网卡拔出情况
|
//仅处理无线网卡拔出情况
|
||||||
if (objKyDBus->multiWirelessPaths.at(0).path() == objPath.path()) {
|
if (objKyDBus->multiWirelessPaths.at(0).path() == objPath.path()) {
|
||||||
objKyDBus->isWirelessCardOn = false;
|
objKyDBus->isWirelessCardOn = false;
|
||||||
|
@ -1304,6 +1358,82 @@ void MainWindow::onBtnWifiClicked(int flag)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief MainWindow::onBtnLanClicked 有线网按钮状态更改
|
||||||
|
* @param flag falg=0 0 UI关闭, 1 UI打开 ,2收到打开信息,3收到关闭信息,4有线设备插入,5有线设备拔出
|
||||||
|
*/
|
||||||
|
void MainWindow::onBtnLanClicked(int flag)
|
||||||
|
{
|
||||||
|
switch (flag) {
|
||||||
|
case 0: {
|
||||||
|
qDebug()<<"On btnWired clicked! will close switch button";
|
||||||
|
QtConcurrent::run([=]() {
|
||||||
|
QString close_device_cmd = "nmcli device set " + llname + " managed false";
|
||||||
|
int res = system(close_device_cmd.toUtf8().data());
|
||||||
|
qDebug()<<"Trying to close ethernet device : "<<llname<<". res="<<res;
|
||||||
|
if (res == 0) {
|
||||||
|
emit this->onWiredDeviceChanged(false);
|
||||||
|
} else {
|
||||||
|
qWarning()<<"Close ethernet device failed!";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 1: {
|
||||||
|
qDebug()<<"On btnWired clicked! will open switch button";
|
||||||
|
QtConcurrent::run([=]() {
|
||||||
|
QString open_device_cmd = "nmcli device set " + llname + " managed true";
|
||||||
|
int res = system(open_device_cmd.toUtf8().data());
|
||||||
|
qDebug()<<"Trying to open ethernet device : "<<llname<<". res="<<res;
|
||||||
|
if (res == 0) {
|
||||||
|
emit this->onWiredDeviceChanged(true);
|
||||||
|
} else {
|
||||||
|
qWarning()<<"Open ethernet device failed!";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 2: {
|
||||||
|
emit this->onWiredDeviceChanged(true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 3: {
|
||||||
|
emit this->onWiredDeviceChanged(false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 4: {
|
||||||
|
btnWired->setEnabled(true);
|
||||||
|
qDebug()<<"Set btnwired enabled=true!";
|
||||||
|
//获取有线设备托管状态,是否需要打开开关
|
||||||
|
if (BackThread::execGetIface()->lstate != 2) {
|
||||||
|
emit this->onWiredDeviceChanged(true);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 5: {
|
||||||
|
btnWired->blockSignals(true);
|
||||||
|
btnWired->setSwitchStatus(false);
|
||||||
|
qDebug()<<"Set btnwired enabled=false!";
|
||||||
|
btnWired->setEnabled(false);
|
||||||
|
btnWired->blockSignals(false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::setLanSwitchStatus(bool is_opened)
|
||||||
|
{
|
||||||
|
if (is_opened) {
|
||||||
|
btnWired->setSwitchStatus(true);
|
||||||
|
ksnm->execGetLanList();
|
||||||
|
} else {
|
||||||
|
btnWired->setSwitchStatus(false);
|
||||||
|
ksnm->execGetLanList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::onBtnNetListClicked(int flag)
|
void MainWindow::onBtnNetListClicked(int flag)
|
||||||
{
|
{
|
||||||
this->is_btnLanList_clicked = 1;
|
this->is_btnLanList_clicked = 1;
|
||||||
|
@ -1326,6 +1456,7 @@ void MainWindow::onBtnNetListClicked(int flag)
|
||||||
|
|
||||||
ui->lbNetwork->setText(tr("Ethernet"));
|
ui->lbNetwork->setText(tr("Ethernet"));
|
||||||
btnWireless->hide();
|
btnWireless->hide();
|
||||||
|
btnWired->show();
|
||||||
|
|
||||||
// 强行设置为打开
|
// 强行设置为打开
|
||||||
if (flag == 1) {
|
if (flag == 1) {
|
||||||
|
@ -1338,7 +1469,7 @@ void MainWindow::onBtnNetListClicked(int flag)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (iface->lstate == 0 || iface->lstate == 1) {
|
if (iface->lstate == 0 || iface->lstate == 1 || iface->lstate == 4) {
|
||||||
this->startLoading();
|
this->startLoading();
|
||||||
this->ksnm->execGetLanList();
|
this->ksnm->execGetLanList();
|
||||||
} else if (iface->lstate == 3) {
|
} else if (iface->lstate == 3) {
|
||||||
|
@ -1393,6 +1524,7 @@ void MainWindow::on_btnWifiList_clicked()
|
||||||
|
|
||||||
ui->lbNetwork->setText("WLAN");
|
ui->lbNetwork->setText("WLAN");
|
||||||
btnWireless->show();
|
btnWireless->show();
|
||||||
|
btnWired->hide();
|
||||||
|
|
||||||
if (iface->wstate == 0 || iface->wstate == 1) {
|
if (iface->wstate == 0 || iface->wstate == 1) {
|
||||||
qDebug()<<"现在的WiFi的开关是已经打开状态";
|
qDebug()<<"现在的WiFi的开关是已经打开状态";
|
||||||
|
@ -1774,6 +1906,13 @@ void MainWindow::getLanListDone(QStringList slist)
|
||||||
this->stopLoading();
|
this->stopLoading();
|
||||||
oldLanSlist = slist;
|
oldLanSlist = slist;
|
||||||
is_stop_check_net_state = 0;
|
is_stop_check_net_state = 0;
|
||||||
|
//有线网按钮状态校准
|
||||||
|
if (btnWired->isEnabled() && !objKyDBus->isWiredCableOn) {
|
||||||
|
emit btnWired->clicked(5);
|
||||||
|
}
|
||||||
|
if (btnWired->isEnabled() && !btnWired->getSwitchStatus() && BackThread::execGetIface()->lstate != 2) {
|
||||||
|
btnWired->setSwitchStatus(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取wifi列表回调
|
// 获取wifi列表回调
|
||||||
|
@ -3526,6 +3665,7 @@ void MainWindow::disNetDone()
|
||||||
|
|
||||||
ui->lbNetwork->setText(tr("Ethernet"));
|
ui->lbNetwork->setText(tr("Ethernet"));
|
||||||
btnWireless->hide();
|
btnWireless->hide();
|
||||||
|
btnWired->show();
|
||||||
|
|
||||||
delete topLanListWidget; // 清空top列表
|
delete topLanListWidget; // 清空top列表
|
||||||
createTopLanUI(); //创建顶部有线网item
|
createTopLanUI(); //创建顶部有线网item
|
||||||
|
|
|
@ -160,7 +160,8 @@ public:
|
||||||
QString mwBandWidth;
|
QString mwBandWidth;
|
||||||
KylinDBus *objKyDBus = nullptr;
|
KylinDBus *objKyDBus = nullptr;
|
||||||
NetworkSpeed *objNetSpeed = nullptr;
|
NetworkSpeed *objNetSpeed = nullptr;
|
||||||
SwitchButton *btnWireless;
|
SwitchButton *btnWireless = nullptr;
|
||||||
|
SwitchButton *btnWired = nullptr;
|
||||||
|
|
||||||
//状态设置,0为假,1为真
|
//状态设置,0为假,1为真
|
||||||
int current_wifi_list_state = LOAD_WIFI_LIST;
|
int current_wifi_list_state = LOAD_WIFI_LIST;
|
||||||
|
@ -241,6 +242,9 @@ public slots:
|
||||||
|
|
||||||
//flag =0或1为普通点击、2为收到打开信息、3为收到关闭信息、4为无线网卡插入、5为无线网卡拔出
|
//flag =0或1为普通点击、2为收到打开信息、3为收到关闭信息、4为无线网卡插入、5为无线网卡拔出
|
||||||
void onBtnWifiClicked(int flag = 0);
|
void onBtnWifiClicked(int flag = 0);
|
||||||
|
//falg=0 UI点击,1收到打开信息,2收到关闭信息,3有线设备插入,4有线设备拔出
|
||||||
|
void onBtnLanClicked(int flag = 0);
|
||||||
|
void setLanSwitchStatus(bool is_opened);
|
||||||
|
|
||||||
void on_showWindowAction();
|
void on_showWindowAction();
|
||||||
|
|
||||||
|
@ -430,6 +434,7 @@ signals:
|
||||||
void wiredConnectionRemoved();
|
void wiredConnectionRemoved();
|
||||||
void actWiredConnectionChanged();
|
void actWiredConnectionChanged();
|
||||||
void requestReconnecWifi();
|
void requestReconnecWifi();
|
||||||
|
void onWiredDeviceChanged(const bool&);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // MAINWINDOW_H
|
#endif // MAINWINDOW_H
|
||||||
|
|
|
@ -282,9 +282,17 @@ void OneLancForm::setLanInfo(QString str1, QString str2, QString str3, QString s
|
||||||
void OneLancForm::setIcon(bool isOn)
|
void OneLancForm::setIcon(bool isOn)
|
||||||
{
|
{
|
||||||
if (isOn) {
|
if (isOn) {
|
||||||
ui->lbIcon->setStyleSheet("QLabel{border-radius:0px;background:url(:/res/l/network-online.png);}");
|
if (!QIcon::fromTheme("network-wired-connected-symbolic").isNull()) {
|
||||||
|
ui->lbIcon->setPixmap(QIcon::fromTheme("network-wired-connected-symbolic").pixmap(32,32));
|
||||||
|
} else {
|
||||||
|
ui->lbIcon->setPixmap(QIcon(":/res/l/network-online.png").pixmap(32,32));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
ui->lbIcon->setStyleSheet("QLabel{border-radius:0px;background:url(:/res/l/network-offline.png);}");
|
if (!QIcon::fromTheme("network-wired-disconnected-symbolic").isNull()) {
|
||||||
|
ui->lbIcon->setPixmap(QIcon::fromTheme("network-wired-disconnected-symbolic").pixmap(32,32));
|
||||||
|
} else {
|
||||||
|
ui->lbIcon->setPixmap(QIcon(":/res/l/network-offline.png").pixmap(32,32));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,15 +38,29 @@ SwitchButton::SwitchButton(QWidget *parent) : QWidget(parent)
|
||||||
}
|
}
|
||||||
|
|
||||||
void SwitchButton::setSwitchStatus(bool check) {
|
void SwitchButton::setSwitchStatus(bool check) {
|
||||||
|
if (!m_enabled)
|
||||||
|
return;
|
||||||
if(check == true) {
|
if(check == true) {
|
||||||
m_bIsOn = 1;
|
m_bIsOn = 1;
|
||||||
} else {
|
} else {
|
||||||
m_bIsOn = 0;
|
m_bIsOn = 0;
|
||||||
}
|
}
|
||||||
|
emit this->switchStatusChanged();
|
||||||
m_cTimer->start(); //开始播放动画
|
m_cTimer->start(); //开始播放动画
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool SwitchButton::getSwitchStatus()
|
||||||
|
{
|
||||||
|
if (m_bIsOn == 1)
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SwitchButton::setEnabled(bool enabled)
|
||||||
|
{
|
||||||
|
m_enabled = enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* 播放按钮开启关闭动画 */
|
/* 播放按钮开启关闭动画 */
|
||||||
void SwitchButton::startAnimation() { //滑动按钮动作播放
|
void SwitchButton::startAnimation() { //滑动按钮动作播放
|
||||||
|
@ -72,6 +86,8 @@ void SwitchButton::startAnimation() { //滑动按钮动作播放
|
||||||
/* 按钮按下处理 */
|
/* 按钮按下处理 */
|
||||||
void SwitchButton::mousePressEvent(QMouseEvent *event) {
|
void SwitchButton::mousePressEvent(QMouseEvent *event) {
|
||||||
Q_UNUSED(event);
|
Q_UNUSED(event);
|
||||||
|
if (!m_enabled)
|
||||||
|
return QWidget::mousePressEvent(event);
|
||||||
m_bIsOn = !m_bIsOn;
|
m_bIsOn = !m_bIsOn;
|
||||||
|
|
||||||
Q_EMIT clicked(m_bIsOn);
|
Q_EMIT clicked(m_bIsOn);
|
||||||
|
|
|
@ -29,6 +29,8 @@ class SwitchButton : public QWidget
|
||||||
public:
|
public:
|
||||||
explicit SwitchButton(QWidget *parent = nullptr);
|
explicit SwitchButton(QWidget *parent = nullptr);
|
||||||
void setSwitchStatus(bool check);
|
void setSwitchStatus(bool check);
|
||||||
|
bool getSwitchStatus();
|
||||||
|
void setEnabled(bool enabled);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int m_bIsOn = 1;
|
int m_bIsOn = 1;
|
||||||
|
@ -38,9 +40,11 @@ private:
|
||||||
float m_fCurrentValue;
|
float m_fCurrentValue;
|
||||||
void paintEvent(QPaintEvent *event);
|
void paintEvent(QPaintEvent *event);
|
||||||
void mousePressEvent(QMouseEvent *event);
|
void mousePressEvent(QMouseEvent *event);
|
||||||
|
bool m_enabled = true;
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
void clicked(int check);
|
void clicked(int check);
|
||||||
|
void switchStatusChanged();
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void startAnimation();
|
void startAnimation();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue