r3940 - in trunk/src/target/OM-2007.2/applications/openmoko-launcher: . src

chris at sita.openmoko.org chris at sita.openmoko.org
Thu Jan 24 14:04:08 CET 2008


Author: chris
Date: 2008-01-24 14:04:07 +0100 (Thu, 24 Jan 2008)
New Revision: 3940

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-launcher/ChangeLog
   trunk/src/target/OM-2007.2/applications/openmoko-launcher/src/Makefile.am
   trunk/src/target/OM-2007.2/applications/openmoko-launcher/src/launcher-main.c
   trunk/src/target/OM-2007.2/applications/openmoko-launcher/src/launcher.h
Log:
        * src/Makefile.am:
        * src/launcher-main.c: (item_added_cb), (item_removed_cb), (main):
        * src/launcher.h:
        Add app launcher


Modified: trunk/src/target/OM-2007.2/applications/openmoko-launcher/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-launcher/ChangeLog	2008-01-24 12:35:02 UTC (rev 3939)
+++ trunk/src/target/OM-2007.2/applications/openmoko-launcher/ChangeLog	2008-01-24 13:04:07 UTC (rev 3940)
@@ -1,6 +1,13 @@
 2008-01-24  Chris Lord  <chris at openedhand.com>
 
 	* src/Makefile.am:
+	* src/launcher-main.c: (item_added_cb), (item_removed_cb), (main):
+	* src/launcher.h:
+	Add app launcher
+
+2008-01-24  Chris Lord  <chris at openedhand.com>
+
+	* src/Makefile.am:
 	* src/launcher-main.c: (main):
 	Fix building and make task manager work
 

Modified: trunk/src/target/OM-2007.2/applications/openmoko-launcher/src/Makefile.am
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-launcher/src/Makefile.am	2008-01-24 12:35:02 UTC (rev 3939)
+++ trunk/src/target/OM-2007.2/applications/openmoko-launcher/src/Makefile.am	2008-01-24 13:04:07 UTC (rev 3940)
@@ -1,7 +1,7 @@
 INCLUDES = -I$(top_srcdir)
 
 AM_CPPFLAGS  = -DPKGDATADIR=\"$(pkgdatadir)\" 				\
-	       -DTODAY_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\"	\
+	       -DLAUNCHER_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
 	       -DDATADIR=\""$(datadir)"\" -D_GNU_SOURCE
 
 AM_CFLAGS    = -Wall -pedantic -std=c99 @GTK_CFLAGS@ @MOKOUI_CFLAGS@

Modified: trunk/src/target/OM-2007.2/applications/openmoko-launcher/src/launcher-main.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-launcher/src/launcher-main.c	2008-01-24 12:35:02 UTC (rev 3939)
+++ trunk/src/target/OM-2007.2/applications/openmoko-launcher/src/launcher-main.c	2008-01-24 13:04:07 UTC (rev 3940)
@@ -29,6 +29,37 @@
 		"tab-expand", TRUE, NULL);
 }
 
+static void
+item_added_cb (TakuMenu *menu, TakuMenuItem *item, LauncherData *data)
+{
+	GtkWidget *tile;
+
+	tile = taku_launcher_tile_new_from_item (item);
+	if (GTK_IS_WIDGET (tile))
+		gtk_container_add (GTK_CONTAINER (data->launcher_table), tile); 
+}
+
+static void
+item_removed_cb (TakuMenu *menu, TakuMenuItem *item, LauncherData *data)
+{
+	TakuLauncherTile *tile = NULL;
+	GList *tiles, *t;
+
+	tiles = gtk_container_get_children (
+		GTK_CONTAINER (data->launcher_table));
+	for (t = tiles; t; t = t->next) {
+		if (!TAKU_IS_LAUNCHER_TILE (t->data)) continue;
+
+		if (item == taku_launcher_tile_get_item (t->data)) {
+			tile = t->data;
+			break;
+		}
+	}
+
+	if (GTK_IS_WIDGET (tile)) gtk_container_remove (GTK_CONTAINER (
+		data->launcher_table), GTK_WIDGET (tile));
+}
+
 #ifndef STANDALONE
 static GtkWidget *window;
 
