[maemo-commits] [maemo-commits] r9204 - in projects/haf/trunk/maemo-af-desktop: . hildon-status-bar
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Mon Jan 22 10:03:06 EET 2007
- Previous message: [maemo-commits] r9202 - in projects/haf/branches/maemo-af-desktop/hildon-desktop: . src
- Next message: [maemo-commits] r9205 - projects/haf/trunk/matchbox-window-manager/snapshot
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: jobi Date: 2007-01-22 10:03:05 +0200 (Mon, 22 Jan 2007) New Revision: 9204 Modified: projects/haf/trunk/maemo-af-desktop/ChangeLog projects/haf/trunk/maemo-af-desktop/hildon-status-bar/hildon-status-bar-main.c projects/haf/trunk/maemo-af-desktop/hildon-status-bar/hildon-status-bar-main.h Log: 2007-01-22 Johan Bilien <johan.bilien at nokia.com> * hildon-status-bar/hildon-status-bar-main.c: Added optional parent window id parameter to the show delayed info banner RPC call Modified: projects/haf/trunk/maemo-af-desktop/ChangeLog =================================================================== --- projects/haf/trunk/maemo-af-desktop/ChangeLog 2007-01-19 15:44:52 UTC (rev 9203) +++ projects/haf/trunk/maemo-af-desktop/ChangeLog 2007-01-22 08:03:05 UTC (rev 9204) @@ -1,3 +1,9 @@ +2007-01-22 Johan Bilien <johan.bilien at nokia.com> + + * hildon-status-bar/hildon-status-bar-main.c: Added + optional parent window id parameter to the show delayed + info banner RPC call + 2007-01-19 Moises Martinez <moises.martinez at nokia.com> * hildon-navigator/hildon-navigator-panel.c: Modified: projects/haf/trunk/maemo-af-desktop/hildon-status-bar/hildon-status-bar-main.c =================================================================== --- projects/haf/trunk/maemo-af-desktop/hildon-status-bar/hildon-status-bar-main.c 2007-01-19 15:44:52 UTC (rev 9203) +++ projects/haf/trunk/maemo-af-desktop/hildon-status-bar/hildon-status-bar-main.c 2007-01-22 08:03:05 UTC (rev 9204) @@ -75,7 +75,8 @@ static gint _delayed_infobanner_add(gint32 pid, gint32 begin, gint32 timeout, - const gchar *text); + const gchar *text, + gint32 parent_window_id); gboolean _delayed_infobanner_remove(gpointer data); gboolean _delayed_ib_show(gpointer data); void _remove_sb_d_ib_item (gpointer key, gpointer value, gpointer user_data); @@ -1071,13 +1072,15 @@ /* Check the method delayed infobanner */ else if( g_str_equal( "delayed_infobanner", method ) ) { + gint parent_window_id = 0; + if( arguments->len < 4 || arguments->len > 5 || val[0]->type != DBUS_TYPE_INT32 || val[1]->type != DBUS_TYPE_INT32 || val[2]->type != DBUS_TYPE_INT32 || - val[3]->type != DBUS_TYPE_STRING ) - /* (arguments->len == 5 && val[5]->type != DBUS_TYPE_NIL) )*/ + val[3]->type != DBUS_TYPE_STRING || + (arguments->len == 5 && val[5]->type != DBUS_TYPE_INT32) ) { if( arguments->len < 4 ) { retval->value.s = "Not enough arguments."; @@ -1094,11 +1097,16 @@ return OSSO_ERROR; } + + if (arguments->len == 5) + parent_window_id = val[4]->value.i; + - return _delayed_infobanner_add(val[0]->value.i, + return _delayed_infobanner_add(val[0]->value.i, val[1]->value.i, val[2]->value.i, - val[3]->value.s + val[3]->value.s, + parent_window_id ); } /* Check the method cancel delayed infobanner */ @@ -1489,7 +1497,8 @@ gint _delayed_infobanner_add(gint32 pid, gint32 begin, gint32 timeout, - const gchar *text) + const gchar *text, + gint32 parent_window_id) { SBDelayedInfobanner *data; @@ -1508,6 +1517,7 @@ data->timeout_to_show_id = g_timeout_add( (guint) begin, _delayed_ib_show, GINT_TO_POINTER(pid)); + data->parent_window_id = parent_window_id; g_hash_table_insert(delayed_banners, GINT_TO_POINTER(pid), data); @@ -1546,6 +1556,14 @@ info->timeout_to_show_id = 0; info->banner = hildon_banner_show_animation( NULL, NULL, info->text ); + if (info->parent_window_id) { + GdkWindow *parent_window = gdk_window_foreign_new (info->parent_window_id); + if (parent_window) { + gdk_window_set_transient_for (info->banner->window, parent_window); + gdk_window_destroy (parent_window); + } + } + info->timeout_onscreen_id = g_timeout_add( (guint)info->displaytime, _delayed_infobanner_remove, Modified: projects/haf/trunk/maemo-af-desktop/hildon-status-bar/hildon-status-bar-main.h =================================================================== --- projects/haf/trunk/maemo-af-desktop/hildon-status-bar/hildon-status-bar-main.h 2007-01-19 15:44:52 UTC (rev 9203) +++ projects/haf/trunk/maemo-af-desktop/hildon-status-bar/hildon-status-bar-main.h 2007-01-22 08:03:05 UTC (rev 9204) @@ -129,6 +129,7 @@ gchar *text; guint timeout_to_show_id; guint timeout_onscreen_id; + gint32 parent_window_id; GtkWidget *banner; };
- Previous message: [maemo-commits] r9202 - in projects/haf/branches/maemo-af-desktop/hildon-desktop: . src
- Next message: [maemo-commits] r9205 - projects/haf/trunk/matchbox-window-manager/snapshot
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]