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

chris at sita.openmoko.org chris at sita.openmoko.org
Fri Nov 2 17:45:32 CET 2007


Author: chris
Date: 2007-11-02 17:45:30 +0100 (Fri, 02 Nov 2007)
New Revision: 3340

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-main.c
   trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-pim-journal.c
   trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-utils.c
   trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-utils.h
   trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today.h
Log:
        * src/today-launcher.c: (item_added_cb), (item_removed_cb),
        (add_item_idle), (load_items), (today_launcher_page_create):
        * src/today-main.c: (today_dial_button_clicked_cb),
        (today_contacts_button_clicked_cb),
        (today_messages_button_clicked_cb),
        (today_dates_button_clicked_cb), (clock_clicked_cb),
        (today_create_home_page):
        * src/today-pim-journal.c: (header_clicked_cb),
        (missed_calls_button_press_cb), (unread_messages_button_press_cb),
        (tasks_button_press_cb), (dates_button_press_cb):
        * src/today-utils.c: (today_toolbutton_new):
        * src/today-utils.h: 
        * src/today.h:
        Update launcher code to match upstream changes to libtaku


Modified: trunk/src/target/OM-2007.2/applications/openmoko-today2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-today2/ChangeLog	2007-11-02 16:33:59 UTC (rev 3339)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/ChangeLog	2007-11-02 16:45:30 UTC (rev 3340)
@@ -1,5 +1,22 @@
 2007-11-02  Chris Lord  <chris at openedhand.com>
 
+	* src/today-launcher.c: (item_added_cb), (item_removed_cb),
+	(add_item_idle), (load_items), (today_launcher_page_create):
+	* src/today-main.c: (today_dial_button_clicked_cb),
+	(today_contacts_button_clicked_cb),
+	(today_messages_button_clicked_cb),
+	(today_dates_button_clicked_cb), (clock_clicked_cb),
+	(today_create_home_page):
+	* src/today-pim-journal.c: (header_clicked_cb),
+	(missed_calls_button_press_cb), (unread_messages_button_press_cb),
+	(tasks_button_press_cb), (dates_button_press_cb):
+	* src/today-utils.c: (today_toolbutton_new):
+	* src/today-utils.h:
+	* src/today.h:
+        Update launcher code to match upstream changes to libtaku
+
+2007-11-02  Chris Lord  <chris at openedhand.com>
+
 	* src/today-main.c: (clock_clicked_cb), (today_create_home_page):
         Launch openmoko-worldclock when clicking on clock
 

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-11-02 16:33:59 UTC (rev 3339)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-launcher.c	2007-11-02 16:45:30 UTC (rev 3340)
@@ -14,283 +14,74 @@
 #include <moko-search-bar.h>
 #include "today.h"
 
-/* inotify support derived/copied from code in matchbox-desktop-2 */
-#if WITH_INOTIFY
-#include "libtaku/inotify/inotify-path.h"
-#include "libtaku/inotify/local_inotify.h"
-
-static gboolean with_inotify;
-G_LOCK_DEFINE(inotify_lock);
-#endif
-
-/* NOTE: Following 6 functions (as well as libtaku) taken from
+/* NOTE: Following few functions (as well as libtaku) taken from
  * matchbox-desktop-2 and (slightly) modified where necessary
  */
