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