mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
fixed the gsettings signal handling broken after glib2.43
- Details:8ff5668a45
Change-Id: I1c192b02062e7757665ebe006fafa38d9435efcf
This commit is contained in:
parent
f850501146
commit
0756fd966b
@ -48,10 +48,12 @@ func (m *Manager) listenGSettings() {
|
||||
m.greeter.Set(m.settings.GetString(key))
|
||||
}
|
||||
})
|
||||
m.settings.GetString(deepinGSKeyTheme)
|
||||
|
||||
m.wrapSetting.Connect("changed::picture-uri", func(s *gio.Settings, key string) {
|
||||
m.Set("background", m.wrapSetting.GetString(key))
|
||||
})
|
||||
m.wrapSetting.GetString("picture-uri")
|
||||
|
||||
if m.gnomeSettings == nil {
|
||||
return
|
||||
@ -60,6 +62,7 @@ func (m *Manager) listenGSettings() {
|
||||
m.gnomeSettings.Connect("changed::picture-uri", func(s *gio.Settings, key string) {
|
||||
m.bg.Set(m.gnomeSettings.GetString(key))
|
||||
})
|
||||
m.gnomeSettings.GetString("picture-uri")
|
||||
}
|
||||
|
||||
func (t *Theme) handleEvent(ev *fsnotify.FileEvent) {
|
||||
|
@ -69,4 +69,5 @@ func listenDaemonSettings() {
|
||||
loader.Stop(name)
|
||||
}
|
||||
})
|
||||
daemonSettings.GetBoolean("mounts")
|
||||
}
|
||||
|
@ -120,16 +120,6 @@ func (s *Setting) init() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
s.displayMode = DisplayModeType(s.core.GetEnum(DisplayModeKey))
|
||||
s.hideMode = HideModeType(s.core.GetEnum(HideModeKey))
|
||||
if s.hideMode == HideModeAutoHide {
|
||||
s.hideMode = HideModeSmartHide
|
||||
s.core.SetEnum(HideModeKey, int32(HideModeSmartHide))
|
||||
}
|
||||
s.clockType = ClockType(s.core.GetEnum(ClockTypeKey))
|
||||
s.displayDate = s.core.GetBoolean(DisplayDateKey)
|
||||
s.displayWeek = s.core.GetBoolean(DisplayWeekKey)
|
||||
|
||||
s.listenSettingChange(HideModeKey, func(g *gio.Settings, key string) {
|
||||
s.hideModeLock.Lock()
|
||||
defer s.hideModeLock.Unlock()
|
||||
@ -220,6 +210,20 @@ func (s *Setting) init() bool {
|
||||
s.displayWeek = s.core.GetBoolean(DisplayWeekKey)
|
||||
dbus.Emit(s, "DisplayWeekChanged", s.displayWeek)
|
||||
})
|
||||
|
||||
// at least one read operation must be called after signal connected, otherwise,
|
||||
// the signal connection won't work from glib 2.43.
|
||||
// NB: https://github.com/GNOME/glib/commit/8ff5668a458344da22d30491e3ce726d861b3619
|
||||
s.displayMode = DisplayModeType(s.core.GetEnum(DisplayModeKey))
|
||||
s.hideMode = HideModeType(s.core.GetEnum(HideModeKey))
|
||||
if s.hideMode == HideModeAutoHide {
|
||||
s.hideMode = HideModeSmartHide
|
||||
s.core.SetEnum(HideModeKey, int32(HideModeSmartHide))
|
||||
}
|
||||
s.clockType = ClockType(s.core.GetEnum(ClockTypeKey))
|
||||
s.displayDate = s.core.GetBoolean(DisplayDateKey)
|
||||
s.displayWeek = s.core.GetBoolean(DisplayWeekKey)
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
|
@ -266,6 +266,7 @@ func (obj *Manager) listenSettings() {
|
||||
obj.setPropCustomList(getCustomListInfo())
|
||||
}
|
||||
})
|
||||
bindGSettings.GetStrv(BIND_KEY_VALID_LIST)
|
||||
|
||||
sysGSettings.Connect("changed", func(s *gio.Settings, key string) {
|
||||
if id, ok := getAccelIdByName(key); ok {
|
||||
@ -290,6 +291,7 @@ func (obj *Manager) listenSettings() {
|
||||
}
|
||||
}
|
||||
})
|
||||
sysGSettings.GetStrv("file-manager")
|
||||
}
|
||||
|
||||
func (obj *Manager) listenAllCustomSettings() {
|
||||
@ -318,4 +320,5 @@ func (obj *Manager) listenCustomSettings(id int32) {
|
||||
|
||||
obj.setPropCustomList(getCustomListInfo())
|
||||
})
|
||||
gs.GetString("name")
|
||||
}
|
||||
|
@ -26,9 +26,7 @@ func NewSetting(core SettingCoreInterface) (*Setting, error) {
|
||||
return nil, errors.New("get failed")
|
||||
}
|
||||
s := &Setting{
|
||||
core: core,
|
||||
categoryDisplayMode: CategoryDisplayMode(core.GetEnum(CategoryDisplayModeKey)),
|
||||
sortMethod: SortMethod(core.GetEnum(SortMethodkey)),
|
||||
core: core,
|
||||
}
|
||||
|
||||
s.listenSettingChange(CategoryDisplayModeKey, func(setting *gio.Settings, key string) {
|
||||
@ -52,6 +50,12 @@ func NewSetting(core SettingCoreInterface) (*Setting, error) {
|
||||
}
|
||||
})
|
||||
|
||||
// at least one read operation must be called after signal connected, otherwise,
|
||||
// the signal connection won't work from glib 2.43.
|
||||
// NB: https://github.com/GNOME/glib/commit/8ff5668a458344da22d30491e3ce726d861b3619
|
||||
s.categoryDisplayMode = CategoryDisplayMode(core.GetEnum(CategoryDisplayModeKey))
|
||||
s.sortMethod = SortMethod(core.GetEnum(SortMethodkey))
|
||||
|
||||
return s, nil
|
||||
}
|
||||
|
||||
|
@ -156,6 +156,7 @@ func (p *Power) initUpower() {
|
||||
p.coreSettings.Connect("changed::percentage-critical", func(s *gio.Settings, name string) {
|
||||
p.handleBatteryPercentage()
|
||||
})
|
||||
p.coreSettings.GetInt("percentage-action")
|
||||
}
|
||||
|
||||
func (p *Power) updateBatteryInfo() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user