2008-07-31 Alberto Garcia <agarcia@igalia.com>
[hildon] / examples / hildon-bread-crumb-trail-example.c
index 959bd93..a6345c4 100644 (file)
@@ -180,6 +180,12 @@ crumb_clicked_cb (HildonBreadCrumbTrail *bct, gpointer id)
   return FALSE;
 }
 
+static void
+clear_cb (GtkWidget *button, GtkWidget *bct)
+{
+  hildon_bread_crumb_trail_clear (HILDON_BREAD_CRUMB_TRAIL (bct));
+}
+
 static gint
 sort_iter_compare_func (GtkTreeModel *model,
                         GtkTreeIter  *a,
@@ -210,9 +216,11 @@ sort_iter_compare_func (GtkTreeModel *model,
           {
             /* Same type, alphabetical sort */
             ret = g_utf8_collate (string_a, string_b);
-            g_free (string_a);
-            g_free (string_b);
           }
+
+        g_free (string_a);
+        g_free (string_b);
+
         break;
       }
     default:
@@ -228,7 +236,7 @@ int main (int argc, char **argv)
   HildonProgram *program;
 #endif
   GtkListStore *store;
-  GtkWidget *window, *scrolled_window, *vbox, *bct;
+  GtkWidget *window, *scrolled_window, *vbox, *bct, *button;
   GtkCellRenderer *renderer;
   GtkTreeViewColumn *column;
 
@@ -298,6 +306,12 @@ int main (int argc, char **argv)
   gtk_box_pack_start (GTK_BOX (vbox), scrolled_window, TRUE, TRUE, 0);
   gtk_widget_show (scrolled_window);
 
+  button = gtk_button_new_with_label ("Clear!");
+  g_signal_connect (G_OBJECT (button), "clicked",
+                    G_CALLBACK (clear_cb), bct);
+  gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
+  gtk_widget_show (button);
+
   gtk_widget_show (window);
 
   gtk_main ();