gnome-utils r7893 - in trunk/baobab: . src



Author: pborelli
Date: Thu May  1 10:46:02 2008
New Revision: 7893
URL: http://svn.gnome.org/viewvc/gnome-utils?rev=7893&view=rev

Log:
2008-05-01  Paolo Borelli  <pborelli katamail com>

	* src/baobab-utils.c:
	* src/baobab.c:
	* src/baobab.h:
	* src/baobab-prefs.c:
	* src/baobab-scan.c:

	Make the list of excluded dirs private to baobab.c in preparation
	to turn it into a list of GFiles.



Modified:
   trunk/baobab/ChangeLog
   trunk/baobab/src/baobab-prefs.c
   trunk/baobab/src/baobab-scan.c
   trunk/baobab/src/baobab-utils.c
   trunk/baobab/src/baobab.c
   trunk/baobab/src/baobab.h

Modified: trunk/baobab/src/baobab-prefs.c
==============================================================================
--- trunk/baobab/src/baobab-prefs.c	(original)
+++ trunk/baobab/src/baobab-prefs.c	Thu May  1 10:46:02 2008
@@ -26,6 +26,7 @@
 #include <string.h>
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
+#include <libgnomevfs/gnome-vfs.h>
 #include <gconf/gconf-client.h>
 #include <glibtop/mountlist.h>
 #include <glibtop/fsusage.h>
@@ -62,12 +63,15 @@
 	      GConfEntry *entry,
 	      gpointer user_data)
 {
-	g_slist_foreach (baobab.bbExcludedDirs, (GFunc) g_free, NULL);
-	g_slist_free (baobab.bbExcludedDirs);
+	GSList *dirs;
 
-	baobab.bbExcludedDirs =
-	    gconf_client_get_list (client, PROPS_SCAN_KEY,
-				   GCONF_VALUE_STRING, NULL);
+	dirs = 	gconf_client_get_list (client,
+				       PROPS_SCAN_KEY,
+				       GCONF_VALUE_STRING,
+				       NULL);
+	baobab_set_excluded_dirs (dirs);
+	g_slist_foreach (dirs, (GFunc) g_free, NULL);
+	g_slist_free (dirs);
 
 	baobab_get_filesystem (&g_fs);
 	set_label_scan (&g_fs);
@@ -344,6 +348,23 @@
 	return FALSE;
 }
 
+static gint
+list_find (gconstpointer a, gconstpointer b)
+{
+	gchar *str_a, *str_b;
+	gint ret;
+
+	str_a = gnome_vfs_format_uri_for_display (a);
+	str_b = gnome_vfs_format_uri_for_display (b);
+
+	ret = strcmp (str_a, str_b);
+
+	g_free (str_a);
+	g_free (str_b);
+
+	return ret;
+}
+
 gboolean
 set_model_checks (GtkTreeModel *model,
 		  GtkTreePath *path,

Modified: trunk/baobab/src/baobab-scan.c
==============================================================================
--- trunk/baobab/src/baobab-scan.c	(original)
+++ trunk/baobab/src/baobab-scan.c	Thu May  1 10:46:02 2008
@@ -152,7 +152,7 @@
 	dir = gnome_vfs_uri_to_string (vfs_uri_dir, GNOME_VFS_URI_HIDE_NONE);
 
 	/* Skip the user excluded folders */
-	if (is_excluded_dir (dir))
+	if (baobab_is_excluded_dir (dir))
 		goto exit;
 
 	if (!baobab.is_local)
@@ -264,7 +264,7 @@
 	GnomeVFSURI *vfs_uri;
 	GnomeVFSFileInfo *info;
 
-	if (is_excluded_dir (uri_dir))
+	if (baobab_is_excluded_dir (uri_dir))
 		return;
 
 	hla = baobab_hardlinks_array_create ();

Modified: trunk/baobab/src/baobab-utils.c
==============================================================================
--- trunk/baobab/src/baobab-utils.c	(original)
+++ trunk/baobab/src/baobab-utils.c	Thu May  1 10:46:02 2008
@@ -54,7 +54,7 @@
 	for (i = 0; i < mountlist.number; ++i) {
 		glibtop_fsusage fsusage;
 
-		if (is_excluded_dir (mountentries[i].mountdir))
+		if (baobab_is_excluded_dir (mountentries[i].mountdir))
 			continue;
 
 		glibtop_get_fsusage (&fsusage, mountentries[i].mountdir);

Modified: trunk/baobab/src/baobab.c
==============================================================================
--- trunk/baobab/src/baobab.c	(original)
+++ trunk/baobab/src/baobab.c	Thu May  1 10:46:02 2008
@@ -290,8 +290,8 @@
 
 	gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (baobab.tree_view), FALSE);
 	gtk_tree_store_append (baobab.model, &firstiter, NULL);
-	size = gnome_vfs_format_file_size_for_display (g_fs.used);
-	g_assert(g_fs.total != 0);
+	size = g_format_size_for_display (g_fs.used);
+	g_assert (g_fs.total != 0);
 	perc = ((gdouble) g_fs.used * 100) / (gdouble) g_fs.total;
 
 	label = g_strdup_printf ("<i>%s</i>", _("Total filesystem usage:"));
@@ -336,7 +336,7 @@
 
 	hardlinks = g_string_new ("");
 	if (data->tempHLsize > 0) {
-		size = gnome_vfs_format_file_size_for_display (data->tempHLsize);
+		size = g_format_size_for_display (data->tempHLsize);
 		g_string_assign (hardlinks, "<i>(");
 		g_string_append (hardlinks, _("contains hardlinks for:"));
 		g_string_append (hardlinks, " ");
@@ -350,8 +350,8 @@
 			 ngettext ("% 5d item", "% 5d items",
 				   data->elements), data->elements);
 
-	size = gnome_vfs_format_file_size_for_display (data->size);
-	alloc_size = gnome_vfs_format_file_size_for_display (data->alloc_size);
+	size = g_format_size_for_display (data->size);
+	alloc_size = g_format_size_for_display (data->alloc_size);
 
 	gtk_tree_store_set (baobab.model, &iter,
 			    COL_DIR_NAME, basename->str,
@@ -427,7 +427,7 @@
 	g_free (escaped_str);
 }
 
-gint
+static gint
 list_find (gconstpointer a, gconstpointer b)
 {
 	gchar *str_a, *str_b;
@@ -444,13 +444,27 @@
 	return ret;
 }
 
+void
+baobab_set_excluded_dirs (GSList *excluded_dirs)
+{
+	GSList *l;
+
+	g_slist_foreach (baobab.excluded_dirs, (GFunc) g_free, NULL);
+	g_slist_free (baobab.excluded_dirs);
+
+	for (l = excluded_dirs; l != NULL; l = l->next) {
+		baobab.excluded_dirs = g_slist_prepend (baobab.excluded_dirs,
+							g_strdup (l->data));
+	}
+}
+
 gboolean
-is_excluded_dir (const gchar *dir)
+baobab_is_excluded_dir (const gchar *dir)
 {
 	g_return_val_if_fail (dir != NULL, FALSE);
 
-	return (baobab.bbExcludedDirs &&
-		(g_slist_find_custom (baobab.bbExcludedDirs, dir, list_find) != NULL));
+	return (baobab.excluded_dirs &&
+		(g_slist_find_custom (baobab.excluded_dirs, dir, list_find) != NULL));
 }
 
 void
@@ -631,19 +645,23 @@
 				 NULL, NULL, NULL);
 	gconf_client_notify_add (baobab.gconf_client, SYSTEM_TOOLBAR_STYLE, baobab_toolbar_style,
 				 NULL, NULL, NULL);				 
