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