@@ -43,9 +74,12 @@
 int
 main (int argc, char **argv)
 {
+	static TakuMenu *menu;
+
+	GtkWidget *widget, *scroll, *viewport;
 	GOptionContext *context;
 	LauncherData data;
-	GtkWidget *widget;
+	GList *items;
 #ifndef STANDALONE
 	gint x, y, w, h;
 #endif
@@ -55,11 +89,11 @@
 	};
 	
 	/* Initialise */
-	bindtextdomain (GETTEXT_PACKAGE, TODAY_LOCALE_DIR);;
+	bindtextdomain (GETTEXT_PACKAGE, LAUNCHER_LOCALE_DIR);;
 	bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
 	textdomain (GETTEXT_PACKAGE);
 
-	context = g_option_context_new (_(" - Today's information summary"));
+	context = g_option_context_new (_(" - Simple application launcher"));
 	g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
 	g_option_context_add_group (context, gtk_get_option_group (TRUE));
 	g_option_context_parse (context, &argc, &argv, NULL);
@@ -69,25 +103,41 @@
 
 	/* Create widgets */
 	data.window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-	gtk_window_set_title (GTK_WINDOW (data.window), _("Home"));
+	gtk_window_set_title (GTK_WINDOW (data.window), _("Launcher"));
 	
 	/* Notebook */
 	data.notebook = gtk_notebook_new ();
 	gtk_notebook_set_tab_pos (GTK_NOTEBOOK (data.notebook), GTK_POS_BOTTOM);
 	gtk_container_add (GTK_CONTAINER (data.window), data.notebook);
-	gtk_widget_show (data.notebook);
 
 	/* Add launcher page */
-	/*widget = today_launcher_page_create (&data);
-	today_notebook_add_page_with_icon (data.notebook, widget,
+	menu = taku_menu_get_default ();
+	g_signal_connect (menu, "item-added",
+		G_CALLBACK (item_added_cb), &data);
+	g_signal_connect (menu, "item-removed",
+		G_CALLBACK (item_removed_cb), &data);  
+
+	viewport = gtk_viewport_new (NULL, NULL);
+	gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE);
+	gtk_icon_size_register ("taku-icon", 64, 64);
+	data.launcher_table = taku_table_new ();
+	gtk_container_add (GTK_CONTAINER (viewport), data.launcher_table);
+	
+	scroll = moko_finger_scroll_new ();
+	gtk_container_add (GTK_CONTAINER (scroll), viewport);
+	
+	today_notebook_add_page_with_icon (data.notebook, scroll,
 		GTK_STOCK_ADD, 6);
-	gtk_widget_show (widget);*/
 
+	for (items = taku_menu_get_items (menu); items; items = items->next) {
+		if (!items->data) continue;
+		g_signal_emit_by_name (menu, "item-added", items->data);
+	}
+
 	/* Add running tasks page */
 	widget = today_task_manager_page_create (&data);
 	today_notebook_add_page_with_icon (data.notebook, widget,
 		GTK_STOCK_EXECUTE, 6);
-	gtk_widget_show (widget);
 	
 	/* Connect up signals */
 	g_signal_connect (G_OBJECT (data.window), "delete-event",
@@ -105,7 +155,7 @@
 #endif
 	
 	/* Show and start */
-	gtk_widget_show (data.window);
+	gtk_widget_show_all (data.window);
 
 	gtk_main ();
 

Modified: trunk/src/target/OM-2007.2/applications/openmoko-launcher/src/launcher.h
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-launcher/src/launcher.h	2008-01-24 12:35:02 UTC (rev 3939)
+++ trunk/src/target/OM-2007.2/applications/openmoko-launcher/src/launcher.h	2008-01-24 13:04:07 UTC (rev 3940)
@@ -9,6 +9,7 @@
 typedef struct {
 	GtkWidget *window;
 	GtkWidget *notebook;
+	GtkWidget *launcher_table;
 
 	/* For task manager */
 	GtkWidget *root_window;





More information about the commitlog mailing list