예제 #1
0
        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"));
     }
 }