[gnome-utils] [baobab] Adds "total filesystem capacity" row as root of initial treeview



commit e10b4d5e8b48fb26dcec76f827d46c2bedc7c570
Author: Eduardo Lima Mitev <elima igalia com>
Date:   Tue Jul 21 16:01:04 2009 +0200

    [baobab] Adds "total filesystem capacity" row as root of initial treeview
    
    Closes bug #571515.

 baobab/src/baobab-chart.c      |   60 ----------------------------------------
 baobab/src/baobab-chart.h      |    3 --
 baobab/src/baobab-ringschart.c |    4 --
 baobab/src/baobab.c            |   27 +++++++++++++++--
 4 files changed, 23 insertions(+), 71 deletions(-)
---
diff --git a/baobab/src/baobab-chart.c b/baobab/src/baobab-chart.c
index 5cc1ada..7fa139b 100644
--- a/baobab/src/baobab-chart.c
+++ b/baobab/src/baobab-chart.c
@@ -53,8 +53,6 @@ enum
 
 struct _BaobabChartPrivate
 {
-  gboolean summary_mode;
-
   guint name_column;
   guint size_column;
   guint info_column;
@@ -243,7 +241,6 @@ baobab_chart_init (BaobabChart *chart)
   priv = BAOBAB_CHART_GET_PRIVATE (chart);
   chart->priv = priv;
 
-  priv->summary_mode = TRUE;
   priv->model = NULL;
   priv->max_depth = BAOBAB_CHART_MAX_DEPTH;
   priv->name_column = 0;
@@ -530,21 +527,6 @@ baobab_chart_get_items (GtkWidget *chart, GtkTreePath *root)
   /* Create first item */
   node = baobab_chart_add_item (chart, 0, 0, 100, initial_iter);
 
-  /* If summary mode, insert a new item that will become root */
-  if (priv->summary_mode)
-    {
-      item = (BaobabChartItem *) node->data;
-      g_free (item->size);
-      item->size = NULL;
-
-      child_node = baobab_chart_add_item (chart, 1, 0, size, initial_iter);
-      child_item = (BaobabChartItem *) child_node->data;
-      child_item->parent = node;
-      child_item->name = item->name;
-
-      item->name = NULL;
-    }
-
   /* Iterate through childs building the list */
   class = BAOBAB_CHART_GET_CLASS (chart);
 
@@ -1743,48 +1725,6 @@ baobab_chart_save_snapshot (GtkWidget *chart)
 }
 
 /**
- * baobab_chart_set_summary_mode:
- * @chart: the #BaobabChart to set summary mode to.
- * @summary_mode: boolean specifying TRUE is summary mode is on.
- *
- * Toggles on/off the summary mode (the initial mode that shows general state
- * before any scan has been made).
- *
- * Fails if @chart is not a #BaobabChart.
- **/
-void
-baobab_chart_set_summary_mode (GtkWidget *chart,
-                               gboolean summary_mode)
-{
-  BaobabChartPrivate *priv;
-
-  g_return_if_fail (BAOBAB_IS_CHART (chart));
-
-  priv = BAOBAB_CHART_GET_PRIVATE (chart);
-  priv->summary_mode = summary_mode;
-}
-
-/**
- * baobab_chart_get_summary_mode:
- * @chart: the #BaobabChart to obtain summary mode from.
- *
- * Returns a boolean representing whether the chart is in summary mode (the 
- * initial mode that shows general state before any scan has been made).
- *
- * Fails if @chart is not a #BaobabChart.
- **/
-gboolean
-baobab_chart_get_summary_mode (GtkWidget *chart)
-{
-  BaobabChartPrivate *priv;
-
-  g_return_val_if_fail (BAOBAB_IS_CHART (chart), FALSE);
-
-  priv = BAOBAB_CHART_GET_PRIVATE (chart);
-  return priv->summary_mode;
-}
-
-/**
  * baobab_chart_is_frozen:
  * @chart: the #BaobabChart to ask if frozen.
  *
diff --git a/baobab/src/baobab-chart.h b/baobab/src/baobab-chart.h
index 05aa461..dbfe89e 100644
--- a/baobab/src/baobab-chart.h
+++ b/baobab/src/baobab-chart.h
@@ -148,9 +148,6 @@ void  baobab_chart_move_up_root (GtkWidget *chart);
 void baobab_chart_zoom_in (GtkWidget *chart);
 void baobab_chart_zoom_out (GtkWidget *chart);
 void baobab_chart_save_snapshot (GtkWidget *chart);
-void baobab_chart_set_summary_mode (GtkWidget *chart,
-                                    gboolean summary_mode);
-gboolean baobab_chart_get_summary_mode (GtkWidget *chart);
 gboolean baobab_chart_is_frozen (GtkWidget *chart);
 BaobabChartItem *baobab_chart_get_highlighted_item (GtkWidget *chart);
 
diff --git a/baobab/src/baobab-ringschart.c b/baobab/src/baobab-ringschart.c
index b4baca0..e9b4020 100644
--- a/baobab/src/baobab-ringschart.c
+++ b/baobab/src/baobab-ringschart.c
@@ -587,10 +587,6 @@ baobab_ringschart_pre_draw (GtkWidget *chart, cairo_t *cr)
 
   priv = BAOBAB_RINGSCHART_GET_PRIVATE (chart);
 
-  if ( (! priv->subfoldertips_enabled) ||
-       (baobab_chart_get_summary_mode (chart)) )
-    return;
-
   hl_item = baobab_chart_get_highlighted_item (chart);
 
   if ( (hl_item == NULL) || (! hl_item->has_visible_children) )
diff --git a/baobab/src/baobab.c b/baobab/src/baobab.c
index 1565373..2d4c6af 100644
--- a/baobab/src/baobab.c
+++ b/baobab/src/baobab.c
@@ -87,10 +87,8 @@ baobab_set_busy (gboolean busy)
 		gedit_spinner_start (GEDIT_SPINNER (baobab.spinner));
 
 		baobab_chart_freeze_updates (baobab.rings_chart);
-		baobab_chart_set_summary_mode (baobab.rings_chart, FALSE);
 
 		baobab_chart_freeze_updates (baobab.treemap_chart);
-		baobab_chart_set_summary_mode (baobab.treemap_chart, FALSE);
 
 		gtk_widget_set_sensitive (baobab.chart_type_combo, FALSE);
 	}
@@ -325,8 +323,27 @@ first_row (void)
 	gdouble perc;
 	char *label;
 
+        GtkTreeIter root_iter;
+
+	gchar *capacity_label, *capacity_size;
+
+	gtk_tree_store_append (baobab.model, &root_iter, NULL);
+	capacity_size = g_format_size_for_display (g_fs.total);
+
+	capacity_label = g_strdup (_("Total filesystem capacity"));
+	gtk_tree_store_set (baobab.model, &root_iter,
+			    COL_DIR_NAME, capacity_label,
+			    COL_H_PARSENAME, "",
+			    COL_H_PERC, 100.0,
+			    COL_DIR_SIZE, capacity_size,
+			    COL_H_SIZE, g_fs.total,
+			    COL_H_ALLOCSIZE, g_fs.total,
+			    COL_H_ELEMENTS, -1, -1);
+	g_free (capacity_label);
+	g_free (capacity_size);
+
 	gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (baobab.tree_view), FALSE);
-	gtk_tree_store_append (baobab.model, &firstiter, NULL);
+	gtk_tree_store_append (baobab.model, &firstiter, &root_iter);
 	size = g_format_size_for_display (g_fs.used);
 	if (g_fs.total == 0 && g_fs.used == 0) {
 		perc = 100.0;
@@ -335,7 +352,7 @@ first_row (void)
 		perc = ((gdouble) g_fs.used * 100) / (gdouble) g_fs.total;
 	}
 
-	label = g_strdup_printf ("<i>%s</i>", _("Total filesystem usage:"));
+	label = g_strdup (_("Total filesystem usage"));
 	gtk_tree_store_set (baobab.model, &firstiter,
 			    COL_DIR_NAME, label,
 			    COL_H_PARSENAME, "",
@@ -347,6 +364,8 @@ first_row (void)
 
 	g_free (size);
 	g_free (label);
+
+	gtk_tree_view_expand_all (GTK_TREE_VIEW (baobab.tree_view));
 }
 
 /* fills model during scanning */



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