public static void Save(Gdk.Pixbuf image, Uri dest) { string uri = UriUtils.UriToStringEscaped(dest); System.DateTime mtime = DateTime.Now; // Use Gnome.Vfs try { Gnome.Vfs.FileInfo vfs = new Gnome.Vfs.FileInfo(uri); mtime = vfs.Mtime; PixbufUtils.SetOption(image, ThumbUri, uri); PixbufUtils.SetOption(image, ThumbMTime, ((uint)GLib.Marshaller.DateTimeTotime_t(mtime)).ToString()); } catch (System.Exception e) { Console.WriteLine(e); } //System.Console.WriteLine ("saving uri \"{0}\" mtime \"{1}\"", // image.GetOption ("tEXt::Thumb::URI"), // image.GetOption ("tEXt::Thumb::MTime")); string large_path = ThumbnailPath(uri); try { ThumbnailCache.Default.RemoveThumbnailForPath(large_path); } finally { factory.SaveThumbnail(image, uri, mtime); } }
public static void CopyThumbnailOptions(Gdk.Pixbuf src, Gdk.Pixbuf dest) { if (src != null && dest != null) { PixbufUtils.SetOption(dest, "tEXt::Thumb::URI", src.GetOption("tEXt::Thumb::URI")); PixbufUtils.SetOption(dest, "tEXt::Thumb::MTime", src.GetOption("tEXt::Thumb::MTime")); } }