r2962 - in trunk/src/target/OM-2007.2/applications/openmoko-today2: . src

chris at sita.openmoko.org chris at sita.openmoko.org
Thu Sep 13 12:18:53 CEST 2007


Author: chris
Date: 2007-09-13 12:18:44 +0200 (Thu, 13 Sep 2007)
New Revision: 2962

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-today2/ChangeLog
   trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-launcher.c
   trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today.h
Log:
Fix bug with empty search and use MokoSearchBar in openmoko-today2


Modified: trunk/src/target/OM-2007.2/applications/openmoko-today2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-today2/ChangeLog	2007-09-13 09:16:53 UTC (rev 2961)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/ChangeLog	2007-09-13 10:18:44 UTC (rev 2962)
@@ -1,7 +1,17 @@
+2007-09-13  Chris Lord,,,  <chris at openedhand.com>
+
+	* src/today-launcher.c: (today_launcher_update_search),
+	(today_launcher_filter_changed_cb),
+	(today_launcher_combo_changed_cb),
+	(today_launcher_search_toggle_cb), (today_launcher_page_create):
+	* src/today.h:
+	Fix bug with empty search and use MokoSearchBar
+
 2007-09-11  Thomas Wood  <thomas at openedhand.com>
 
-	* src/today-main.c: (main): Remove disabling of focus on the notebook tabs to
-	try and fix bugs 723 and 724
+	* src/today-main.c: (main):
+	Remove disabling of focus on the notebook tabs to try and fix bugs
+	723 and 724
 
 2007-09-05  Chris Lord,,,  <chris at openedhand.com>
 

Modified: trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-launcher.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-launcher.c	2007-09-13 09:16:53 UTC (rev 2961)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-launcher.c	2007-09-13 10:18:44 UTC (rev 2962)
@@ -8,6 +8,7 @@
 #include <libtaku/taku-table.h>
 #include <libtaku/taku-launcher-tile.h>
 #include <moko-finger-scroll.h>
+#include <moko-search-bar.h>
 #include "today.h"
 
 /* NOTE: Following 4 functions (as well as libtaku) taken from
@@ -234,7 +235,7 @@
 			TAKU_ICON_TILE (tile)), -1);
 		desc = g_utf8_strup (taku_icon_tile_get_secondary (
 			TAKU_ICON_TILE (tile)), -1);
-		if (strstr (name, search_string) ||
+		if ((!search_string) || strstr (name, search_string) ||
 		    strstr (desc, search_string)) {
 			taku_launcher_tile_add_group (TAKU_LAUNCHER_TILE (tile),
 				data->search_cat);
@@ -245,7 +246,8 @@
 }
 
 static void
-today_launcher_filter_changed_cb (GtkEditable *editable, TodayData *data)
+today_launcher_filter_changed_cb (MokoSearchBar *bar, GtkEditable *editable,
+				  TodayData *data)
 {
 	gchar *search_string;
 	
@@ -260,37 +262,31 @@
 }
 
 static void
-today_launcher_search_toggle_cb (GtkWidget *button, TodayData *data)
+today_launcher_combo_changed_cb (MokoSearchBar *bar, GtkComboBox *widget,
+				 TodayData *data)
 {
-	g_object_set (G_OBJECT (data->search_entry), "visible",
-		!GTK_WIDGET_VISIBLE (data->search_entry), NULL);
-	g_object_set (G_OBJECT (data->filter_combo), "visible",
-		!GTK_WIDGET_VISIBLE (data->filter_combo), NULL);
+	taku_table_set_filter (TAKU_TABLE (data->launcher_table),
+		(TakuLauncherCategory *)g_list_nth_data (data->categories,
+			gtk_combo_box_get_active (widget)));
+}
 
-	if (GTK_WIDGET_VISIBLE (data->search_entry)) {
+static void
+today_launcher_search_toggle_cb (MokoSearchBar *bar, gboolean search_visible,
+				 TodayData *data)
+{
+	if (search_visible) {
 		/* Set the category to the created search category */
