2004-08-29  Larry Ewing  <lewing@novell.com>

	* Release f-spot-0.0.2 -- Ice Machine

2004-08-29  Larry Ewing  <lewing@novell.com>
	
	* autogen.sh: bump required automake version, this is needed for
	the glib-gettextize I have.  It is possible other might not need
	it but I'm playing it safe.

	* src/makefile.am: remove GtkDnd.cs.
	
	* src/GtkDnd.cs: remove unused file.

	* src/TimelineSelectorWidget.cs: this is the GroupSelector.cs.

2004-08-26  Larry Ewing  <lewing@novell.com>

	* src/GroupSelector.cs: add the glass label while dragging.

	* src/GroupAdaptor.cs: return the Path for the glass lable;

2004-08-25  Larry Ewing  <lewing@novell.com>

	* src/SlideView.cs: since we might for some reason get a size
	allocate before we have transitioned from the background image,
	scale the current image if current_idx < 0;
	
	* src/PixbufUtils.cs: use the screen size not the root window
	size, if the resolution has changed the rootwindow size may be
	wrong.

	* src/DirectoryAdaptor: return Directory as GlassLabel.

	* src/TimeAdaptor.cs: return Year as TickLable, month as GlassLabel.

	* src/GroupAdaptor.cs: add TickLabel and GlassLable remove Label.

	* src/GroupSelector.cs: add tick label drawing, using adaptor.TickLabel.

2004-08-24  Larry Ewing  <lewing@novell.com>

	* src/main.cs: set the default icon, yes we need a new one I was
	just tired of looking at the blank doc.

	* src/IconView.cs: Remove unused delegate that I missed before.
	Remove GetCell size stuff, use CellBounds instead.
	
	* src/MainWindow.cs: translate drag event x,y to window space
	before looking up the cell.  Always use FocusCell when switching
	pages.

	* src/IconView.cs: expose CellIsSelected and FocusCell for the
	changes in mainwindow.cs

	* src/MainWindow.cs: make page switching use the focused cell not
	the start of the selection and rework dnd to attach to the dropped
	on cell unless the dropped on cell is selected then use the selection.

	* src/ThumbnailCache.cs: only dispose once we've actually removed
	the thumnail from the cache.
	
	* src/MainWindow.cs: revert the quickpreview thumbnail dispose
	change, something isn't working.

	* src/PhotoLoader.cs: use the public ThumbnailFactory.

	* src/PhotoStore.cs: make the thumbnail factory public.

	* src/MainWindow.cs: Dispose the return values of
	GetThumbnailForPath whenever we can.

	* src/ThumbnailCache.cs: use a subpixbuf hack to make the return
	value of the pixbuf disposable.  Dispose the thumbnail whenever we
	remove it from the cache.  Since the callers have subpixbufs they
	hold their own refs and don't have to worry about our explicit
	dispose.

	* src/IconView.cs: always dispose the result of
	GetThumbnailForPath.
	
	* src/PhotoLoader.cs: always dispose the result of
	GetThumbnailForPath.

2004-08-23  Larry Ewing  <lewing@novell.com>

	* src/IconView.cs: add a IntPtr ctor, bump the ThumbnailCache icon
	size to 256.

	* src/PhotoView.cs: use the PhotoLoader.
	
	* src/SlideView.cs: use the new Loader stuff.

	* src/makefile.am: add PhotoLoader.cs.

	* src/PixbufUtils.cs: add SetOption method.

	* src/PhotoLoader.cs: add new Loader class.

2004-08-22  Federico Mena Quintero  <federico@ximian.com>

	* src/CompatFileChooser.cs (CompatFileChooserDialog): Compare the
	result of Gtk.Global.CheckVersion() to "" rather than to null.

2004-08-22  Larry Ewing  <lewing@novell.com>

	* src/MainWindow.cs: make the previow a popup.

	* src/IconView.cs: make get cell center public, remove motion
	event. From Trow.

	* src/MainWindow.cs: cleanup preview code ans use cache. From
	trow.

	* src/PixbufUtils.cs: add a new aspect loader. From trow

2004-08-21  Larry Ewing  <lewing@novell.com>

	* src/MainWindow.cs: add handlers for zoom items.

	* src/PhotoView.cs: clean up the exception bounds and the variable
	names.

	* src/IconView.cs: throb selected cells too.

	* src/MainWindow.cs: set the fg and bg color on the preview.
	
	* src/MainWindow.cs: add Nat and Trow's preview hack, load
	fullsize version if smaller version doesn't 	

	* src/IconView.cs: add Nat and Trow's preview hack, remove dnd cruft.

2004-08-20  Larry Ewing  <lewing@novell.com>

	* src/TimeAdaptor.cs: update now that glass set has moved.

	* src/MainWindow.cs: fix the glass calling methods.

	* src/DirectoryAdaptor.cs: implement SetGlass.
	
	* src/GroupAdaptor.cs: add the GlassSet event to the abstract
	class.

	* src/DirectoryAdaptor.cs: add a directory adaptor that builds the
	histogram based on path to the directory.

	* src/TimeAdaptor.cs: iterate over all the photos instead of doing
	a lot of queries.

	* src/GroupSelector.cs: use GroupAdaptor not TimeAdaptor.  Set the
	Limits when we set the adaptor.

	* src/MainWindow.cs: slight reworking.

	* src/makefile.am: add GroupAdaptor.cs.

	* src/TimeAdaptor.cs: derive from GroupAdaptor.  Fix Limit end calculation.

	* src/GroupAdaptor.cs: new abstract class for the adaptors.

	* src/TimeAdaptor.cs: load the whole range, this still needs work.
	Improve the end date calculation. Fix it so it builds.

	* src/MainWindow.cs: call the new time adaptor constructor.

	* src/PhotoStore.cs: fix stupid typo.

	* src/f-spot.glade: remove the icons from the rotate buttons.

	* src/ExifData.cs: add exif date parsing code from Ewen
	Cheslack-Postava <echeslack@gmail.com>.

	* src/PhotoStore.cs: read the time from the exif info if it
	exists, otherwise use the file creation time.

	* src/FileImportBackend.cs: don't pass the time to create, let it
	generate it from the file.

2004-08-19  Larry Ewing  <lewing@novell.com>

	* src/ExifUtils.cs: parse the date to a DateTime.

2004-08-18  Larry Ewing  <lewing@novell.com>

	* src/IconView.cs: Patch from trow to smooth out the throb.

	* src/MainWindow.cs: set current photo if they move the interest
	point while in PhotoView mode.

	* src/MainWindow.cs: call ScrollTo then Throb: on the selected cell.

	* src/IconView.cs: add the throb interface.

	* src/MainWindow.cs: check the source not the sender for dnd. Arg.

	* src/CompatFileChooser.cs: destroy the chooser too.

	* src/IconView.cs: change the selection drawing. This may not
	actually be better but it is a start.  More selection drawing
	changes.

	* src/PhotoStore.cs: Make several of the methods private to clean
	up the public interface.

	* src/IconView.cs: clean up some of the debug output and bounds
	setting.

	* src/MainWindow.cs: attach to the adaptor glass set delegate and
	hndle it by calling icon_view.ScrollTo.

	* src/GroupSelector.cs: fire the adaptor glass set method when the
	glass changes.

	* src/TimeAdaptor.cs: add a delegate for the glass set event.

2004-08-17  Joe Shaw  <joeshaw@novell.com>

	* src/TagStore.cs (TagStore.CreateDefaultTags): Set this.hidden to
	the hidden_tag.

