[f-spot] Rename IBrowsableItem to IPhoto.



commit 49c81cdd2b3604a032cef9f2120ed604c36798d1
Author: Ruben Vermeersch <ruben savanne be>
Date:   Fri Aug 13 18:07:41 2010 +0200

    Rename IBrowsableItem to IPhoto.

 src/Clients/MainApp/FSpot.Editors/Editor.cs        |    2 +-
 .../MainApp/FSpot.Import/ImportController.cs       |    6 +-
 .../MainApp/FSpot.Import/MetadataImporter.cs       |    2 +-
 .../MainApp/FSpot.UI.Dialog/AdjustTimeDialog.cs    |    2 +-
 .../MainApp/FSpot.UI.Dialog/EditExceptionDialog.cs |    8 +-
 .../MainApp/FSpot.UI.Dialog/RepairDialog.cs        |    2 +-
 src/Clients/MainApp/FSpot.Widgets/IconView.cs      |   32 +++++-----
 src/Clients/MainApp/FSpot.Widgets/InfoBox.cs       |   18 +++---
 .../MainApp/FSpot.Widgets/MetadataDisplay.cs       |    4 +-
 src/Clients/MainApp/FSpot.Widgets/PreviewPopup.cs  |    2 +-
 src/Clients/MainApp/FSpot.Widgets/TagEntry.cs      |    2 +-
 src/Clients/MainApp/FSpot.Widgets/TagView.cs       |    4 +-
 src/Clients/MainApp/FSpot/App.cs                   |    4 +-
 src/Clients/MainApp/FSpot/GroupAdaptor.cs          |    4 +-
 src/Clients/MainApp/FSpot/MainWindow.cs            |   16 ++--
 src/Clients/MainApp/FSpot/Photo.cs                 |    4 +-
 src/Clients/MainApp/FSpot/PhotoList.cs             |   26 ++++----
 src/Clients/MainApp/FSpot/PhotoLoader.cs           |    6 +-
 src/Clients/MainApp/FSpot/PhotoQuery.cs            |    8 +-
 src/Clients/MainApp/FSpot/PhotoStore.cs            |    4 +-
 src/Clients/MainApp/FSpot/PhotoVersion.cs          |    4 +-
 src/Clients/MainApp/FSpot/PrintOperation.cs        |    4 +-
 src/Clients/MainApp/FSpot/RotateCommand.cs         |   12 ++--
 src/Clients/MainApp/FSpot/SingleView.cs            |   10 ++--
 src/Clients/MainApp/FSpot/TimeAdaptor.cs           |    4 +-
 src/Clients/MainApp/FSpot/UriCollection.cs         |    4 +-
 src/Clients/MainApp/PhotoTagMenu.cs                |    4 +-
 src/Clients/MainApp/PhotoVersionMenu.cs            |    2 +-
 src/Clients/MainApp/ThumbnailCommand.cs            |    4 +-
 src/Core/FSpot.Core/FSpot.Core.csproj              |    2 +-
 .../FSpot.Core/BrowsableCollectionProxy.cs         |    8 +-
 src/Core/FSpot.Core/FSpot.Core/BrowsablePointer.cs |    4 +-
 .../FSpot.Core/BrowsablePointerChangedEventArgs.cs |    6 +-
 .../FSpot.Core/FSpot.Core/FileBrowsableItem.cs     |    2 +-
 .../FSpot.Core/FSpot.Core/IBrowsableCollection.cs  |    8 +-
 src/Core/FSpot.Core/FSpot.Core/IBrowsableItem.cs   |   69 --------------------
 .../FSpot.Core/IBrowsableItemComparer.cs           |    8 +-
 .../FSpot.Core/IBrowsableItemExtensions.cs         |    8 +-
 .../FSpot.Core/IBrowsableItemVersionable.cs        |    2 +-
 src/Core/FSpot.Core/FSpot.Core/IPhoto.cs           |   69 ++++++++++++++++++++
 src/Core/FSpot.Core/Makefile.am                    |    2 +-
 .../FSpot.Exporters.CD/CDExport.cs                 |    2 +-
 .../FSpot.Exporters.CD/CDExportDialog.cs           |    2 +-
 .../FSpot.Exporters.Facebook/FacebookExport.cs     |    4 +-
 .../FacebookExportDialog.cs                        |   10 ++--
 .../FSpot.Exporters.Flickr/FlickrExport.cs         |    6 +-
 .../FSpot.Exporters.Flickr/FlickrRemote.cs         |    2 +-
 .../FSpot.Exporters.Folder/FolderExport.cs         |    6 +-
 .../FSpot.Exporters.Gallery/GalleryExport.cs       |    6 +-
 .../FSpot.Exporters.Gallery/GalleryRemote.cs       |    4 +-
 .../FSpot.Exporters.PicasaWeb/PicasaWebExport.cs   |    6 +-
 .../FSpot.Exporters.SmugMug/SmugMugExport.cs       |    4 +-
 .../FSpot.Exporters.Tabblo/TabbloExport.cs         |    4 +-
 .../FSpot.Exporters.Tabblo/TabbloExportModel.cs    |    2 +-
 .../FSpot.Exporters.Zip/ZipExport.cs               |    2 +-
 .../ChangePhotoPathController.cs                   |    4 +-
 56 files changed, 228 insertions(+), 228 deletions(-)
---
diff --git a/src/Clients/MainApp/FSpot.Editors/Editor.cs b/src/Clients/MainApp/FSpot.Editors/Editor.cs
index 089641c..27de87e 100644
--- a/src/Clients/MainApp/FSpot.Editors/Editor.cs
+++ b/src/Clients/MainApp/FSpot.Editors/Editor.cs
@@ -37,7 +37,7 @@ namespace FSpot.Editors {
 		public Rectangle Selection;
 
 		// The images selected by the user.
-		public IBrowsableItem [] Items;
+		public IPhoto [] Items;
 
 		// The view, into which images are shown (null if we are in the browse view).
 		public PhotoImageView PhotoImageView;
diff --git a/src/Clients/MainApp/FSpot.Import/ImportController.cs b/src/Clients/MainApp/FSpot.Import/ImportController.cs
index 5d4fe2f..9960299 100644
--- a/src/Clients/MainApp/FSpot.Import/ImportController.cs
+++ b/src/Clients/MainApp/FSpot.Import/ImportController.cs
@@ -341,7 +341,7 @@ namespace FSpot.Import
             rolls.Remove (CreatedRoll);
         }
 
-        void ImportPhoto (IBrowsableItem item, Roll roll)
+        void ImportPhoto (IPhoto item, Roll roll)
         {
             var destination = FindImportDestination (item);
 
@@ -377,7 +377,7 @@ namespace FSpot.Import
             imported_photos.Add (photo.Id);
         }
 
-        void CopyIfNeeded (IBrowsableItem item, SafeUri destination)
+        void CopyIfNeeded (IPhoto item, SafeUri destination)
         {
             if (item.DefaultVersion.Uri.Equals (destination))
                 return;
@@ -402,7 +402,7 @@ namespace FSpot.Import
             }
         }
 
