f-spot r4176 - in trunk/src: . Core



Author: sdelcroix
Date: Mon Jul 14 09:05:06 2008
New Revision: 4176
URL: http://svn.gnome.org/viewvc/f-spot?rev=4176&view=rev

Log:
check for missing versions, fallback to Original


Modified:
   trunk/src/Core/Photo.cs
   trunk/src/PhotoStore.cs

Modified: trunk/src/Core/Photo.cs
==============================================================================
--- trunk/src/Core/Photo.cs	(original)
+++ trunk/src/Core/Photo.cs	Mon Jul 14 09:05:06 2008
@@ -166,7 +166,13 @@
 		private bool loaded = false;
 		public bool Loaded {
 			get { return loaded; }
-			set { loaded = value; }
+			set { 
+				if (value) {
+					if (DefaultVersionId != OriginalVersionId && !Versions.ContainsKey (DefaultVersionId)) 
+						DefaultVersionId = OriginalVersionId;	
+				}
+				loaded = value; 
+			}
 		}
 	
 		private string description;

Modified: trunk/src/PhotoStore.cs
==============================================================================
--- trunk/src/PhotoStore.cs	(original)
+++ trunk/src/PhotoStore.cs	Mon Jul 14 09:05:06 2008
@@ -559,8 +559,8 @@
 		uint timer = Log.DebugTimerStart ("Query: " + query.CommandText);
 		SqliteDataReader reader = Database.Query(query);
 
-		ArrayList version_list = new ArrayList ();
-		ArrayList id_list = new ArrayList ();
+		List<Photo> new_photos = new List<Photo> ();
+		List<Photo> query_result = new List<Photo> ();
 		while (reader.Read ()) {
 			uint id = Convert.ToUInt32 (reader [0]);
 			Photo photo = LookupInCache (id) as Photo;
@@ -578,15 +578,15 @@
 				photo.RollId = Convert.ToUInt32 (reader[4]);
 				photo.DefaultVersionId = Convert.ToUInt32 (reader[5]);
 				photo.Rating = Convert.ToUInt32 (reader [6]);
-				version_list.Add (photo);
+				new_photos.Add (photo);
 			}
 
-			id_list.Add (photo);
+			query_result.Add (photo);
 		}
 		reader.Close();
 
 		bool need_load = false;
-		foreach (Photo photo in version_list) {
+		foreach (Photo photo in new_photos) {
 			AddToCache (photo);
 			need_load |= !photo.Loaded;
 		}
@@ -594,17 +594,16 @@
 		if (need_load) {
 			GetAllTags ();
 			GetAllVersions ();
-			foreach (Photo photo in version_list) {
+			foreach (Photo photo in new_photos)
 				photo.Loaded = true;
-			}
 		} else {
 			//Console.WriteLine ("Skipped Loading Data");
 		}
-		foreach (Photo photo in version_list)
+		foreach (Photo photo in new_photos)
 			photo.Changes = null;
 
 		Log.DebugTimerPrint (timer, "Query took {0}");
-		return id_list.ToArray (typeof (Photo)) as Photo [];
+		return query_result.ToArray ();
 	}
 
 	[Obsolete ("No longer make any sense with uris...")]



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]