2004-08-17  Larry Ewing  <lewing@novell.com>

	* src/PhotoStore.cs: remove useless block.

2004-08-17  Dave Camp  <dave@novell.com>

	* src/PhotoStore.cs: Fixed the build.

2004-08-17  Larry Ewing  <lewing@novell.com>

	* autogen.sh (PKG_NAME): remove some cruft.

	* src/PhotoStore.cs: reformat some of the code.

	* src/TagCommands.cs: use FromPixbuf not Pixbuf to set for now
	since it should be null_ok.

	* src/PhotoStore.cs: remove some old debug output.

	* src/TimeAdaptor.cs: rebuild the query when the limits change.

	* src/GroupSelector.cs: set the adaptor limits when the limit
	position changes.

	* src/makefile.am: add TimeAdaptor.cs.

	* src/MainWindow.cs: connect the GroupSeletor using an adaptor.

	* src/TimeAdaptor.cs: add a simplist adaptor between the
	GroupSelector and TimeAdaptor.cs.

	* src/MainWindow.cs: move the group selector into the class.

	* src/GroupSelector.cs: add a raw ctor.

2004-08-16  Larry Ewing  <lewing@novell.com>

	* makefile.am: add GroupSelector.cs remove TimelineSelector.cs.

	* src/f-spot.glade: add an hbox for packing the Selector into.

	* src/GroupSelector.cs: clean up offset fixes.

	* src/MainWindow.cs: add a GroupSelector with bogus values to
	start tying in the Selector for testing.

	* src/GroupSelector.cs: event and drawing boinds if the widget
	isn't located at 0x0.

	* src/GroupSelector.cs: fix box drawing limit color.

	* src/GroupSelector.cs: draw limits as boxes, invalidate Union
	instead of just the two areas because we may have changed the
	background state.

	* src/GroupSelector.cs: don't iterate over all the groups just the
	visible ones.  When releasing Hit test the middle of the
	manipulator not the point we grabbed.

	* src/GroupSelector.cs: make the drag hit testing use just the X
	bounds.

	* src/GroupSelector.cs: add dragging support.

2004-08-15  Larry Ewing  <lewing@novell.com>

	* src/GroupSelector.cs: refactor Glass and Limit into Manipulator
	(lame name) superclass.  Move hit testing into Manipulator.

004-08-15  Larry Ewing  <lewing@novell.com>

	* src/GroupSelector.cs: refactor bounds checking add button press
	handler for click to move glass.

	* src/GroupSelector.cs: Add prelighting to the glass, hook up
	event_window.

