gnome-control-center r8791 - trunk/capplets/appearance



Author: jensg
Date: Sun Jul 20 09:38:36 2008
New Revision: 8791
URL: http://svn.gnome.org/viewvc/gnome-control-center?rev=8791&view=rev

Log:
2008-07-20  Jens Granseuer  <jensgr gmx net>

	* theme-util.c: (theme_delete): don't delete ~/.icons when deleting
	the last icon theme (bug #543763)


Modified:
   trunk/capplets/appearance/ChangeLog
   trunk/capplets/appearance/theme-util.c

Modified: trunk/capplets/appearance/theme-util.c
==============================================================================
--- trunk/capplets/appearance/theme-util.c	(original)
+++ trunk/capplets/appearance/theme-util.c	Sun Jul 20 09:38:36 2008
@@ -126,6 +126,7 @@
   gint response;
   GnomeThemeCommonInfo *theme;
   GFile *dir;
+  gboolean del_empty_parent;
 
   dialog = (GtkDialog *) gtk_message_dialog_new (NULL,
 						 GTK_DIALOG_MODAL,
@@ -138,6 +139,10 @@
   if (response == GTK_RESPONSE_CANCEL)
     return FALSE;
 
+  /* Most theme types are put into separate subdirectories. For those
+     we want to delete those directories as well. */
+  del_empty_parent = TRUE;
+
   switch (type) {
     case THEME_TYPE_GTK:
       theme = (GnomeThemeCommonInfo *) gnome_theme_info_find (name);
@@ -147,6 +152,7 @@
     case THEME_TYPE_ICON:
       theme = (GnomeThemeCommonInfo *) gnome_theme_icon_info_find (name);
       theme_dir = g_path_get_dirname (theme->path);
+      del_empty_parent = FALSE;
       break;
 
     case THEME_TYPE_WINDOW:
@@ -181,10 +187,12 @@
     gtk_widget_destroy (info_dialog);
     rc = FALSE;
   } else {
-    /* also delete empty parent directories */
-    GFile *parent = g_file_get_parent (dir);
-    g_file_delete (parent, NULL, NULL);
-    g_object_unref (parent);
+    if (del_empty_parent) {
+      /* also delete empty parent directories */
+      GFile *parent = g_file_get_parent (dir);
+      g_file_delete (parent, NULL, NULL);
+      g_object_unref (parent);
+    }
     rc = TRUE;
   }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]