-/*
- * Load all .directory files from @vfolderdir, and add them as tables.
- */
-GList *
-load_vfolder_dir (const char *vfolderdir,
-		  TakuLauncherCategory **fallback_category)
-{
-  GList *categories = NULL;
-  GError *error = NULL;
-  FILE *fp;
-  char name[NAME_MAX], *filename;
-  TakuLauncherCategory *category;
-
-  filename = g_build_filename (vfolderdir, "Root.order", NULL);
-  fp = fopen (filename, "r");
-  if (fp == NULL) {
-    g_warning ("Cannot read %s", filename);
-    g_free (filename);
-    return NULL;
-  }
-  g_free (filename);
-
-  while (fgets (name, NAME_MAX - 9, fp) != NULL) {
-    char **matches = NULL, *local_name = NULL;
-    char **l;
-    GKeyFile *key_file;
-
-    if (name[0] == '#' || isspace (name[0]))
-      continue;
-
-    strcpy (name + strlen (name) - 1, ".directory");
-  
-    filename = g_build_filename (vfolderdir, name, NULL);
-
-    key_file = g_key_file_new ();
-    g_key_file_load_from_file (key_file, filename, G_KEY_FILE_NONE, &error);
-    if (error) {
-      g_warning ("Cannot read %s: %s", filename, error->message);
-      g_error_free (error);
-      error = NULL;
-
-      goto done;
-    }
-
-    matches = g_key_file_get_string_list (key_file, "Desktop Entry", "Match", NULL, NULL);
-    if (matches == NULL)
-      goto done;
-
-    local_name = g_key_file_get_locale_string (key_file, "Desktop Entry",
-                                               "Name", NULL, NULL);
-    if (local_name == NULL) {
-      g_warning ("Directory file %s does not contain a \"Name\" field",
-                 filename);
-      g_strfreev (matches);
-      goto done;
-    }
-
-    category = taku_launcher_category_new ();
-    category->matches = matches;
-    category->name  = local_name;
-
-    categories = g_list_append (categories, category);
-
-    /* Find a fallback category */
-    if (fallback_category && (!*fallback_category))
-      for (l = matches; *l; l++)
-        if (strcmp (*l, "meta-fallback") == 0)
-          *fallback_category = category;
-    
-  done:
-    g_key_file_free (key_file);
-    g_free (filename);
-  }
-
-  fclose (fp);
-	
-  return categories;
-}
-
 static void
-match_category (TakuLauncherCategory *category,
-		TakuLauncherTile *tile, gboolean *placed)
+item_added_cb (TakuMenu *menu, TakuMenuItem *item, TodayData *data)
 {
-  const char **groups;
-  char **match;
-  
-  for (match = category->matches; *match; match++) {
-    /* Add all tiles to the all group */
-    if (strcmp (*match, "meta-all") == 0) {
-      taku_launcher_tile_add_group (tile, category);
-      return;
-    }
-    
-    for (groups = taku_launcher_tile_get_categories (tile);
-         *groups; groups++) {
-      if (strcmp (*match, *groups) == 0) {
-        taku_launcher_tile_add_group (tile, category);
-        *placed = TRUE;
-        return;
-      }
-    }
-  }
-}
-
-static void
-set_groups (TakuLauncherTile *tile, GList *categories,
-	    TakuLauncherCategory *fallback_category)
-{
-  gboolean placed = FALSE;
-  GList *l;
-  
-  for (l = categories; l ; l = l->next) {
-    match_category (l->data, tile, &placed);
-  }
-
-  if (!placed && fallback_category)
-    taku_launcher_tile_add_group (tile, fallback_category);
-}
-
-typedef struct {
-	gchar *name;
-	gchar *directory;
-	TakuTable *table;
-	GList *categories;
-	TakuLauncherCategory *fallback_category;
-} LoadDesktopData;
-
-static gboolean
-load_desktop_cb (LoadDesktopData *data)
-{
-	gchar *filename;
+	const gchar *name;
 	GtkWidget *tile;
 
-	if (!g_str_has_suffix (data->name, ".desktop")) goto not_desktop;
-
-	filename = g_build_filename (data->directory, data->name, NULL);
-
-	/* TODO: load launcher data, probe that, and then create a tile */
-
-	tile = taku_launcher_tile_for_desktop_file (filename);
-	if (!tile) goto done;
-
-	set_groups (TAKU_LAUNCHER_TILE (tile), data->categories,
-		data->fallback_category);
-
-	gtk_container_add (GTK_CONTAINER (data->table), tile);
-	gtk_widget_show (tile);
-
-done:
-	g_free (filename);
-not_desktop:
-	g_free (data->name);
-	g_free (data->directory);
-	g_free (data);
+	tile = taku_launcher_tile_new_from_item (item);
+	name = taku_menu_item_get_name (item);
 	
-	return FALSE;
-}
+	if (strcmp (name, "Dialer") == 0) {
+		gtk_widget_set_sensitive (GTK_WIDGET (data->dial_button), TRUE);
+		data->dialer_item = item;
+	} else if (strcmp (name, "Contacts") == 0) {
+		gtk_widget_set_sensitive (GTK_WIDGET (data->contacts_button), TRUE);
+		data->contacts_item = item;
+	} else if (strcmp (name, "Tasks") == 0) {
+		data->tasks_item = item;
+	} else if (strcmp (name, "Dates") == 0) {
+		gtk_widget_set_sensitive (GTK_WIDGET (data->dates_button), TRUE);
+		data->dates_item = item;
+	} else if (strcmp (name, "World Clock") == 0) {
+		data->clock_item = item;
+	}
 