2004-08-14  Larry Ewing  <lewing@novell.com>

	* src/GroupSelector.csi: don't attach the style in the realize
	handler.  Draw innactive boxes using the prelight color (it isn't
	perfect but it is prettier than the inset frame.  Add a detail
	string to the PaintHandle call because pixbuf themes seem to crash
	without it.
	
2004-08-14  Larry Ewing  <lewing@novell.com>

	* src/GroupSelector.cs: Add handle drawing to the glass.

	* src/GroupSelector.cs: add the start of the limit boxes.  Add
	scrolling support.  Change drawing colors.  Add tick support.
	Add selection drawing. polish other drawing..
	

2004-08-13  Larry Ewing  <lewing@novell.com>

	* src/GroupSelector.cs: more drawing fixes.
	
	* src/GroupSelector.cs: add start of glass drawing;

	* src/GroupSelector.cs: add start of the basic timeline display
	code.

2004-08-12  Larry Ewing  <lewing@novell.com>

	* src/MainWindow.cs: set tag icon to first image if no icon is
	set.

	* src/TagStore.cs: use the pixdata Serialize/Deserialize now that
	they actually work.

	* src/PixbufUtils.cs: make the tag icon 52x52 to avoid the
	Pixdata.Serialize crash.

2004-08-11  Larry Ewing  <lewing@novell.com>

	* src/MainWindow.cs: really fix attachment syntax. *sigh*

	* src/PixbufUtils.cs: add TagIconFromPixbuf helper function that
	simply does some croping and scaling.  This might belong somewhere
	else.

	* src/MainWindow.cs: Rework the call the Edit.
	
	* src/f-spot.glade: add edit icon dialog.

	* src/TagCommands.cs: Add EditIcon command.  Make clicking on the
	tag Icon spawn the editor.  Refactor ::Edit slightly.
	
	* src/f-spot.glade: add edit command menu item and dialog.

	* src/MainWindow.cs: add edit command handler.

	* src/TagCommands.cs: Add Edit command.

2004-08-10  Larry Ewing  <lewing@novell.com>

	* src/MainWindow.cs: add handlers for Find->Date commands.

	* src/f-spot.glade: add new date range dialog (this needs love).

	* src/PhotoQuery.cs: add a new Range property.

	* src/PhotoStore.cs: expose the DateRange as public, make the
	start and end time readonly properties.

	* src/DateCommands.cs: new dialog command that lets you define the
	date range for the query.

2004-08-06  Larry Ewing  <lewing@novell.com>

	* src/MainWindow.cs: fix attachment url syntax.

	* src/PhotoQuery.cs: remove the sorting it is being handled in the
	query for now.

2004-08-05  Larry Ewing  <lewing@novell.com>

	* src/MainWindow.cs: Fix the array copying bounds.

	* src/SlideView.cs: Don't change the transition_interval even on
	the first fade.

	* src/MainWindow.cs: Make the photo range function smarter so that
	there is no need to select a range of photos.

2004-08-04  Larry Ewing  <lewing@novell.com>

	* src/SlideView.cs: wrap to the begining cleanly.

	* src/MainWindow.cs: move slide show start too an idle loop to
	allow the menu item to redraw.

	* src/SlideView.cs: move the intervals to variables, add a fade
	mode flag.  Add background pixbuf param to ctor for fading from a
	background and initialize variables differently if background is
	valid.

	* src/MainWindow.cs: make slideshow full screen, do a screen
	capture to fake a fadeout.  Add a button press handler for the
	fullscreen mode.

	* src/PixbufUtils.cs: add LoadFromScreen util function to get a
	screen capture.

	* libeog/image-view.c (image_view_set_pixbuf): always unref the
	old pixbuf since we always replace it.

2004-08-03  Larry Ewing  <lewing@novell.com>

	* src/PhotoStore.cs: rework the query again, use two nested
	queries instead of one, and remove the join completely.

	* src/PhotoStore.cs: Try a query based hidden tag again, remove
	the external cruft.  I think it is finally correct.

	* src/PhotoStore.cs: Go back to manual inspection for the hidden
	tag, the query based one is not correct yet.

	* src/TagsStore.cs: Expose the whole hidden tag not just the Id so
	that we can test for the tag more simply.
	
	* src/PhotoStore.cs: fix accidentally reversed logic in the
	reworked query.	

	* src/PhotoStore.cs: remove the horrible hidden hack from earlier
	and move the hidden logic into the query.  Rework the query logic
	to stop using OR and instead use IN.

	* src/TagStore.cs: add a new HiddenId property so that the logic
	for which tag is the hidden tag is kept in the store.

2004-08-02  Federico Mena Quintero  <federico@ximian.com>

	* src/IconView.cs (UpdateLayout): Set the step increment of the
	Vadjustment once we compute the cell_height so that the
	scrollbar's arrows will work.

2004-08-02  Larry Ewing  <lewing@novell.com>

	* src/PhotoStore.cs: Add a horrible hack to make the hidden tag
	work for now, will fix shortly.  Clean up debug output.

	* libeog/accessible-image-view.c: remove bonobo.h include, it
	isn't needed.

2004-08-01  Larry Ewing  <lewing@novell.com>

	* src/PhotoStore.cs: reorder the tables in the join, this speeds
	up the query drastically.

2004-07-31  Larry Ewing  <lewing@novell.com>

	* src/PhotoStore.cs: more cleanups, combine query logic a little,
	remove outdated code.

	* src/PhotoStore.cs: add some cleanups, remove the hack to demand
	load the photo data since it is no longer used.

	* src/PhotoStore.cs: Add big changes to the query to speed up the
	loading, still needs lots of cleanup but I want to keep the
	revision history.

	* src/PixbufLoader.cs: move existing requests to the front of the
	queue.

2004-07-21  Larry Ewing  <lewing@ximian.com>

	* src/Db.cs: commit a patch from trow to make sure the DateTimes
	we return are converted to/trom localtime.

2004-07-30  Larry Ewing  <lewing@ximian.com>

	* src/makefile.am: add PhotoPopup.cs, remove IconViewPopup.cs.
	
	* src/IconView.cs: use PhotoPopup instead of IconViewPopup remove
	GetFullFilename.

	* src/MainWindow.cs: Add HandleCopyLocation and make SelectedIds
	public for PhotoPopup.

	* src/PhotoView.cs: use PhotoPopup on right click.

	* src/PhotoPopup.cs: add new file, reworked version of
	IconViewPopup that doesn't reference anything but the mainwindow.

	* src/IconViewPopup.cs: remove unused file.

	* src/PhotoView.cs: Add TagView and try out a new layout for the
	PhotoView.

	* src/makefile.am: Add TagView.cs

	* src/TagView.cs: add a very basic tag display.

2004-07-09  Larry Ewing  <lewing@ximian.com>

	* src/f-spot.glade: remove the old handlers from the glade file.

	* src/MainWindow.cs: remove the activate code for the TagMenu
	handlers.

	* src/TagMenu.cs: remove the single argument constuctor.

	* src/MainWindow.cs: fix the TagMenu constuctor to use the new
	format since the old one breaks.
	
	* src/MainWindow.cs: Set the cursor to busy when building a new
	query.  

2004-07-09  Matt Jones  <mattharrison@sbcglobal.net>

	* src/TagStore.cs (CreateDefaultTags): fix some cut-n-paste typos
	regarding default image names

2004-07-03  Larry Ewing  <lewing@ximian.com>

	* src/GalleryRemote.cs: actually use the auto rotate flag and set
	it to false.

2004-06-29  Federico Mena Quintero  <federico@ximian.com>

	* src/PhotoView.cs (CurrentPhoto.set): Don't do anything if we are
	trying to set the same photo as the one we have.
	(UpdateStarted): New event.
	(UpdateFinished): New event.
	(Update): Emit the UpdateStarted and UpdateFinished notifications.
	
	* src/MainWindow.cs (MainWindow): Add event handlers to the
	photo_view UpdateStarted and UpdateFinished.
	(HandlePhotoViewUpdateStarted): New event handler; set the cursor
	to a watch.
	(HandlePhotoViewUpdateFinished): New event handler; unset the cursor.

2004-06-29  Larry Ewing  <lewing@ximian.com>

	* src/PixbufLoader.cs: make the queue act in as last in first out
	to speed up the icon view scrolling.

2004-06-28  Larry Ewing  <lewing@ximian.com>

	* src/f-spot.glade: rename delete menu item.

	* src/MainWindow.cs: use SelectedIds in a couple of places it was
	needed.  Rename the delete menu item.

2004-06-23  Larry Ewing  <lewing@ximian.com>

	* src/TagMenu.cs: store the parent_item and handle populating the
	menu internally.

	* src/makefile.am (F_SPOT_CSFILES): fix the last broken commit.

	* src/IconViewPopup.cs: hook up the TagMenus in the popup.

	* src/MainWindow.cs: Make the TagMenu handlers public.

2004-06-23  Larry Ewing  <lewing@ximian.com>

	* src/MainWindow.cs: Track the IconView changes.  Make some of the
	event handlers public for the IconView popup, add a static member
	to hold the singleton instance.  Scroll IconView when switching
	modes so that that last PhotoView image is visible on screen.

	* src/IconView.cs: rename some of the selection interface popup
	the IconViewPopup on right click.

	* src/IconViewPopup.cs: Initial commit based on a patch from
	Miguel.

	* src/makefile.am: add IconViewPopup.cs.
	
	* src/PhotoTagMenu.cs: make sure we check our inputs.

2004-06-17  Larry Ewing  <lewing@ximian.com>

	* src/MainWindow.cs: hook up the Remove tag item to the
	PhotoTagMenu.

	* src/f-spot.glade: hook up the Remove Tag item.

	* src/PhotoTagMenu.cs: new object to handle tags on selections of
	photos.  Needs to use the selection interface once I write it.

2004-06-16  Larry Ewing  <lewing@ximian.com>

	* src/TagMenu.cs: Rebuild the menu each time populate is called.

	* src/MainWindow.cs: Add Find by tag handler and generic Activate
	handler for tag Menu that populates that menu.

	* src/f-spot.glade: add a Find menu update the Attach Tag items
	activate handler, 

	* src/TagSelectionWidget.cs: call update if the Tags are set.  We
	really need to just update the display instead instead of
	rebuilding the entire tree.

	* src/ExifData.cs: marshall all the strings types, I doubt this
	code is really correct but it stops the free spewage which is good
	enough for me right now.

	* configure.in: bump the Gtk# requires.

	* src/TagSelectionWidget.cs: fix GetPathAtPos call for Gtk# 
	treeview api changes.

	* src/MainWindow.cs: update for Gtk# api changes, TypeName is now
	protected and GetPathAtPos has a better overload.

2004-06-15  Larry Ewing  <lewing@ximian.com>

	* src/MainWindow.cs: add a handler to the attach TagMenu so that
	it actually works.

	* src/TagMenu.cs: Fix the activation logic and add the category to
	its own submenu to allow people to select it.

2004-06-14  Larry Ewing  <lewing@ximian.com>

	* src/MainWindow.cs: add a new source type
	application/x-fspot-photos make the tag selection widget drop
	handler default to using that.
	
	* src/MainWindow.cs: Make the IconView accept text/uri-list drops
	and import them.  This should really popup an import dialog bug
	that isn't done yet.

	* src/Util.cs: fix a few bugs in the UriList class, add a
	SelectionData constructor.

2004-06-13  Larry Ewing  <lewing@ximian.com>

	* src/MainWindow.cs: fix the IconView drag handler for now.

	* src/PhotoStore.cs: Add a Query overload with a start and end
	DateTime.

	* src/PhotoStore.cs: remove the ToUriList bits the UriList class
	replaces them.

	* src/PhotoView.cs: fix more issues with empty queries and invalid
	current photo seetings by introducing CurrentPhotoValid method.
	This isn't super clean but it preserves most of the behavior I
	want.

2004-06-13 MOREAU Vincent <vmoreau@orange.fr>
	
	* src/PhotoView.cs: Make the PhotoView handle empty queries more
	gracefully.  Patch from bug #144210.
	
2004-06-13  Larry Ewing  <lewing@ximian.com>

	* src/PhotoView.cs: Make the PhotoView handle empty queries more
	gracefully.  Fixes bug #144210.

	* src/MainWindow.cs: Add drop handlers for the TagSelection
	widget, modified from the dnd patch by Lee.

	* src/PhotoStore.cs: Add GetByPath method based on patch from Lee
	Willis <lee@leewillist.co.uk>.

	* src/TagSelectionWidget.cs: TagAtPosition helper method, based on
	a dnd patch from Lee Willis <lee@leewillist.co.uk>.

	* src/IconView.cs: Integrate Icon view selection patch from Lee
	Willis <lee@leewillis.co.uk> and MOREAU Vincent
	<vmoreau@orange.fr>.

2004-06-11  Larry Ewing  <lewing@ximian.com>

	* src/MainWindow.cs: Add new SelectedIds method make dealing with
	the different modes more similar.  Make the selection logic behave
	so that in PhotoView mode operations only apply to the
	CurrentPhoto but in PhotoView mode it applies to all the selected
	photos.  Clean up the various operations so that they use this new
	logic.

	* src/makefile.am (F_SPOT_CSFILES): add Util.cs

	* src/ExportCommand.cs: use thread progress dialog, this needs
	lots of work but it might as well go in.

	* src/Util.cs: remove the strange win32 define, change the scheme
	check.

	* src/MainWindow.cs: make sure we add the Update the query after
	removing.  Use the new UriList api for the dnd sources. 

	* src/ImportCommand.cs: add a Scroll property to control the
	scrolling behavior as new photos are added.  Based on a patch from
	Miguel <miguel@ximian.com>.

2004-06-10  Larry Ewing  <lewing@ximian.com>
	
	* src/Util.cs: add ToLocalPaths method.

2004-06-10  Larry Ewing  <lewing@ximian.com>
	
	* src/Util.cs: add new util file.  Mostly code from Miguel for the
	popup items.

	* src/PhotoView.cs: fix off by one in entry sensitivity.

	* src/SlideView.cs: use the new LoadAtMaxSize function.

	* src/makefile.am (F_SPOT_CSFILES): add TagMenu.cs.

	* src/MainWindow.cs: Add delete command.  Stub in fullscreen,
	rename window1 everywhere.  Attach tag menu.  Add send mail
	command.

	* src/f-spot.glade: add menu items, reorder view menu, add some
	spacing.  Rename window1 to main_window.

	* src/TagMenu.cs: generate a menu based on the tag tree.

2004-06-09  Larry Ewing  <lewing@ximian.com>

	* src/PixbufUtils.cs: add AspectLoader and LoadAtMaxSize.

	* src/PhotoStore.cs: add a method to remove all versions, Make
	generate thumbnail use the ThumnailFactory.Save now that it
	exists.

2004-06-03  Larry Ewing  <lewing@ximian.com>

	* src/ThreadProgressDialog.cs: new progress dialog for the gallery
	uploading.

	* src/makefile.am (F_SPOT_CSFILES): add ThreadProgressDialog.cs.
	Update rules a bit.

2004-05-25  Larry Ewing  <lewing@ximian.com>

	* src/f-spot.glade: rename and reorder the rotation buttons.

	* src/GalleryRemote.cs: pass the description along as the caption.

	* src/PhotoView.cs: add a description entry in the photo view.
	The ui needs work but I want the description field funtioning.

2003-12-28  Miguel de Icaza  <miguel@ximian.com>

       * src/FileImportBackend.cs: Skip over thumbnail directories.

2004-05-14  Larry Ewing  <lewing@ximian.com>

	* src/ExportCommand.cs: commit a quick hack to upload photos in a
	thread.  This is by no means ready for prime time.

2004-05-14  Todd Berman  <tberman@sevenl.net>

	* src/makefile.am: fix makefile for mono from cvs.

2004-05-14  Todd Berman  <tberman@sevenl.net>

	* src/ExportCommand.cs:
	* src/PhotoVersionCommands.cs:
	* src/TagCommands.cs: update to gtk-sharp from cvs.

2004-05-14  Larry Ewing  <lewing@ximian.com>

	* src/ImageView.cs: add a namespace so that we don't clash with
	the libeogfspot ImageView for now.

	* src/PhotoView.cs: add a button press handler and use the
	namespaced ImageView.

2004-05-14  Peter Johanson  <latexer@gentoo.org>

	* src/f-spot.exe.config: add config file for the assemblies we are
	loading.

	* src/makefile.am: install f-spot.exe.config

2004-05-02  Larry Ewing  <lewing@ximian.com>

	* configure.in: bump required gtk-sharp verison.

2004-04-29  Larry Ewing  <lewing@ximian.com>

	* src/f-spot.glade: Rename properties handler.

	* src/MainWindow.cs: Add tag drag handlers, add a lame properties
	handler for the time being.  Use the fixed Print.Pixbuf handler.

	* src/TagSelectionWidget.cs: Fix GValue as a value type, thanks to
	a patch from Peter Johanson <latexer@gentoo.org>.

2004-04-09  Larry Ewing  <lewing@ximian.com>

	* src/ImageView.cs: fixup constructor.

2004-04-03  Larry Ewing  <lewing@ximian.com>

	* src/SlideView.cs: Switch to Nearest mode on the tween images
	they don't matter and be a little more carefull about calling
	dispose.

	* src/MainWindow.cs: always listen to page switches and try to do
	something smart.

2004-04-02  Larry Ewing  <lewing@ximian.com>

	* src/MainWindow.cs: add more set the drag icon, it probably
	shouldn't stay here but I want to get things working.

	* src/IconView.cs: remove old dnd stuff, call dispose on all
	resized thumbnails.

	* src/PhotoStore.cs: add a static ToUriList Method.

	* src/MainWindow.cs: add dnd to the icon view.  Work around broken
	Gtk# SelectionData wrappers for the time being.

2004-03-27  Larry Ewing  <lewing@ximian.com>

	* src/PixbufLoader.cs: process most recently added requests first.

2004-03-17  Larry Ewing  <lewing@ximian.com>

	* src/SlideView.cs: use the nearest blend mode for now.  The loss
	of quality doesn't have much impact in the time the tween frame is
	shown.

2004-03-15  Larry Ewing  <lewing@ximian.com>

	* src/makefile.am: Use the sqlite wrapper that is now part of
	Mono.  Closes bug #134770 based on a patch from Graham Orr.

	* src/PhotoStore.cs: extend the comparison stuff a little.
	
	* MAINTAINERS: update.

	* AUTHORS: update a little.

	* src/MainWindow.cs: handle the delete_event signal properly.
	Fixes bug #134783 and is based on a patch by Graham Orr.

	* src/f-spot.glade: add a delete_event handler.
	
2004-03-10  Larry Ewing  <lewing@ximian.com>

	* src/GalleryRemote.cs: Fix Album::Parent so that it actually
	works and add a quick hack to parse the reference number when
	building the Album.  It might be safe to just assume the position
	is the reference number, but the docs aren't clear on that so
	better safe than sorry.
	
	* src/ExportCommand.cs: always setup the option menu even if we
	don't have values in the fields.

	* src/f-spot.glade: make the pasword text invisible.
	
	* src/makefile.am (F_SPOT_CSFILES): add ExportCommand.cs

	* src/f-spot.glade: add export dialog.
	
	* src/MainWindow.cs: remove old gallery export hack, hook to the
	new dialog hack.

	* src/ExportCommand.cs: add a really broken dialog for the gallery
	export command.

2004-03-07  Larry Ewing  <lewing@ximian.com>

	* src/FormClient.cs: misc formatting cleanups.

	* src/SlideView.cs: reset the timer before we show the image to
	even out the display time and bump the transition timer to 75
	milisecond.

2004-03-05  Larry Ewing  <lewing@ximian.com>

	* src/PhotoQuery.cs: use Array.Sort to preserve the order of the
	photos.

	* src/PhotoStore.cs: implement a basic IComparable on Photo so
	that we can sort the array when needed.sr

2004-03-04  Larry Ewing  <lewing@ximian.com>

	* src/f-spot.glade: add export menu item.
	
	* src/MainWindow.cs: add hardcoded export handler.

	* src/FormClient.cs: added, basic HTTP Post implementation for
	form sumbmission and file Upload.
	
	* src/GalleryRemote.cs: new file with beginnings of GalleryRemote
	protocol implementation.
	
	* src/makefile.am (F_SPOT_CSFILES): add FormClient.cs and
	GalleryRemote.cs

2004-03-01  Larry Ewing  <lewing@ximian.com>

	* configure.in: require gtk-sharp >= 0.17.

2004-02-28  Larry Ewing  <lewing@ximian.com>

	* src/IconView.cs: fixup for gtk-sharp 0.17.

	* src/TagSelectionWidget.cs: more gtk# fixups.

	* src/TimelineSelectorWidget.cs: more gtk# fixups.

	* src/PhotoView.cs: more gtk# fixups.

	* src/MainWindow.cs: more gtk# fixups.

	* src/SlideView.cs: more gtk# fixups.

2004-02-27  Larry Ewing  <lewing@ximian.com>

	* src/f-spot.glade: add menu item for set as background.
	
	* src/MainWindow.cs: add set as background handler and hook up the
	menu item.

2004-02-25  Larry Ewing  <lewing@ximian.com>

	* src/SlideView.cs: Refactor the Forward back logic more, add
	next_idx logic.
	
	* src/SlideView.cs: Add the begginings of the flipping code.	

2004-02-12  Larry Ewing  <lewing@ximian.com>

	* src/MainWindow.cs: Queue a redraw of the icon view now that
	we've changed the tags.  This needs a better solution.

	* src/PhotoStore.cs: be sure to commit the tag changes.

	* src/MainWindow.cs: remove the old ifdefed code it was confusing.

	* src/IconView.cs: Use UnselectAllCells() to clear the selection,
	we were missing notification before.
	
	* src/MainWindow.cs: make UpdateMenus handle more of the menu
	items.  Hook UpdateMenus to the tag selection widget.

	* src/f-spot.glade: fix a couple of the menu item widget names now
	that we are using them.

2004-02-11  Larry Ewing  <lewing@ximian.com>

	* src/f-spot.glade: remove toolbar that crept in somehow.
	
	* src/MainWindow.cs: hook up select/unselect.
	
	* src/IconView.cs: make unselectall public add selectall.

2004-02-10  Larry Ewing  <lewing@ximian.com>

	* src/PhotoStore.cs: add a remove method for tags that removes the
	tag from all the photos that refer to it and the removes it from
	the tag store.

	* src/TagStore.cs: make sure we clear the category so that our
	parent category doesn't try to keep us around.

	* src/MainWindow.cs: add remove tag handler logic.

2004-02-06  Larry Ewing  <lewing@ximian.com>

	* src/IconView.cs: Fix speed issue with selecting large ranges
	of cells.

	* src/makefile.am (CLEANFILES): add makefile to CLEANFILES.

	* src/IconView.cs: Clear selection when the query changes.
	
	* src/RotateCommand.cs: reformat slightly.

	* src/SlideView.cs: remove uneeded break that mcs complains about
	now.

	* src/makefile.am (F_SPOT_CSFILES): add ThumbnailCommand.cs.  Fix
	f-spot rule.

	* src/f-spot.glade: add new menu items.

	* src/MainWindow.cs: Add handler for deleting selected pictures
	from the catalog and for thumbnailing.  Use new thumbnail command
	for thumbnailing.  Add the start of a print command.

	* src/ThumbnailCommand.cs: add a thumbnailing command.

2004-01-30  Larry Ewing  <lewing@ximian.com>

	* src/SlideView.cs: Add another timer loop for the display
	transitions so that the transtion takes roughly the same amount of
	time for all sizes.  Clean up debug statments and timer names.  

2004-01-30  Larry Ewing  <lewing@ximian.com>

	* src/SlideView.cs: Generate the inbetween frames starting at the
	last frame and working forward because it gives a smoother
	impression if the end is smooth and the beginning is rough.  Use
	Destroyed instead of Destroy event.
	

2004-01-30  Larry Ewing  <lewing@ximian.com>

	* src/SlideView.cs: Generate the inbetween frames in an idle loop
	while showing the current image.  This trades off a lot of memory
	for speed but it make Full screen mode possible and improves
	interactivity.

2004-01-29  Larry Ewing  <lewing@ximian.com>

	* src/SlideView.cs: wrap the transition in a try block in case we
	get destroyed in the middle.

2004-01-28  Larry Ewing  <lewing@ximian.com>

	* src/SlideView.cs: use the allocation size rather than an
	arbitrary size.  Stop allocating a new buffer for each blend
	call.

	* src/MainWindow.cs: set the size request here.

	* src/SlideView.cs: add a quick hack to play with the blending in
	slide show transitions.

	* src/PhotoStore.cs: make AddTag also accept and array of tags,
	should fix the naming here soon.

	* src/MainWindow.cs: Add very basic View->Slide Show handler.
	Pass array directly to AddTag.

	* src/f-spot.glade: Add spelling fix from Kevin Breit
	<mrproper@ximian.com>.  Add View->Slide Show menu item.

	* src/makefile.am (F_SPOT_CSFILES): add SlideView.cs to the build.

	* src/SlideView.cs: add the start of a slideshow widget.  It
	currently only supports flip transitions.

2004-01-24  Larry Ewing  <lewing@ximian.com>

	* src/IconView.cs: add basic keynav and focus handling.  Shift
	selection still isn't right but things are getting better.

2004-01-23  Larry Ewing  <lewing@ximian.com>

	* src/f-spot.glade: Make hide the tabs and sink the scrolled
	window to remove some of the visual noise, the view changing
	buttons will come soon.

	* src/MainWindow.cs: add some temporary handlers for icon view
	resizing work.

	* TagCommands.cs: walk down the parent categories to indent for
	each level.

	* src/PixbufUtils.cs: bind UnsharpMask.

	* libfspot/f-pixbuf-unsharp.c: add a unsharp mask filter to
	libfspot.

	* libfspot/Makefile.am (libfspot_la_SOURCES): add
	f-pixbuf-unsharp.c


2004-01-21  Larry Ewing  <lewing@ximian.com>

	* src/IconView.cs: make InvalidateCell public for now.

	* src/MainWindow.cs: add handlers for new menu items and toolbars,
	reconnect the tag selection widgets SelectionChanged handler.

2004-01-20  Larry Ewing  <lewing@ximian.com>

	* src/TagSelectionWidget.cs: add TagHighlght method to get the
	tree selection.

	* src/f-spot.glade: add toolbar buttons and attach and remove tag
	menu items.

	* src/FileImportBackend.cs: allow multple base paths in an import.

	* src/ImportCommand.cs: allow multiple selections in the file
	selector.

	* src/TagCommands.cs: fix the category option so that it doesn't
	loop forever if a category has a sub category.

2004-01-18  Larry Ewing  <lewing@ximian.com>

	* src/IconView.cs: Add InvalidateCell() method to cut down on
	redraws, use where appropriate.  Add SelectCellRange() to
	implement shift selection.

2003-12-15  Miguel de Icaza  <miguel@ximian.com>

	* src/MainWindow.cs: Moved the main UI to Glade, and bring all the
	functionality from the old version there.

2003-11-29  Ettore Perazzoli  <ettore@ximian.com>

	* libfspot/f-image-view.c (impl_motion_notify_event): Fix memory
	leak.  Also, remove big chunk of "#if 0"ed code.

2003-11-29  Ettore Perazzoli  <ettore@ximian.com>

	* src/IconView.cs (IconView.HandlePixbufLoaded): Use
	InvalidateRect() instead of calling DrawCell() directly.  This
	fixes a redraw problem that occurred with a large enough number of
	pictures.  [I had a comment there saying that it was slower, but
	it doesn't seem to make a difference on my current machine.]

2003-11-29  Ettore Perazzoli  <ettore@ximian.com>

	* src/PixbufLoader.cs: Rename all methods using the conventions
	used in the rest of the code.

2003-11-28  Ettore Perazzoli  <ettore@ximian.com>

	* src/PixbufLoader.cs (PixbufLoader.Cancel): Just check if the
	hash returns null.
	(PixbufLoader.workerThread): If the queue count is zero after
	waiting on the monitor, wait again.
	(PixbufLoader.handleProcessedRequests): Don't remove the requests
	from the hash here, since we are already doing it when processing
	them.

	* src/IconView.cs (IconView.HandleScrollOnIdle): Move the code
	from Scroll() in here.
	(IconView.Scroll): Set an idle handler to scroll instead of just
	scrolling right away.
	(IconView.CancelScroll): New method to cancel a queued scroll.
	(IconView.HandleDestroyEvent): Handler for the widget's destroy
	event; call CancelScroll.
	(IconView.ctor): Connect the destroy event handler.

2003-11-22  Miguel de Icaza  <miguel@ximian.com>

	* src/PhotoSource.cs: Add another overload for GenerateThumbnail
	so we can specify whether to use Exif or not.

	* src/ImportCommand.cs: Thumbnails might not be generated, skip
	over those files.

	* src/f-spot.in (LD_LIBRARY_PATH): Added elite --debug flag to get
	line numbers on stack traces.

	* src/Makefile.am: Add elite -g to the mcs command line, so it
	generates debug info.

	* src/PhotoSource.cs: Add dog-food enabling feature by using Exif.

2003-11-22  Ettore Perazzoli  <ettore@ximian.com>

	* src/TagStore.cs: Pass true for the cache_is_immortal flag to the
	base constructor.

	* src/ImportStore.cs (ImportStore.ctor): Pass false for the
	cache_is_immortal flag to the base constructor.
	* src/PhotoStore.cs (PhotoStore.ctor): Likewise.

	* src/Db.cs (DbStore.cache_is_immortal): New private member.
	(DbStore.ctor): Get a cache_is_immortal arg.
	(DbStore.AddToCache): Add the item if the cache is immortal,
	instead of adding a WeakReference to it.
	(DbStore.LookupInCache): Expect a WeakReference if the cache is
	not immortal, the actual item otherwise.

2003-11-22  Ettore Perazzoli  <ettore@ximian.com>

	* libfspot/Makefile.am (libfspot_la_LIBADD): Add a dep on libeog.

2003-11-17  Ettore Perazzoli  <ettore@ximian.com>

	* src/RotateCommand.cs (RotateCommand.Execute): Only show the
	dialog if we are rotating more than one picture.

	* src/ProgressDialog.cs: Removed timeout stuff, we don't really
	need it.

2003-11-17  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/RotateCommand.cs (RotateCommand.Execute): Add a stoppable
	progress dialog.

	* src/ProgressDialog.cs: New.

2003-11-16  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/makefile.am (RESOURCES): Add f-spot-rotate-90.png and
	f-spot-rotate-270.png.

	* src/StockIcons.cs (StockIcons.Initialize): Add
	"f-spot-rotate-270", "f-spot-rotate-90".

	* src/RotateCommand.cs (RotateCommand.Direction): Renamed from
	RotationType.

	* src/PixbufLoader.cs (PixbufLoader.workerThread): Set the
	current_request to null after processing.

	* src/MainWindow.cs (MainWindow.RotateSelectedPictures):
	Implementation of the command to rotate the current picture if in
	photo view mode, or all the selected pictures in icon view mode.
	(MainWindow.HandleRotate90ToolbarButtonClicked): New event handler
	for the "Rotate 90 degrees" toolbar button.
	(MainWindow.HandleRotate270ToolbarButtonClicked): New event
	handler for the "Rotate 270 degrees" toolbar button.
	(MainWindow.CreateToolbar): New private method to create the
	toolbar.
	(MainWindow.ctor): Add the toolbar.

	* src/IconView.cs (IconView.UpdateThumbnail): Remove the thumbnail
	path, not the photo path.

	* libfspot/Makefile.am (libfspot_la_LIBADD): Add a dependency on
	libfspotjpegtran.

	* src/StockIcons.cs: Add new icons.

	* icons/f-spot-rotate-90.png: New.
	* icons/f-spot-rotate-270.png: New.

2003-11-16  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/RotateCommand.cs: New.

2003-11-16  Ettore Perazzoli  <ettore@perazzoli.org>

	Get some basic Dnd stuff in, although, it doesn't really work and
	I am giving up for now.

	* src/IconView.cs: Set up as a drag destination.  This doesn't
	work but I'll commit anyways since it's a start.

	* src/GtkDnd.cs: New file trying to make up for the broken
	bindings.

2003-11-16  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/MainWindow.cs (MainWindow.OnTagSelectionChanged): Switch to
	icon view mode.

2003-11-15  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/IconView.cs: Don't emit a DoubleClicked event if any
	keyboard modifiers are held.

2003-11-15  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/IconView (IconView.display_tags): New private member
	variable.
	(IconView.DisplayTags): New property.
	(IconView.CELL_BORDER_WIDTH): Reduced to 10 pixels.
	(IconView.SELECTION_THICKNESS): Reduced to 3 pixels.
	(Iconview.TAG_ICON_SIZE): New constant.
	(Iconview.TAG_ICON_HSPACING): New constant.
	(Iconview.TAG_ICON_VSPACING): New constant.
	(iconView.ErrorPixbuf): Use PixbufUtils.LoadFromAssembly().
	(IconView.UpdateLayout): Increase the cell_height to make space
	for the tags if DisplayTags is true.
	(IconView.DrawCell): Draw the category icons for the tags of the
	photo.

	* src/TagStore (TagStore.stock_icon_name): New private member.
	(TagStore.StockIconName): New public property.
	(TagStore.Icon): When this is set, set stock_icon_name to null.
	(TagStore.STOCK_ICON_DB_PREFIX): New constant.
	(TagStore.SetIconFromString): New private helper method.
	(TagStore.LoadAllTags): Add a debugging Console.WriteLine() since
	otherwise things do not seem to work [no idea why!].  Also, use
	SetIconFromString() to get the icon so we properly handle stock
	icons.
	(TagStore.GetIconString): If it's a stock icon, return
	STOCK_ICON_DB_PREFIX plus the icon name instead of the raw base64
	encoding.
	(TagStore.CreateDefaultTags): Set stock icons for the default tags
	instead of raw pixbufs.

	* src/StockIcons.cs (StockIcons.Initialize): Use
	PixbufUtils.LoadFromAssembly().

	* src/PixbufUtils.cs (PixbufUtils.LoadFromStream): New.
	(PixbufUtils.LoadFromAssembly (Assembly, string)): New.
	(PixbufUtils.LoadFromAssembly (string)): New.

2003-11-13  Jakub Steiner <jimmac@ximian.com>

	* icons/f-spot-people.png: use a nicer icon for people

2003-11-12  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/MainWindow.cs: Hmmm set "shrink" to true again for the
	hpaned, otherwise we can have some nasty resizing when selecting
	pictures.  We need to fix this properly by using labels with
	ellipsis.

2003-11-12  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/makefile.am: Add f-spot-people.png, f-spot-places.png to the
	.exe.

	* src/main.cs (Driver.Main): Change the working directory to be
	the user's home directory.

	* src/f-spot.in: DllImport uses LD_LIBRARY_PATH, not MONO_PATH,
	you doofus.

	* src/TagStore.cs (Tag.CompareTo): Reverse the order when using
	SortPriority.
	(TagStore.LoadAllTags): Get the icon from the database.
	(TagStore.CreateDefaultTags): Add "Favorites", "People", "Events"
	and "Other" categories.

	* src/TagSelectionWidget.cs (TagSelectionWidget.Update): Rename
	from Reload().
	(TagSelectionWidget.SetBackground): Private method to set the
	color of the cells depending on whether they are a category or a
	tag.
	(TagSelectionWidget.CheckBoxDataFunc): Use it.
	(TagSelectionWidget.IconDataFunc): Use it.
	(TagSelectionWidget.NameDataFunc): Use it.

	* src/TagCommands.cs: New.

	* src/f-spot.glade: Make "version_name_dialog" not visible (so we
	don't flicker).  New dialog "create_tag_dialog".

	* icons/f-spot-people.png: New icon.
	* icons/f-spot-places.png: New icon.

2003-11-11  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/main.cs (Driver.Main): Change to the home directory at
	start-up.

2003-11-11  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/TagSelectionWidget.cs (TagSelectionWidget.IconDataFunc):
	New.
	(TagSelectionWidget.ctor): Hook it up so we can display the icon
	for the tag.

	* src/TagStore.cs (PixbufSerializer): New temporary class to avoid
	using the broken GTK# bindings for gdk_pixdata_serialize() and
	gdk_pixdata_deserialize().
	(GetIconString): Get the base64 encoded version of the pixbuf.
	(TagStore.LoadAllTags): Get the icons.
	(TagStore.CreateDefaultTags): Set the f-spot-favorite icon for the
	favorites tag.
	(TagStore.Commit): Save the icon.

	* icons/f-spot-favorite.png: New.

2003-11-11  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/PhotoStore.cs (Photo.CreateDefaultModifiedVersion): Start at
	"(2)" for "Modified" versions past the first one, instead of
	"(1)".  [So if you have a "Modified" version now you get "Modified
	(2)" instead of "Modified (1)".]

2003-11-10  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/PhotoStore.cs (PhotoStore.MoveThumbnail): New.
	(PhotoStore.DeleteThumbnail): New.
	(Photo.DeleteVersion): Remove the thumbnail.
	(Photo.RenameVersion): Rename the thumbnail.
	(PhotoStore.Create): Get the id after doing the query, not before!

2003-11-10  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/PhotoView.cs (Photoview.UpdateImageView): Use
	Photo.DefaultVersionPath, not Photo.Path, to get the path for the
	image to display.

2003-11-09  Larry Ewing  <lewing@ximian.com>

	* configure.in: drop libgnome requirement to 2.2 since it doens't
	seem to break anything.

	* src/PixbufLoader.cs (PixbufLoader.processRequest): catch the
	possible Pixbuf exceptions.

	* src/PhotoView.cs (PhotoView.UpdateImageView): catch the possible Pixbuf exception.

	* src/IconView.cs (IconView.ErrorPixbuf): use the question mark icon we ship.

2003-11-10  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/InfoBox.cs (InfoBox.Update): Get the size info from the
	photo's DefaultVersionPath instead of its Path.

2003-11-09  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/MainWindow.cs (MainWindow.ctor): Pass false as the "shrink"
	arg in Paned.Pack1() for the left pane so we don't get sized below
	the InfoBox' size requisition.

2003-11-09  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/MainWindow.cs (MainWindow.HandlePhotoViewButtonPressEvent):
	Button press event handler for the PhotoView, so we can switch to
	icon view mode on double click.
	(MainWindow.ctor): Connect.

	* libfspot/f-image-view.c (impl_button_press_event): Clean up on
	GDK_2BUTTON_PRESS.

2003-11-09  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/ZoomUtils.cs: Import from libfspoteog, not libeog.

2003-11-09  Ettore Perazzoli  <ettore@perazzoli.org>

	* configure.in: Remove gnome-thumbnail.h check, add a Sqlite
	check.

2003-11-09  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/PhotoVersionCommands.cs (PhotoVersionCommands.Create): Pass
	true for create_file to Photo.CreateVersion.

	* src/IconView.cs (IconView.Scroll): Use Photo.DefaultVersionPath
	instead of Photo.Path.
	(IconView.DrawCell): Likewise.
	(UpdateThumbnail): New method to have a thumbnail reloaded.

	* src/MainWindow.cs (MainWindow.ctor): Pass photo store to
	PhotoView.
	(MainWindow.HandleCreateVersionCommand): Update the thumbnail in
	the icon view.
	(MainWindow.HandleDeleteVersionCommand): Likewise.
	(MainWindow.HandleRenameVersionCommand): Likewise.
	(MainWindow.UpdateForVersionIdChange): Likewise.
	(MainWindow.HandlePhotoViewPhotoChanged): New handler for the
	PhotoChanged event on the PhotoView.
	(MainWindow.ctor): Connect.

	* src/PhotoView.cs (PhotoView.HandleCropButtonClicked): New.
	(PhotoView.ctor): Connect to the "Clicked" event on the crop
	button.
	(PhotoView.photo_store): New member to keep a pointer to the photo
	store.
	(PhotoView.ctor): Get a PhotoStore arg, initialize photo_store.
	(PhotoView.PhotoChanged): New public event.
	(PhotoView.UpdateImageView): Use Photo.DefaultVersionPath instead
	of .Path, so that we display the default version.
	(PhotoView.HandleDisplayNextButtonClicked): Emit PhotoChanged.
	(PhotoView.HandleDisplayPreviousButtonClicked): Emit PhotoChanged.

	* src/PhotoStore.cs (Photo.CreateDefaultModifiedVersion): New.
	(Photo.CreateVersion): Get a bool arg specifying whether to create
	a file for the new version or not.
	(Photo.DefaultVersionPath): New public property.

2003-11-09  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/InfoBox.cs (InfoBox.SetupWidgets): Move the version option
	menu up, after the name entry; I think it makes more sense this
	way.

2003-11-09  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/MainWindow.cs (MainWindow.UpdateForVersionIdChange): New.
	(MainWindow.HandleVersionIdChanged): Use it.
	(MainWindow.HandleInfoBoxVersionIdChanged): New.
	(MainWindow.ctor): Hook to the VersionIdChanged event on the
	InfoBox.

	* src/InfoBox.cs (InfoBox.VersionIdChanged): New public event.
	(InfoBox.HandleVersionIdChanged): Handler for the PhotoVersionMenu
	version id changes, emits VersionIdChanged.
	(InfoBox.Update): Make it use PhotoVersionMenu.
	(InfoBox.PopulateVersionOptionMenu): Remove.
	(InfoBox.HandleVersionOptionMenuActivated): Remove.

2003-11-09  Ettore Perazzoli  <ettore@perazzoli.org>

	* configure.in: Require Gnome 2.4 libs.

2003-11-09  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/PhotoVersionCommands.cs
	(PhotoVersionCommands.VersionNameRequest): Change so that it gets
	a request type and sets prompt and title depending on it.  Also,
	don't give a "this name already exists" warning if it's a rename
	request and the user typed the same name as the current version
	and return ResponseType.Cancel in that case even if the user
	clicked "Ok".
	(PhotoVersionCommands.Create): Update accordingly.
	(PhotoVersionCommands.Rename): Update accordingly.
	(PhotoVersionCommands.Update): New.
	(PhotoVersionCommands.VersionNameRequest.HandleVersionNameEntryChanged):
	Use it.
	(PhotoVersionCommands.VersionNameRequest.Run): Likewise.

2003-11-09  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/PhotoVersionCommands.cs
	(PhotoVersionCommands.Delete.Execute): Implement.
	(PhotoVersionCommands.VersionNameRequest): New private class for
	generic version name requests.
	(PhotoVersionCommands.Create): Use this class.
	(PhotoVersionCommands.Rename): Implement.

	* src/f-spot.glade: Rename "create_new_version_dialog" to
	"version_name_dialog", give a name to the prompt label, remove all
	text.

	* src/MainWindow.cs (MainWindow.HandleVersionIdChanged): Call
	UpdateMenus().
	(MainWindow.HandleRenameVersionCommand): Implement.
	(MainWindow.UpdateMenus): Make the "rename version" menu item
	insensitive when the original version is selected.

	* src/PhotoStore.cs (Photo.GetVersionPath): Use GetVersionName().
	(Photo.DeleteVersion): Delete the version file.  Also, if we are
	deleting the DefaultVersion, re-set it to be the most recent of
	the versions before this one.
	(Photo.RenameVersion): Get a uint version_id, not an int, also use
	the proper name.

2003-11-09  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/makefile.am: Include f-spot.glade as a resource into
	f-spot.exe.

	* src/f-spot.glade: New file, right now containing only the
	"Create New Version" dialog box.

	* src/ThumbnailCache.cs (ThumbnailCache.MaybeExpunge): Renamed
	from "maybeExpunge" for consistency.

	* src/PhotoView.cs (PhotoView.Update): Made public.

	* src/PhotoVersionMenu.cs: New file implementing a menu to select
	photo versions.

	* src/PhotoVersionCommands.cs: New file implementing version
	management commands.

	* src/PhotoStore.cs (Photo.default_version_id): New private member
	variable.
	(Photo.DefaultVersionId): New property.
	(Photo.VersionNameExists): Made public.
	(Photo.GetVersionPath): Return the appropriate path for the
	OriginalVersionId.
	(Photo.CreateVersion): Make a copy of the base version and
	generate a thumbnail for it.  Make sure that a file with the new
	path doesn't already exist.
	(PhotoStore.thumbnail_factory): Made static.
	(PhotoStore.EnsureThumbnailDirectory): Made static.
	(PhotoStore.GenerateThumbnail): New static method.
	(PhotoStore.Create): Use it.
	(PhotoStore.ctor): Add a default_version_id column to the table.
	(PhotoStore.Create): Set the default_version_id column.
	(PhotoStore.Get): Get the default_version_id column and set
	DefaultVersionId.
	(PhotoStore.Commit): Set the default_version_id column.  Also,
	don't store the OriginalVersionId in the photo_versions table.

	* src/MainWindow.cs: Added a Photo -> Version submenu and
	Create/Delete/Rename Version menu items.
	(MainWindow.CurrentPhoto): New private property to track the
	selected photo.

	* src/InfoBox.cs (InfoBox.Update): Made public.

2003-11-09  Ettore Perazzoli  <ettore@perazzoli.org>

	* configure.in: Don't require libxml.

2003-11-08  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/ImportCommand.cs (ImportCommand.HandleDialogResponse):
	Renamed from "OnResponse" for consistency.

2003-11-08  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/TagStore.cs (Tag.Children): Change from an ArrayList to an
	array.

	* src/TagSelectionWidget.cs (TagSelection): Return an array of
	tags instead of an ArrayList.

	* src/PhotoView.cs: Renamed private member "model" to "query";
	updated for the changes in PhotoQuery.
	(PhotoQuery.Query): Renamed from "Model".

	* src/PhotoStore.cs (Photo.Tags): Change from an ArrayList to an
	array.
	(Photo.Query): Return an array of Photos instead of an ArrayList.

	* src/MainWindow.cs (MainWindow.HandleSelectionChanged): Update
	for the fact that IconView.Selection is now an array.

	* src/InfoBox.cs (InfoBox.PhotoPath): Removed, together with the
	private "photo_path" member.
	(InfoBox.Photo): New property, use this instead.
	(InfoBox.HandleVersionOptionMenuActivated): New.
	(InfoBox.PopulateVersionOptionMenu): New.
	(InfoBox.Update): Call it.
	(InfoBox.SetupWidgets): Add a row with the version option menu.
	(InfoBox.Clear): Make the option menu insensitive.

	* src/IconView.cs (IconView): Rename local member "model" to
	"query"; make it use just a PhotoQuery object.
	(IconView.Selection): Return an array instead of an ArrayList.

	* src/PhotoQuery.cs: Don't derive from PhotoListModel anymore;
	move all the method inherited from PhotoListModel in.
	(PhotoQuery.Tags): Changed from an ArrayList to an array.
	(PhotoQuery.Photos): Return an array.
	(PhotoQuery.GetItem): Removed.

	* src/PhotoListModel.cs: Removed.

	* src/Db.cs (DbStore.AddToCache): Remove an existing item with the
	same ID as the one we are adding.

2003-11-08  Ettore Perazzoli  <ettore@perazzoli.org>

	* src/PhotoView.cs (PhotoView.UpdateImageView): Handle a null
	model or an out of range photo index value gracefully.

	* src/PhotoStore.cs (Photo.ctr): Moved initialization for "tags"
	out of the constructor.  Added version management.
	(Photo.VersionIds): New.
	(Photo.AddVersionUnsafely): New.
	(Photo.GetPathForVersionName): New.
	(Photo.VersionNameExists): New.
	(Photo.GetVersionName): New.
	(Photo.GetVersionPath): New.
	(Photo.DeleteVersion): New.
	(Photo.CreateVersion): New.
	(Photo.RenameVersion): New.
	(Photo.Photo): Made the two constructors use each other to
	avoid duplicated code.  Also, create the default "Original" version.
	(PhotoStore.ctor): Create the "photo_versions" table.
	(PhotoStore.Get): Get the versions from the database.
	(PhotoStore.Remove): Update the "photo_versions" table.
	(PhotoStore.Commit): Likewise.
	(Main): Added testing code for the versioning stuff.

	* src/ImageView.cs (ImageView.Pixbuf): Handle a null value.

2003-11-08  Ettore Perazzoli  <ettore@perazzoli.org>

	* MAINTAINERS: New.
	* Makefile.am (EXTRA_DIST): Add.

2003-11-08  Ettore Perazzoli  <ettore@perazzoli.org>

	* configure.in: Don't use gettext for now, we have no support for
	it anyhow.

