diff options
| author | Allan LeSage <allanlesage@gmail.com> | 2012-03-28 16:44:05 -0500 |
|---|---|---|
| committer | Allan LeSage <allanlesage@gmail.com> | 2012-03-28 16:44:05 -0500 |
| commit | dcafea3b9224300f1723646a0b817138129bea43 (patch) | |
| tree | 79c670d39d1ab99e4959bde95342313d78c6ee72 /src/settings-manager.vala | |
| parent | 19971a3dde07ef40497b4f2fa70e6f065e6febc9 (diff) | |
| parent | d4a652971f9a99ff244b0ec85a027753a3cf220e (diff) | |
| download | ayatana-indicator-sound-dcafea3b9224300f1723646a0b817138129bea43.tar.gz ayatana-indicator-sound-dcafea3b9224300f1723646a0b817138129bea43.tar.bz2 ayatana-indicator-sound-dcafea3b9224300f1723646a0b817138129bea43.zip | |
Merge from trunk.
Diffstat (limited to 'src/settings-manager.vala')
| -rw-r--r-- | src/settings-manager.vala | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/settings-manager.vala b/src/settings-manager.vala index 034cd03..d57241e 100644 --- a/src/settings-manager.vala +++ b/src/settings-manager.vala @@ -58,27 +58,31 @@ public class SettingsManager : GLib.Object public void remove_interested (string app_desktop_name) { - var already_interested = this.settings.get_strv ("interested-media-players"); - var list = new ArrayList<string>(); + const string key = "interested-media-players"; + var players = new GLib.VariantBuilder (new VariantType ("as")); // array of strings - foreach (var s in already_interested){ - if (s == app_desktop_name) continue; - list.add (s); + foreach (var player in this.settings.get_strv (key)) { + if (player != app_desktop_name) + players.add ("s", player); } - this.settings.set_strv("interested-media-players", - list.to_array()); - this.settings.apply(); + + this.settings.set_value(key, players.end()); + this.settings.apply(); } public void add_interested (string app_desktop_name) { - var already_interested = this.settings.get_strv ("interested-media-players"); - foreach (var s in already_interested){ - if ( s == app_desktop_name ) return; + const string key = "interested-media-players"; + var players = new GLib.VariantBuilder (new VariantType ("as")); // array of strings + + foreach (var player in this.settings.get_strv (key)) { + if (player == app_desktop_name) + return; + players.add ("s", player); } - already_interested += (app_desktop_name); - this.settings.set_strv( "interested-media-players", - already_interested ); + + players.add ("s", app_desktop_name); + this.settings.set_value(key, players.end()); this.settings.apply(); } |