-#if WITH_INOTIFY
-/*
- * Monitor @directory with inotify, if available.
- */
-static void
-monitor (const char *directory)
-{
-  inotify_sub *sub;
-
-  if (!with_inotify)
-    return;
-  
-  sub = _ih_sub_new (directory, NULL, NULL);
-  _ip_start_watching (sub);
+	if (GTK_IS_WIDGET (tile))
+		gtk_container_add (GTK_CONTAINER (data->launcher_table), tile); 
 }
 
-/*
- * Used to delete tiles when they are removed from disk.  @a is the tile, @b is
- * the desktop filename to look for.
- */
 static void
-find_and_destroy (GtkWidget *widget, gpointer data)
+item_removed_cb (TakuMenu *menu, TakuMenuItem *item, TodayData *data)
 {
-  TakuLauncherTile *tile;
-  const char *removed, *filename;
+	TakuLauncherTile *tile = NULL;
+	GList *tiles, *t;
 
-  tile = TAKU_LAUNCHER_TILE (widget);
-  if (!tile)
-    return;
-  
-  removed = data;
-  
-  filename = taku_launcher_tile_get_filename (tile);
-  if (strcmp (removed, filename) == 0)
-    gtk_widget_destroy (widget);
-}
+	if (data->dialer_item == item) {
+		data->dialer_item = NULL;
+		gtk_widget_set_sensitive (
+			GTK_WIDGET (data->dial_button), FALSE);
+	} else if (data->contacts_item == item) {
+		data->contacts_item = NULL;
+		gtk_widget_set_sensitive (
+			GTK_WIDGET (data->contacts_button), FALSE);
+	} else if (data->tasks_item == item) {
+		data->tasks_item = NULL;
+	} else if (data->dates_item == item) {
+		data->dates_item = NULL;
+		gtk_widget_set_sensitive (
+			GTK_WIDGET (data->dates_button), FALSE);
+	} else if (data->clock_item == item) {
+		data->clock_item = NULL;
+	}
 
-static TodayData *data_static;
-static void
-inotify_event (ik_event_t *event, inotify_sub *sub)
-{
-  char *path;
+	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 (event->mask & IN_MOVED_TO || event->mask & IN_CREATE) {
-    if (g_str_has_suffix (event->name, ".desktop")) {
-      LoadDesktopData *data = g_new0 (LoadDesktopData, 1);
-      data->name = g_strdup (event->name);
-      data->directory = g_strdup (sub->dirname);
-      data->table = (TakuTable *)data_static->launcher_table;
-      data->categories = data_static->categories;
-      load_desktop_cb (data);
-    }
-  } else if (event->mask & IN_MOVED_FROM || event->mask & IN_DELETE) {
-    path = g_build_filename (sub->dirname, event->name, NULL);
-    gtk_container_foreach (GTK_CONTAINER (data_static->launcher_table),
-                           find_and_destroy, path);
-    g_free (path);
-  }
-}
-#endif
+		if (item == taku_launcher_tile_get_item (t->data)) {
+			tile = t->data;
+			break;
+		}
+	}
 
-/*
- * Load all .desktop files in @datadir/applications/, and add them to @table.
- */
-static void
-load_data_dir (const char *datadir, TakuTable *table, GList *categories,
-	       TakuLauncherCategory *fallback_category)
-{
-  GError *error = NULL;
-  GDir *dir;
-  char *directory;
-  const char *name;
-
-  g_assert (datadir);
-
-  directory = g_build_filename (datadir, "applications", NULL);
-
-  /* Check if the directory exists */
-  if (! g_file_test (directory, G_FILE_TEST_IS_DIR)) {
-    g_free (directory);
-    return;
-  }
-
-#if WITH_INOTIFY
-  monitor (directory);
-#endif
-
-  dir = g_dir_open (directory, 0, &error);
-  if (error) {
-    g_warning ("Cannot read %s: %s", directory, error->message);
-    g_error_free (error);
-    g_free (directory);
-    return;
-  }
-
-  while ((name = g_dir_read_name (dir)) != NULL) {
-	LoadDesktopData *data = g_new (LoadDesktopData, 1);
-	data->name = g_strdup (name);
-	data->directory = g_strdup (directory);
-	data->table = table;
-	data->categories = categories;
-	data->fallback_category = fallback_category;
-	g_idle_add ((GSourceFunc)load_desktop_cb, data);
-  }
-
-  g_free (directory);
-  g_dir_close (dir);
+	if (GTK_IS_WIDGET (tile)) gtk_container_remove (GTK_CONTAINER (
+		data->launcher_table), GTK_WIDGET (tile));
 }
 
 static void
