And only when selected. There's no point in loading it straight
away, as we have more than enough metadata to display it in the
icon view, and we'll need to load up the data when we display
it anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=641414
Now we'd just need gnome-bg to make the jump.
This also fixes unique IDs for the wallpapers source, as
multiple backgrounds can be defined in a single XML file.
Instead of reusing the item from the list store, otherwise we
might be tweaking properties for an item that we shouldn't,
and leaking user preferences into the "static" list store.
When setting a new background. That ensures that we don't lose
existing settings when the background item doesn't provide one
(for example, setting the background colour when setting a picture
item).
It now is a full GObject, will be able to track the original
XML file for a wallpaper, as well as which values are set in it.
This will allow us to restore wallpapers properly, and only offer
editing options when those aren't already hard-coded inside the
item.
g_settings_delay() doesn't work like GConf's changesets. Either
you create a separate GSettings for non-delayed application,
or you call g_settings_apply() any time you want changes applied.
The gnome_wp_item_update_size() code was working off old data.
We need to copy the height and width as well if we want it to
match the current background. The next call to _update_size()
will fill in ->size if it wasn't already set.
The current code would use the "default" cell renderer size of
16 before scaling the emblem. Make the default size bigger so that
the emblems are applied on that bigger size, not on the smaller size.
Fixes tiny emblem for slideshows.
Add icon to represent slideshows, always show a name for the
currently set background on startup, show whether a background
is a slideshow, and its pixel size if available.
Otherwise you might call it as many times as you want, the
filename won't be changed for it, or its metadata (such as whether
it is a slideshow) updated.