r3882 - in trunk/src/target/OM-2007.2/panel-plugins: . openmoko-panel-memory openmoko-panel-memory/src
chris at sita.openmoko.org
chris at sita.openmoko.org
Fri Jan 18 13:22:03 CET 2008
Author: chris
Date: 2008-01-18 13:22:01 +0100 (Fri, 18 Jan 2008)
New Revision: 3882
Added:
trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/
trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/AUTHORS
trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/ChangeLog
trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/NEWS
trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/README
trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/autogen.sh
trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/configure.ac
trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/src/
trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/src/Makefile.am
trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/src/openmoko-panel-memory.c
Log:
* AUTHORS:
* autogen.sh:
* configure.ac:
* src/Makefile.am:
* src/openmoko-panel-memory.c: (blink_idle), (memory_full_cb),
(mb_panel_applet_create):
Initial check-in of memory status applet
Added: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/AUTHORS
===================================================================
--- trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/AUTHORS 2008-01-18 12:12:47 UTC (rev 3881)
+++ trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/AUTHORS 2008-01-18 12:22:01 UTC (rev 3882)
@@ -0,0 +1 @@
+Chris Lord <chris at openedhand.com>
Added: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/ChangeLog 2008-01-18 12:12:47 UTC (rev 3881)
+++ trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/ChangeLog 2008-01-18 12:22:01 UTC (rev 3882)
@@ -0,0 +1,10 @@
+2008-01-18 Chris Lord <chris at openedhand.com>
+
+ * AUTHORS:
+ * autogen.sh:
+ * configure.ac:
+ * src/Makefile.am:
+ * src/openmoko-panel-memory.c: (blink_idle), (memory_full_cb),
+ (mb_panel_applet_create):
+ Initial check-in of memory status applet
+
Added: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/NEWS
===================================================================
Added: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/README
===================================================================
Added: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/autogen.sh
===================================================================
--- trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/autogen.sh 2008-01-18 12:12:47 UTC (rev 3881)
+++ trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/autogen.sh 2008-01-18 12:22:01 UTC (rev 3882)
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+REQUIRED_AUTOMAKE_VERSION=1.7 exec gnome-autogen.sh $@
Property changes on: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/autogen.sh
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/configure.ac
===================================================================
--- trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/configure.ac 2008-01-18 12:12:47 UTC (rev 3881)
+++ trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/configure.ac 2008-01-18 12:22:01 UTC (rev 3882)
@@ -0,0 +1,18 @@
+AC_PREREQ(2.53)
+AC_INIT(openmoko-panel-memory, 0.0, http://www.openmoko.org/)
+AM_INIT_AUTOMAKE()
+AC_CONFIG_SRCDIR(src/openmoko-panel-memory.c)
+AM_CONFIG_HEADER(config.h)
+AM_MAINTAINER_MODE
+
+AC_ISC_POSIX
+AC_PROG_CC
+AC_STDC_HEADERS
+AC_PROG_LIBTOOL
+
+PKG_CHECK_MODULES(APPLET, libmokopanelui2 libnotify dbus-glib-1)
+
+AC_OUTPUT([
+Makefile
+src/Makefile
+])
Added: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/src/Makefile.am
===================================================================
--- trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/src/Makefile.am 2008-01-18 12:12:47 UTC (rev 3881)
+++ trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/src/Makefile.am 2008-01-18 12:22:01 UTC (rev 3882)
@@ -0,0 +1,12 @@
+AM_CPPFLAGS = -DDATADIR=\"$(datadir)\" -DPKGDATADIR=\"$(pkgdatadir)\"
+AM_CFLAGS = -Wall @APPLET_CFLAGS@
+
+appletdir = $(libdir)/matchbox-panel/
+applet_LTLIBRARIES = libopenmoko-panel-memory.la
+
+libopenmoko_panel_memory_la_SOURCES = \
+ openmoko-panel-memory.c
+
+libopenmoko_panel_memory_la_LIBADD = @APPLET_LIBS@
+
+MAINTAINERCLEANFILES = Makefile.in
Added: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/src/openmoko-panel-memory.c
===================================================================
--- trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/src/openmoko-panel-memory.c 2008-01-18 12:12:47 UTC (rev 3881)
+++ trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-memory/src/openmoko-panel-memory.c 2008-01-18 12:22:01 UTC (rev 3882)
@@ -0,0 +1,109 @@
+/* openmoko-panel-memory.c
+ *
+ * Copyright (C) 2008 OpenMoko Inc.
+ *
+ * Authored by Chris Lord <chris at openedhand.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser Public License as published by
+ * the Free Software Foundation; version 2 of the license.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser Public License for more details.
+ */
+
+#include <gtk/gtk.h>
+#include <libmokopanelui2/moko-panel-applet.h>
+#include <libnotify/notify.h>
+#include <dbus/dbus-glib.h>
+#include <dbus/dbus-glib-bindings.h>
+
+typedef struct {
+ MokoPanelApplet *applet;
+ GtkWidget *image;
+
+ DBusGProxy *sms_proxy;
+ NotifyNotification *notification;
+
+ guint blink_idle;
+} MemoryAppletData;
+
+static gboolean
+blink_idle (MemoryAppletData *data)
+{
+ g_object_set (G_OBJECT (data->applet), "visible",
+ !GTK_WIDGET_VISIBLE (data->applet), NULL);
+
+ return TRUE;
+}
+
+static void
+memory_full_cb (DBusGProxy *proxy, gboolean sim_full, gboolean phone_full,
+ MemoryAppletData *data)
+{
+ if (sim_full || phone_full) {
+ const gchar *message;
+
+ gtk_widget_show (GTK_WIDGET (data->applet));
+ data->blink_idle = g_timeout_add_seconds (1,
+ (GSourceFunc)blink_idle, data);
+
+ if (sim_full && phone_full) {
+ message = "Phone and SIM memory full";
+ } else if (sim_full) {
+ message = "SIM memory full";
+ } else {
+ message = "Phone memory full";
+ }
+ g_object_set (G_OBJECT (data->notification),
+ "body", message, NULL);
+
+ notify_notification_show (data->notification, NULL);
+ } else {
+ g_source_remove (data->blink_idle);
+ gtk_widget_hide (GTK_WIDGET (data->applet));
+ notify_notification_close (data->notification, NULL);
+ }
+}
+
+G_MODULE_EXPORT GtkWidget *
+mb_panel_applet_create (const char* id, GtkOrientation orientation)
+{
+ DBusGConnection *connection;
+ MemoryAppletData *data;
+
+ GError *error = NULL;
+
+ if (!(connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error))) {
+ g_warning ("Failed to get dbus connection: %s", error->message);
+ g_error_free (error);
+ return NULL;
+ }
+
+ data = g_slice_new0 (MemoryAppletData);
+
+ data->sms_proxy = dbus_g_proxy_new_for_name (connection,
+ "org.openmoko.PhoneKit", "/org/openmoko/PhoneKit/Sms",
+ "org.openmoko.PhoneKit.Sms");
+
+ dbus_g_proxy_add_signal (data->sms_proxy, "MemoryFull",
+ G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_INVALID);
+ dbus_g_proxy_connect_signal (data->sms_proxy, "MemoryFull",
+ G_CALLBACK (memory_full_cb), data, NULL);
+
+ notify_init ("openmoko-panel-memory");
+ data->notification = notify_notification_new ("Memory full", "",
+ GTK_STOCK_DIALOG_WARNING, NULL);
+
+ data->applet = MOKO_PANEL_APPLET(moko_panel_applet_new());
+
+ data->image = gtk_image_new_from_stock (
+ GTK_STOCK_SAVE, GTK_ICON_SIZE_MENU);
+ gtk_widget_show (data->image);
+ moko_panel_applet_set_widget (data->applet, data->image);
+
+ return GTK_WIDGET (data->applet);
+}
+
More information about the commitlog
mailing list