@@ -433,18 +224,32 @@
 }
 #endif
 
+static gboolean
+add_item_idle (TakuMenuItem *item)
+{
+	g_signal_emit_by_name (taku_menu_get_default (), "item-added", item);
+	return FALSE;
+}
+
+static gboolean
+load_items (TodayData *data)
+{
+	GList *items;
+	TakuMenu *menu = taku_menu_get_default ();
+	
+	for (items = taku_menu_get_items (menu); items; items = items->next) {
+		if (!items->data) continue;
+		g_idle_add ((GSourceFunc)add_item_idle, items->data);
+	}
+	return FALSE;
+}
+
 GtkWidget *
 today_launcher_page_create (TodayData *data)
 {
+	static TakuMenu *menu;
 	GtkWidget *main_vbox, *hbox, *toggle, *scroll;
-	const char * const *dirs;
-	gchar *vfolder_dir;
 
-#if WITH_INOTIFY
-	data_static = data;
-	with_inotify = _ip_startup (inotify_event);
-#endif
-
 	main_vbox = gtk_vbox_new (FALSE, 0);
 	
 	/* search/filter bar */
@@ -488,16 +293,14 @@
 	data->search_cat->matches = g_new0 (gchar *, 2);
 	data->search_cat->matches[0] = g_strdup ("meta-search");
 	
-	/* Load app categories */
-	vfolder_dir = g_build_filename (g_get_home_dir (),
-		".matchbox", "vfolders", NULL);
-	if (g_file_test (vfolder_dir, G_FILE_TEST_EXISTS))
-		data->categories = load_vfolder_dir (vfolder_dir, NULL);
-	else
-		data->categories = load_vfolder_dir (PKGDATADIR "/vfolders",
-			NULL);
-	g_free (vfolder_dir);
-	
+	/* Load application data */
+	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);  
+
+	data->categories = taku_menu_get_categories (menu);
 	if (data->categories) {
 		GList *c;
 		for (c = data->categories; c; c = c->next) {
@@ -522,15 +325,12 @@
 		G_CALLBACK (today_launcher_search_toggle_cb), data);
 	
 	/* Populate the app list */
-	/* TODO: Do this incrementally during idle time to increase
-	 * start-up speed.
-	 */
-	for (dirs = g_get_system_data_dirs (); *dirs; dirs++) {
-		load_data_dir (*dirs, TAKU_TABLE (data->launcher_table),
-			data->categories, NULL);
-	}
-	load_data_dir (g_get_user_data_dir (),
-		TAKU_TABLE (data->launcher_table), data->categories, NULL);
+	data->dialer_item = NULL;
+	data->contacts_item = NULL;
+	data->tasks_item = NULL;
+	data->dates_item = NULL;
+	data->clock_item = NULL;
+	g_idle_add ((GSourceFunc)load_items, data);
 	
 	/* Make sure initial search shows all items */
 	today_launcher_update_search (data, "");

Modified: trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-main.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-main.c	2007-11-02 16:33:59 UTC (rev 3339)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-main.c	2007-11-02 16:45:30 UTC (rev 3340)
@@ -38,29 +38,27 @@
 static void
 today_dial_button_clicked_cb (GtkToolButton *button, TodayData *data)
 {
-	launcher_start (data->window, today_get_launcher ((const gchar *[])
-		{"openmoko-dialer", "-s", NULL }, TRUE, FALSE));
+	if (data->dialer_item) launcher_start (data->window, data->dialer_item,
+		(gchar *[]){ "openmoko-dialer", NULL }, TRUE, TRUE);
 }
 
 static void
 today_contacts_button_clicked_cb (GtkToolButton *button, TodayData *data)
 {
-	launcher_start (data->window, today_get_launcher ((const gchar *[])
-		{ "openmoko-contacts", NULL }, TRUE, TRUE));
+	if (data->contacts_item) launcher_start (data->window, data->contacts_item,
+		(gchar *[]){ "openmoko-contacts", NULL }, TRUE, TRUE);
 }
 
 static void
 today_messages_button_clicked_cb (GtkToolButton *button, TodayData *data)
 {
-	launcher_start (data->window, today_get_launcher ((const gchar *[])
-		{ "openmoko-messages", NULL }, TRUE, TRUE));
 }
 
 static void
 today_dates_button_clicked_cb (GtkToolButton *button, TodayData *data)
 {
-	launcher_start (data->window, today_get_launcher ((const gchar *[])
-		{ "openmoko-dates", NULL }, TRUE, TRUE));
+	if (data->dates_item) launcher_start (data->window, data->dates_item,
+		(gchar *[]){ "openmoko-dates", NULL }, TRUE, TRUE);
 }
 
 static gboolean
@@ -169,8 +167,8 @@
 static void
 clock_clicked_cb (JanaGtkClock *clock, GdkEventButton *event, TodayData *data)
 {
-	launcher_start (data->window, today_get_launcher ((const gchar *[])
-		{ "openmoko-worldclock", NULL }, TRUE, TRUE));
+	if (data->clock_item) launcher_start (data->window, data->clock_item,
+		(gchar *[]){ "openmoko-worldclock", NULL }, TRUE, TRUE);
 }
 
 static GtkWidget *
@@ -192,6 +190,7 @@
 		gtk_separator_tool_item_new (), 0);
 	g_signal_connect (G_OBJECT (data->dates_button), "clicked",
 		G_CALLBACK (today_dates_button_clicked_cb), data);
