2002-02-02  Iain Holmes  <iain@ximian.com>

	* preferences.[ch]: New file for preferences.

	* Makefile.am: install the .schemas file

	* callbacks.[ch]: Open preferences callback added.

	* cdrom.[ch]: Add a set_device function.

	* gnome-cd.c (window_destroy_cb): Do the on-stop actions.
	(player_init): Create preferences.
	(main): Do the on-start actions.

	* linux-cdrom.c (linux_cdrom_set_device): Implement the set_device
	method.

2002-02-02  Seth Nickell  <snickell@stanford.edu>

	* gnome-cd.png:

	Change to Jimmac's pretty new CD icon :-)

2002-01-26  Iain Holmes  <iain@ximian.com>

	* images/lcd-theme/*: Added more icons, and lcd.theme file.

	* Makefile.am: Remove the includedir line, and add the THEME_DIR 
	define.

	* display.c: Define CDDisplayTheme structure.
	(cd_display_resize_images): Resize and reposition images.
	(expose_event): Resize the images if they need it. Use theme instead
	of priv->images.
	(cd_image_new): Only call gnome_pixmap_file if the filename isn't
	absolute. Initialise scaled with pixbuf and ref it.
	(make_fullname): Take a file and a theme name and work out the full
	path
	(cd_display_parse_theme): Parse the theme.

	* gnome-cd.c: Remove the pangoft2.h include. Set the default theme to
	lcd.
	(init_player): load the theme.

	* theme.c: New file to load the theme.
	
	
2002-01-26  Gediminas Paulauskas <menesis@delfi.lt>

	* gnome-cd.c: get translations in UTF-8

2002-01-21  Iain Holmes  <iain@ximian.com>

	* callbacks.c (cd_status_changed_cb): Handle the repeat issue when the
	CD is completed.

2002-01-20  Iain Holmes  <iain@ximian.com>

	* callbacks.c (play_cb): Play until the correct end track.
	(loopmode_changed_cb): Change the loopmode.
	(playmode_changed_cb): Change the playmode.

	* cdrom.c (cdrom_play): Change the parameters.
	(init): Init the loopmode and playmode.
	(gnome_cdrom_play): Change the parameters.

	* cdrom.h: Add GnomeCDRomMode;

	* display.c (size_request): Calculate the height of the images.
	(draw_pixbuf): Draw pixbuf using
	gdk_pixbuf_render_to_drawable_with_alpha.
	(expose_event): Draw the correct info icons.
	(realize): Add the events to the widget.
	(button_press_event): Check where the widget was clicked, change the
	icon as appropriate.
	(class_init): Create the signals and connect the
	button_press_callback.
	(init): Load the new icons.

	* gnome-cd.c (skip_to_track): Set the end track correctly.
	(init_player): Attach to the display signals.

	* linux-cdrom.c (linux_cdrom_next): Set the end correctly.
	(linux_cdrom_ffwd): Set the end correctly.
	(linux_cdrom_play): Set the end of the play correctly.
	(linux_cdrom_rewind): Set the end correctly.
	(linux_cdrom_back): Set the end track correctly.

	* images/Makefile.am: Add the new icons.

2002-01-18  Iain Holmes  <iain@ximian.com>

	* gnome-cd.c (make_popup_menu): Set the image for the menu, from
	either stock of file.

	* images/Makefile.am: Add the a-*-menu.png files

2002-01-18  Iain Holmes  <iain@ximian.com>

	* gnome-cd.c (init_player): Use some icons jimmac did.
	(make_popup_menu): Add a popup menu for the display.

2002-01-13  Iain Holmes  <iain@ximian.com>

	* display.c (draw_pixbuf): Add helper function so I can change how
	the pixbufs are drawn without having to change it in many places.
	(expose_event): Use draw_pixbuf. Remove the GC creations. Don't scale
	the pixbufs here, use the pre-calculated scaled ones.
	(scale_image): Scale the image to the size required.
	(size_allocate): Scale the image.
	(cd_image_new): Set the scaled pixbuf to NULL and set the x and y
	correctly.

2002-01-13  Iain Holmes  <iain@ximian.com>

	* display.c (expose_event): Don't fill the area with black.

	* images/Theme-Limitations: Document describing themes

2002-01-13  Iain Holmes  <iain@ximian.com>

	* display.c (size_allocate): Resize the images depending on the
	display size.
	(size_request): Play around with size.
	(expose_event): Loop through all the images, drawing the ones that
	are needed. Draw text in black gc.
	(cd_image_new): Create a new CDImage structure.
	(init): Load the images.

2002-01-12  Iain Holmes  <iain@ximian.com>

	* gnome-cd.c (gnome_cd_build_track_list_menu): Print the track number
	before the track name.

2002-01-11  Iain Holmes  <iain@ximian.com>

	* gnome-cd.c (window_destroy_cb): Unref the cdrom to stop it emitting
	signals while the rest of the window is being destroyed.
	(gnome_cd_build_track_list_menu): Block the changed signal while we
	change the tracklist menu.
	(make_button_from_widget): Set the border width around the buttons to
	2.

	* callbacks.c (cd_status_changed_cb): Block the signal again.
	
2002-01-11  Iain Holmes  <iain@ximian.com>

	* gnome-cd.c (skip_to_track): Skip to the currently selected track.
	(init_player): Connect skip_to_track to the option menu signal.

	* callbacks.c (cd_status_changed_cb): Check which track is visible
	in the option menu, and if it's not the same change it.

2002-01-11  Iain Holmes  <iain@ximian.com>

	* gnome-cd.c (init_player): Remove deprecated function use, set the
	default size for the window.

	* display.c (size_request): Recalculate the width/height in this
	function. 

2002-01-11  Iain Holmes  <iain@ximian.com>

	* gnome-cd.h: s/rebuild/build/

	* cddb.c (cddb_get_query): Rebuild the tracklist if the disc is
	already in the cache.

	* display.c (cd_display_clear): Calculate the correct width.

2002-01-10  Iain Holmes  <iain@ximian.com>

	* *.c: Add the emacs crap at the top.

	* callbacks.c (cd_status_changed_cb): Don't put the track name on 
	the display. Set the window title to something useful.

	* cddb.c (load_cddb_data): Rebuild the tracklist menu.

	* display.h: Remove the CD_DISPLAY_LINE_TRACK enum value.

	* gnome-cd.c (gnome_cd_set_window_title): Function to set the
	window title to something.
	(gnome_cd_build_track_list_menu): Generate an option menu from the
	tracknames.
	(init_player): Add an option menu for the tracks. Remove the mixer
	button and volume button.

	* linux-cdrom.c (linux_cdrom_get_status): Handle the other
	CDS_ status results.

2002-01-09  Iain Holmes  <iain@ximian.com>

	* cddb.c (load_cddb_data): Swap the artist and album title round. Opps

	* gnome-cd.c (make_button_from_widget): Set a short name for 
	accessibility.
	(make_button_from_file): Take a shortname.
	(make_button_from_stock): Take a shortname.
	(init_player): Set the short name for all the buttons. Make the
	tracklist, preferences and volume buttons inactive until they do stuff.

	* callbacks.c: Include i18n headers
	(eject_cb): Change the play buttons short name.
	(play_cb): Ditto.
	(stop_cb): Ditto.
	(ffwd_press_cb): Ditto.
	(next_cb): Ditto.
	(back_cb): Ditto.
	(rewind_press_cb): Ditto.
	
2002-01-06  Iain Holmes  <iain@ximian.com>

	* callbacks.c (cd_status_changed_cb): Use the cddb info if we have
	some.

	* cddb.c: Add a cddb cache for already loaded discids
	(load_cddb_data): Parse the CDDB data.
	(cddb_listener_event_cb): Set the cd info to NULL if there's an error.
	(cddb_make_disc_info): Create the discid as a string. Store the number
	of tracks.
	(cddb_get_query): Create the cache.

	* display.c: Add some return_if_fails

	* gnome-cd.c (init_player): Make the toplevel a GtkWindow rather 
	than a BonoboWindow.

	* gnome-cd.h: Define the GnomeCDDiscInfo struct.

	* linux-cdrom.c (linux_cdrom_get_status): Initialise the track number
	to 1.

2002-01-02  Iain Holmes  <iain@ximian.com>

	* callbacks.c (maybe_close_tray): Function to try to close the CD
	tray.
	(stop_cb): Call maybe_close_tray.
	(ffwd_cb): Ditto.
	(next_cb): Ditto.
	(back_cb): Ditto.
	(rewind_cb): Ditto.
	(cd_status_changed_cb): Update the display, get data from CDDB and
	make the debugging spew silent.

	* cddb.c (load_cddb_data): Stub function to load CDDB data.
	(listener_event_cb): Work out what the event callback meant.
	(cddb_make_disc_info): Create a new disc structure.
	(cddb_get_query): Calculate the offsets correctly.

	* cdrom.c (gnome_cdrom_copy_status): Clone a status.

	* cdrom.h: Move ASSIGN_MSF here.

	* display.c: Use the new enums.
	(cd_display_clear): Clear the display.

	* gnome-cd.c (pixbuf_from_file): Create a pixbuf from a file.
	(init_player): Set the default window icon. Set a better icon on the
	mixer button.

	* linux-cdrom.c (linux_cdrom_eject): Try to close the tray if it's
	open, otherwise eject.
	(linux_cdrom_get_cddb_data): Calculate the CDDB data from the CD.

	* images/Makefile.am: Add 2 new icons

2001-12-31  Iain Holmes  <iain@ximian.com>

	* callbacks.[ch] (play_cb): Update for new cd stuff.
	(update_cb): Remove.
	(cd_status_changed_cb): New callback function.
	
	* cdrom.[ch] (class_init): Add a signal.
	(gnome_cdrom_status_changed): Function to emit the signal.
	(msf_equals): Check if 2 GnomeCDRomMSFs are equal.
	(gnome_cdrom_status_equal): Check if 2 GnomeCDRomStatus are equal.

	* display.c: Remove some debugging spewage.

	* gnome-cd.c (init_player): Use the new GnomeCDRom stuff.

	* linux-cdrom.c: Rewrite to be more careful about opening and closing
	the device, do things better and generally work.

2001-12-09  Seth Nickell  <snickell@stanford.edu>

	* Makefile.am:
	* gnome-cd.desktop.in:
	* gnome-cd.png:

	Install a .desktop file into datadir/applications

2001-11-17  Iain Holmes  <iain@ximian.com>

	* callbacks.c (play_cb): Change the pause/play image depending on the
	buttons function.
	(stop_cb): Ditto
	(ffwd_press_cb): Ditto
	(next_cb): Ditto.
	(back_cb): Ditto.
	(rewind_press_cb): Ditto.

	* gnome-cd.h: Add entities for the pause/play images.

	* gnome-cd.c (init_player): Set up the pause play images.

2001-11-17  Iain Holmes  <iain@ximian.com>

	* gnome-cd.c (init_player): Set the last settings to be NOTHING, so
	that the first time the status is checked, if there is a disc, a 
	disc change will be registered.

2001-11-17  Iain Holmes  <iain@ximian.com>

	* gnome-cd.h (GnomeCD): Remove some unused items, add a last status
	entity.

	* gnome-cd.c (init_player): Remove the state initialisation and fix
	warning.

	* cddb.c: File to handle the cddb functions.

	* cdrom.[ch] (class_init): Add the pointer for the get_cddb_data method.
	(cdrom_get_cddb_data): Standard empty stub.
	(gnome_cdrom_free_cddb_data): Function to free the CDDB data.

	* linux-cdrom.c (linux_cdrom_get_cddb_data): Generate the data CDDB
	requires from the CD track info.
	(linux_cdrom_close_tray): Function that attempts to close the CD tray.

	* display.c (realize): Fix some warnings.
	(init): More warnings be gone.

	* Makefile.am: Add the CDDBSlave2 dir to the includes.

2001-11-17  Iain Holmes  <iain@ximian.com>

	* display.c: MAde the display into a GtkWidget.

	* gnome-cd.c (init_player): Remove all the PangoContext stuff.
	Use the new display widget instead of a drawing area.

2001-11-03  Iain Holmes  <iain@ximian.com>

	* gnome-cd.c (main): Added i18n stuff
