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