private string GetIconString(Tag tag) { if (tag.ThemeIconName != null) { return(STOCK_ICON_DB_PREFIX + tag.ThemeIconName); } if (tag.Icon == null) { return(String.Empty); } byte [] data = PixbufSerializer.Serialize(tag.Icon); return(Convert.ToBase64String(data)); }
private void SetIconFromString(Tag tag, string icon_string) { if (icon_string == null || icon_string == String.Empty) { tag.Icon = null; } else if (icon_string.StartsWith(STOCK_ICON_DB_PREFIX)) { tag.ThemeIconName = icon_string.Substring(STOCK_ICON_DB_PREFIX.Length); } else { tag.Icon = PixbufSerializer.Deserialize(Convert.FromBase64String(icon_string)); } }
public static string GenerateMD5(System.Uri uri) { try { if (md5_cache.ContainsKey(uri)) { return(md5_cache [uri]); } using (Gdk.Pixbuf pixbuf = ThumbnailGenerator.Create(uri)) { byte[] serialized = PixbufSerializer.Serialize(pixbuf); byte[] md5 = MD5Generator.ComputeHash(serialized); string md5_string = Convert.ToBase64String(md5); md5_cache.Add(uri, md5_string); return(md5_string); } } catch (Exception e) { Log.DebugFormat("Failed to create MD5Sum for Uri {0}; {1}", uri, e.Message); } return(string.Empty); }