解决BUG 149929,2203升级2303后有线开关被打开的BUG

This commit is contained in:
chenxuechao 2023-02-13 11:14:05 +08:00
parent 58cbf07409
commit 627aa49add
3 changed files with 10 additions and 10 deletions

View File

@ -141,28 +141,28 @@ void LanPage::initLanDeviceState()
void LanPage::initNetSwitch() void LanPage::initNetSwitch()
{ {
bool wiredSwitch = true; bool wiredGsetting = true;
bool wiredEnable = m_wiredConnectOperation->getWiredEnabled(); bool wiredEnable = m_wiredConnectOperation->getWiredEnabled();
if (QGSettings::isSchemaInstalled(GSETTINGS_SCHEMA)) { if (QGSettings::isSchemaInstalled(GSETTINGS_SCHEMA)) {
m_switchGsettings = new QGSettings(GSETTINGS_SCHEMA); m_switchGsettings = new QGSettings(GSETTINGS_SCHEMA);
if (m_switchGsettings->keys().contains(WIRED_SWITCH)) { if (m_switchGsettings->keys().contains(WIRED_SWITCH)) {
wiredSwitch = m_switchGsettings->get(WIRED_SWITCH).toBool(); wiredGsetting = m_switchGsettings->get(WIRED_SWITCH).toBool();
connect(m_switchGsettings, &QGSettings::changed, this, &LanPage::onSwithGsettingsChanged); connect(m_switchGsettings, &QGSettings::changed, this, &LanPage::onSwithGsettingsChanged);
if (wiredEnable != wiredGsetting) {
wiredEnable = wiredGsetting;
m_wiredConnectOperation->setWiredEnabled(wiredGsetting);
}
} }
} else { } else {
qDebug()<<"[LanPage] org.ukui.kylin-nm.switch is not installed!"; qDebug()<<"[LanPage] org.ukui.kylin-nm.switch is not installed!";
} }
if (nullptr != m_switchGsettings
&& wiredSwitch != wiredEnable) {
m_switchGsettings->set(WIRED_SWITCH, wiredEnable);
}
//从3.0升级上来 先读取老的配置文件来保证和升级前状态一致 //从3.0升级上来 先读取老的配置文件来保证和升级前状态一致
bool oldVersionState; bool oldVersionState = true;
if (getOldVersionWiredSwitchState(oldVersionState)) { if (getOldVersionWiredSwitchState(oldVersionState)) {
if (wiredEnable != oldVersionState) { if (wiredEnable != oldVersionState) {
wiredEnable = oldVersionState;
m_wiredConnectOperation->setWiredEnabled(oldVersionState); m_wiredConnectOperation->setWiredEnabled(oldVersionState);
} }
} }

View File

@ -440,7 +440,7 @@ void getDeviceEnableState(int type, QMap<QString, bool> &map)
kdr = nullptr; kdr = nullptr;
} }
bool getOldVersionWiredSwitchState(bool state) bool getOldVersionWiredSwitchState(bool &state)
{ {
QSettings * m_settings = new QSettings(CONFIG_FILE_PATH, QSettings::IniFormat); QSettings * m_settings = new QSettings(CONFIG_FILE_PATH, QSettings::IniFormat);
QVariant value = m_settings->value("lan_switch_opened"); QVariant value = m_settings->value("lan_switch_opened");

View File

@ -85,7 +85,7 @@ bool checkDeviceExist(KyDeviceType deviceType, QString deviceName);
QString getDefaultDeviceName(KyDeviceType deviceType); QString getDefaultDeviceName(KyDeviceType deviceType);
void setDefaultDevice(KyDeviceType deviceType, QString deviceName); void setDefaultDevice(KyDeviceType deviceType, QString deviceName);
void getDeviceEnableState(int type, QMap<QString, bool> &map); void getDeviceEnableState(int type, QMap<QString, bool> &map);
bool getOldVersionWiredSwitchState(bool state); bool getOldVersionWiredSwitchState(bool &state);
class TabPage : public QWidget class TabPage : public QWidget
{ {