+	gtk_widget_set_sensitive (data->dates_button, FALSE);
 
 	data->messages_button = today_toolbutton_new ("openmoko-messages");
 	gtk_toolbar_insert (GTK_TOOLBAR (data->home_toolbar),
@@ -200,6 +199,7 @@
 		gtk_separator_tool_item_new (), 0);
 	g_signal_connect (G_OBJECT (data->messages_button), "clicked",
 		G_CALLBACK (today_messages_button_clicked_cb), data);
+	gtk_widget_set_sensitive (data->messages_button, FALSE);
 
 	data->contacts_button = today_toolbutton_new ("contacts");
 	gtk_toolbar_insert (GTK_TOOLBAR (data->home_toolbar),
@@ -208,6 +208,7 @@
 		gtk_separator_tool_item_new (), 0);
 	g_signal_connect (G_OBJECT (data->contacts_button), "clicked",
 		G_CALLBACK (today_contacts_button_clicked_cb), data);
+	gtk_widget_set_sensitive (data->contacts_button, FALSE);
 
 	data->dial_button = today_toolbutton_new ("openmoko-dialer");
 	gtk_toolbar_insert (GTK_TOOLBAR (data->home_toolbar),
@@ -215,6 +216,7 @@
 	gtk_widget_show_all (data->home_toolbar);
 	g_signal_connect (G_OBJECT (data->dial_button), "clicked",
 		G_CALLBACK (today_dial_button_clicked_cb), data);
+	gtk_widget_set_sensitive (data->dial_button, FALSE);
 
 	/* Create event box with background */
 	data->bg_ebox = gtk_event_box_new ();

Modified: trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-pim-journal.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-pim-journal.c	2007-11-02 16:33:59 UTC (rev 3339)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-pim-journal.c	2007-11-02 16:45:30 UTC (rev 3340)
@@ -139,31 +139,16 @@
 static void
 header_clicked_cb (GtkWidget *button, TodayData *data)
 {
-	launcher_start (data->window, today_get_launcher (
-		(const gchar *[]){ "openmoko-worldclock", NULL, NULL },
-		TRUE, TRUE));
+	if (data->clock_item) launcher_start (data->window, data->clock_item,
+		(gchar *[]){ "openmoko-worldclock", NULL }, TRUE, TRUE);
 }
 
-/*static void
-today_pim_journal_selection_changed_cb (GtkTreeSelection *selection,
-					TodayData *data)
-{
-	if ((data->n_missed_calls > 0) &&
-	    gtk_tree_selection_count_selected_rows (selection)) {
-		gtk_tree_selection_unselect_all (selection);
-		launcher_start (data->window, today_get_launcher (
-			(const gchar *[]){ "openmoko-dialer", "-m", NULL },
-			TRUE, FALSE));
-	}
-}*/
-
 static gboolean
 missed_calls_button_press_cb (GtkWidget *widget, GdkEventButton *event,
 			      TodayData *data)
 {
-	launcher_start (data->window, today_get_launcher (
-		(const gchar *[]){ "openmoko-dialer", "-m", NULL },
-		TRUE, FALSE));
+	if (data->dialer_item) launcher_start (data->window, data->dialer_item,
+		(gchar *[]){ "openmoko-dialer", "-m", NULL }, TRUE, TRUE);
 
 	return FALSE;
 }
@@ -172,9 +157,6 @@
 unread_messages_button_press_cb (GtkWidget *widget, GdkEventButton *event,
 				 TodayData *data)
 {
-	/*launcher_start (data->window, today_get_launcher (
-		(const gchar *[]){ "openmoko-dialer", "-m", NULL },
-		TRUE, FALSE));*/
 	g_debug ("TODO: Launch messages app");
 
 	return FALSE;
@@ -184,9 +166,8 @@
 tasks_button_press_cb (GtkWidget *widget, GdkEventButton *event,
 		       TodayData *data)
 {
-	launcher_start (data->window, today_get_launcher (
-		(const gchar *[]){ "tasks", NULL, NULL },
-		TRUE, FALSE));
+	if (data->tasks_item) launcher_start (data->window, data->tasks_item,
+		(gchar *[]){ "tasks", NULL }, TRUE, TRUE);
 
 	return FALSE;
 }
@@ -195,9 +176,8 @@
 dates_button_press_cb (GtkWidget *widget, GdkEventButton *event,
 		       TodayData *data)
 {
-	launcher_start (data->window, today_get_launcher (
-		(const gchar *[]){ "openmoko-dates", NULL, NULL },
-		TRUE, FALSE));
+	if (data->dates_item) launcher_start (data->window, data->dates_item,
+		(gchar *[]){ "openmoko-dates", NULL }, TRUE, TRUE);
 
 	return FALSE;
 }

Modified: trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-utils.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-utils.c	2007-11-02 16:33:59 UTC (rev 3339)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-utils.c	2007-11-02 16:45:30 UTC (rev 3340)
@@ -35,19 +35,3 @@
 	gtk_tool_item_set_expand (button, TRUE);
 	return button;
 }
-
-const LauncherData *
-today_get_launcher (const gchar **argv, gboolean use_sn, gboolean single)
-{
-	static LauncherData launcher_data;
-	
-	launcher_data.argv = (char **)argv;
-	launcher_data.name = (char *)argv[0];
-	launcher_data.description = "";
-	launcher_data.icon = NULL;
-	launcher_data.categories = (char *[]){ "" };
-	launcher_data.use_sn = use_sn;
-	launcher_data.single_instance = single;
-	
-	return &launcher_data;
-}

Modified: trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-utils.h
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-utils.h	2007-11-02 16:33:59 UTC (rev 3339)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-utils.h	2007-11-02 16:45:30 UTC (rev 3340)
@@ -28,7 +28,5 @@
 #include <libtaku/launcher-util.h>
 
 GtkToolItem *today_toolbutton_new (const gchar *icon_name);
-const LauncherData *today_get_launcher (const gchar **argv, gboolean use_sn,
-					gboolean single);
 
 #endif /*__TODAY_UTILS_H__*/

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-11-02 16:33:59 UTC (rev 3339)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today.h	2007-11-02 16:45:30 UTC (rev 3340)
@@ -50,6 +50,12 @@
 	GtkWidget *filter_combo;
 	TakuLauncherCategory *search_cat;
 	
+	TakuMenuItem *dialer_item;
+	TakuMenuItem *contacts_item;
+	TakuMenuItem *tasks_item;
+	TakuMenuItem *dates_item;
+	TakuMenuItem *clock_item;
+	
 	/* App manager */
 	GdkWindow *root_window;
 	GtkWidget *tasks_table;





More information about the commitlog mailing list