[maemo-commits] [maemo-commits] r8852 - in projects/haf/branches/maemo-af-desktop/hildon-desktop: . background-manager test
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Thu Dec 21 16:05:17 EET 2006
- Previous message: [maemo-commits] r8850 - projects/haf/trunk/osso-gnomevfs-extra
- Next message: [maemo-commits] r8853 - in projects/haf/trunk/libossomime: . data libossomime
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: jobi Date: 2006-12-21 16:05:15 +0200 (Thu, 21 Dec 2006) New Revision: 8852 Added: projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager-dbus.h.in projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager.xml.in projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/hildon-background-manager.service.in projects/haf/branches/maemo-af-desktop/hildon-desktop/test/test6.c Removed: projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager.xml Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/Makefile.am projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager.c projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager.h projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/main.c projects/haf/branches/maemo-af-desktop/hildon-desktop/configure.ac Log: 2006-12-21 Johan Bilien <johan.bilien at nokia.com> * background-manager/main.c: Added gnome-vfs initialization * background-manager/background-manager.c: various fixes * background-manager/*.in: Added configure-based definition of service, interface and object path * tests/test6.c: Added test using the background manager dbus service Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog 2006-12-21 14:00:26 UTC (rev 8851) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog 2006-12-21 14:05:15 UTC (rev 8852) @@ -1,3 +1,17 @@ +2006-12-21 Johan Bilien <johan.bilien at nokia.com> + + * background-manager/main.c: Added gnome-vfs initialization + * background-manager/background-manager.c: various fixes + * background-manager/*.in: Added configure-based definition + of service, interface and object path + * tests/test6.c: Added test using the background manager dbus service + +2006-12-19 Johan Bilien <johan.bilien at nokia.com> + + * background-manager/*: + - added + - simple and dummy DBus service to composite and set the background + 2006-12-19 Lucas Rocha <lucas.rocha at nokia.com> * src/hd-select-plugins-dialog.c: only consider .desktop files when Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/Makefile.am =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/Makefile.am 2006-12-21 14:00:26 UTC (rev 8851) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/Makefile.am 2006-12-21 14:05:15 UTC (rev 8852) @@ -1,14 +1,27 @@ bin_PROGRAMS = hildon-background-manager -BUILT_SOURCES = background-manager-glue.h -CLEANFILES = $(BUILT_SOURCES) +BUILT_SOURCES = background-manager-glue.h hildon-background-manager.h +CLEANFILES = $(BUILT_SOURCES) \ + background-manager-glue-tmp.h \ + hildon-background-manager-tmp.h + EXTRA_DIST = background-manager.xml -background-manager-glue.h: +background-manager-glue.h: background-manager.xml background-manager-dbus.h $(LIBTOOL) --mode=execute $(DBUS_BINDING_TOOL) --prefix=background_manager \ - --mode=glib-server --output=background-manager-glue.h \ + --mode=glib-server --output=background-manager-glue-tmp.h \ background-manager.xml + cat background-manager-dbus.h background-manager-glue-tmp.h > background-manager-glue.h +hildon-background-manager.h: background-manager.xml background-manager-dbus.h + $(LIBTOOL) --mode=execute $(DBUS_BINDING_TOOL) --prefix=background_manager \ + --mode=glib-client --output=hildon-background-manager-tmp.h \ + background-manager.xml + cat background-manager-dbus.h hildon-background-manager-tmp.h > hildon-background-manager.h + +pkgincludedir = $(includedir)/libhildondesktop/libhildondesktop +pkginclude_HEADERS = hildon-background-manager.h + hildon_background_manager_CPPFLAGS = @GNOME_VFS_CFLAGS@ \ @GCONF_CFLAGS@ \ @DBUS_GLIB_CFLAGS@ \ @@ -24,3 +37,6 @@ background-manager.c \ background-manager.h \ main.c + +hildon_background_manager_servicedir = $(datadir)/dbus-1/services +hildon_background_manager_service_DATA = hildon-background-manager.service Added: projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager-dbus.h.in =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager-dbus.h.in 2006-12-21 14:00:26 UTC (rev 8851) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager-dbus.h.in 2006-12-21 14:05:15 UTC (rev 8852) @@ -0,0 +1,3 @@ +#define HILDON_BACKGROUND_MANAGER_SERVICE "@HILDON_BACKGROUND_MANAGER_SERVICE@" +#define HILDON_BACKGROUND_MANAGER_OBJECT_PATH "@HILDON_BACKGROUND_MANAGER_OBJECT_PATH@" +#define HILDON_BACKGROUND_MANAGER_INTERFACE "@HILDON_BACKGROUND_MANAGER_INTERFACE@" Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager.c =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager.c 2006-12-21 14:00:26 UTC (rev 8851) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager.c 2006-12-21 14:05:15 UTC (rev 8852) @@ -113,8 +113,11 @@ static void background_data_free (BackgroundData *data) { - g_free (data->color); - g_free (data); + if (data) + { + g_free (data->color); + g_free (data); + } } G_DEFINE_TYPE (BackgroundManager, background_manager, G_TYPE_OBJECT); @@ -816,7 +819,7 @@ klass = BACKGROUND_MANAGER_GET_CLASS (manager); if (klass->connection) dbus_g_connection_register_g_object (klass->connection, - BACKGROUND_MANAGER_DBUS_OBJECT_PATH, + HILDON_BACKGROUND_MANAGER_OBJECT_PATH, G_OBJECT (manager)); } @@ -844,11 +847,20 @@ GdkBitmap *bitmask = NULL; GError *local_error = NULL; gint width, height; + FILE *file; + + file = fopen ("/tmp/background-manager.log", "a"); + fprintf (file, "Started applying the background\n"); + fflush (file); + + g_debug ("set_background on %s", filename); window = gdk_window_foreign_new (window_xid); if (!window) { + fprintf (file, "No window!\n"); + fflush (file); g_set_error (error, background_manager_error_quark (), BACKGROUND_MANAGER_ERROR_WINDOW, @@ -857,8 +869,13 @@ } priv = BACKGROUND_MANAGER_GET_PRIVATE (manager); + fprintf (file, "Before new data\n"); + fflush (file); background_data_free (priv->current); + + fprintf (file, "after free\n"); + fflush (file); priv->current = data = background_data_new (); data->color->red = red; @@ -868,8 +885,13 @@ data->window = window; data->image_uri = g_strdup (filename); - data->top_bar = g_strdup (top_bar); - data->left_bar = g_strdup (left_bar); + if (top_bar) + data->top_bar = g_strdup (top_bar); + if (left_bar) + data->left_bar = g_strdup (left_bar); + + fprintf (file, "Before load_image_from_uri\n"); + fflush (file); if (data->image_uri) { @@ -885,6 +907,9 @@ } gdk_drawable_get_size (GDK_DRAWABLE (window), &width, &height); + + fprintf (file, "Before composite_background\n"); + fflush (file); background = composite_background (image, data->color, @@ -895,6 +920,8 @@ height, TRUE, &local_error); + fprintf (file, "After composite_background\n"); + fflush (file); if (image) g_object_unref (image); @@ -924,6 +951,10 @@ if (background) g_object_unref (background); + gdk_window_clear (window); gdk_flush (); + fprintf (file, "Ended applying the background\n"); + fflush (file); + fclose (file); return TRUE; } Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager.h =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager.h 2006-12-21 14:00:26 UTC (rev 8851) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager.h 2006-12-21 14:05:15 UTC (rev 8852) @@ -41,7 +41,6 @@ #define IS_BACKGROUND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_MANAGER)) #define BACKGROUND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_MANAGER, BackgroundManagerClass)) -#define BACKGROUND_MANAGER_DBUS_OBJECT_PATH "/org/maemo/hildon/background_manager" G_BEGIN_DECLS Deleted: projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager.xml =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager.xml 2006-12-21 14:00:26 UTC (rev 8851) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager.xml 2006-12-21 14:05:15 UTC (rev 8852) @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> - -<node name="/"> - <interface name="com.nokia.HildonBackgroundManager"> - <method name="SetBackground"> - <arg type="i"/> - <arg type="s"/> - <arg type="s"/> - <arg type="s"/> - <arg type="i"/> - <arg type="i"/> - <arg type="i"/> - <arg type="i"/> - </method> - </interface> -</node> Added: projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager.xml.in =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager.xml.in 2006-12-21 14:00:26 UTC (rev 8851) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/background-manager.xml.in 2006-12-21 14:05:15 UTC (rev 8852) @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<node name="/"> + <interface name="@HILDON_BACKGROUND_MANAGER_INTERFACE@"> + <method name="SetBackground"> + <arg type="i"/> + <arg type="s"/> + <arg type="s"/> + <arg type="s"/> + <arg type="i"/> + <arg type="i"/> + <arg type="i"/> + <arg type="i"/> + </method> + </interface> +</node> Added: projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/hildon-background-manager.service.in =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/hildon-background-manager.service.in 2006-12-21 14:00:26 UTC (rev 8851) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/hildon-background-manager.service.in 2006-12-21 14:05:15 UTC (rev 8852) @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=@HILDON_BACKGROUND_MANAGER_SERVICE@ +Exec=@prefix@/bin/hildon-background-manager Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/main.c =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/main.c 2006-12-21 14:00:26 UTC (rev 8851) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/background-manager/main.c 2006-12-21 14:05:15 UTC (rev 8852) @@ -23,12 +23,12 @@ */ #include "background-manager.h" +#include "background-manager-dbus.h" #include <dbus/dbus-glib.h> #include <gtk/gtkmain.h> +#include <libgnomevfs/gnome-vfs.h> -#define BACKGROUND_MANAGER_SERVICE_NAME "org.maemo.hildon" - int main (int argc, char **argv) { @@ -37,8 +37,15 @@ DBusGProxy *driver_proxy; GError *error = NULL; gint request_ret; + FILE *file; + + file = fopen ("/tmp/background-manager.log", "a"); + + fprintf (file, "Started background-manager\n"); + fflush (file); gtk_init (&argc, &argv); + gnome_vfs_init (); connection = dbus_g_bus_get (DBUS_BUS_STARTER, &error); if (error) @@ -57,7 +64,7 @@ DBUS_INTERFACE_DBUS); if(!org_freedesktop_DBus_request_name (driver_proxy, - BACKGROUND_MANAGER_SERVICE_NAME, + HILDON_BACKGROUND_MANAGER_SERVICE, 0, &request_ret, &error)) @@ -68,5 +75,8 @@ } gtk_main (); + + fprintf (file, "Ended background-manager\n"); + fclose (file); return 0; } Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/configure.ac =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/configure.ac 2006-12-21 14:00:26 UTC (rev 8851) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/configure.ac 2006-12-21 14:05:15 UTC (rev 8852) @@ -145,11 +145,21 @@ hildoncpdesktopentrydir=${datadir}/applications/hildon-control-panel AC_SUBST(hildoncpdesktopentrydir) +HILDON_BACKGROUND_MANAGER_SERVICE="org.maemo.hildon.background_manager" +AC_SUBST(HILDON_BACKGROUND_MANAGER_SERVICE) +HILDON_BACKGROUND_MANAGER_OBJECT_PATH="/org/maemo/hildon/background_manager" +AC_SUBST(HILDON_BACKGROUND_MANAGER_OBJECT_PATH) +HILDON_BACKGROUND_MANAGER_INTERFACE="org.maemo.hildon.background_manager" +AC_SUBST(HILDON_BACKGROUND_MANAGER_INTERFACE) + AC_OUTPUT(Makefile \ libhildonwm/Makefile \ libhildonwm/libhildonwm.pc \ libhildondesktop/Makefile \ libhildondesktop/libhildondesktop.pc \ background-manager/Makefile \ + background-manager/hildon-background-manager.service \ + background-manager/background-manager.xml \ + background-manager/background-manager-dbus.h \ data/Makefile \ src/Makefile) Added: projects/haf/branches/maemo-af-desktop/hildon-desktop/test/test6.c =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/test/test6.c 2006-12-21 14:00:26 UTC (rev 8851) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/test/test6.c 2006-12-21 14:05:15 UTC (rev 8852) @@ -0,0 +1,84 @@ +#include <gtk/gtkwindow.h> +#include <gtk/gtkmain.h> +#include <gdk/gdkwindow.h> +#include <gdk/gdkx.h> + +#include <libhildondesktop/hildon-background-manager.h> + +#define FILENAME "file:///usr/share/themes/default/images/qgn_plat_home_background.jpg" + + +static void +set_background_callback (DBusGProxy *proxy, + GError *error, + gpointer user_data) +{ + g_debug ("set_background_callback"); + + if (error) + g_warning ("Setting the background failed: %s", error->message); + +} + +static gboolean +button_release (GtkWidget *widget, + GdkEventButton *event, + DBusGProxy *proxy) +{ + GError *error = NULL; + + g_debug ("button_release"); + + org_maemo_hildon_background_manager_set_background_async (proxy, + GDK_WINDOW_XID (widget->window), + FILENAME, + NULL, + NULL, + 0, + 0, + 0, + 0, + set_background_callback, + widget); + + if (error) + { + g_warning ("Could not set the background: %s", error->message); + g_error_free (error); + } + + return TRUE; +} + +int +main (int argc, char **argv) +{ + GtkWidget *window; + DBusGProxy *proxy; + DBusGConnection *connection; + GError *error = NULL; + + gtk_init (&argc, &argv); + + connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error); + + if (error) + g_error ("Could not get DBus connection: %s", error->message); + + + proxy = dbus_g_proxy_new_for_name (connection, + HILDON_BACKGROUND_MANAGER_SERVICE, + HILDON_BACKGROUND_MANAGER_OBJECT_PATH, + HILDON_BACKGROUND_MANAGER_INTERFACE); + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + + gtk_widget_set_app_paintable (window, TRUE); + g_signal_connect (window, "key-release-event", + G_CALLBACK (button_release), + proxy); + + gtk_widget_show_all (window); + gtk_main (); + return 0; +}
- Previous message: [maemo-commits] r8850 - projects/haf/trunk/osso-gnomevfs-extra
- Next message: [maemo-commits] r8853 - in projects/haf/trunk/libossomime: . data libossomime
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]