-		taku_table_set_filter (TAKU_TABLE (data->launcher_table),
-			data->search_cat);
-		gtk_widget_grab_focus (data->search_entry);
+		today_launcher_filter_changed_cb (bar, GTK_EDITABLE (
+			moko_search_bar_get_entry (bar)), data);
 	} else {
 		/* Set the category back to the one pointed to by the
 		 * drop-down.
 		 */
-		taku_table_set_filter (TAKU_TABLE (data->launcher_table),
-			(TakuLauncherCategory *)g_list_nth_data (
-				data->categories, gtk_combo_box_get_active (
-					GTK_COMBO_BOX (data->filter_combo))));
+		 today_launcher_combo_changed_cb (bar,
+		 	moko_search_bar_get_combo_box (bar), data);
 	}
 }
 
-static void
-today_launcher_combo_changed_cb (GtkComboBox *widget, TodayData *data)
-{
-	taku_table_set_filter (TAKU_TABLE (data->launcher_table),
-		(TakuLauncherCategory *)g_list_nth_data (data->categories,
-			gtk_combo_box_get_active (widget)));
-}
-
 GtkWidget *
 today_launcher_page_create (TodayData *data)
 {
@@ -314,20 +310,13 @@
 	gtk_box_pack_start (GTK_BOX (hbox), toggle, FALSE, FALSE, 0);
 	gtk_widget_show_all (toggle);
 
-	data->search_entry = gtk_entry_new ();
-	g_signal_connect (G_OBJECT (data->search_entry), "changed",
-		G_CALLBACK (today_launcher_filter_changed_cb), data);
-	gtk_widget_set_name (data->search_entry, "mokosearchentry");
-	g_object_set (G_OBJECT (data->search_entry), "no-show-all", TRUE, NULL);
-	gtk_box_pack_start (GTK_BOX (hbox), data->search_entry, TRUE, TRUE, 0);
-
 	data->filter_combo = gtk_combo_box_new_text ();
-	gtk_box_pack_start (GTK_BOX (hbox), data->filter_combo, TRUE, TRUE, 0);
-	gtk_widget_show (data->filter_combo);
+	data->search_bar = moko_search_bar_new_with_combo (
+		GTK_COMBO_BOX (data->filter_combo));
+	gtk_box_pack_start (GTK_BOX (main_vbox), data->search_bar,
+		FALSE, TRUE, 0);
+	gtk_widget_show (data->search_bar);
 	
-	gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0);
-	gtk_widget_show (hbox);
-	
 	viewport = gtk_viewport_new (NULL, NULL);
 	gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport),
 				      GTK_SHADOW_NONE);
@@ -365,9 +354,14 @@
 			GTK_COMBO_BOX (data->filter_combo), _("All"));
 	}
 	gtk_combo_box_set_active (GTK_COMBO_BOX (data->filter_combo), 0);
-	g_signal_connect (G_OBJECT (data->filter_combo), "changed",
-		G_CALLBACK (today_launcher_combo_changed_cb), data);
 
+	g_signal_connect (G_OBJECT (data->search_bar), "text_changed",
+		G_CALLBACK (today_launcher_filter_changed_cb), data);
+	g_signal_connect (G_OBJECT (data->search_bar), "combo_changed",
+		G_CALLBACK (today_launcher_combo_changed_cb), data);
+	g_signal_connect (G_OBJECT (data->search_bar), "toggled",
+		G_CALLBACK (today_launcher_search_toggle_cb), data);
+	
 	/* Populate the task list */
 	/* TODO: Do this incrementally during idle time to increase
 	 * start-up speed.

Modified: trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today.h
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today.h	2007-09-13 09:16:53 UTC (rev 2961)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today.h	2007-09-13 10:18:44 UTC (rev 2962)
@@ -34,8 +34,8 @@
 	/* App launcher */
 	GList *categories;
 	GtkWidget *launcher_table;
+	GtkWidget *search_bar;
 	GtkWidget *filter_combo;
-	GtkWidget *search_entry;
 	TakuLauncherCategory *search_cat;
 	
 	/* App manager */





More information about the commitlog mailing list