diff -Nru --exclude Makefile.in --exclude '*.po' --exclude help --exclude '*.m4' --exclude manuals --exclude docs --exclude '*auto*conf*' --exclude po --exclude '*autotools*' f-spot-0.6.1.5/debian/changelog f-spot-0.6.1.5/debian/changelog --- f-spot-0.6.1.5/debian/changelog 2010-06-16 11:39:12.000000000 +0200 +++ f-spot-0.6.1.5/debian/changelog 2010-06-16 11:39:14.000000000 +0200 @@ -1,3 +1,17 @@ +f-spot (0.6.1.5-2ubuntu7) lucid-proposed; urgency=low + + [ Martin Mai ] + * debian/patches/git_dont_delete_emailed_files_after_a_fixed_time-out.patch: + + Leave it up to the os to clear emailed files in /tmp/ (LP: #112684) + + [ Didier Roche ] + * debian/patches/ubuntu_only_update_timestamp_of_unprotected_versions.patch: + - deleted as it has some corner cases + * add git_never_touch_photo_timestamps.patch to fix timestamp incorrectly + imported (LP: #175191) + + -- Didier Roche Wed, 09 Jun 2010 10:43:14 +0200 + f-spot (0.6.1.5-2ubuntu6) lucid; urgency=low * debian/patches/ubuntu_add_save_and_undo.patch: diff -Nru --exclude Makefile.in --exclude '*.po' --exclude help --exclude '*.m4' --exclude manuals --exclude docs --exclude '*auto*conf*' --exclude po --exclude '*autotools*' f-spot-0.6.1.5/debian/patches/git_dont_delete_emailed_files_after_a_fixed_time-out.patch f-spot-0.6.1.5/debian/patches/git_dont_delete_emailed_files_after_a_fixed_time-out.patch --- f-spot-0.6.1.5/debian/patches/git_dont_delete_emailed_files_after_a_fixed_time-out.patch 1970-01-01 01:00:00.000000000 +0100 +++ f-spot-0.6.1.5/debian/patches/git_dont_delete_emailed_files_after_a_fixed_time-out.patch 2010-06-16 11:39:14.000000000 +0200 @@ -0,0 +1,82 @@ +Index: f-spot-0.6.1.5/src/Preferences.cs +=================================================================== +--- f-spot-0.6.1.5.orig/src/Preferences.cs 2010-05-24 19:26:06.357680369 +0200 ++++ f-spot-0.6.1.5/src/Preferences.cs 2010-05-24 19:26:24.797671872 +0200 +@@ -61,7 +61,6 @@ + + public const string EXPORT_EMAIL_SIZE = APP_FSPOT + "export/email/size"; + public const string EXPORT_EMAIL_ROTATE = APP_FSPOT + "export/email/auto_rotate"; +- public const string EXPORT_EMAIL_DELETE_TIMEOUT_SEC = APP_FSPOT + "export/email/delete_timeout_seconds"; + + public const string IMPORT_GUI_ROLL_HISTORY = APP_FSPOT + "import/gui_roll_history"; + +@@ -164,8 +163,6 @@ + case EXPORT_EMAIL_ROTATE: + case VIEWER_INTERPOLATION: + return true; +- case EXPORT_EMAIL_DELETE_TIMEOUT_SEC: +- return 30; // delete temporary email pictures after 30 seconds + case VIEWER_TRANSPARENCY: + return "NONE"; + case VIEWER_TRANS_COLOR: +Index: f-spot-0.6.1.5/src/SendEmail.cs +=================================================================== +--- f-spot-0.6.1.5.orig/src/SendEmail.cs 2010-05-24 19:26:12.637686039 +0200 ++++ f-spot-0.6.1.5/src/SendEmail.cs 2010-05-24 19:26:24.797671872 +0200 +@@ -203,26 +203,6 @@ + } + + +- private bool DeleteTempFile () +- { +-// System.Console.WriteLine ("Lets delete all temp files"); +- +- // Lets delete all the temporary files now +- for (int k = 0; k < tmp_paths.Count; k++) { +- if (System.IO.File.Exists((string) tmp_paths[k])) { +- System.IO.File.Delete ((string) tmp_paths[k]); +-// System.Console.WriteLine ("Lets delete temp file {0}", tmp_paths[k]); +- } +- } +- +- if (System.IO.Directory.Exists(tmp_mail_dir)) { +- System.IO.Directory.Delete(tmp_mail_dir); +-// System.Console.WriteLine ("Lets delete temp dir {0}", tmp_mail_dir); +- } +- +- return false; +- } +- + private void HandleResponse (object sender, Gtk.ResponseArgs args) + { + int size = 0; +@@ -323,9 +303,8 @@ + if (progress_dialog != null) + progress_dialog.Destroy (); // No need to keep this window + +- if (UserCancelled) +- DeleteTempFile(); +- else { ++ ++ if (!UserCancelled) { + // Send the mail :) + string mail_subject = Catalog.GetString("My Photos"); + switch (Preferences.Get (Preferences.GNOME_MAILTO_COMMAND)) { +@@ -352,17 +331,6 @@ + GtkBeans.Global.ShowUri (Dialog.Screen, "mailto:?subject=" + System.Web.HttpUtility.UrlEncode(mail_subject) + mail_attach); + break; + } +- +- // Check if we have any temporary files to be deleted +- if (tmp_paths.Count > 0) { +- // Fetch timeout value from preferences. In seconds. Needs to be multiplied with 1000 to get msec +- uint delete_timeout; +- delete_timeout = (uint) (Preferences.Get (Preferences.EXPORT_EMAIL_DELETE_TIMEOUT_SEC)); +- delete_timeout = delete_timeout * 1000; // to get milliseconds. +- +- // Start a timer and when it occurs, delete the temp files. +- GLib.Timeout.Add (delete_timeout, new GLib.TimeoutHandler (DeleteTempFile)); +- } + } + } + } diff -Nru --exclude Makefile.in --exclude '*.po' --exclude help --exclude '*.m4' --exclude manuals --exclude docs --exclude '*auto*conf*' --exclude po --exclude '*autotools*' f-spot-0.6.1.5/debian/patches/git_never_touch_photo_timestamps.patch f-spot-0.6.1.5/debian/patches/git_never_touch_photo_timestamps.patch --- f-spot-0.6.1.5/debian/patches/git_never_touch_photo_timestamps.patch 1970-01-01 01:00:00.000000000 +0100 +++ f-spot-0.6.1.5/debian/patches/git_never_touch_photo_timestamps.patch 2010-06-16 11:39:14.000000000 +0200 @@ -0,0 +1,254 @@ +From bc60bffb8d564a232e9928d987d27e371458d79f Mon Sep 17 00:00:00 2001 +From: Paul Werner Bou +Date: Fri, 14 May 2010 18:46:49 +0000 +Subject: Don't convert photo times to UTC. + +Changes the default to never touch photo timestamps. + +Fixes BGO #340903 - Adjust Time: Changing internal photo time to UTC is +not good + +Signed-off-by: Ruben Vermeersch +--- +diff --git a/extensions/Tools/MergeDb/MergeDbDialog.cs b/extensions/Tools/MergeDb/MergeDbDialog.cs +index d59e810..7efbf2d 100644 +--- a/extensions/Tools/MergeDb/MergeDbDialog.cs ++++ b/extensions/Tools/MergeDb/MergeDbDialog.cs +@@ -62,6 +62,7 @@ namespace MergeDbExtension + rolls = value; + foreach (Roll r in rolls) { + uint numphotos = parent.FromDb.Rolls.PhotosInRoll (r); ++ // Roll time is in UTC always + DateTime date = r.Time.ToLocalTime (); + rolls_combo.AppendText (String.Format ("{0} ({1})", date.ToString("%dd %MMM, %HH:%mm"), numphotos)); + rolls_combo.Active = 0; +diff --git a/src/Imaging/Ciff.cs b/src/Imaging/Ciff.cs +index b59605f..34c6071 100644 +--- a/src/Imaging/Ciff.cs ++++ b/src/Imaging/Ciff.cs +@@ -441,7 +441,7 @@ namespace FSpot.Ciff { + return base.Date; + } + +- return new CaptureTime (date, little).LocalTime.ToUniversalTime (); ++ return new CaptureTime (date, little).LocalTime; + } + } + +diff --git a/src/Imaging/ImageFile.cs b/src/Imaging/ImageFile.cs +index 8f7d123..5676fba 100644 +--- a/src/Imaging/ImageFile.cs ++++ b/src/Imaging/ImageFile.cs +@@ -206,7 +206,7 @@ namespace FSpot { + + return t; + } +- ++ + [Obsolete ("use Create (System.Uri) instead")] + public static ImageFile Create (string path) + { +diff --git a/src/Imaging/JpegFile.cs b/src/Imaging/JpegFile.cs +index ff17905..c82e6dc 100644 +--- a/src/Imaging/JpegFile.cs ++++ b/src/Imaging/JpegFile.cs +@@ -333,13 +333,13 @@ Console.WriteLine ("<<<"); + e = sub.Directory [0].Lookup (TagId.DateTimeOriginal); + + if (e != null) +- return DirectoryEntry.DateTimeFromString (e.StringValue).ToUniversalTime (); ++ return DirectoryEntry.DateTimeFromString (e.StringValue); + } + + e = ExifHeader.Directory.Lookup (TagId.DateTime); + + if (e != null) +- return DirectoryEntry.DateTimeFromString (e.StringValue).ToUniversalTime (); ++ return DirectoryEntry.DateTimeFromString (e.StringValue); + + return base.Date; + #else +@@ -349,7 +349,7 @@ Console.WriteLine ("<<<"); + if (time_str == null || time_str == "") + time_str = ExifData.LookupFirstValue (Exif.Tag.DateTime); + +- time = Exif.ExifUtil.DateTimeFromString (time_str).ToUniversalTime (); ++ time = Exif.ExifUtil.DateTimeFromString (time_str); + #endif + } catch (System.Exception e) { + Console.WriteLine (e); +diff --git a/src/Imaging/MrwFile.cs b/src/Imaging/MrwFile.cs +index 098c72e..b4693df 100644 +--- a/src/Imaging/MrwFile.cs ++++ b/src/Imaging/MrwFile.cs +@@ -201,7 +201,7 @@ namespace FSpot.Mrw { + DirectoryEntry e = this.Header.Directory.Lookup (TagId.DateTime); + + if (e != null) +- return DirectoryEntry.DateTimeFromString (e.StringValue).ToUniversalTime (); ++ return DirectoryEntry.DateTimeFromString (e.StringValue); + else + return base.Date; + } +diff --git a/src/Imaging/PngFile.cs b/src/Imaging/PngFile.cs +index 8601a5a..cccf6e6 100644 +--- a/src/Imaging/PngFile.cs ++++ b/src/Imaging/PngFile.cs +@@ -1418,7 +1418,7 @@ namespace FSpot.Png { + foreach (Chunk chunk in Chunks) { + TimeChunk time = chunk as TimeChunk; + if (time != null) +- return time.Time.ToUniversalTime (); ++ return time.Time; + } + return base.Date; + } +diff --git a/src/Imaging/Tiff.cs b/src/Imaging/Tiff.cs +index 4dc86c2..083e13e 100644 +--- a/src/Imaging/Tiff.cs ++++ b/src/Imaging/Tiff.cs +@@ -2066,13 +2066,13 @@ namespace FSpot.Tiff { + e = sub.Directory [0].Lookup (TagId.DateTimeOriginal); + + if (e != null) +- return DirectoryEntry.DateTimeFromString (e.StringValue).ToUniversalTime (); ++ return DirectoryEntry.DateTimeFromString (e.StringValue); + } + + e = this.Header.Directory.Lookup (TagId.DateTime); + + if (e != null) +- return DirectoryEntry.DateTimeFromString (e.StringValue).ToUniversalTime (); ++ return DirectoryEntry.DateTimeFromString (e.StringValue); + else + return base.Date; + } +diff --git a/src/Jobs/SyncMetadataJob.cs b/src/Jobs/SyncMetadataJob.cs +index 76825b0..b0ceadd 100644 +--- a/src/Jobs/SyncMetadataJob.cs ++++ b/src/Jobs/SyncMetadataJob.cs +@@ -53,7 +53,7 @@ namespace FSpot.Jobs { + FSpot.JpegFile jimg = img as FSpot.JpegFile; + + jimg.SetDescription (photo.Description); +- jimg.SetDateTimeOriginal (photo.Time.ToLocalTime ()); ++ jimg.SetDateTimeOriginal (photo.Time); + jimg.SetXmp (UpdateXmp (photo, jimg.Header.GetXmp ())); + + jimg.SaveMetaData (path); +diff --git a/src/UI.Dialog/AdjustTimeDialog.cs b/src/UI.Dialog/AdjustTimeDialog.cs +index 31b61e6..bf34919 100644 +--- a/src/UI.Dialog/AdjustTimeDialog.cs ++++ b/src/UI.Dialog/AdjustTimeDialog.cs +@@ -122,7 +122,7 @@ namespace FSpot.UI.Dialog { + IBrowsableItem item = Item.Current; + + name_label.Text = System.Uri.UnescapeDataString(item.Name); +- old_label.Text = item.Time.ToLocalTime ().ToString (); ++ old_label.Text = (item.Time).ToString (); + + int i = collection.Count > 0 ? Item.Index + 1: 0; + // Note for translators: This indicates the current photo is photo {0} of {1} out of photos +diff --git a/src/UI.Dialog/LastRollDialog.cs b/src/UI.Dialog/LastRollDialog.cs +index e34f58f..1e83c6c 100644 +--- a/src/UI.Dialog/LastRollDialog.cs ++++ b/src/UI.Dialog/LastRollDialog.cs +@@ -86,6 +86,7 @@ namespace FSpot.UI.Dialog { + for (uint k = 0; k < rolls.Length; k++) + { + uint numphotos = rollstore.PhotosInRoll (rolls [k]); ++ // Roll time is in UTC always + DateTime date = rolls [k].Time.ToLocalTime (); + + string header = String.Format ("{0} ({1})", +diff --git a/src/Utils/DbUtils.cs b/src/Utils/DbUtils.cs +index 1e5cd2e..2de5205 100644 +--- a/src/Utils/DbUtils.cs ++++ b/src/Utils/DbUtils.cs +@@ -17,23 +17,23 @@ namespace FSpot.Utils + public static DateTime DateTimeFromUnixTime (long unix_time) + { + DateTime date_time = new DateTime (1970, 1, 1); +- return date_time.AddSeconds (unix_time).ToLocalTime (); ++ return date_time.AddSeconds (unix_time); + } + + public static long UnixTimeFromDateTime (DateTime date_time) + { +- return (long) (date_time.ToUniversalTime () - new DateTime (1970, 1, 1)).TotalSeconds; ++ return (long) (date_time - new DateTime (1970, 1, 1)).TotalSeconds; + } + #else + public static DateTime DateTimeFromUnixTime (long unix_time) + { +- DateTime date_time = new DateTime (1970, 1, 1).ToLocalTime (); ++ DateTime date_time = new DateTime (1970, 1, 1); + return date_time.AddSeconds (unix_time); + } + + public static long UnixTimeFromDateTime (DateTime date_time) + { +- return (long) (date_time - new DateTime (1970, 1, 1).ToLocalTime ()).TotalSeconds; ++ return (long) (date_time - new DateTime (1970, 1, 1)).TotalSeconds; + } + #endif + } +diff --git a/src/Widgets/IconView.cs b/src/Widgets/IconView.cs +index 3d1a976..2874e3a 100644 +--- a/src/Widgets/IconView.cs ++++ b/src/Widgets/IconView.cs +@@ -902,9 +902,9 @@ namespace FSpot.Widgets + if (DisplayDates) { + string date; + if (cell_width > 200) { +- date = photo.Time.ToLocalTime ().ToString (); ++ date = photo.Time.ToString (); + } else { +- date = photo.Time.ToLocalTime ().ToShortDateString (); ++ date = photo.Time.ToShortDateString (); + } + + Pango.Layout layout = (Pango.Layout)date_layouts [date]; +diff --git a/src/Widgets/InfoBox.cs b/src/Widgets/InfoBox.cs +index 116590e..afac668 100644 +--- a/src/Widgets/InfoBox.cs ++++ b/src/Widgets/InfoBox.cs +@@ -338,7 +338,7 @@ namespace FSpot.Widgets + height = real_height.ToString (); + } + #if USE_EXIF_DATE +- date = img.Date.ToLocalTime (); ++ date = img.Date; + #endif + } + +@@ -522,7 +522,7 @@ namespace FSpot.Widgets + #if USE_EXIF_DATE + date_value_label.Text = info.Date; + #else +- DateTime local_time = photo.Time.ToLocalTime (); ++ DateTime local_time = photo.Time; + date_value_label.Text = String.Format ("{0}{2}{1}", + local_time.ToShortDateString (), + local_time.ToShortTimeString (), +@@ -638,13 +638,13 @@ namespace FSpot.Widgets + if (first.Time.Date == last.Time.Date) { + //Note for translators: {0} is a date, {1} and {2} are times. + date_value_label.Text = String.Format(Catalog.GetString("On {0} between \n{1} and {2}"), +- first.Time.ToLocalTime ().ToShortDateString (), +- first.Time.ToLocalTime ().ToShortTimeString (), +- last.Time.ToLocalTime ().ToShortTimeString ()); ++ first.Time.ToShortDateString (), ++ first.Time.ToShortTimeString (), ++ last.Time.ToShortTimeString ()); + } else { + date_value_label.Text = String.Format(Catalog.GetString("Between {0} \nand {1}"), +- first.Time.ToLocalTime ().ToShortDateString (), +- last.Time.ToLocalTime ().ToShortDateString ()); ++ first.Time.ToShortDateString (), ++ last.Time.ToShortDateString ()); + } + } + date_label.Visible = show_date; +-- +cgit v0.8.3.1 diff -Nru --exclude Makefile.in --exclude '*.po' --exclude help --exclude '*.m4' --exclude manuals --exclude docs --exclude '*auto*conf*' --exclude po --exclude '*autotools*' f-spot-0.6.1.5/debian/patches/series f-spot-0.6.1.5/debian/patches/series --- f-spot-0.6.1.5/debian/patches/series 2010-06-16 11:39:12.000000000 +0200 +++ f-spot-0.6.1.5/debian/patches/series 2010-06-16 11:39:14.000000000 +0200 @@ -22,7 +22,6 @@ ubuntu_add_filmstrip_browsing_to_view_mode.patch ubuntu_add_other_files_in_directory_in_view_mode.patch ubuntu_clear_selection_on_crop.patch -ubuntu_only_update_timestamp_of_unprotected_versions.patch ubuntu_handle_broken_uris_to_view_mode.patch ubuntu_default_view_size.patch @@ -35,3 +34,5 @@ git_set_default_resize_value.patch git_fix_straighten_editor_memleak.patch git_fix_soft_focus_memleak.patch +git_dont_delete_emailed_files_after_a_fixed_time-out.patch +git_never_touch_photo_timestamps.patch diff -Nru --exclude Makefile.in --exclude '*.po' --exclude help --exclude '*.m4' --exclude manuals --exclude docs --exclude '*auto*conf*' --exclude po --exclude '*autotools*' f-spot-0.6.1.5/debian/patches/ubuntu_only_update_timestamp_of_unprotected_versions.patch f-spot-0.6.1.5/debian/patches/ubuntu_only_update_timestamp_of_unprotected_versions.patch --- f-spot-0.6.1.5/debian/patches/ubuntu_only_update_timestamp_of_unprotected_versions.patch 2010-06-16 11:39:12.000000000 +0200 +++ f-spot-0.6.1.5/debian/patches/ubuntu_only_update_timestamp_of_unprotected_versions.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,15 +0,0 @@ ---- a/src/Jobs/SyncMetadataJob.cs 2009-05-05 10:52:59 +0000 -+++ b/src/Jobs/SyncMetadataJob.cs 2010-03-16 02:19:48 +0000 -@@ -53,7 +53,11 @@ - FSpot.JpegFile jimg = img as FSpot.JpegFile; - - jimg.SetDescription (photo.Description); -- jimg.SetDateTimeOriginal (photo.Time.ToLocalTime ()); -+ if (!photo.DefaultVersion.IsProtected) { -+ // If the version is protected we should be able to assume that the data hasn't changed. -+ // Thus, the DateTime shouldn't change, either. -+ jimg.SetDateTimeOriginal (photo.Time.ToLocalTime ()); -+ } - jimg.SetXmp (UpdateXmp (photo, jimg.Header.GetXmp ())); - - jimg.SaveMetaData (path);