-        SafeUri FindImportDestination (IBrowsableItem item)
+        SafeUri FindImportDestination (IPhoto item)
         {
             var uri = item.DefaultVersion.Uri;
 
diff --git a/src/Clients/MainApp/FSpot.Import/MetadataImporter.cs b/src/Clients/MainApp/FSpot.Import/MetadataImporter.cs
index 027564e..f5d8fdc 100644
--- a/src/Clients/MainApp/FSpot.Import/MetadataImporter.cs
+++ b/src/Clients/MainApp/FSpot.Import/MetadataImporter.cs
@@ -83,7 +83,7 @@ namespace FSpot.Import {
             photo.AddTag (tag);
         }
 
-        public bool Import (Photo photo, IBrowsableItem importing_from)
+        public bool Import (Photo photo, IPhoto importing_from)
         {
             using (var metadata = Metadata.Parse (importing_from.DefaultVersion.Uri)) {
                 // Copy Rating
diff --git a/src/Clients/MainApp/FSpot.UI.Dialog/AdjustTimeDialog.cs b/src/Clients/MainApp/FSpot.UI.Dialog/AdjustTimeDialog.cs
index b9a363c..39c9cde 100644
--- a/src/Clients/MainApp/FSpot.UI.Dialog/AdjustTimeDialog.cs
+++ b/src/Clients/MainApp/FSpot.UI.Dialog/AdjustTimeDialog.cs
@@ -120,7 +120,7 @@ namespace FSpot.UI.Dialog {
 			//forward_button.Sensitive = (Item.Index < collection.Count - 1);
 
 			if (item.IsValid) {
-				IBrowsableItem curr_item = item.Current;
+				IPhoto curr_item = item.Current;
 
 				name_label.Text = System.Uri.UnescapeDataString(curr_item.Name);
 				old_label.Text = (curr_item.Time).ToString ();
diff --git a/src/Clients/MainApp/FSpot.UI.Dialog/EditExceptionDialog.cs b/src/Clients/MainApp/FSpot.UI.Dialog/EditExceptionDialog.cs
index cae04fc..9c7d941 100644
--- a/src/Clients/MainApp/FSpot.UI.Dialog/EditExceptionDialog.cs
+++ b/src/Clients/MainApp/FSpot.UI.Dialog/EditExceptionDialog.cs
@@ -18,13 +18,13 @@ namespace FSpot.UI.Dialog
 {
 	public class EditException : Exception
 	{
-		IBrowsableItem item;
+		IPhoto item;
 
-		public IBrowsableItem Item {
+		public IPhoto Item {
 			get { return item; }
 		}
 
-		public EditException (IBrowsableItem item, Exception e) : base (
+		public EditException (IPhoto item, Exception e) : base (
                         String.Format (Catalog.GetString ("Received exception \"{0}\". Unable to save photo {1}"),
 				       e.Message, item.Name), e)
 		{
@@ -45,7 +45,7 @@ namespace FSpot.UI.Dialog
 				Log.Exception (e);
 		}
 
-		public EditExceptionDialog (Gtk.Window parent, Exception e, IBrowsableItem item) : this (parent, new EditException (item, e))
+		public EditExceptionDialog (Gtk.Window parent, Exception e, IPhoto item) : this (parent, new EditException (item, e))
 		{
 		}
 
diff --git a/src/Clients/MainApp/FSpot.UI.Dialog/RepairDialog.cs b/src/Clients/MainApp/FSpot.UI.Dialog/RepairDialog.cs
index 1911497..9cbd41e 100644
--- a/src/Clients/MainApp/FSpot.UI.Dialog/RepairDialog.cs
+++ b/src/Clients/MainApp/FSpot.UI.Dialog/RepairDialog.cs
@@ -42,7 +42,7 @@ namespace FSpot. UI.Dialog
 			missing.Clear ();
 
 			for (i = 0; i < source.Count; i++) {
-				IBrowsableItem item = source [i];
+				IPhoto item = source [i];
 				string path = item.DefaultVersion.Uri.LocalPath;
 				if (! File.Exists (path) || (new FileInfo (path).Length == 0))
 					missing.Add (item);
diff --git a/src/Clients/MainApp/FSpot.Widgets/IconView.cs b/src/Clients/MainApp/FSpot.Widgets/IconView.cs
index 13e4862..8f30dda 100644
--- a/src/Clients/MainApp/FSpot.Widgets/IconView.cs
+++ b/src/Clients/MainApp/FSpot.Widgets/IconView.cs
@@ -305,8 +305,8 @@ namespace FSpot.Widgets
 			Hashtable selected_cells;
 			BitArray bit_array;
 			int [] selection;
-			IBrowsableItem [] items;
-			IBrowsableItem [] old;
+			IPhoto [] items;
+			IPhoto [] old;
 
 			public SelectionCollection (IBrowsableCollection collection)
 			{
@@ -319,7 +319,7 @@ namespace FSpot.Widgets
 
 			private void HandleParentChanged (IBrowsableCollection collection)
 			{
-				IBrowsableItem [] local = old;
+				IPhoto [] local = old;
 				selected_cells.Clear ();
 				bit_array = new BitArray (parent.Count);
 				ClearCached ();
@@ -394,20 +394,20 @@ namespace FSpot.Widgets
 				}
 			}
 
-			public IBrowsableItem this [int index] {
+			public IPhoto this [int index] {
 				get {
 					int [] ids = this.Ids;
 					return parent [ids[index]];
 				}
 			}
 
-			public IBrowsableItem [] Items {
+			public IPhoto [] Items {
 				get {
 					if (items != null)
 						return items;
 
 					int [] ids = this.Ids;
-					items = new IBrowsableItem [ids.Length];
+					items = new IPhoto [ids.Length];
 					for (int i = 0; i < items.Length; i++) {
 						items [i] = parent [ids[i]];
 					}
@@ -428,7 +428,7 @@ namespace FSpot.Widgets
 				SignalChange (ids);
 			}
 
-			public void Add (IBrowsableItem item)
+			public void Add (IPhoto item)
 			{
 				if (this.Contains (item))
 					return;
@@ -443,7 +443,7 @@ namespace FSpot.Widgets
 				}
 			}
 
-			public bool Contains (IBrowsableItem item)
+			public bool Contains (IPhoto item)
 			{
 				return selected_cells.ContainsKey (item);
 			}
@@ -469,7 +469,7 @@ namespace FSpot.Widgets
 				if (this.Contains (num))
 					return;
 
-				IBrowsableItem item = parent [num];
+				IPhoto item = parent [num];
 				selected_cells [item] = num;
 				bit_array.Set (num, true);
 
@@ -498,13 +498,13 @@ namespace FSpot.Widgets
 
 			public void Remove (int cell, bool notify)
 			{
-				IBrowsableItem item = parent [cell];
+				IPhoto item = parent [cell];
 				if (item != null)
 					this.Remove (item, notify);
 
 			}
 
-			public void Remove (IBrowsableItem item)
+			public void Remove (IPhoto item)
 			{
 				Remove (item, true);
 			}
@@ -514,7 +514,7 @@ namespace FSpot.Widgets
 				Remove (cell, true);
 			}
 
-			private void Remove (IBrowsableItem item, bool notify)
+			private void Remove (IPhoto item, bool notify)
 			{
 				if (item == null)
 					return;
@@ -552,7 +552,7 @@ namespace FSpot.Widgets
 				return System.Array.IndexOf (this.Ids, parent_index);
 			}
 
-			public int IndexOf (IBrowsableItem item)
+			public int IndexOf (IPhoto item)
 			{
 				if (!this.Contains (item))
 					return -1;
@@ -635,7 +635,7 @@ namespace FSpot.Widgets
 		// Updating.
 		public void UpdateThumbnail (int thumbnail_num)
 		{
-			IBrowsableItem photo = collection [thumbnail_num];
+			IPhoto photo = collection [thumbnail_num];
 			cache.Remove (photo.DefaultVersion.Uri);
 			InvalidateCell (thumbnail_num);
 		}
@@ -849,7 +849,7 @@ namespace FSpot.Widgets
 			if (!bounds.Intersect (area, out area))
 				return;
 
-			IBrowsableItem photo = collection [thumbnail_num];
+			IPhoto photo = collection [thumbnail_num];
 
 			FSpot.PixbufCache.CacheEntry entry = cache.Lookup (photo.DefaultVersion.Uri);
 			if (entry == null)
@@ -1257,7 +1257,7 @@ namespace FSpot.Widgets
 
 			int i;
 
-			IBrowsableItem photo;
+			IPhoto photo;
 			FSpot.PixbufCache.CacheEntry entry;
 
 			// Preload the cache with images aroud the expose area
diff --git a/src/Clients/MainApp/FSpot.Widgets/InfoBox.cs b/src/Clients/MainApp/FSpot.Widgets/InfoBox.cs
index 28e4114..60311d4 100644
--- a/src/Clients/MainApp/FSpot.Widgets/InfoBox.cs
+++ b/src/Clients/MainApp/FSpot.Widgets/InfoBox.cs
@@ -33,8 +33,8 @@ namespace FSpot.Widgets
 	public class InfoBox : VBox {
 		Delay update_delay;
 
-		private IBrowsableItem [] photos = new IBrowsableItem [0];
-		public IBrowsableItem [] Photos {
+		private IPhoto [] photos = new IPhoto [0];
+		public IPhoto [] Photos {
 			set {
 				photos = value;
 				update_delay.Start ();
@@ -44,10 +44,10 @@ namespace FSpot.Widgets
 			}
 		}
 
-		public IBrowsableItem Photo {
+		public IPhoto Photo {
 			set {
 				if (value != null) {
-					Photos = new IBrowsableItem [] { value };
+					Photos = new IPhoto [] { value };
 				}
 			}
 		}
@@ -396,7 +396,7 @@ namespace FSpot.Widgets
 		{
 			ImageInfo info;
 
-			IBrowsableItem photo = Photos [0];
+			IPhoto photo = Photos [0];
 
 			histogram_expander.Visible = true;
 			UpdateHistogram ();
@@ -543,8 +543,8 @@ namespace FSpot.Widgets
 			camera_value_label.Visible = false;
 
 			if (show_date) {
-				IBrowsableItem first = Photos[Photos.Length-1];
-				IBrowsableItem last = Photos [0];
+				IPhoto first = Photos[Photos.Length-1];
+				IPhoto last = Photos [0];
 				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}"),
@@ -562,7 +562,7 @@ namespace FSpot.Widgets
 
 			if (show_file_size) {
 				long file_size = 0;
-				foreach (IBrowsableItem photo in Photos) {
+				foreach (IPhoto photo in Photos) {
 
 					try {
 						GFile file = FileFactory.NewForUri (photo.DefaultVersion.Uri);
@@ -608,7 +608,7 @@ namespace FSpot.Widgets
 			if (Photos.Length == 0)
 				return false;
 
-			IBrowsableItem photo = Photos [0];
+			IPhoto photo = Photos [0];
 
 			Gdk.Pixbuf hint = histogram_hint;
 			histogram_hint = null;
diff --git a/src/Clients/MainApp/FSpot.Widgets/MetadataDisplay.cs b/src/Clients/MainApp/FSpot.Widgets/MetadataDisplay.cs
index 766585e..13a9f5b 100644
--- a/src/Clients/MainApp/FSpot.Widgets/MetadataDisplay.cs
+++ b/src/Clients/MainApp/FSpot.Widgets/MetadataDisplay.cs
@@ -116,8 +116,8 @@ namespace FSpot.Widgets {
 			update_delay.Start ();
 		}
 
-		private IBrowsableItem photo;
-		public IBrowsableItem Photo {
+		private IPhoto photo;
+		public IPhoto Photo {
 			get { return photo; }
 			set {
 				photo = value;
diff --git a/src/Clients/MainApp/FSpot.Widgets/PreviewPopup.cs b/src/Clients/MainApp/FSpot.Widgets/PreviewPopup.cs
index cdecb66..94161e7 100644
--- a/src/Clients/MainApp/FSpot.Widgets/PreviewPopup.cs
+++ b/src/Clients/MainApp/FSpot.Widgets/PreviewPopup.cs
@@ -103,7 +103,7 @@ namespace FSpot {
 
 		private void UpdateImage ()
 		{
-			IBrowsableItem item = view.Collection [Item];
+			IPhoto item = view.Collection [Item];
 
 			string orig_path = item.DefaultVersion.Uri.LocalPath;
 
diff --git a/src/Clients/MainApp/FSpot.Widgets/TagEntry.cs b/src/Clients/MainApp/FSpot.Widgets/TagEntry.cs
index 3fffe1b..b38e5e3 100644
--- a/src/Clients/MainApp/FSpot.Widgets/TagEntry.cs
+++ b/src/Clients/MainApp/FSpot.Widgets/TagEntry.cs
@@ -43,7 +43,7 @@ namespace FSpot.Widgets {
 		}
 
 		ArrayList selected_photos_tagnames;
-		public void UpdateFromSelection (IBrowsableItem [] sel)
+		public void UpdateFromSelection (IPhoto [] sel)
 		{
 			Hashtable taghash = new Hashtable ();
 
diff --git a/src/Clients/MainApp/FSpot.Widgets/TagView.cs b/src/Clients/MainApp/FSpot.Widgets/TagView.cs
index 557ac3b..6bc21c3 100644
--- a/src/Clients/MainApp/FSpot.Widgets/TagView.cs
+++ b/src/Clients/MainApp/FSpot.Widgets/TagView.cs
@@ -16,7 +16,7 @@ using FSpot.Core;
 namespace FSpot.Widgets {
 public class TagView : EventBox {
 	private int thumbnail_size = 20;
-	private IBrowsableItem photo;
+	private IPhoto photo;
 	private Tag [] tags;
 	private static int TAG_ICON_VSPACING = 5;
 
@@ -37,7 +37,7 @@ public class TagView : EventBox {
 		VisibleWindow = false;
 	}
 
-	public IBrowsableItem Current {
+	public IPhoto Current {
 		set {
 			photo = value;
 
diff --git a/src/Clients/MainApp/FSpot/App.cs b/src/Clients/MainApp/FSpot/App.cs
index b966261..17115cb 100644
--- a/src/Clients/MainApp/FSpot/App.cs
+++ b/src/Clients/MainApp/FSpot/App.cs
@@ -253,13 +253,13 @@ namespace FSpot
 			else
 				tag = Database.Tags.GetTagById (Preferences.Get<int> (Preferences.SCREENSAVER_TAG));
 
-			IBrowsableItem[] photos;
+			IPhoto[] photos;
 			if (tag != null)
 				photos = Database.Photos.Query (new Tag[] {tag});
 			else if (Preferences.Get<int> (Preferences.SCREENSAVER_TAG) == 0)
 				photos = Database.Photos.Query (new Tag [] {});
 			else
-				photos = new IBrowsableItem [0];
+				photos = new IPhoto [0];
 
 			// Minimum delay 1 second; default is 4s
 			var delay = Math.Max (1.0, Preferences.Get<double> (Preferences.SCREENSAVER_DELAY));
diff --git a/src/Clients/MainApp/FSpot/GroupAdaptor.cs b/src/Clients/MainApp/FSpot/GroupAdaptor.cs
index 2d8fa17..94017d9 100644
--- a/src/Clients/MainApp/FSpot/GroupAdaptor.cs
+++ b/src/Clients/MainApp/FSpot/GroupAdaptor.cs
@@ -35,8 +35,8 @@ namespace FSpot {
 		protected abstract void Reload ();
 
 		public abstract void SetGlass (int item);
-		public abstract int IndexFromPhoto (IBrowsableItem photo);
-		public abstract IBrowsableItem PhotoFromIndex (int item);
+		public abstract int IndexFromPhoto (IPhoto photo);
+		public abstract IPhoto PhotoFromIndex (int item);
 
 		public delegate void GlassSetHandler (GroupAdaptor adaptor, int index);
 		public virtual event GlassSetHandler GlassSet;
diff --git a/src/Clients/MainApp/FSpot/MainWindow.cs b/src/Clients/MainApp/FSpot/MainWindow.cs
index 61ddbd1..560f10c 100644
--- a/src/Clients/MainApp/FSpot/MainWindow.cs
+++ b/src/Clients/MainApp/FSpot/MainWindow.cs
@@ -735,7 +735,7 @@ namespace FSpot
 				}
 			}
 
-			public int IndexOf (IBrowsableItem item)
+			public int IndexOf (IPhoto item)
 			{
 				switch (win.ViewMode) {
 				case ModeType.PhotoView:
@@ -746,7 +746,7 @@ namespace FSpot
 				return -1;
 			}
 
-			public bool Contains (IBrowsableItem item)
+			public bool Contains (IPhoto item)
 			{
 				switch (win.ViewMode) {
 				case ModeType.PhotoView:
@@ -768,7 +768,7 @@ namespace FSpot
 				throw new System.NotImplementedException ("I didn't think you'd find me");
 			}
 
-			public IBrowsableItem this [int index] {
+			public IPhoto this [int index] {
 				get {
 					switch (win.ViewMode) {
 					case ModeType.PhotoView:
@@ -782,18 +782,18 @@ namespace FSpot
 				}
 			}
 
-			public IBrowsableItem [] Items {
+			public IPhoto [] Items {
 				get {
 					switch (win.ViewMode) {
 					case ModeType.PhotoView:
 						if (win.photo_view.Item.IsValid)
-							return new IBrowsableItem [] {win.photo_view.Item.Current};
+							return new IPhoto [] {win.photo_view.Item.Current};
 
 						break;
 					case ModeType.IconView:
 						return win.icon_view.Selection.Items;
 					}
-					return new IBrowsableItem [0];
+					return new IPhoto [0];
 				}
 			}
 
@@ -993,7 +993,7 @@ namespace FSpot
 			if (cell_num == -1 /*|| cell_num == lastTopLeftCell*/)
 				return;
 
-			IBrowsableItem photo = icon_view.Collection [cell_num];
+			IPhoto photo = icon_view.Collection [cell_num];
 			/*
 			 * FIXME this is a lame hack to get around a delegate chain.  This should
 			 * actually operate directly on the adaptor not on the selector but I don't have
@@ -2447,7 +2447,7 @@ namespace FSpot
 					// If the database has changed since this pref was saved, this could cause
 					// an exception to be thrown.
 					try {
-						IBrowsableItem photo = group_selector.Adaptor.PhotoFromIndex (Preferences.Get<int> (key));
+						IPhoto photo = group_selector.Adaptor.PhotoFromIndex (Preferences.Get<int> (key));
 
 						if (photo != null)
 							JumpTo (query.IndexOf (photo));
diff --git a/src/Clients/MainApp/FSpot/Photo.cs b/src/Clients/MainApp/FSpot/Photo.cs
index 489d166..3b39279 100644
--- a/src/Clients/MainApp/FSpot/Photo.cs
+++ b/src/Clients/MainApp/FSpot/Photo.cs
@@ -26,7 +26,7 @@ using FSpot.Imaging;
 
 namespace FSpot
 {
-	public class Photo : DbItem, IComparable, IBrowsableItem, IBrowsableItemVersionable {
+	public class Photo : DbItem, IComparable, IPhoto, IBrowsableItemVersionable {
 
 		PhotoChanges changes = new PhotoChanges ();
 		public PhotoChanges Changes {
@@ -587,7 +587,7 @@ namespace FSpot
 			if (result == 0)
 				return 0;
 			else
-				return (this as IBrowsableItem).Compare (photo);
+				return (this as IPhoto).Compare (photo);
 		}
 
 #endregion
diff --git a/src/Clients/MainApp/FSpot/PhotoList.cs b/src/Clients/MainApp/FSpot/PhotoList.cs
index 7f104cc..d9f7792 100644
--- a/src/Clients/MainApp/FSpot/PhotoList.cs
+++ b/src/Clients/MainApp/FSpot/PhotoList.cs
@@ -13,17 +13,17 @@ using FSpot.Core;
 
 namespace FSpot {
 	public class PhotoList : IBrowsableCollection {
-		protected List<IBrowsableItem> list;
-		IBrowsableItem [] cache;
+		protected List<IPhoto> list;
+		IPhoto [] cache;
 
-		public PhotoList (IBrowsableItem [] photos)
+		public PhotoList (IPhoto [] photos)
 		{
-			list = new List<IBrowsableItem> (photos);
+			list = new List<IPhoto> (photos);
 		}
 
 		public PhotoList ()
 		{
-			list = new List<IBrowsableItem> ();
+			list = new List<IPhoto> ();
 		}
 
 		public int Count {
@@ -40,35 +40,35 @@ namespace FSpot {
 			set { list.Capacity = value; }
 		}
 
-		public void AddAll (List<IBrowsableItem> photos)
+		public void AddAll (List<IPhoto> photos)
 		{
 			list = photos;
 			Reload ();
 		}
 
-		public void Add (IBrowsableItem photo)
+		public void Add (IPhoto photo)
 		{
 			list.Add (photo);
 			Reload ();
 		}
 
-		public void Add (IBrowsableItem [] items)
+		public void Add (IPhoto [] items)
 		{
 			list.AddRange (items);
 			Reload ();
 		}
 
-		public int IndexOf (IBrowsableItem item)
+		public int IndexOf (IPhoto item)
 		{
 			return list.IndexOf (item);
 		}
 
-		public bool Contains (IBrowsableItem item)
+		public bool Contains (IPhoto item)
 		{
 			return list.Contains (item);
 		}
 
-		public IBrowsableItem this [int index] {
+		public IPhoto this [int index] {
 			get { return list [index]; }
 			set {
 				list [index] = value;
@@ -76,7 +76,7 @@ namespace FSpot {
 			}
 		}
 
-		public void Sort (IComparer<IBrowsableItem> compare)
+		public void Sort (IComparer<IPhoto> compare)
 		{
 			list.Sort (compare);
 			Reload ();
@@ -100,7 +100,7 @@ namespace FSpot {
 				ItemsChanged (this, args);
 		}
 
-		public IBrowsableItem [] Items {
+		public IPhoto [] Items {
 			get {
 				if (cache == null)
 					cache = list.ToArray ();
diff --git a/src/Clients/MainApp/FSpot/PhotoLoader.cs b/src/Clients/MainApp/FSpot/PhotoLoader.cs
index 96de303..543f6a1 100644
--- a/src/Clients/MainApp/FSpot/PhotoLoader.cs
+++ b/src/Clients/MainApp/FSpot/PhotoLoader.cs
@@ -16,11 +16,11 @@ namespace FSpot {
 
 		static public Gdk.Pixbuf Load (IBrowsableCollection collection, int index)
 		{
-			IBrowsableItem item = collection [index];
+			IPhoto item = collection [index];
 			return Load (item);
 		}
 
-		static public Gdk.Pixbuf Load (IBrowsableItem item)
+		static public Gdk.Pixbuf Load (IPhoto item)
 		{
 			using (var img = ImageFile.Create (item.DefaultVersion.Uri)) {
 				Gdk.Pixbuf pixbuf = img.Load ();
@@ -28,7 +28,7 @@ namespace FSpot {
 			}
 		}
 
-		static public Gdk.Pixbuf LoadAtMaxSize (IBrowsableItem item, int width, int height)
+		static public Gdk.Pixbuf LoadAtMaxSize (IPhoto item, int width, int height)
 		{
 			using (var img = ImageFile.Create (item.DefaultVersion.Uri)) {
 				Gdk.Pixbuf pixbuf = img.Load (width, height);
diff --git a/src/Clients/MainApp/FSpot/PhotoQuery.cs b/src/Clients/MainApp/FSpot/PhotoQuery.cs
index c9dfbf7..7e19210 100644
--- a/src/Clients/MainApp/FSpot/PhotoQuery.cs
+++ b/src/Clients/MainApp/FSpot/PhotoQuery.cs
@@ -96,7 +96,7 @@ namespace FSpot {
 			}
 		}
 
-		public bool Contains (IBrowsableItem item) {
+		public bool Contains (IPhoto item) {
 			return IndexOf (item) >= 0;
 		}
 
@@ -104,7 +104,7 @@ namespace FSpot {
 		public event IBrowsableCollectionChangedHandler Changed;
 		public event IBrowsableCollectionItemsChangedHandler ItemsChanged;
 
-		public IBrowsableItem this [int index] {
+		public IPhoto this [int index] {
 			get { return cache.Get (index); }
 		}
 
@@ -114,7 +114,7 @@ namespace FSpot {
 		}
 
 		[Obsolete ("DO NOT USE Items on PhotoQuery")]
-		public IBrowsableItem [] Items {
+		public IPhoto [] Items {
 			get { throw new NotImplementedException (); }
 		}
 
@@ -283,7 +283,7 @@ namespace FSpot {
 			Log.DebugTimerPrint (timer, "Reloading the query took {0}");
 		}
 
-		public int IndexOf (IBrowsableItem photo)
+		public int IndexOf (IPhoto photo)
 		{
 			if (photo == null || !(photo is Photo))
 				return -1;
diff --git a/src/Clients/MainApp/FSpot/PhotoStore.cs b/src/Clients/MainApp/FSpot/PhotoStore.cs
index 29539c3..f604c20 100644
--- a/src/Clients/MainApp/FSpot/PhotoStore.cs
+++ b/src/Clients/MainApp/FSpot/PhotoStore.cs
@@ -102,7 +102,7 @@ public class PhotoStore : DbStore<Photo> {
 		Database.Execute ("CREATE INDEX idx_photos_roll_id ON photos(roll_id)");
 	}
 
-	public bool HasDuplicate (IBrowsableItem item) {
+	public bool HasDuplicate (IPhoto item) {
 		var uri = item.DefaultVersion.Uri;
 
 		// Check if the exact given uri already exists.
@@ -155,7 +155,7 @@ public class PhotoStore : DbStore<Photo> {
 		return false;
 	}
 
-	public Photo CreateFrom (IBrowsableItem item, uint roll_id)
+	public Photo CreateFrom (IPhoto item, uint roll_id)
 	{
 		Photo photo;
 
diff --git a/src/Clients/MainApp/FSpot/PhotoVersion.cs b/src/Clients/MainApp/FSpot/PhotoVersion.cs
index 478bef2..21d6d4a 100644
--- a/src/Clients/MainApp/FSpot/PhotoVersion.cs
+++ b/src/Clients/MainApp/FSpot/PhotoVersion.cs
@@ -18,7 +18,7 @@ namespace FSpot
     public class PhotoVersion : IBrowsableItemVersion
     {
         public string Name { get; set; }
-        public IBrowsableItem Photo { get; private set; }
+        public IPhoto Photo { get; private set; }
         public SafeUri BaseUri { get; set; }
         public string Filename { get; set; }
         public SafeUri Uri {
@@ -32,7 +32,7 @@ namespace FSpot
         public uint VersionId { get; private set; }
         public bool IsProtected { get; private set; }
 
-        public PhotoVersion (IBrowsableItem photo, uint version_id, SafeUri base_uri, string filename, string md5_sum, string name, bool is_protected)
+        public PhotoVersion (IPhoto photo, uint version_id, SafeUri base_uri, string filename, string md5_sum, string name, bool is_protected)
         {
             Photo = photo;
             VersionId = version_id;
diff --git a/src/Clients/MainApp/FSpot/PrintOperation.cs b/src/Clients/MainApp/FSpot/PrintOperation.cs
index 16bf54f..61b4357 100644
--- a/src/Clients/MainApp/FSpot/PrintOperation.cs
+++ b/src/Clients/MainApp/FSpot/PrintOperation.cs
@@ -21,14 +21,14 @@ namespace FSpot
 {
 	public class PrintOperation : Gtk.PrintOperation
 	{
-		IBrowsableItem [] selected_photos;
+		IPhoto [] selected_photos;
 		int photos_per_page = 1;
 		CustomPrintWidget.FitMode fit = CustomPrintWidget.FitMode.Scaled;
 		bool repeat, white_borders, crop_marks;
 		string print_label_format;
 		string comment;
 
-		public PrintOperation (IBrowsableItem [] selected_photos) : base ()
+		public PrintOperation (IPhoto [] selected_photos) : base ()
 		{
 			this.selected_photos = selected_photos;
 			CustomTabLabel = Catalog.GetString ("Image Settings");
diff --git a/src/Clients/MainApp/FSpot/RotateCommand.cs b/src/Clients/MainApp/FSpot/RotateCommand.cs
index a6e5830..edad894 100644
--- a/src/Clients/MainApp/FSpot/RotateCommand.cs
+++ b/src/Clients/MainApp/FSpot/RotateCommand.cs
@@ -47,11 +47,11 @@ namespace FSpot {
 	}
 
 	public class RotateOperation {
-		IBrowsableItem item;
+		IPhoto item;
 		RotateDirection direction;
 		bool done;
 
-		public RotateOperation (IBrowsableItem item, RotateDirection direction)
+		public RotateOperation (IPhoto item, RotateDirection direction)
 		{
 			this.item = item;
 			this.direction = direction;
@@ -102,7 +102,7 @@ namespace FSpot {
 
 	public class RotateMultiple {
 		RotateDirection direction;
-		IBrowsableItem [] items;
+		IPhoto [] items;
 		int index;
 		RotateOperation op;
 
@@ -110,11 +110,11 @@ namespace FSpot {
 			get { return index; }
 		}
 
-		public IBrowsableItem [] Items {
+		public IPhoto [] Items {
 			get { return items; }
 		}
 
-		public RotateMultiple (IBrowsableItem [] items, RotateDirection direction)
+		public RotateMultiple (IPhoto [] items, RotateDirection direction)
 		{
 			this.direction = direction;
 			this.items = items;
@@ -149,7 +149,7 @@ public class RotateCommand {
 		this.parent_window = parent_window;
 	}
 
-	public bool Execute (RotateDirection direction, IBrowsableItem [] items)
+	public bool Execute (RotateDirection direction, IPhoto [] items)
 	{
 		ProgressDialog progress_dialog = null;
 
diff --git a/src/Clients/MainApp/FSpot/SingleView.cs b/src/Clients/MainApp/FSpot/SingleView.cs
index 2c290d3..9f21414 100644
--- a/src/Clients/MainApp/FSpot/SingleView.cs
+++ b/src/Clients/MainApp/FSpot/SingleView.cs
@@ -158,7 +158,7 @@ namespace FSpot {
 					BrowsablePointer pointer = sender as BrowsablePointer;
 					if (pointer == null)
 						return;
-					IBrowsableItem [] item = {pointer.Current};
+					IPhoto [] item = {pointer.Current};
 					sidebar.HandleSelectionChanged (new PhotoList (item));
 			};
 
@@ -237,14 +237,14 @@ namespace FSpot {
 		void HandleRotate90Command (object sender, System.EventArgs args)
 		{
 			RotateCommand command = new RotateCommand (this.Window);
-			if (command.Execute (RotateDirection.Clockwise, new IBrowsableItem [] { image_view.Item.Current }))
+			if (command.Execute (RotateDirection.Clockwise, new IPhoto [] { image_view.Item.Current }))
 				collection.MarkChanged (image_view.Item.Index, FullInvalidate.Instance);
 		}
 
 		void HandleRotate270Command (object sender, System.EventArgs args)
 		{
 			RotateCommand command = new RotateCommand (this.Window);
-			if (command.Execute (RotateDirection.Counterclockwise, new IBrowsableItem [] { image_view.Item.Current }))
+			if (command.Execute (RotateDirection.Counterclockwise, new IPhoto [] { image_view.Item.Current }))
 				collection.MarkChanged (image_view.Item.Index, FullInvalidate.Instance);
 		}
 
@@ -275,7 +275,7 @@ namespace FSpot {
 
 		void HandleSetAsBackgroundCommand (object sender, EventArgs args)
 		{
-			IBrowsableItem current = image_view.Item.Current;
+			IPhoto current = image_view.Item.Current;
 
 			if (current == null)
 				return;
@@ -459,7 +459,7 @@ namespace FSpot {
 
 		private void UpdateStatusLabel ()
 		{
-			IBrowsableItem item = image_view.Item.Current;
+			IPhoto item = image_view.Item.Current;
 			System.Text.StringBuilder sb = new System.Text.StringBuilder();
 			if (filenames_item.Active && item != null)
 				sb.Append (System.IO.Path.GetFileName (item.DefaultVersion.Uri.LocalPath) + "  -  ");
diff --git a/src/Clients/MainApp/FSpot/TimeAdaptor.cs b/src/Clients/MainApp/FSpot/TimeAdaptor.cs
index 5cedb38..236d3af 100644
--- a/src/Clients/MainApp/FSpot/TimeAdaptor.cs
+++ b/src/Clients/MainApp/FSpot/TimeAdaptor.cs
@@ -102,7 +102,7 @@ namespace FSpot {
 			return new DateTime (year, month, DateTime.DaysInMonth (year, month)).AddDays (1.0).AddMilliseconds (-.1);
 		}
 
-		public override int IndexFromPhoto (IBrowsableItem photo)
+		public override int IndexFromPhoto (IPhoto photo)
 		{
 			if (order_ascending)
 			       return IndexFromDateAscending (photo.Time);
@@ -146,7 +146,7 @@ namespace FSpot {
 			return 12 * (endyear - year) + 12 - date.Month;
 		}
 
-		public override IBrowsableItem PhotoFromIndex (int item)
+		public override IPhoto PhotoFromIndex (int item)
 		{
 			DateTime start = DateFromIndex (item);
 			return query [query.LookupItem (start)];
diff --git a/src/Clients/MainApp/FSpot/UriCollection.cs b/src/Clients/MainApp/FSpot/UriCollection.cs
index 96556d5..ff09ed7 100644
--- a/src/Clients/MainApp/FSpot/UriCollection.cs
+++ b/src/Clients/MainApp/FSpot/UriCollection.cs
@@ -25,7 +25,7 @@ using FSpot.Imaging;
 
 namespace FSpot {
 	public class UriCollection : PhotoList {
-		public UriCollection () : base (new IBrowsableItem [0])
+		public UriCollection () : base (new IPhoto [0])
 		{
 		}
 
@@ -142,7 +142,7 @@ namespace FSpot {
 
 		protected void LoadItems (System.IO.FileInfo [] files)
 		{
-			List<IBrowsableItem> items = new List<IBrowsableItem> ();
+			List<IPhoto> items = new List<IPhoto> ();
 			foreach (var f in files) {
 				if (ImageFile.HasLoader (new SafeUri (f.FullName))) {
 					Hyena.Log.Debug (f.FullName);
diff --git a/src/Clients/MainApp/PhotoTagMenu.cs b/src/Clients/MainApp/PhotoTagMenu.cs
index 77d6fac..baa0d9e 100644
--- a/src/Clients/MainApp/PhotoTagMenu.cs
+++ b/src/Clients/MainApp/PhotoTagMenu.cs
@@ -41,10 +41,10 @@ public class PhotoTagMenu : Menu {
 
 	protected PhotoTagMenu (IntPtr raw) : base (raw) {}
 
-	public void Populate (IBrowsableItem [] photos) {
+	public void Populate (IPhoto [] photos) {
 		Hashtable hash = new Hashtable ();
 		if (photos != null) {
-			foreach (IBrowsableItem p in photos) {
+			foreach (IPhoto p in photos) {
 				foreach (Tag t in p.Tags) {
 					if (!hash.Contains (t.Id)) {
 						hash.Add (t.Id, t);
diff --git a/src/Clients/MainApp/PhotoVersionMenu.cs b/src/Clients/MainApp/PhotoVersionMenu.cs
index bf9cd11..44b10c7 100644
--- a/src/Clients/MainApp/PhotoVersionMenu.cs
+++ b/src/Clients/MainApp/PhotoVersionMenu.cs
@@ -29,7 +29,7 @@ public class PhotoVersionMenu : Menu {
 		}
 	}
 
-	public PhotoVersionMenu (IBrowsableItem photo)
+	public PhotoVersionMenu (IPhoto photo)
 	{
 		Version = photo.DefaultVersion;
 
diff --git a/src/Clients/MainApp/ThumbnailCommand.cs b/src/Clients/MainApp/ThumbnailCommand.cs
index 2351fd0..f3cf4cc 100644
--- a/src/Clients/MainApp/ThumbnailCommand.cs
+++ b/src/Clients/MainApp/ThumbnailCommand.cs
@@ -14,7 +14,7 @@ public class ThumbnailCommand {
 		this.parent_window = parent_window;
 	}
 
-	public bool Execute (IBrowsableItem [] photos)
+	public bool Execute (IPhoto [] photos)
 	{
 		ProgressDialog progress_dialog = null;
         var loader = ThumbnailLoader.Default;
@@ -25,7 +25,7 @@ public class ThumbnailCommand {
 		}
 
 		int count = 0;
-		foreach (IBrowsableItem photo in photos) {
+		foreach (IPhoto photo in photos) {
 			if (progress_dialog != null
 			    && progress_dialog.Update (String.Format (Mono.Unix.Catalog.GetString ("Updating picture \"{0}\""), photo.Name)))
 				break;
diff --git a/src/Core/FSpot.Core/FSpot.Core.csproj b/src/Core/FSpot.Core/FSpot.Core.csproj
index b3555f7..c8bfaa0 100644
--- a/src/Core/FSpot.Core/FSpot.Core.csproj
+++ b/src/Core/FSpot.Core/FSpot.Core.csproj
@@ -32,7 +32,6 @@
     <Compile Include="FSpot.Core\Tag.cs" />
     <Compile Include="FSpot.Core\Global.cs" />
     <Compile Include="FSpot.Core\FileBrowsableItem.cs" />
-    <Compile Include="FSpot.Core\IBrowsableItem.cs" />
     <Compile Include="FSpot.Core\IBrowsableItemChanges.cs" />
     <Compile Include="FSpot.Core\IBrowsableItemComparer.cs" />
     <Compile Include="FSpot.Core\IBrowsableItemExtensions.cs" />
@@ -44,6 +43,7 @@
     <Compile Include="FSpot.Core\PhotosChanges.cs" />
     <Compile Include="FSpot.Core\Roll.cs" />
     <Compile Include="FSpot.Core\Defines.cs" />
+    <Compile Include="FSpot.Core\IPhoto.cs" />
   </ItemGroup>
   <ProjectExtensions>
     <MonoDevelop>
diff --git a/src/Core/FSpot.Core/FSpot.Core/BrowsableCollectionProxy.cs b/src/Core/FSpot.Core/FSpot.Core/BrowsableCollectionProxy.cs
index 7a818cc..baf753f 100644
--- a/src/Core/FSpot.Core/FSpot.Core/BrowsableCollectionProxy.cs
+++ b/src/Core/FSpot.Core/FSpot.Core/BrowsableCollectionProxy.cs
@@ -40,21 +40,21 @@ namespace FSpot.Core {
             get { return collection != null ? collection.Count : 0; }
         }
 
-        public int IndexOf (IBrowsableItem item)
+        public int IndexOf (IPhoto item)
         {
             if (collection == null)
                 return -1;
             return collection.IndexOf (item);
         }
 
-        public bool Contains (IBrowsableItem item)
+        public bool Contains (IPhoto item)
         {
             if (collection == null)
                 return false;
             return collection.Contains (item);
         }
 
-        public IBrowsableItem this [int index] {
+        public IPhoto this [int index] {
             get {
                 if (collection == null)
                     throw new System.IndexOutOfRangeException ();
@@ -68,7 +68,7 @@ namespace FSpot.Core {
                 collection.MarkChanged (num, changes);
         }
 
-        public IBrowsableItem [] Items {
+        public IPhoto [] Items {
             get {
                 return collection.Items;
             }
diff --git a/src/Core/FSpot.Core/FSpot.Core/BrowsablePointer.cs b/src/Core/FSpot.Core/FSpot.Core/BrowsablePointer.cs
index 768d26b..385af3e 100644
--- a/src/Core/FSpot.Core/FSpot.Core/BrowsablePointer.cs
+++ b/src/Core/FSpot.Core/FSpot.Core/BrowsablePointer.cs
@@ -13,7 +13,7 @@ namespace FSpot.Core
 
 	public class BrowsablePointer {
 		IBrowsableCollection collection;
-		IBrowsableItem item;
+		IPhoto item;
 		int index;
 		public event EventHandler<BrowsablePointerChangedEventArgs> Changed;
 
@@ -34,7 +34,7 @@ namespace FSpot.Core
 			get { return collection; }
 		}
 
-		public IBrowsableItem Current {
+		public IPhoto Current {
 			get {
 				if (!this.IsValid)
 					return null;
diff --git a/src/Core/FSpot.Core/FSpot.Core/BrowsablePointerChangedEventArgs.cs b/src/Core/FSpot.Core/FSpot.Core/BrowsablePointerChangedEventArgs.cs
index 053df03..f712eb0 100644
--- a/src/Core/FSpot.Core/FSpot.Core/BrowsablePointerChangedEventArgs.cs
+++ b/src/Core/FSpot.Core/FSpot.Core/BrowsablePointerChangedEventArgs.cs
@@ -11,8 +11,8 @@ namespace FSpot.Core
 {
 	public class BrowsablePointerChangedEventArgs : System.EventArgs
 	{
-		IBrowsableItem previous_item;
-		public IBrowsableItem PreviousItem {
+		IPhoto previous_item;
+		public IPhoto PreviousItem {
 			get { return previous_item; }
 		}
 
@@ -26,7 +26,7 @@ namespace FSpot.Core
 			get { return changes; }
 		}
 
-		public BrowsablePointerChangedEventArgs (IBrowsableItem previous_item, int previous_index, IBrowsableItemChanges changes) : base ()
+		public BrowsablePointerChangedEventArgs (IPhoto previous_item, int previous_index, IBrowsableItemChanges changes) : base ()
 		{
 			this.previous_item = previous_item;
 			this.previous_index = previous_index;
diff --git a/src/Core/FSpot.Core/FSpot.Core/FileBrowsableItem.cs b/src/Core/FSpot.Core/FSpot.Core/FileBrowsableItem.cs
index 9a13619..d0acfb0 100644
--- a/src/Core/FSpot.Core/FSpot.Core/FileBrowsableItem.cs
+++ b/src/Core/FSpot.Core/FSpot.Core/FileBrowsableItem.cs
@@ -20,7 +20,7 @@ using FSpot.Utils;
 using Mono.Unix.Native;
 
 namespace FSpot.Core {
-    public class FileBrowsableItem : IBrowsableItem
+    public class FileBrowsableItem : IPhoto
     {
         bool metadata_parsed = false;
 
diff --git a/src/Core/FSpot.Core/FSpot.Core/IBrowsableCollection.cs b/src/Core/FSpot.Core/FSpot.Core/IBrowsableCollection.cs
index db8e217..5f0d7f2 100644
--- a/src/Core/FSpot.Core/FSpot.Core/IBrowsableCollection.cs
+++ b/src/Core/FSpot.Core/FSpot.Core/IBrowsableCollection.cs
@@ -14,13 +14,13 @@ namespace FSpot.Core
 
 	public interface IBrowsableCollection {
 		// FIXME this should really be ToArray ()
-		IBrowsableItem [] Items {
+		IPhoto [] Items {
 			get;
 		}
 
-		int IndexOf (IBrowsableItem item);
+		int IndexOf (IPhoto item);
 
-		IBrowsableItem this [int index] {
+		IPhoto this [int index] {
 			get;
 		}
 
@@ -28,7 +28,7 @@ namespace FSpot.Core
 			get;
 		}
 
-		bool Contains (IBrowsableItem item);
+		bool Contains (IPhoto item);
 
 		// FIXME the Changed event needs to pass along information
 		// about the items that actually changed if possible.  For things like
diff --git a/src/Core/FSpot.Core/FSpot.Core/IBrowsableItemComparer.cs b/src/Core/FSpot.Core/FSpot.Core/IBrowsableItemComparer.cs
index 21d23ae..74e7f62 100644
--- a/src/Core/FSpot.Core/FSpot.Core/IBrowsableItemComparer.cs
+++ b/src/Core/FSpot.Core/FSpot.Core/IBrowsableItemComparer.cs
@@ -5,9 +5,9 @@ using System.Collections.Generic;
 namespace FSpot.Core
 {
 	public static class IBrowsableItemComparer {
-		public class CompareDateName : IComparer<IBrowsableItem>
+		public class CompareDateName : IComparer<IPhoto>
 		{
-			public int Compare (IBrowsableItem p1, IBrowsableItem p2)
+			public int Compare (IPhoto p1, IPhoto p2)
 			{
 				int result = p1.CompareDate (p2);
 
@@ -28,9 +28,9 @@ namespace FSpot.Core
 			}
 		}
 
-		public class CompareDirectory : IComparer<IBrowsableItem>
+		public class CompareDirectory : IComparer<IPhoto>
 		{
-			public int Compare (IBrowsableItem p1, IBrowsableItem p2)
+			public int Compare (IPhoto p1, IPhoto p2)
 			{
 				int result = p1.CompareDefaultVersionUri (p2);
 
diff --git a/src/Core/FSpot.Core/FSpot.Core/IBrowsableItemExtensions.cs b/src/Core/FSpot.Core/FSpot.Core/IBrowsableItemExtensions.cs
index 054e3c7..2985bda 100644
--- a/src/Core/FSpot.Core/FSpot.Core/IBrowsableItemExtensions.cs
+++ b/src/Core/FSpot.Core/FSpot.Core/IBrowsableItemExtensions.cs
@@ -4,17 +4,17 @@ using System.IO;
 namespace FSpot.Core
 {
 	public static class IBrowsableItemExtensions {
-		public static int CompareDate (this IBrowsableItem photo1, IBrowsableItem photo2)
+		public static int CompareDate (this IPhoto photo1, IPhoto photo2)
 		{
 			return DateTime.Compare (photo1.Time, photo2.Time);
 		}
 
-		public static int CompareName (this IBrowsableItem photo1, IBrowsableItem photo2)
+		public static int CompareName (this IPhoto photo1, IPhoto photo2)
 		{
 			return string.Compare (photo1.Name, photo2.Name);
 		}
 
-		public static int Compare (this IBrowsableItem photo1, IBrowsableItem photo2)
+		public static int Compare (this IPhoto photo1, IPhoto photo2)
 		{
 			int result = photo1.CompareDate (photo2);
 
@@ -27,7 +27,7 @@ namespace FSpot.Core
 			return result;
 		}
 
-		public static int CompareDefaultVersionUri (this IBrowsableItem photo1, IBrowsableItem photo2)
+		public static int CompareDefaultVersionUri (this IPhoto photo1, IPhoto photo2)
 		{
 			var photo1_uri = Path.Combine (photo1.DefaultVersion.BaseUri, photo1.DefaultVersion.Filename);
 			var photo2_uri = Path.Combine (photo2.DefaultVersion.BaseUri, photo2.DefaultVersion.Filename);
diff --git a/src/Core/FSpot.Core/FSpot.Core/IBrowsableItemVersionable.cs b/src/Core/FSpot.Core/FSpot.Core/IBrowsableItemVersionable.cs
index 9bf8878..2a6b900 100644
--- a/src/Core/FSpot.Core/FSpot.Core/IBrowsableItemVersionable.cs
+++ b/src/Core/FSpot.Core/FSpot.Core/IBrowsableItemVersionable.cs
@@ -16,7 +16,7 @@ namespace FSpot.Core
 	///    The interface adds functionality which is related to items where
 	///    versions can be added or removed.
 	/// </summary>
-	public interface IBrowsableItemVersionable : IBrowsableItem{
+	public interface IBrowsableItemVersionable : IPhoto{
 
 		/// <summary>
 		///    Sets the default version of a the item.
diff --git a/src/Core/FSpot.Core/FSpot.Core/IPhoto.cs b/src/Core/FSpot.Core/FSpot.Core/IPhoto.cs
new file mode 100644
index 0000000..47f4ee8
--- /dev/null
+++ b/src/Core/FSpot.Core/FSpot.Core/IPhoto.cs
@@ -0,0 +1,69 @@
+/*
+ * IBrowsableItem.cs
+ *
+ * Author(s):
+ *  Larry Ewing <lewing novell com>
+ *  Mike Gemuende <mike gemuende de>
+ *
+ * This is free software. See COPYING for details.
+ */
+
+using System.Collections.Generic;
+
+using Hyena;
+
+
+namespace FSpot.Core
+{
+
+    public interface IPhoto
+    {
+
+        #region Metadata
+
+        /// <summary>
+        ///    The time the item was created.
+        /// </summary>
+        System.DateTime Time { get; }
+
+        /// <summary>
+        ///    The tags which are dedicated to this item.
+        /// </summary>
+        Tag[] Tags { get; }
+
+        /// <summary>
+        ///    The description of the item.
+        /// </summary>
+        string Description { get; }
+
+        /// <summary>
+        ///    The name of the item.
+        /// </summary>
+        string Name { get; }
+
+        /// <summary>
+        ///    The rating which is dedicted to this item. It should only range from 0 to 5.
+        /// </summary>
+        uint Rating { get; }
+
+        #endregion
+
+
+        #region Versioning
+
+        /// <summary>
+        ///    The default version of this item. Every item must have at least one version and this must not be
+        ///    <see langref="null"/>
+        /// </summary>
+        IBrowsableItemVersion DefaultVersion { get; }
+
+        /// <summary>
+        ///    All versions of this item. Since every item must have at least the default version, this enumeration
+        ///    must not be empty.
+        /// </summary>
+        IEnumerable<IBrowsableItemVersion> Versions { get; }
+        
+        #endregion
+        
+    }
+}
diff --git a/src/Core/FSpot.Core/Makefile.am b/src/Core/FSpot.Core/Makefile.am
index 61e438c..4122375 100644
--- a/src/Core/FSpot.Core/Makefile.am
+++ b/src/Core/FSpot.Core/Makefile.am
@@ -14,13 +14,13 @@ SOURCES =  \
 	FSpot.Core/FileBrowsableItem.cs \
 	FSpot.Core/Global.cs \
 	FSpot.Core/IBrowsableCollection.cs \
-	FSpot.Core/IBrowsableItem.cs \
 	FSpot.Core/IBrowsableItemChanges.cs \
 	FSpot.Core/IBrowsableItemComparer.cs \
 	FSpot.Core/IBrowsableItemExtensions.cs \
 	FSpot.Core/IBrowsableItemVersion.cs \
 	FSpot.Core/IBrowsableItemVersionable.cs \
 	FSpot.Core/ILoadable.cs \
+	FSpot.Core/IPhoto.cs \
 	FSpot.Core/PhotoChanges.cs \
 	FSpot.Core/PhotosChanges.cs \
 	FSpot.Core/Roll.cs \
diff --git a/src/Extensions/Exporters/FSpot.Exporters.CD/FSpot.Exporters.CD/CDExport.cs b/src/Extensions/Exporters/FSpot.Exporters.CD/FSpot.Exporters.CD/CDExport.cs
index 2827305..854c6e8 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.CD/FSpot.Exporters.CD/CDExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.CD/FSpot.Exporters.CD/CDExport.cs
@@ -104,7 +104,7 @@ namespace FSpot.Exporters.CD {
 				if (clean)
 					Clean (dest);
 
-				foreach (IBrowsableItem photo in selection.Items) {
+				foreach (IPhoto photo in selection.Items) {
 
 				//FIXME need to implement the uniquename as a filter
 					using (FilterRequest request = new FilterRequest (photo.DefaultVersion.Uri)) {
diff --git a/src/Extensions/Exporters/FSpot.Exporters.CD/FSpot.Exporters.CD/CDExportDialog.cs b/src/Extensions/Exporters/FSpot.Exporters.CD/FSpot.Exporters.CD/CDExportDialog.cs
index 6295798..156b895 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.CD/FSpot.Exporters.CD/CDExportDialog.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.CD/FSpot.Exporters.CD/CDExportDialog.cs
@@ -38,7 +38,7 @@ namespace FSpot.Exporters.CD
 			string path;
 			System.IO.FileInfo file_info;
 
-			foreach (IBrowsableItem item in selection.Items) {
+			foreach (IPhoto item in selection.Items) {
 				path = item.DefaultVersion.Uri.LocalPath;
 				if (System.IO.File.Exists (path)) {
 					file_info = new System.IO.FileInfo (path);
diff --git a/src/Extensions/Exporters/FSpot.Exporters.Facebook/FSpot.Exporters.Facebook/FacebookExport.cs b/src/Extensions/Exporters/FSpot.Exporters.Facebook/FSpot.Exporters.Facebook/FacebookExport.cs
index c16e66f..095c52a 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.Facebook/FSpot.Exporters.Facebook/FacebookExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.Facebook/FSpot.Exporters.Facebook/FacebookExport.cs
@@ -336,7 +336,7 @@ namespace FSpot.Exporters.Facebook
 
 		void Upload ()
 		{
-			IBrowsableItem [] items = dialog.Items;
+			IPhoto [] items = dialog.Items;
 			string [] captions = dialog.Captions;
 			dialog.StoreCaption ();
 
@@ -348,7 +348,7 @@ namespace FSpot.Exporters.Facebook
 
 			for (int i = 0; i < items.Length; i++) {
 				try {
-					IBrowsableItem item = items [i];
+					IPhoto item = items [i];
 
 					FileInfo file_info;
 					Log.DebugFormat ("uploading {0}", i);
diff --git a/src/Extensions/Exporters/FSpot.Exporters.Facebook/FSpot.Exporters.Facebook/FacebookExportDialog.cs b/src/Extensions/Exporters/FSpot.Exporters.Facebook/FSpot.Exporters.Facebook/FacebookExportDialog.cs
index 046b7cd..ab20097 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.Facebook/FSpot.Exporters.Facebook/FacebookExportDialog.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.Facebook/FSpot.Exporters.Facebook/FacebookExportDialog.cs
@@ -70,8 +70,8 @@ namespace FSpot.Exporters.Facebook
 			public int Compare (object left,
 			                    object right)
 			{
-				return DateTime.Compare ((left as IBrowsableItem).Time,
-					(right as IBrowsableItem).Time);
+				return DateTime.Compare ((left as IPhoto).Time,
+					(right as IPhoto).Time);
 			}
 		}
 
@@ -132,8 +132,8 @@ namespace FSpot.Exporters.Facebook
 
 		List<Mono.Facebook.Tag>[] tags;
 		int current_item;
-		IBrowsableItem[] items;
-		public IBrowsableItem[] Items {
+		IPhoto[] items;
+		public IPhoto[] Items {
 			get {return items; }
 		}
 
@@ -188,7 +188,7 @@ namespace FSpot.Exporters.Facebook
 
 			tag_treeview.Model = new TagStore (account.Facebook, tags [current_item], friends);
 
-			IBrowsableItem item = items [current_item];
+			IPhoto item = items [current_item];
 
 			if (tag_image_eventbox.Children.Length > 0) {
 				tag_image_eventbox.Remove (tag_image);
diff --git a/src/Extensions/Exporters/FSpot.Exporters.Flickr/FSpot.Exporters.Flickr/FlickrExport.cs b/src/Extensions/Exporters/FSpot.Exporters.Flickr/FSpot.Exporters.Flickr/FlickrExport.cs
index 122d2bf..1de69e9 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.Flickr/FSpot.Exporters.Flickr/FlickrExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.Flickr/FSpot.Exporters.Flickr/FlickrExport.cs
@@ -333,7 +333,7 @@ namespace FSpot.Exporters.Flickr {
 		{
 			public int Compare (object left, object right)
 			{
-				return DateTime.Compare ((left as IBrowsableItem).Time, (right as IBrowsableItem).Time);
+				return DateTime.Compare ((left as IPhoto).Time, (right as IPhoto).Time);
 			}
 		}
 
@@ -343,12 +343,12 @@ namespace FSpot.Exporters.Flickr {
 			fr.Connection.OnUploadProgress += HandleFlickrProgress;
 
 			System.Collections.ArrayList ids = new System.Collections.ArrayList ();
-			IBrowsableItem [] photos = selection.Items;
+			IPhoto [] photos = selection.Items;
 			Array.Sort (photos, new DateComparer ());
 
 			for (int index = 0; index < photos.Length; index++) {
 				try {
-					IBrowsableItem photo = photos [index];
+					IPhoto photo = photos [index];
 					progress_dialog.Message = System.String.Format (
                                                 Catalog.GetString ("Uploading picture \"{0}\""), photo.Name);
 
diff --git a/src/Extensions/Exporters/FSpot.Exporters.Flickr/FSpot.Exporters.Flickr/FlickrRemote.cs b/src/Extensions/Exporters/FSpot.Exporters.Flickr/FSpot.Exporters.Flickr/FlickrRemote.cs
index 388661d..74aa9b2 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.Flickr/FSpot.Exporters.Flickr/FlickrRemote.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.Flickr/FSpot.Exporters.Flickr/FlickrRemote.cs
@@ -135,7 +135,7 @@ public class FlickrRemote {
 		return auth;
 	}
 
-	public string Upload (IBrowsableItem photo, IFilter filter, bool is_public, bool is_family, bool is_friend)
+	public string Upload (IPhoto photo, IFilter filter, bool is_public, bool is_family, bool is_friend)
 	{
 		if (token == null) {
 			throw new Exception ("Must Login First");
diff --git a/src/Extensions/Exporters/FSpot.Exporters.Folder/FSpot.Exporters.Folder/FolderExport.cs b/src/Extensions/Exporters/FSpot.Exporters.Folder/FSpot.Exporters.Folder/FolderExport.cs
index 32ab8a5..bf02403 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.Folder/FSpot.Exporters.Folder/FolderExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.Folder/FSpot.Exporters.Folder/FolderExport.cs
@@ -442,7 +442,7 @@ namespace FSpot.Exporters.Folder {
 
 		public void ProcessImage (int image_num, FilterSet filter_set)
 		{
-			IBrowsableItem photo = collection [image_num];
+			IPhoto photo = collection [image_num];
 			string path;
 			ScaleRequest req;
 
@@ -739,7 +739,7 @@ namespace FSpot.Exporters.Folder {
 
 			base.GenerateLayout ();
 
-			IBrowsableItem [] photos = collection.Items;
+			IPhoto [] photos = collection.Items;
 
 			int i;
 			for (i = 0; i < photos.Length; i++)
@@ -751,7 +751,7 @@ namespace FSpot.Exporters.Folder {
 			if (exportTags) {
 				// identify tags present in these photos
 				i = 0;
-				foreach (IBrowsableItem photo in photos) {
+				foreach (IPhoto photo in photos) {
 					foreach (var tag in photo.Tags) {
 						if (!tagSets.ContainsKey (tag.Name)) {
 							tagSets.Add (tag.Name, new ArrayList ());
diff --git a/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery/GalleryExport.cs b/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery/GalleryExport.cs
index 785a4b2..dc9f035 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery/GalleryExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery/GalleryExport.cs
@@ -619,7 +619,7 @@ namespace FSpot.Exporters.Gallery {
 			export_dialog = (Gtk.Dialog) xml.GetWidget ("gallery_export_dialog");
 
 			this.items = selection.Items;
-			Array.Sort<IBrowsableItem> (this.items, new IBrowsableItemComparer.CompareDateName());
+			Array.Sort<IPhoto> (this.items, new IBrowsableItemComparer.CompareDateName());
 			album_button.Sensitive = false;
 			IconView view = new IconView (selection);
 			view.DisplayDates = false;
@@ -663,7 +663,7 @@ namespace FSpot.Exporters.Gallery {
 		private bool meta;
 		private bool connect = false;
 
-		IBrowsableItem[] items;
+		IPhoto[] items;
 		int photo_index;
 		ThreadProgressDialog progress_dialog;
 
@@ -762,7 +762,7 @@ namespace FSpot.Exporters.Gallery {
 					filters.Add (new ResizeFilter ((uint) size));
 
 				while (photo_index < items.Length) {
-					IBrowsableItem item = items [photo_index];
+					IPhoto item = items [photo_index];
 
 					Log.DebugFormat ("uploading {0}", photo_index);
 
diff --git a/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery/GalleryRemote.cs b/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery/GalleryRemote.cs
index 87abf34..c9aa1cd 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery/GalleryRemote.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery/GalleryRemote.cs
@@ -86,12 +86,12 @@ namespace FSpot.Exporters.Gallery {
 			gallery.MoveAlbum (this, name);
 		}
 
-		public void Add (IBrowsableItem item)
+		public void Add (IPhoto item)
 		{
 			Add (item, item.DefaultVersion.Uri.LocalPath);
 		}
 
-		public int Add (IBrowsableItem item, string path)
+		public int Add (IPhoto item, string path)
 		{
 			if (item == null)
 				Log.Warning ("NO PHOTO");
diff --git a/src/Extensions/Exporters/FSpot.Exporters.PicasaWeb/FSpot.Exporters.PicasaWeb/PicasaWebExport.cs b/src/Extensions/Exporters/FSpot.Exporters.PicasaWeb/FSpot.Exporters.PicasaWeb/PicasaWebExport.cs
index 033e9cf..718129f 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.PicasaWeb/FSpot.Exporters.PicasaWeb/PicasaWebExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.PicasaWeb/FSpot.Exporters.PicasaWeb/PicasaWebExport.cs
@@ -517,7 +517,7 @@ namespace FSpot.Exporters.PicasaWeb {
 		private long approx_size = 0;
 		private long sent_bytes = 0;
 
-		IBrowsableItem [] items;
+		IPhoto [] items;
 		int photo_index;
 		ThreadProgressDialog progress_dialog;
 
@@ -622,7 +622,7 @@ namespace FSpot.Exporters.PicasaWeb {
 		{
 			public int Compare (object left, object right)
 			{
-				return DateTime.Compare ((left as IBrowsableItem).Time, (right as IBrowsableItem).Time);
+				return DateTime.Compare ((left as IPhoto).Time, (right as IPhoto).Time);
 			}
 		}
 
@@ -644,7 +644,7 @@ namespace FSpot.Exporters.PicasaWeb {
 
 			while (photo_index < items.Length) {
 				try {
-					IBrowsableItem item = items[photo_index];
+					IPhoto item = items[photo_index];
 
 					FileInfo file_info;
 					Log.Debug ("Picasa uploading " + photo_index);
diff --git a/src/Extensions/Exporters/FSpot.Exporters.SmugMug/FSpot.Exporters.SmugMug/SmugMugExport.cs b/src/Extensions/Exporters/FSpot.Exporters.SmugMug/FSpot.Exporters.SmugMug/SmugMugExport.cs
index 16e29d0..0cb5f24 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.SmugMug/FSpot.Exporters.SmugMug/SmugMugExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.SmugMug/FSpot.Exporters.SmugMug/SmugMugExport.cs
@@ -450,7 +450,7 @@ namespace FSpot.Exporters.SmugMug {
 		private long approx_size = 0;
 		private long sent_bytes = 0;
 
-		IBrowsableItem [] items;
+		IPhoto [] items;
 		int photo_index;
 		ThreadProgressDialog progress_dialog;
 
@@ -547,7 +547,7 @@ namespace FSpot.Exporters.SmugMug {
 
 			while (photo_index < items.Length) {
 				try {
-					IBrowsableItem item = items[photo_index];
+					IPhoto item = items[photo_index];
 
 					FileInfo file_info;
 					Log.Debug ("uploading " + photo_index);
diff --git a/src/Extensions/Exporters/FSpot.Exporters.Tabblo/FSpot.Exporters.Tabblo/TabbloExport.cs b/src/Extensions/Exporters/FSpot.Exporters.Tabblo/FSpot.Exporters.Tabblo/TabbloExport.cs
index a70fda3..615c684 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.Tabblo/FSpot.Exporters.Tabblo/TabbloExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.Tabblo/FSpot.Exporters.Tabblo/TabbloExport.cs
@@ -365,7 +365,7 @@ namespace FSpot.Exporters.Tabblo {
 		}
 
 		
-		private void OnPhotoUploaded (IBrowsableItem item)
+		private void OnPhotoUploaded (IPhoto item)
 		{
 			Debug.Assert (null != item);
 
@@ -394,7 +394,7 @@ namespace FSpot.Exporters.Tabblo {
 		private Picture [] GetPicturesForUpload ()
 		{
 			Picture [] pictures = new Picture [model.Photos.Length];
-			IBrowsableItem [] items = model.Photos;
+			IPhoto [] items = model.Photos;
 
 			for (int i = 0; i < pictures.Length; ++i) {
 				string mime_type = GLib.FileFactory.NewForUri (items [i].DefaultVersion.Uri).
diff --git a/src/Extensions/Exporters/FSpot.Exporters.Tabblo/FSpot.Exporters.Tabblo/TabbloExportModel.cs b/src/Extensions/Exporters/FSpot.Exporters.Tabblo/FSpot.Exporters.Tabblo/TabbloExportModel.cs
index 811a64c..c129c24 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.Tabblo/FSpot.Exporters.Tabblo/TabbloExportModel.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.Tabblo/FSpot.Exporters.Tabblo/TabbloExportModel.cs
@@ -86,7 +86,7 @@ namespace FSpot.Exporters.Tabblo {
 			}
 		}
 
-		internal IBrowsableItem [] Photos {
+		internal IPhoto [] Photos {
 			get {
 				return photo_collection.Items;
 			}
diff --git a/src/Extensions/Exporters/FSpot.Exporters.Zip/FSpot.Exporters.Zip/ZipExport.cs b/src/Extensions/Exporters/FSpot.Exporters.Zip/FSpot.Exporters.Zip/ZipExport.cs
index 50ca683..7d444e5 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.Zip/FSpot.Exporters.Zip/ZipExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.Zip/FSpot.Exporters.Zip/ZipExport.cs
@@ -38,7 +38,7 @@ namespace FSpot.Exporters.Zip {
 		[Glade.Widget] Gtk.SpinButton scale_size;
 		[Glade.Widget] Gtk.Button create_button;
 
-		IBrowsableItem [] photos;
+		IPhoto [] photos;
 		Gtk.FileChooserButton uri_chooser;
 
 		public void Run (IBrowsableCollection p) {
diff --git a/src/Extensions/Tools/FSpot.Tools.ChangePhotoPath/FSpot.Tools.ChangePhotoPath/ChangePhotoPathController.cs b/src/Extensions/Tools/FSpot.Tools.ChangePhotoPath/FSpot.Tools.ChangePhotoPath/ChangePhotoPathController.cs
index 4497b10..5c729d4 100644
--- a/src/Extensions/Tools/FSpot.Tools.ChangePhotoPath/FSpot.Tools.ChangePhotoPath/ChangePhotoPathController.cs
+++ b/src/Extensions/Tools/FSpot.Tools.ChangePhotoPath/FSpot.Tools.ChangePhotoPath/ChangePhotoPathController.cs
@@ -105,7 +105,7 @@ namespace FSpot.Tools.ChangePhotoPath
 		{
 			string res_path = null;
 
-			foreach ( IBrowsableItem photo in photo_store.Query ( "SELECT * FROM photos " ) ) {
+			foreach ( IPhoto photo in photo_store.Query ( "SELECT * FROM photos " ) ) {
 				string tmp_path = (photo as Photo).DefaultVersion.Uri.AbsolutePath;
 				res_path = IsThisPhotoOnOrigBasePath (tmp_path);
 				if (res_path != null)
@@ -161,7 +161,7 @@ namespace FSpot.Tools.ChangePhotoPath
 		{
 			int count = 0;
 
-			foreach ( IBrowsableItem ibrows in photo_store.Query ( "SELECT * FROM photos " ) ) {
+			foreach ( IPhoto ibrows in photo_store.Query ( "SELECT * FROM photos " ) ) {
 				count++;
 				if (gui_controller.UpdateProgressBar ("Scanning through database", "Checking photo", total_photos))
 				    return false;



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