-	baobab.bbExcludedDirs = gconf_client_get_list (baobab.gconf_client, PROPS_SCAN_KEY,
-						       GCONF_VALUE_STRING, NULL);
-	
+	baobab.excluded_dirs = gconf_client_get_list (baobab.gconf_client,
+						      PROPS_SCAN_KEY,
+						      GCONF_VALUE_STRING,
+						      NULL);
+
 	/* Verify if gconf wrongly contains root dir exclusion, and remove it from gconf. */
-	if (is_excluded_dir ("/")) {
-		baobab.bbExcludedDirs = g_slist_delete_link (baobab.bbExcludedDirs, 
-						g_slist_find_custom(baobab.bbExcludedDirs, 
+	if (baobab_is_excluded_dir ("/")) {
+		baobab.excluded_dirs = g_slist_delete_link (baobab.excluded_dirs, 
+						g_slist_find_custom (baobab.excluded_dirs, 
 							"/", list_find));
-		gconf_client_set_list (baobab.gconf_client, PROPS_SCAN_KEY,
-						GCONF_VALUE_STRING, 
-						baobab.bbExcludedDirs, NULL);
+		gconf_client_set_list (baobab.gconf_client,
+				       PROPS_SCAN_KEY,
+				       GCONF_VALUE_STRING, 
+				       baobab.excluded_dirs,
+				       NULL);
 	}
-	
+
 	baobab.bbEnableHomeMonitor = gconf_client_get_bool (baobab.gconf_client,
 							    PROPS_ENABLE_HOME_MONITOR,
 							    NULL);
@@ -695,8 +713,8 @@
 
 	g_free (baobab.selected_path);
 
-	g_slist_foreach (baobab.bbExcludedDirs, (GFunc) g_free, NULL);
-	g_slist_free (baobab.bbExcludedDirs);
+	g_slist_foreach (baobab.excluded_dirs, (GFunc) g_free, NULL);
+	g_slist_free (baobab.excluded_dirs);
 
 	if (baobab.gconf_client)
 		g_object_unref (baobab.gconf_client);

Modified: trunk/baobab/src/baobab.h
==============================================================================
--- trunk/baobab/src/baobab.h	(original)
+++ trunk/baobab/src/baobab.h	Thu May  1 10:46:02 2008
@@ -58,7 +58,7 @@
 	GtkTreeStore *model;
 	gboolean STOP_SCANNING;
 	gboolean CONTENTS_CHANGED_DELAYED;
-	GSList *bbExcludedDirs;
+	GSList *excluded_dirs;
 	gboolean bbEnableHomeMonitor;
 	gchar *label_scan;
 	gboolean show_allocated;
@@ -96,8 +96,8 @@
 void baobab_rescan_current_dir (void);
 void fill_model (struct chan_data *);
 void first_row (void);
-gint list_find (gconstpointer a, gconstpointer b);
-gboolean is_excluded_dir (const gchar *);
+gboolean baobab_is_excluded_dir (const gchar *);
+void baobab_set_excluded_dirs (GSList *);
 void set_toolbar_visible (gboolean visible);
 void set_statusbar_visible (gboolean visible);
 void set_statusbar (const gchar *);



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