~raof/do/throwaway-app-indicator

« back to all changes in this revision

Viewing changes to Do.Platform/src/Do.Platform/Do.Platform.Preferences/PreferencesImplementation.cs

  • Committer: Robert Dyer
  • Date: 2009-08-29 07:45:29 UTC
  • mfrom: (1295.1.10 gconf-notify)
  • Revision ID: rdyer@yamuna-20090829074529-gi0qc235wc6nsxn2
merging branch that allows GConf to notify Do of changed preferences and Do to handle them accordingly

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
                {
39
39
                        Service = service;
40
40
                        SecureService = new SecurePreferencesServiceWrapper (secureService);
41
 
                }
42
 
                
43
 
                void OnPreferencesChanged (string key, object oldValue)
 
41
                        Service.PreferencesChanged += HandlePreferencesChanged;
 
42
                }
 
43
                
 
44
                void HandlePreferencesChanged (object o, PreferencesChangedEventArgs e)
 
45
                {
 
46
                        if (e.Key.Length <= OwnerString.Length + 1 || e.Key.Substring(0, OwnerString.Length) != OwnerString) return;
 
47
                        OnPreferencesChanged (e.Key.Substring(OwnerString.Length + 1), e.OldValue, e.Value);
 
48
                }
 
49
                
 
50
                void OnPreferencesChanged (string key, object oldValue, object newValue)
44
51
                {
45
52
                        if (PreferencesChanged == null) return;
46
 
                        PreferencesChanged (this, new PreferencesChangedEventArgs (key, oldValue));
 
53
                        PreferencesChanged (this, new PreferencesChangedEventArgs (key, oldValue, newValue));
47
54
                }
48
55
 
49
56
                #region IPreferences
109
116
                                oldValue = default (T);
110
117
                        
111
118
                        if (service.Set (keypath, val)) {
112
 
                                OnPreferencesChanged (key, oldValue);
 
119
                                OnPreferencesChanged (key, oldValue, val);
113
120
                                return true;
114
121
                        }
115
122
                        return false;