From 98c55dde34ae7ed062ae22712b998ef4787b14ee Mon Sep 17 00:00:00 2001 From: Conor Curran Date: Thu, 24 Jun 2010 14:09:49 +0100 Subject: record of played application being stored correctly in keyfile --- src/player-item.vala | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/player-item.vala') diff --git a/src/player-item.vala b/src/player-item.vala index 09b0e6b..d1cf08c 100644 --- a/src/player-item.vala +++ b/src/player-item.vala @@ -28,17 +28,32 @@ public class PlayerItem : Dbusmenu.Menuitem { } + private static bool ensure_valid_updates(HashTable data, HashSet attributes) + { + if(data == null){ + return false; + } + if(data.size() < attributes.size){ + warning("update hash was too small for the target"); + return false; + } + return true; + } + public void update(HashTable data, HashSet attributes) { debug("PlayerItem::update()"); + if(ensure_valid_updates(data, attributes) == false){ + debug("PlayerItem::Update -> update hash is not what we were expecting"); + return; + } foreach(string property in attributes){ string[] input_keys = property.split("-"); string search_key = input_keys[input_keys.length-1 : input_keys.length][0]; debug("search key = %s", search_key); - Value v = data.lookup(search_key); - if (v.holds (typeof (string))){ + debug("with value : %s", v.get_string()); this.property_set(property, this.sanitize_string(v.get_string())); } else if (v.holds (typeof (int))){ -- cgit v1.2.3 From 81d9af3fc3f1d3784e623ede592e6d91032353ad Mon Sep 17 00:00:00 2001 From: Conor Curran Date: Thu, 24 Jun 2010 17:23:39 +0100 Subject: moving towards offline application launching --- src/player-item.vala | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) (limited to 'src/player-item.vala') diff --git a/src/player-item.vala b/src/player-item.vala index d1cf08c..7fcf912 100644 --- a/src/player-item.vala +++ b/src/player-item.vala @@ -27,24 +27,12 @@ public class PlayerItem : Dbusmenu.Menuitem public PlayerItem() { } - - private static bool ensure_valid_updates(HashTable data, HashSet attributes) - { - if(data == null){ - return false; - } - if(data.size() < attributes.size){ - warning("update hash was too small for the target"); - return false; - } - return true; - } public void update(HashTable data, HashSet attributes) { debug("PlayerItem::update()"); if(ensure_valid_updates(data, attributes) == false){ - debug("PlayerItem::Update -> update hash is not what we were expecting"); + debug("PlayerItem::Update -> The hashtable update does not contain what we were expecting - just leave it!"); return; } foreach(string property in attributes){ @@ -64,6 +52,8 @@ public class PlayerItem : Dbusmenu.Menuitem this.property_set_bool(property, v.get_boolean()); } } + // TODO: not working + //this.check_layout(); } public void set_adaptor(MprisController adaptor) @@ -71,6 +61,17 @@ public class PlayerItem : Dbusmenu.Menuitem this.mpris_adaptor = adaptor; } + private static bool ensure_valid_updates(HashTable data, HashSet attributes) + { + if(data == null){ + return false; + } + if(data.size() < attributes.size){ + warning("update hash was too small for the target"); + return false; + } + return true; + } public static string sanitize_string(string st) { @@ -100,5 +101,9 @@ public class PlayerItem : Dbusmenu.Menuitem separator.property_set(MENUITEM_PROP_TYPE, CLIENT_TYPES_SEPARATOR); return separator; } + + public virtual void check_layout(){ + warning("this should not be hit"); + } } -- cgit v1.2.3