add option to add wallpapers via the command line (closes bug #456337)

2007-07-12  Jens Granseuer  <jensgr@gmx.net>

	* appearance-desktop.c: (wp_load_stuffs), (desktop_init),
	(desktop_shutdown):
	* appearance-desktop.h:
	* appearance-main.c: (main):
	* appearance.h: add option to add wallpapers via the command line
	(closes bug #456337)

svn path=/trunk/; revision=7853
This commit is contained in:
Jens Granseuer 2007-07-12 20:52:15 +00:00 committed by Jens Granseuer
parent 17f843f6fc
commit 14ba88579a
5 changed files with 38 additions and 4 deletions

View file

@ -1,3 +1,12 @@
2007-07-12 Jens Granseuer <jensgr@gmx.net>
* appearance-desktop.c: (wp_load_stuffs), (desktop_init),
(desktop_shutdown):
* appearance-desktop.h:
* appearance-main.c: (main):
* appearance.h: add option to add wallpapers via the command line
(closes bug #456337)
2007-07-08 Jens Granseuer <jensgr@gmx.net>
* appearance-style.c: (cursor_size_scale_value_changed_cb): plug yet

View file

@ -900,11 +900,15 @@ wp_load_stuffs (void *user_data)
select_item (data, item, FALSE);
wp_option_menu_set (data, style, FALSE);
}
}
g_free (imagepath);
g_free (style);
if (data->wp_uris) {
wp_add_images (data, data->wp_uris);
data->wp_uris = NULL;
}
return FALSE;
}
@ -916,7 +920,8 @@ wp_select_after_realize (GtkWidget *widget,
}
void
desktop_init (AppearanceData *data)
desktop_init (AppearanceData *data,
const gchar **uris)
{
GtkWidget *add_button;
GtkFileFilter *filter;
@ -930,6 +935,14 @@ desktop_init (AppearanceData *data)
data->wp_update_gconf = TRUE;
data->wp_uris = NULL;
if (uris != NULL) {
while (*uris != NULL) {
data->wp_uris = g_slist_append (data->wp_uris, g_strdup (*uris));
uris++;
}
}
data->wp_hash = g_hash_table_new (g_str_hash, g_str_equal);
data->wp_thumbs = gnome_thumbnail_factory_new (GNOME_THUMBNAIL_SIZE_NORMAL);
@ -1087,6 +1100,8 @@ void
desktop_shutdown (AppearanceData *data)
{
gnome_wp_xml_save_list (data);
g_slist_foreach (data->wp_uris, (GFunc) g_free, NULL);
g_slist_free (data->wp_uris);
g_object_unref (data->wp_thumbs);
g_object_ref_sink (data->wp_filesel);
g_object_unref (data->wp_filesel);

View file

@ -18,5 +18,5 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
void desktop_init (AppearanceData *data);
void desktop_init (AppearanceData *data, const gchar **uris);
void desktop_shutdown (AppearanceData *data);

View file

@ -94,6 +94,7 @@ main (int argc, char **argv)
gchar *install_filename = NULL;
gchar *start_page = NULL;
gchar **wallpaper_files = NULL;
GOptionContext *option_context;
GOptionEntry option_entries[] = {
{ "install-theme",
@ -110,6 +111,13 @@ main (int argc, char **argv)
&start_page,
N_("Specify the name of the page to show (theme|background|fonts|interface)"),
N_("page") },
{ G_OPTION_REMAINING,
0,
G_OPTION_FLAG_IN_MAIN,
G_OPTION_ARG_FILENAME_ARRAY,
&wallpaper_files,
NULL,
N_("[WALLPAPER...]") },
{ NULL }
};
@ -138,7 +146,8 @@ main (int argc, char **argv)
/* init tabs */
themes_init (data);
style_init (data);
desktop_init (data);
desktop_init (data, (const gchar **) wallpaper_files);
g_strfreev (wallpaper_files);
font_init (data);
ui_init (data);

View file

@ -47,6 +47,7 @@ typedef struct {
GtkWidget *wp_rem_button;
GtkWidget *wp_filesel;
GtkWidget *wp_image;
GSList *wp_uris;
/* font */
GtkWidget *font_details;