2006-01-26 Rodney Dawes <dobey@novell.com>
* gnome-background-properties.glade: Add an Apply button
* gnome-wp-capplet.[ch]: Replace old_filename with an old_item struct
(gnome_wp_props_wp_set): Set the filename key to empty string when
setting the background to "No Wallpaper"
(gnome_wp_props_revert): New method to revert changes in the dialog
when the Cancel button is clicked
(gnome_wp_main_quit): Free the old_item structure
(wallpaper_properties_clicked): Handle the Apply button
Handle closing the dialog for OK separately from Cancel/delete_event
Revert the settings when Cancel or wm "x" or ESC are clicked
(gnome_wp_load_stuffs): Set the old_item to the currently selected
background setting, whether it be an image or "No Wallpaper"
* gnome-wp-info.c (gnome_wp_info_dup): If info is NULL, just return
NULL rather than trying to access members of an empty struct
* gnome-wp-item.[ch] (gnome_wp_item_dup): New method to create a
duplicate and newly allocated GnomeWPItem structure
Fixes#327335
2006-01-14 Rodney Dawes <dobey@novell.com>
* *.[ch]: Update Copyright notice to include 2006 year
* gnome-background-properties.glade: Change the main dialog to use
explicit apply with OK and Cancel buttons
Remove the icons from the "Add Wallpaper" and "Remove" buttons
* gnome-wp-capplet.c (gnome_wp_props_wp_set): Add a new retval boolean
so that we can return whether or not we are trying to set the wallpaper
to the same image filename as before
Remove all the UI updating code from here
Fix a potential leak of the GConfChangeSet object
(gnome_wp_props_wp_selected): Update the UI whenever a different
wallpaper is selected in the list
Remove the timeout to update gconf, as we are using explicit apply now
(gnome_wp_main_quit): Free the old_filename variable
Update the indentation style to match the rest of the code
(wallpaper_properties_clicked): Handle setting the gconf keys when the
OK button is clicked, and fall through to the cancel/close code
(gnome_wp_scale_type_changed, gnome_wp_shade_type_changed):
Don't set the gconf strings from here, only update when OK is clicked
(gnome_wp_color_changed): Don't update gconf strings here
Don't generate miniature icon thumbnails for the drop-down menu
(gnome_wp_remove_wallpaper): Don't need to remove the idle id any more
(gnome_wp_load_stuffs): Set the old_filename variable to the current
setting that is stored in gconf for the wallpaper filename
(gnome_wp_delay_changed): Remove this unused method
(gnome_wp_icon_theme_changed): Don't need to update the icons in the
drop-down menu here, as they are being removed
(set_accessible_name): Don't need this any longer, as the drop-down
menu items are now standard label menu items, and don't have icons
(wallpaper_properties_init): No longer need the key repeat delay
Fix some style issues with the glade_xml_get_widget calls
Replace the menu items in the option menus with standard label items
* gnome-wp-capplet.h (_GnomeWPCapplet): Remove the no longer needed
Widget variables for updating the drop-down menu icons
Remove the no longer needed delay and idleid variables
Add an old_filename variable to compare against when OK is clicked
Also should fix#316697
2004-06-28 Rodney Dawes <dobey@novell.com>
* *.[ch]: Update copyright info to have correct years (2003-2004)
* gnome-wp-capplet.c (gnome_wp_capplet_scroll_to_item):
Abstract this code out so that we don't have to duplicated it every
time we want to scroll to a particular item in the list
(gnome_wp_add_image): Update this to return the new item that we
created, and don't scroll to or set as the wallpaper, every time we
call this function
Use the new gnome_wp_item_new () call to create items
(gnome_wp_add_images): Change the API to not use the files argument
any longer, as we don't need it without the GTK+ 2.2 compat code
Add all the items to the list and select the last one when finished
(gnome_wp_file_open_dialog): Update to not pass in the files argument
to gnome_wp_add_images () and free the GSList of filenames
(bg_add_multiple_files): merge this code into the normal callback for
when images are dragged to the dialog
(bg_properties_dragged_image): Don't check if the list is more than
1 or not here, and always call gnome_wp_add_images () with the full
list that we are given
Convert the GList of GnomeVFSURIs that we get from gnome-vfs to a
GSList of char * uris to pass into gnome_wp_add_images ()
(gnome_wp_load_stuffs, gnome_wp_file_changed):
Use the new gnome_wp_capplet_scroll_to_item () and gnome_wp_item_new ()
API calls instead of duplicating code
* gnome-wp-capplet.h: Remove the GConf key path defines from here
* gnome-wp-item.[ch]: Add the gnome_wp_item_new () call to create the
GnomeWPItem structure for storing wallpapers in
* gnome-wp-utils.h: Put the GConf key path defines in here
* gnome-wp-xml.c (gnome_wp_load_legacy): Use the gnome_wp_item_new ()
call to create items from the old legacy (XD2 capplet) list file
2004-04-05 Rodney Dawes <dobey@ximian.com>
* gnome-wp-capplet.c (gnome_wp_scale_type_changed): Regenerate the
thumbnail in the list when we change scaling type now
(wallpaper_properties_init): Add GtkFileFilter support (needs love)
TreeView is buggy, so we need to not set the vertical-separator
style property for it
* gnome-wp-item.c: Include <config.h> and <gnome.h> here
(collect_save_options): Add a function to set all of the pixbuf options
for the thumbnail pixbuf properly, so we can save them back out
(gnome_wp_item_get_thumbnail): Fix up the code to
generate the thumbnails for the list a bit, so that we have sexy
thumbnails that look exactly like how the image would, on-screen
Initialize all of the width/height variables to 0
Add a new pixbuf variable for loading the original image to get the
dimensions of it, so we can do thumbnailing more properly
Use a LIST_IMAGE_WIDTH define, for the width of the images in the list
Just return the bgpixbuf if we are creating the "No Wallpaper" thumb
Save the thumbnail back out with the dimensions for the original image
If our image is smaller than the list thumbnail, then just use 1.0 as
the ratio for scaling the image for tiling/etc...
Use the new API to do scaling inside the center/tile functions
Reload the thumbnail pixbuf after generating it with the thumbnail
system, so that we get all of the pixbuf options set correctly
* gnome-wp-item.h (GnomeWPItem): store the original image's width
and height in the item, so we can avoid reopening the original image
every time we generate the thumbnail, on systems where the thumbnail
doesn't contain the appropriate information
* gnome-wp-utils.c (gnome_wp_pixbuf_tile):
(gnome_wp_pixbuf_center): Add API to do the scaling inside these calls
Fixes#136691
2004-02-01 Rodney Dawes <dobey@ximian.com>
* Makefile.am: Switch the binary name to gnome-background-properties,
Based on patch from Seth Nickell
* background.desktop.in: Use gnome-background-properties here also,
based on patch from Seth Nickell
* gnome-wp-capplet.c: Fix a bug where you can't re-add a wallpaper
after you remove it
Use the new gnome_wp_item_update_description () call
Use a GConfChangeSet to change the gconf keys, based on a patch
from Seth Nickell
Select the first item in the list ("No Wallpaper") when the wallpaper
is removed, based on a patch from Seth Nickell
Do the rc string parsing before creating the window, and change some
defaults so we can fix the spacing between widgets and the border
Fix spacing between widgets and window border
* gnome-wp-item.[ch]: Add update_description function to clean up
code, based on patch from Seth Nickell
Fix a crash when trying to thumbnail very wide images that are very
short, while trying to maintain aspect ratio
* gnome-wp-xml.c: Use backgrounds.xml instead of wp-list.xml, and
migrate the old wp-list.xml over if backgrounds.xml doesn't exist
yet, based on patch from Seth Nickell