fix:恢复UpmGsettings接口获取key值类型的方法getValueType,已解决配置同步问题。
This commit is contained in:
parent
37eec981ae
commit
abe835bf3a
|
@ -71,6 +71,7 @@ void UpmCommonDBus::dealSystemStatusChanged(quint32 status)
|
|||
|
||||
void UpmCommonDBus::dealUserActiveSignal(bool active)
|
||||
{
|
||||
qInfo() << "usd user active signal:" << active;
|
||||
emit userActiveSignal(active);
|
||||
}
|
||||
|
||||
|
@ -117,7 +118,7 @@ void UpmCommonDBus::controlLogin1Manager(QString action)
|
|||
"/org/freedesktop/login1",
|
||||
"org.freedesktop.login1.Manager",
|
||||
QDBusConnection::systemBus());
|
||||
dbusInterface.call(action, true);
|
||||
dbusInterface.call(action, false);
|
||||
qInfo() << "system will" << action;
|
||||
}
|
||||
|
||||
|
|
|
@ -99,19 +99,30 @@ bool UpmGsettings::getGsettingsConfig(const QString &configName, QVariant &value
|
|||
return false;
|
||||
}
|
||||
|
||||
void UpmGsettings::addConfigMonitor(const QString &configName, pSignalFun signalFun)
|
||||
QVariant::Type UpmGsettings::getValueType(const QString &configName)
|
||||
{
|
||||
if (m_qHashValueType.contains(configName)) {
|
||||
return m_qHashValueType[configName];
|
||||
}
|
||||
return QVariant::Invalid;
|
||||
}
|
||||
|
||||
void UpmGsettings::addConfigMonitor(const QString &configName, pSignalFun signalFun, QVariant::Type type)
|
||||
{
|
||||
if (m_allPowerKey.contains(configName)) {
|
||||
m_qHashValue[configName] = m_powerGsettings->get(configName);
|
||||
m_qHashSignalsFuns[configName] = signalFun;
|
||||
m_qHashValueType[configName] = type;
|
||||
qDebug() << "power gsetting:" << configName << "to be monitored!";
|
||||
} else if (m_allProcessKey.contains(configName)) {
|
||||
m_qHashValue[configName] = m_processGsettings->get(configName);
|
||||
m_qHashSignalsFuns[configName] = signalFun;
|
||||
m_qHashValueType[configName] = type;
|
||||
qDebug() << "process gsetting:" << configName << "to be monitored!";
|
||||
} else if (m_allSoftFreezeModeKey.contains(configName)) {
|
||||
m_qHashValue[configName] = m_softFreezeModeGsettings->get(configName);
|
||||
m_qHashSignalsFuns[configName] = signalFun;
|
||||
m_qHashValueType[configName] = type;
|
||||
qDebug() << "soft freeze mode gsetting:" << configName << "to be monitored!";
|
||||
} else {
|
||||
qInfo() << "without this key:" << configName;
|
||||
|
@ -121,56 +132,77 @@ void UpmGsettings::addConfigMonitor(const QString &configName, pSignalFun signal
|
|||
void UpmGsettings::initGsettingsConfig()
|
||||
{
|
||||
addConfigMonitor(GSETTINGS_KEY_POWER_POLICY_AC,
|
||||
&UpmGsettings::powerPolicyAcChanged);
|
||||
&UpmGsettings::powerPolicyAcChanged,
|
||||
QVariant::Int);
|
||||
addConfigMonitor(GSETTINGS_KEY_POWER_POLICY_BATTERY,
|
||||
&UpmGsettings::powerPolicyBatteryChanged);
|
||||
&UpmGsettings::powerPolicyBatteryChanged,
|
||||
QVariant::Int);
|
||||
addConfigMonitor(GSETTINGS_KEY_POWER_POLICY_BATTERY_BACKUP,
|
||||
&UpmGsettings::powerPolicyBatteryBackupChanged);
|
||||
&UpmGsettings::powerPolicyBatteryBackupChanged,
|
||||
QVariant::Int);
|
||||
|
||||
addConfigMonitor(GSETTINGS_KEY_SLEEP_DISPLAY_AC,
|
||||
&UpmGsettings::sleepDisplayAcChanged);
|
||||
&UpmGsettings::sleepDisplayAcChanged,
|
||||
QVariant::Int);
|
||||
addConfigMonitor(GSETTINGS_KEY_SLEEP_DISPLAY_BATTERY,
|
||||
&UpmGsettings::sleepDisplayBatteryChanged);
|
||||
&UpmGsettings::sleepDisplayBatteryChanged,
|
||||
QVariant::Int);
|
||||
|
||||
addConfigMonitor(GSETTINGS_KEY_SLEEP_COMPUTER_AC,
|
||||
&UpmGsettings::sleepComputerAcChanged);
|
||||
&UpmGsettings::sleepComputerAcChanged,
|
||||
QVariant::Int);
|
||||
addConfigMonitor(GSETTINGS_KEY_SLEEP_COMPUTER_BATTERY,
|
||||
&UpmGsettings::sleepComputerBatteryChanged);
|
||||
&UpmGsettings::sleepComputerBatteryChanged,
|
||||
QVariant::Int);
|
||||
|
||||
addConfigMonitor(GSETTINGS_KEY_IDLE_BRIGHTNESS,
|
||||
&UpmGsettings::idleBrightnessChanged);
|
||||
&UpmGsettings::idleBrightnessChanged,
|
||||
QVariant::Int);
|
||||
addConfigMonitor(GSETTINGS_KEY_IDLE_POWER_POLICY_AUTO,
|
||||
&UpmGsettings::idlePowerPolicyAutoChanged);
|
||||
&UpmGsettings::idlePowerPolicyAutoChanged,
|
||||
QVariant::Bool);
|
||||
|
||||
addConfigMonitor(GSETTINGS_KEY_BUTTON_LID_AC,
|
||||
&UpmGsettings::buttonLidAcChanged);
|
||||
&UpmGsettings::buttonLidAcChanged,
|
||||
QVariant::String);
|
||||
addConfigMonitor(GSETTINGS_KEY_BUTTON_LID_BATTERY,
|
||||
&UpmGsettings::buttonLidBatteryChanged);
|
||||
&UpmGsettings::buttonLidBatteryChanged,
|
||||
QVariant::String);
|
||||
|
||||
addConfigMonitor(GSETTINGS_KEY_PERCENTAGE_LOW,
|
||||
&UpmGsettings::percentageLowChanged);
|
||||
&UpmGsettings::percentageLowChanged,
|
||||
QVariant::Int);
|
||||
//极低电量百分比
|
||||
addConfigMonitor(GSETTINGS_KEY_PERCENTAGE_ACTION,
|
||||
&UpmGsettings::percentageActionChanged);
|
||||
&UpmGsettings::percentageActionChanged,
|
||||
QVariant::Int);
|
||||
//极低电量操作
|
||||
addConfigMonitor(GSETTINGS_KEY_ACTION_CRITICAL_BATTERY,
|
||||
&UpmGsettings::actionCriticalBatteryChanged);
|
||||
&UpmGsettings::actionCriticalBatteryChanged,
|
||||
QVariant::String);
|
||||
|
||||
addConfigMonitor(GSETTINGS_KEY_BATTERY_SAVE_SWITCH,
|
||||
&UpmGsettings::batterySaveSwitchChanged);
|
||||
&UpmGsettings::batterySaveSwitchChanged,
|
||||
QVariant::Bool);
|
||||
addConfigMonitor(GSETTINGS_KEY_LOW_BATTERY_AUTO_SAVE,
|
||||
&UpmGsettings::lowBatteryAutoSaveChanged);
|
||||
&UpmGsettings::lowBatteryAutoSaveChanged,
|
||||
QVariant::Bool);
|
||||
addConfigMonitor(GSETTINGS_KEY_BATTERY_SAVE_REDUCE_BRIGHTNESS,
|
||||
&UpmGsettings::batterySaveReduceBrightnessChanged);
|
||||
&UpmGsettings::batterySaveReduceBrightnessChanged,
|
||||
QVariant::Bool);
|
||||
addConfigMonitor(GSETTINGS_KEY_LOW_BATTERY_AUTO_SOFT_FREEZE_MODE,
|
||||
&UpmGsettings::lowBatteryAutoSoftFreezeModeChanged);
|
||||
&UpmGsettings::lowBatteryAutoSoftFreezeModeChanged,
|
||||
QVariant::Bool);
|
||||
|
||||
addConfigMonitor(GSETTINGS_KEY_BRIGHTNESS_AC,
|
||||
&UpmGsettings::brightnessAcChanged);
|
||||
&UpmGsettings::brightnessAcChanged,
|
||||
QVariant::Int);
|
||||
|
||||
addConfigMonitor(GSETTINGS_KEY_RESOURCE_LIMIT_ENABLED,
|
||||
&UpmGsettings::resourceLimitEnabledChanged);
|
||||
&UpmGsettings::resourceLimitEnabledChanged,
|
||||
QVariant::Bool);
|
||||
|
||||
addConfigMonitor(GSETTINGS_KEY_SOFT_FREEZE_MODE_ENABLED,
|
||||
&UpmGsettings::softFreezeModeEnabledChanged);
|
||||
&UpmGsettings::softFreezeModeEnabledChanged,
|
||||
QVariant::Bool);
|
||||
}
|
||||
|
|
|
@ -93,9 +93,10 @@ private:
|
|||
QStringList m_allSoftFreezeModeKey;
|
||||
QHash<QString, QVariant> m_qHashValue;
|
||||
QHash<QString, pSignalFun> m_qHashSignalsFuns;
|
||||
QHash<QString, QVariant::Type> m_qHashValueType;
|
||||
|
||||
void initGsettingsConfig();
|
||||
void addConfigMonitor(const QString &configName, pSignalFun signalFun);
|
||||
void addConfigMonitor(const QString &configName, pSignalFun signalFun, QVariant::Type type);
|
||||
|
||||
signals:
|
||||
void powerPolicyAcChanged(QVariant);
|
||||
|
@ -134,6 +135,7 @@ private slots:
|
|||
public:
|
||||
void setGsettingsConfig(const QString &configName, QVariant value);
|
||||
bool getGsettingsConfig(const QString &configName, QVariant &value);
|
||||
QVariant::Type getValueType(const QString &configName);
|
||||
};
|
||||
|
||||
#endif // UPM_GSETTINGS_H
|
||||
|
|
|
@ -91,12 +91,7 @@ void UpmDaemon::dealSystemConfigChanged(const QString userName, const QString ke
|
|||
return ;
|
||||
}
|
||||
|
||||
QVariant currentValue;
|
||||
if (false == UpmGsettings::self()->getGsettingsConfig(key, currentValue)) {
|
||||
qInfo() << "without this system config";
|
||||
return ;
|
||||
}
|
||||
QVariant::Type type = currentValue.type();
|
||||
QVariant::Type type = UpmGsettings::self()->getValueType(key);
|
||||
switch (type) {
|
||||
case QVariant::Int:
|
||||
UpmGsettings::self()->setGsettingsConfig(key, value.toInt());
|
||||
|
|
|
@ -182,9 +182,8 @@ void SysdbusRegister::SetAspmPolicy(const int policy)
|
|||
void SysdbusRegister::SetSystemConfig(const QString userName, const QString key, const QString value)
|
||||
{
|
||||
m_powerConfig->updatePowerConfig(key, value);
|
||||
if (m_userMap.size() > 1) {
|
||||
emit SystemConfigChanged(userName, key, value);
|
||||
}
|
||||
|
||||
emit SystemConfigChanged(userName, key, value);
|
||||
}
|
||||
|
||||
QString SysdbusRegister::GetSystemConfig(const QString key)
|
||||
|
|
Loading…
Reference in New Issue