Index: capplets/appearance/theme-installer.c
===================================================================
--- capplets/appearance/theme-installer.c	(revision 8165)
+++ capplets/appearance/theme-installer.c	(working copy)
@@ -78,7 +78,7 @@
 	gnome_vfs_uri_unref (src_uri);
 
 	if (exists) {
-		GPatternSpec *pattern = NULL;
+	        GPatternSpec *pattern = NULL;
 		gchar *file_contents = NULL;
 		gint file_size;
 		gchar *uri;
@@ -600,6 +600,7 @@
 	static gchar old_folder[512] = "";
 	GtkWidget *dialog;
 	gchar *filename_selected, *folder;
+	GSList *filename_list, *tmp_list;
 	GtkFileFilter *filter;
 
 	if (running_theme_install)
@@ -611,6 +612,7 @@
 		filename = old_folder;
 
 	dialog = gtk_file_chooser_dialog_new (_("Select Theme"), parent, GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL);
+	gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (dialog), TRUE);
 
 	filter = gtk_file_filter_new ();
 	gtk_file_filter_set_name (filter, _("Theme Packages"));
@@ -629,9 +631,14 @@
 
 	if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
 	{
-		filename_selected = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
-		gnome_theme_install_from_uri (filename_selected, parent);
-		g_free (filename_selected);
+	        filename_list = gtk_file_chooser_get_filenames (GTK_FILE_CHOOSER (dialog));
+		for (tmp_list = filename_list; tmp_list != NULL; tmp_list = tmp_list->next)
+		{
+		        filename_selected = (gchar*) tmp_list->data;
+			gnome_theme_install_from_uri (filename_selected, parent);
+			g_free (filename_selected);
+		}
+		g_slist_free (filename_list);
 	}
 
 	folder = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (dialog));
