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

chris at sita.openmoko.org chris at sita.openmoko.org
Thu Dec 6 13:27:10 CET 2007


Author: chris
Date: 2007-12-06 13:27:08 +0100 (Thu, 06 Dec 2007)
New Revision: 3602

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-today2/ChangeLog
   trunk/src/target/OM-2007.2/applications/openmoko-today2/configure.ac
   trunk/src/target/OM-2007.2/applications/openmoko-today2/src/Makefile.am
   trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-main.c
   trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today.h
Log:
        * configure.ac:
        * src/Makefile.am:
        * src/today-main.c: (set_window_title), (is_active_notify),
        (provider_changed_cb), (main):
        * src/today.h:
        Use phone-kit to display network name (bug #367)


Modified: trunk/src/target/OM-2007.2/applications/openmoko-today2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-today2/ChangeLog	2007-12-06 11:27:10 UTC (rev 3601)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/ChangeLog	2007-12-06 12:27:08 UTC (rev 3602)
@@ -1,3 +1,12 @@
+2007-12-06  Chris Lord  <chris at openedhand.com>
+
+	* configure.ac:
+	* src/Makefile.am:
+	* src/today-main.c: (set_window_title), (is_active_notify),
+	(provider_changed_cb), (main):
+	* src/today.h:
+        Use phone-kit to display network name (bug #367)
+
 2007-11-30  Chris Lord  <chris at openedhand.com>
 
 	* src/today-task-manager.c: (today_task_manager_populate_tasks),

Modified: trunk/src/target/OM-2007.2/applications/openmoko-today2/configure.ac
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-today2/configure.ac	2007-12-06 11:27:10 UTC (rev 3601)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/configure.ac	2007-12-06 12:27:08 UTC (rev 3602)
@@ -42,6 +42,7 @@
 PKG_CHECK_MODULES(EBOOK, libebook-1.2 >= $LIBEBOOK_VERSION)
 PKG_CHECK_MODULES(GCONF, gconf-2.0)
 PKG_CHECK_MODULES(JANA, libjana libjana-ecal libjana-gtk)
+PKG_CHECK_MODULES(DBUS, dbus-glib-1)
 
 AC_ARG_ENABLE(startup_notification,
         AC_HELP_STRING([--enable-startup-notification], [enable startup notification support]),

Modified: trunk/src/target/OM-2007.2/applications/openmoko-today2/src/Makefile.am
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-today2/src/Makefile.am	2007-12-06 11:27:10 UTC (rev 3601)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/src/Makefile.am	2007-12-06 12:27:08 UTC (rev 3602)
@@ -6,7 +6,7 @@
 
 AM_CFLAGS    = -Wall -pedantic -std=c99 @GTK_CFLAGS@ @ECAL_CFLAGS@ \
 		@EBOOK_CFLAGS@ @MOKOUI_CFLAGS@ @MOKOJOURNAL_CFLAGS@ \
-		@GCONF_CFLAGS@ @JANA_CFLAGS@
+		@GCONF_CFLAGS@ @JANA_CFLAGS@ @DBUS_CFLAGS@
 
 bin_PROGRAMS = openmoko-today
 
@@ -30,7 +30,7 @@
 			$(top_builddir)/libtaku/libtaku.a	\
 			@GTK_LIBS@ @ECAL_LIBS@ @EBOOK_LIBS@ @SEXY_LIBS@ \
 			@SN_LIBS@ @MOKOUI_LIBS@ @MOKOJOURNAL_LIBS@ \
-			@GCONF_LIBS@ @JANA_LIBS@
+			@GCONF_LIBS@ @JANA_LIBS@ @DBUS_LIBS@
 
 # Optional inotify support
 if HAVE_INOTIFY

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-12-06 11:27:10 UTC (rev 3601)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-main.c	2007-12-06 12:27:08 UTC (rev 3602)
@@ -349,6 +349,35 @@
 	}
 }
 
+static gboolean active = TRUE;
+
+static void
+set_window_title (TodayData *data)
+{
+	gtk_window_set_title (GTK_WINDOW (data->window),
+		data->network_name ? data->network_name :
+		"Registering...");
+}
+
+static void
+is_active_notify (GObject *window, GParamSpec *arg1, TodayData *data)
+{
+	g_object_get (window, "is-active", &active, NULL);
+	if (!active)
+		gtk_window_set_title (GTK_WINDOW (data->window), "Home");
+	else
+		set_window_title (data);
+}
+
+static void
+provider_changed_cb (DBusGProxy *proxy, const gchar *name, TodayData *data)
+{
+	g_free (data->network_name);
+	data->network_name = g_strdup (name);
+	
+	if (active) set_window_title (data);
+}
+
 static GtkWidget *window;
 
 static void
@@ -362,17 +391,20 @@
 main (int argc, char **argv)
 {
 	TodayData data;
+	DBusGConnection *connection;
 	GOptionContext *context;
 	GtkWidget *widget;
 #ifndef STANDALONE
 	gint x, y, w, h;
 #endif
+	GError *error = NULL;
 	
 	static GOptionEntry entries[] = {
 		{ NULL }
 	};
 	
 	data.wallpaper = NULL;
+	data.network_name = NULL;
 
 	/* Initialise */
 	bindtextdomain (GETTEXT_PACKAGE, TODAY_LOCALE_DIR);;
@@ -387,6 +419,22 @@
 	/* init openmoko stock items */
 	moko_stock_register ();
 
+	/* Get phone-kit Network dbus proxy */
+	connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
+	if (!connection) {
+		g_warning ("Failed to get dbus connection: %s", error->message);
+		g_error_free (error);
+		data.network_proxy = NULL;
+	} else {
+		data.network_proxy = dbus_g_proxy_new_for_name (connection,
+			"org.openmoko.PhoneKit",
+			"/org/openmoko/PhoneKit/Network",
+			"org.openmoko.PhoneKit.Network");
+		dbus_g_proxy_connect_signal (data.network_proxy,
+			"ProviderChanged", G_CALLBACK (provider_changed_cb),
+			&data, NULL);
+	}
+
 	/* Create widgets */
 	data.window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
 	gtk_window_set_title (GTK_WINDOW (data.window), _("Home"));
@@ -442,6 +490,8 @@
 #endif
 	
 	/* Show and start */
+	g_signal_connect (data.window, "notify::is-active",
+		G_CALLBACK (is_active_notify), &data);
 	gtk_widget_show (data.window);
 
 	/* Listen to wallpaper setting */

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-12-06 11:27:10 UTC (rev 3601)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today.h	2007-12-06 12:27:08 UTC (rev 3602)
@@ -6,6 +6,8 @@
 #include <libtaku/taku-launcher-tile.h>
 #include <moko-journal.h>
 #include <libjana/jana.h>
+#include <dbus/dbus-glib.h>
+#include <dbus/dbus-glib-bindings.h>
 
 #define GCONF_POKY_INTERFACE_PREFIX "/desktop/poky/interface"
 #define GCONF_POKY_WALLPAPER "/wallpaper"
@@ -26,6 +28,8 @@
 	GtkWidget *bg_ebox;
 	GdkPixmap *wallpaper;
 	gchar *location;
+	DBusGProxy *network_proxy;
+	gchar *network_name;
 	
 	GtkWidget *date_button;
 	GtkWidget *missed_calls_box;





More information about the commitlog mailing list