diff -Nru brasero-2.32.1/debian/changelog brasero-2.32.1/debian/changelog --- brasero-2.32.1/debian/changelog 2011-02-14 20:29:01.000000000 +0000 +++ brasero-2.32.1/debian/changelog 2011-05-06 16:25:24.000000000 +0000 @@ -1,3 +1,16 @@ +brasero (2.32.1-0ubuntu2.1~stracciatellappa+natty2) natty; urgency=low + + * Disabled libburnia support + + -- Gianvito Cavasoli Fri, 06 May 2011 18:24:46 +0200 + +brasero (2.32.1-0ubuntu2.1~stracciatellappa+natty1) natty; urgency=low + + * Rebuild for GNOME Stracciatella PPA + - removed support to appindicator + + -- Gianvito Cavasoli Sat, 09 Apr 2011 19:19:09 +0200 + brasero (2.32.1-0ubuntu2) natty; urgency=low * debian/patches/41_fix_packagekit.patch: Don't crash when trying to use diff -Nru brasero-2.32.1/debian/control brasero-2.32.1/debian/control --- brasero-2.32.1/debian/control 2011-02-14 20:30:37.000000000 +0000 +++ brasero-2.32.1/debian/control 2011-05-06 16:28:48.000000000 +0000 @@ -29,13 +29,9 @@ pkg-config, libsm-dev, libnautilus-extension-dev (>= 2.22.2), - libburn-dev (>= 0.4.0), - libisofs-dev (>= 0.6.4), libtotem-plparser-dev (>= 2.29.1), libnotify-dev (>= 0.3.0), - intltool (>= 0.35.0), - libappindicator-dev (>= 0.0.7), - liblaunchpad-integration-dev + intltool (>= 0.35.0) Uploaders: Debian GNOME Maintainers Standards-Version: 3.9.0 Homepage: http://www.gnome.org/projects/brasero/ diff -Nru brasero-2.32.1/debian/control.in brasero-2.32.1/debian/control.in --- brasero-2.32.1/debian/control.in 2010-11-16 04:39:28.000000000 +0000 +++ brasero-2.32.1/debian/control.in 2011-05-06 16:24:32.000000000 +0000 @@ -24,13 +24,9 @@ pkg-config, libsm-dev, libnautilus-extension-dev (>= 2.22.2), - libburn-dev (>= 0.4.0), - libisofs-dev (>= 0.6.4), libtotem-plparser-dev (>= 2.29.1), libnotify-dev (>= 0.3.0), - intltool (>= 0.35.0), - libappindicator-dev (>= 0.0.7), - liblaunchpad-integration-dev + intltool (>= 0.35.0) Uploaders: @GNOME_TEAM@ Standards-Version: 3.9.0 Homepage: http://www.gnome.org/projects/brasero/ diff -Nru brasero-2.32.1/debian/patches/010_lpi.patch brasero-2.32.1/debian/patches/010_lpi.patch --- brasero-2.32.1/debian/patches/010_lpi.patch 2010-11-16 04:39:28.000000000 +0000 +++ brasero-2.32.1/debian/patches/010_lpi.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ -# UbuntuSpec: Launchpad-integration -# Pedro Fragoso -Index: brasero-2.32.1/configure.in -=================================================================== ---- brasero-2.32.1.orig/configure.in 2010-11-16 03:03:09.000000000 +1100 -+++ brasero-2.32.1/configure.in 2010-11-16 15:31:25.433992297 +1100 -@@ -243,7 +243,7 @@ - ;; - esac - --PKG_CHECK_MODULES([BRASERO_GTK],[gtk+-$GTK_API_VERSION >= $GTK_REQUIRED]) -+PKG_CHECK_MODULES([BRASERO_GTK],[gtk+-$GTK_API_VERSION >= $GTK_REQUIRED launchpad-integration]) - - AC_SUBST(GTK_API_VERSION) - AC_SUBST(BRASERO_LIBRARY_SUFFIX) -Index: brasero-2.32.1/src/brasero-app.c -=================================================================== ---- brasero-2.32.1.orig/src/brasero-app.c 2010-11-09 07:04:39.000000000 +1100 -+++ brasero-2.32.1/src/brasero-app.c 2010-11-16 15:30:40.789990003 +1100 -@@ -33,6 +33,8 @@ - #include "brasero-misc.h" - #include "brasero-io.h" - -+#include -+ - #include "brasero-app.h" - #include "brasero-setting.h" - #include "brasero-blank-dialog.h" -@@ -175,6 +177,7 @@ - "" - "" - "" -+ "" - "" - "" - "" -@@ -1931,6 +1934,8 @@ - menubar = gtk_ui_manager_get_widget (priv->manager, "/menubar"); - gtk_box_pack_start (GTK_BOX (priv->contents), menubar, FALSE, FALSE, 0); - -+ launchpad_integration_add_ui (priv->manager, "/menubar/HelpMenu/LaunchpadItems"); -+ - /* window contents */ - priv->projects = brasero_project_manager_new (); - gtk_widget_show (priv->projects); diff -Nru brasero-2.32.1/debian/patches/012_appindicator.patch brasero-2.32.1/debian/patches/012_appindicator.patch --- brasero-2.32.1/debian/patches/012_appindicator.patch 2010-11-16 04:39:28.000000000 +0000 +++ brasero-2.32.1/debian/patches/012_appindicator.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,762 +0,0 @@ -Description: Add appindicator support. -Author: Travis B. Hartwell -Bug: https://bugzilla.gnome.org/show_bug.cgi?id=606420 -Bug-Ubuntu: https://launchpad.net/bugs/497853 - -Index: brasero-2.31.90/configure.in -=================================================================== ---- brasero-2.31.90.orig/configure.in 2010-08-27 12:26:31.000000000 +1000 -+++ brasero-2.31.90/configure.in 2010-08-27 12:28:39.614659002 +1000 -@@ -402,6 +402,23 @@ - fi - AM_CONDITIONAL(BUILD_GROWISOFS, test x"$build_growisofs" = "xyes") - -+dnl ****************check for appindicators (optional) ************** -+APPINDICATOR_REQUIRED=0.0.7 -+ -+AC_ARG_ENABLE(appindicator, -+ AS_HELP_STRING([--enable-appindicator],[Build support for application indicators [[default=yes]]]), -+ [enable_appindicator=$enableval], -+ [enable_appindicator="yes"]) -+ -+if test x$enable_appindicator = xyes ; then -+ PKG_CHECK_MODULES(APP_INDICATOR, -+ appindicator-0.1 >= $APPINDICATOR_REQUIRED) -+ AC_SUBST(APP_INDICATOR_CFLAGS) -+ AC_SUBST(APP_INDICATOR_LIBS) -+ AC_DEFINE(HAVE_APP_INDICATOR, 1, [Have AppIndicator]) -+fi -+AM_CONDITIONAL(HAVE_APP_INDICATOR, test x"$enable_appindicator" = xyes) -+ - BEAGLE_REQUIRED=0.3.0 - TRACKER_REQUIRED=0.8.0 - -@@ -687,6 +704,7 @@ - Build growisofs plugins : ${build_growisofs} - Build libburnia plugins : ${build_libburnia} - Build GObject-Introspection : ${found_introspection} -+ Build Application Indicators : ${enable_appindicator} - " - echo - echo -Index: brasero-2.31.90/libbrasero-burn/Makefile.am -=================================================================== ---- brasero-2.31.90.orig/libbrasero-burn/Makefile.am 2010-07-12 01:11:21.000000000 +1000 -+++ brasero-2.31.90/libbrasero-burn/Makefile.am 2010-08-27 12:27:21.894659000 +1000 -@@ -198,6 +198,12 @@ - libbrasero_burn@BRASERO_LIBRARY_SUFFIX@_la_SOURCES += brasero-file-monitor.c brasero-file-monitor.h - endif - -+if HAVE_APP_INDICATOR -+libbrasero_burn@BRASERO_LIBRARY_SUFFIX@_la_SOURCES += brasero-app-indicator.h brasero-app-indicator.c -+libbrasero_burn@BRASERO_LIBRARY_SUFFIX@_la_LIBADD += @APP_INDICATOR_LIBS@ -+INCLUDES += -DHAVE_APP_INDICATOR @APP_INDICATOR_CFLAGS@ -+endif -+ - EXTRA_DIST = \ - libbrasero-marshal.list - # libbrasero-burn.symbols -Index: brasero-2.31.90/libbrasero-burn/brasero-app-indicator.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ brasero-2.31.90/libbrasero-burn/brasero-app-indicator.c 2010-08-27 12:27:21.894659000 +1000 -@@ -0,0 +1,364 @@ -+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ -+/* -+ * Libbrasero-burn -+ * Copyright (C) Canonical 2010 -+ * -+ * Libbrasero-burn is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * The Libbrasero-burn authors hereby grant permission for non-GPL compatible -+ * GStreamer plugins to be used and distributed together with GStreamer -+ * and Libbrasero-burn. This permission is above and beyond the permissions granted -+ * by the GPL license by which Libbrasero-burn is covered. If you modify this code -+ * you may extend this exception to your version of the code, but you are not -+ * obligated to do so. If you do not wish to do so, delete this exception -+ * statement from your version. -+ * -+ * Libbrasero-burn 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 Library General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to: -+ * The Free Software Foundation, Inc., -+ * 51 Franklin Street, Fifth Floor -+ * Boston, MA 02110-1301, USA. -+ */ -+ -+#ifdef HAVE_CONFIG_H -+# include -+#endif -+ -+#include -+#include -+ -+#include -+ -+#include -+ -+#include "burn-basics.h" -+#include "brasero-app-indicator.h" -+ -+static void brasero_app_indicator_class_init (BraseroAppIndicatorClass *klass); -+static void brasero_app_indicator_init (BraseroAppIndicator *sp); -+static void brasero_app_indicator_finalize (GObject *object); -+ -+static void -+brasero_app_indicator_cancel_cb (GtkAction *action, BraseroAppIndicator *indicator); -+ -+static void -+brasero_app_indicator_show_cb (GtkAction *action, BraseroAppIndicator *indicator); -+ -+struct BraseroAppIndicatorPrivate { -+ AppIndicator *indicator; -+ BraseroBurnAction action; -+ gchar *action_string; -+ -+ GtkUIManager *manager; -+ -+ int rounded_percent; -+ int percent; -+}; -+ -+typedef enum { -+ CANCEL_SIGNAL, -+ CLOSE_AFTER_SIGNAL, -+ SHOW_DIALOG_SIGNAL, -+ LAST_SIGNAL -+} BraseroAppIndicatorSignalType; -+ -+static guint brasero_app_indicator_signals[LAST_SIGNAL] = { 0 }; -+static GObjectClass *parent_class = NULL; -+ -+static GtkActionEntry entries[] = { -+ {"ContextualMenu", NULL, N_("Menu")}, -+ {"Progress", NULL, "Progress"}, -+ {"Cancel", GTK_STOCK_CANCEL, NULL, NULL, N_("Cancel ongoing burning"), -+ G_CALLBACK (brasero_app_indicator_cancel_cb)}, -+}; -+ -+static GtkToggleActionEntry toggle_entries[] = { -+ {"Show", NULL, N_("Show _Dialog"), NULL, N_("Show dialog"), -+ G_CALLBACK (brasero_app_indicator_show_cb), TRUE,}, -+}; -+ -+static const char *description = { -+ "" -+ "" -+ "" -+ "" -+ "" -+ "" -+ "" -+ "" -+ "" -+}; -+ -+G_DEFINE_TYPE (BraseroAppIndicator, brasero_app_indicator, G_TYPE_OBJECT); -+ -+static void -+brasero_app_indicator_class_init (BraseroAppIndicatorClass *klass) -+{ -+ GObjectClass *object_class = G_OBJECT_CLASS(klass); -+ -+ parent_class = g_type_class_peek_parent(klass); -+ object_class->finalize = brasero_app_indicator_finalize; -+ -+ brasero_app_indicator_signals[SHOW_DIALOG_SIGNAL] = -+ g_signal_new ("show_dialog", -+ G_OBJECT_CLASS_TYPE (object_class), -+ G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, -+ G_STRUCT_OFFSET (BraseroAppIndicatorClass, -+ show_dialog), NULL, NULL, -+ g_cclosure_marshal_VOID__BOOLEAN, -+ G_TYPE_NONE, -+ 1, -+ G_TYPE_BOOLEAN); -+ brasero_app_indicator_signals[CANCEL_SIGNAL] = -+ g_signal_new ("cancel", -+ G_OBJECT_CLASS_TYPE (object_class), -+ G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, -+ G_STRUCT_OFFSET (BraseroAppIndicatorClass, -+ cancel), NULL, NULL, -+ g_cclosure_marshal_VOID__VOID, -+ G_TYPE_NONE, -+ 0); -+ brasero_app_indicator_signals[CLOSE_AFTER_SIGNAL] = -+ g_signal_new ("close_after", -+ G_OBJECT_CLASS_TYPE (object_class), -+ G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, -+ G_STRUCT_OFFSET (BraseroAppIndicatorClass, -+ close_after), NULL, NULL, -+ g_cclosure_marshal_VOID__BOOLEAN, -+ G_TYPE_NONE, -+ 1, -+ G_TYPE_BOOLEAN); -+} -+ -+static GtkWidget * -+brasero_app_indicator_build_menu (BraseroAppIndicator *indicator) -+{ -+ GtkActionGroup *action_group; -+ GtkWidget *menu = NULL, -+ *menu_item = NULL; -+ GError *error = NULL; -+ -+ action_group = gtk_action_group_new ("MenuAction"); -+ gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); -+ gtk_action_group_add_actions (action_group, -+ entries, -+ G_N_ELEMENTS (entries), -+ indicator); -+ gtk_action_group_add_toggle_actions (action_group, -+ toggle_entries, -+ G_N_ELEMENTS (toggle_entries), -+ indicator); -+ -+ indicator->priv->manager = gtk_ui_manager_new (); -+ gtk_ui_manager_insert_action_group (indicator->priv->manager, -+ action_group, -+ 0); -+ -+ if (!gtk_ui_manager_add_ui_from_string (indicator->priv->manager, -+ description, -+ -1, -+ &error)) { -+ g_message ("building menus failed: %s", error->message); -+ g_error_free (error); -+ } else { -+ menu = gtk_ui_manager_get_widget (indicator->priv->manager, "/ContextMenu"); -+ menu_item = gtk_ui_manager_get_widget (indicator->priv->manager, "/ContextMenu/Progress"); -+ gtk_widget_set_sensitive (menu_item, FALSE); -+ -+ menu_item = gtk_ui_manager_get_widget (indicator->priv->manager, "/ContextMenu/Cancel"); -+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_item), GTK_WIDGET (gtk_image_new ())); -+ } -+ -+ return menu; -+} -+ -+void -+brasero_app_indicator_hide (BraseroAppIndicator *indicator) -+{ -+ app_indicator_set_status (indicator->priv->indicator, APP_INDICATOR_STATUS_PASSIVE); -+} -+ -+static void -+brasero_app_indicator_init (BraseroAppIndicator *obj) -+{ -+ GtkWidget *indicator_menu; -+ -+ obj->priv = g_new0 (BraseroAppIndicatorPrivate, 1); -+ indicator_menu = brasero_app_indicator_build_menu (obj); -+ -+ if (indicator_menu != NULL) { -+ obj->priv->indicator = app_indicator_new_with_path ("brasero", -+ "brasero-disc-00", -+ APP_INDICATOR_CATEGORY_APPLICATION_STATUS, -+ BRASERO_DATADIR "/icons"); -+ -+ app_indicator_set_status (obj->priv->indicator, -+ APP_INDICATOR_STATUS_ACTIVE); -+ -+ app_indicator_set_menu (obj->priv->indicator, GTK_MENU (indicator_menu)); -+ } -+} -+ -+static void -+brasero_app_indicator_finalize (GObject *object) -+{ -+ BraseroAppIndicator *cobj; -+ -+ cobj = BRASERO_APPINDICATOR (object); -+ -+ if (cobj->priv->action_string) { -+ g_free (cobj->priv->action_string); -+ cobj->priv->action_string = NULL; -+ } -+ -+ g_object_unref (cobj->priv->indicator); -+ g_free (cobj->priv); -+ G_OBJECT_CLASS (parent_class)->finalize (object); -+} -+ -+BraseroAppIndicator * -+brasero_app_indicator_new () -+{ -+ BraseroAppIndicator *obj; -+ -+ obj = BRASERO_APPINDICATOR (g_object_new (BRASERO_TYPE_APPINDICATOR, NULL)); -+ -+ return obj; -+} -+ -+static void -+brasero_app_indicator_set_progress_menu_text (BraseroAppIndicator *indicator, -+ glong remaining) -+{ -+ gchar *text; -+ GtkWidget *progress; -+ const gchar *action_string; -+ -+ if (!indicator->priv->action_string) -+ action_string = brasero_burn_action_to_string (indicator->priv->action); -+ else -+ action_string = indicator->priv->action_string; -+ -+ if (remaining > 0) { -+ gchar *remaining_string; -+ -+ remaining_string = brasero_units_get_time_string ((double) remaining * 1000000000, TRUE, FALSE); -+ text = g_strdup_printf (_("%s, %d%% done, %s remaining"), -+ action_string, -+ indicator->priv->percent, -+ remaining_string); -+ g_free (remaining_string); -+ } -+ else if (indicator->priv->percent > 0) -+ text = g_strdup_printf (_("%s, %d%% done"), -+ action_string, -+ indicator->priv->percent); -+ else -+ text = g_strdup (action_string); -+ -+ /* Set the text on the menu */ -+ progress = gtk_ui_manager_get_widget (indicator->priv->manager, -+ "/ContextMenu/Progress"); -+ gtk_menu_item_set_label (GTK_MENU_ITEM (progress), text); -+ g_free (text); -+} -+ -+void -+brasero_app_indicator_set_action (BraseroAppIndicator *indicator, -+ BraseroBurnAction action, -+ const gchar *string) -+{ -+ indicator->priv->action = action; -+ if (indicator->priv->action_string) -+ g_free (indicator->priv->action_string); -+ -+ if (string) -+ indicator->priv->action_string = g_strdup (string); -+ else -+ indicator->priv->action_string = NULL; -+ -+ brasero_app_indicator_set_progress_menu_text (indicator, -1); -+} -+ -+void -+brasero_app_indicator_set_progress (BraseroAppIndicator *indicator, -+ gdouble fraction, -+ glong remaining) -+{ -+ gint percent; -+ gint remains; -+ gchar *icon_name; -+ -+ percent = fraction * 100; -+ indicator->priv->percent = percent; -+ -+ /* set the tooltip */ -+ brasero_app_indicator_set_progress_menu_text (indicator, remaining); -+ -+ /* change image if need be */ -+ remains = percent % 5; -+ if (remains > 3) -+ percent += 5 - remains; -+ else -+ percent -= remains; -+ -+ if (indicator->priv->rounded_percent == percent -+ || percent < 0 || percent > 100) -+ return; -+ -+ indicator->priv->rounded_percent = percent; -+ -+ icon_name = g_strdup_printf ("brasero-disc-%02i", percent); -+ app_indicator_set_icon(indicator->priv->indicator, -+ icon_name); -+ g_free (icon_name); -+} -+ -+static void -+brasero_app_indicator_change_show_dialog_state (BraseroAppIndicator *indicator) -+{ -+ GtkAction *action; -+ gboolean active; -+ -+ /* update menu */ -+ action = gtk_ui_manager_get_action (indicator->priv->manager, "/ContextMenu/Show"); -+ active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)); -+ -+ /* signal show dialog was requested the dialog again */ -+ g_signal_emit (indicator, -+ brasero_app_indicator_signals [SHOW_DIALOG_SIGNAL], -+ 0, -+ active); -+} -+ -+static void -+brasero_app_indicator_cancel_cb (GtkAction *action, BraseroAppIndicator *indicator) -+{ -+ g_signal_emit (indicator, -+ brasero_app_indicator_signals [CANCEL_SIGNAL], -+ 0); -+} -+ -+static void -+brasero_app_indicator_show_cb (GtkAction *action, BraseroAppIndicator *indicator) -+{ -+ brasero_app_indicator_change_show_dialog_state (indicator); -+} -+ -+void -+brasero_app_indicator_set_show_dialog (BraseroAppIndicator *indicator, gboolean show) -+{ -+ GtkAction *action; -+ -+ /* update menu */ -+ action = gtk_ui_manager_get_action (indicator->priv->manager, "/ContextMenu/Show"); -+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), show); -+} -Index: brasero-2.31.90/libbrasero-burn/brasero-app-indicator.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ brasero-2.31.90/libbrasero-burn/brasero-app-indicator.h 2010-08-27 12:27:21.894659000 +1000 -@@ -0,0 +1,88 @@ -+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ -+/* -+ * Libbrasero-burn -+ * Copyright (C) Canonical 2010 -+ * -+ * Libbrasero-burn is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * The Libbrasero-burn authors hereby grant permission for non-GPL compatible -+ * GStreamer plugins to be used and distributed together with GStreamer -+ * and Libbrasero-burn. This permission is above and beyond the permissions granted -+ * by the GPL license by which Libbrasero-burn is covered. If you modify this code -+ * you may extend this exception to your version of the code, but you are not -+ * obligated to do so. If you do not wish to do so, delete this exception -+ * statement from your version. -+ * -+ * Libbrasero-burn 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 Library General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to: -+ * The Free Software Foundation, Inc., -+ * 51 Franklin Street, Fifth Floor -+ * Boston, MA 02110-1301, USA. -+ */ -+ -+#ifndef APP_INDICATOR_H -+#define APP_INDICATOR_H -+ -+#include -+#include -+ -+#include -+ -+#include "burn-basics.h" -+ -+G_BEGIN_DECLS -+ -+#define BRASERO_TYPE_APPINDICATOR (brasero_app_indicator_get_type ()) -+#define BRASERO_APPINDICATOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BRASERO_TYPE_APPINDICATOR, BraseroAppIndicator)) -+#define BRASERO_APPINDICATOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), BRASERO_TYPE_APPINDICATOR, BraseroAppIndicatorClass)) -+#define BRASERO_IS_APPINDICATOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BRASERO_TYPE_APPINDICATOR)) -+#define BRASERO_IS_APPINDICATOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BRASERO_TYPE_APPINDICATOR)) -+#define BRASERO_APPINDICATOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), BRASERO_TYPE_APPINDICATOR, BraseroAppIndicatorClass)) -+ -+typedef struct BraseroAppIndicatorPrivate BraseroAppIndicatorPrivate; -+ -+typedef struct { -+ GObject parent; -+ BraseroAppIndicatorPrivate *priv; -+} BraseroAppIndicator; -+ -+typedef struct { -+ GObjectClass parent_class; -+ -+ void (*show_dialog) (BraseroAppIndicator *indicator, gboolean show); -+ void (*close_after) (BraseroAppIndicator *indicator, gboolean close); -+ void (*cancel) (BraseroAppIndicator *indicator); -+ -+} BraseroAppIndicatorClass; -+ -+GType brasero_app_indicator_get_type (void); -+BraseroAppIndicator *brasero_app_indicator_new (void); -+ -+void -+brasero_app_indicator_set_progress (BraseroAppIndicator *indicator, -+ gdouble fraction, -+ long remaining); -+ -+void -+brasero_app_indicator_set_action (BraseroAppIndicator *indicator, -+ BraseroBurnAction action, -+ const gchar *string); -+ -+void -+brasero_app_indicator_set_show_dialog (BraseroAppIndicator *indicator, -+ gboolean show); -+ -+void -+brasero_app_indicator_hide (BraseroAppIndicator *indicator); -+ -+G_END_DECLS -+ -+#endif /* APP_INDICATOR_H */ -Index: brasero-2.31.90/libbrasero-burn/brasero-burn-dialog.c -=================================================================== ---- brasero-2.31.90.orig/libbrasero-burn/brasero-burn-dialog.c 2010-08-02 04:57:51.000000000 +1000 -+++ brasero-2.31.90/libbrasero-burn/brasero-burn-dialog.c 2010-08-27 12:27:21.894659000 +1000 -@@ -2,6 +2,7 @@ - /* - * Libbrasero-burn - * Copyright (C) Philippe Rouquier 2005-2009 -+ * Copyright (C) Canonical 2010 - * - * Libbrasero-burn is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by -@@ -49,7 +50,11 @@ - - #include "brasero-burn-dialog.h" - -+#ifdef HAVE_APP_INDICATOR -+#include "brasero-app-indicator.h" -+#else - #include "brasero-tray.h" -+#endif /* HAVE_APP_INDICATOR */ - #include "brasero-session-cfg.h" - #include "brasero-session-helper.h" - -@@ -75,6 +80,16 @@ - brasero_burn_dialog_cancel_clicked_cb (GtkWidget *button, - BraseroBurnDialog *dialog); - -+#ifdef HAVE_APP_INDICATOR -+static void -+brasero_burn_dialog_indicator_cancel_cb (BraseroAppIndicator *indicator, -+ BraseroBurnDialog *dialog); -+ -+static void -+brasero_burn_dialog_indicator_show_dialog_cb (BraseroAppIndicator *indicator, -+ gboolean show, -+ GtkWidget *dialog); -+#else - static void - brasero_burn_dialog_tray_cancel_cb (BraseroTrayIcon *tray, - BraseroBurnDialog *dialog); -@@ -83,6 +98,7 @@ - brasero_burn_dialog_tray_show_dialog_cb (BraseroTrayIcon *tray, - gboolean show, - GtkWidget *dialog); -+#endif /* HAVE_APP_INDICATOR */ - - typedef struct BraseroBurnDialogPrivate BraseroBurnDialogPrivate; - struct BraseroBurnDialogPrivate { -@@ -97,7 +113,12 @@ - GtkWidget *header; - GtkWidget *cancel; - GtkWidget *image; -+ -+#ifdef HAVE_APP_INDICATOR -+ BraseroAppIndicator *indicator; -+#else - BraseroTrayIcon *tray; -+#endif /* HAVE_APP_INDICATOR */ - - /* for our final statistics */ - GTimer *total_time; -@@ -1220,9 +1241,15 @@ - mb_written, - rate); - -+#ifdef HAVE_APP_INDICATOR -+ brasero_app_indicator_set_progress (BRASERO_APPINDICATOR (priv->indicator), -+ task_progress, -+ remaining); -+#else - brasero_tray_icon_set_progress (BRASERO_TRAYICON (priv->tray), - task_progress, - remaining); -+#endif /* HAVE_APP_INDICATOR */ - - if (rate > 0 && priv->is_writing) - priv->rates = g_slist_prepend (priv->rates, GINT_TO_POINTER ((gint) rate)); -@@ -1273,9 +1300,15 @@ - brasero_burn_progress_set_action (BRASERO_BURN_PROGRESS (priv->progress), - action, - string); -+#ifdef HAVE_APP_INDICATOR -+ brasero_app_indicator_set_action (BRASERO_APPINDICATOR (priv->indicator), -+ action, -+ string); -+#else - brasero_tray_icon_set_action (BRASERO_TRAYICON (priv->tray), - action, - string); -+#endif /* HAVE_APP_INDICATOR */ - } - - static void -@@ -1470,6 +1503,11 @@ - -1, - -1, - -1); -+ -+#ifdef HAVE_APP_INDICATOR -+ brasero_app_indicator_hide (priv->indicator); -+#endif /* HAVE_APP_INDICATOR */ -+ - /* Restore title */ - if (priv->initial_title) - gtk_window_set_title (GTK_WINDOW (dialog), priv->initial_title); -@@ -1617,17 +1655,29 @@ - -1, - -1); - -+#ifdef HAVE_APP_INDICATOR -+ brasero_app_indicator_set_progress (BRASERO_APPINDICATOR (priv->indicator), -+ 0.0, -+ -1); -+#else - brasero_tray_icon_set_progress (BRASERO_TRAYICON (priv->tray), - 0.0, - -1); -+#endif /* HAVE_APP_INDICATOR */ - - brasero_burn_progress_set_action (BRASERO_BURN_PROGRESS (priv->progress), - BRASERO_BURN_ACTION_NONE, - NULL); - -+#ifdef HAVE_APP_INDICATOR -+ brasero_app_indicator_set_action (BRASERO_APPINDICATOR (priv->indicator), -+ BRASERO_BURN_ACTION_NONE, -+ NULL); -+#else - brasero_tray_icon_set_action (BRASERO_TRAYICON (priv->tray), - BRASERO_BURN_ACTION_NONE, - NULL); -+#endif /* HAVE_APP_INDICATOR */ - - g_timer_continue (priv->total_time); - -@@ -2504,7 +2554,12 @@ - - priv = BRASERO_BURN_DIALOG_PRIVATE (widget); - -+#ifdef HAVE_APP_INDICATOR -+ brasero_app_indicator_set_show_dialog (BRASERO_APPINDICATOR (priv->indicator), -+ FALSE); -+#else - brasero_tray_icon_set_show_dialog (BRASERO_TRAYICON (priv->tray), FALSE); -+#endif /* HAVE_APP_INDICATOR */ - return TRUE; - } - -@@ -2516,6 +2571,40 @@ - brasero_burn_dialog_cancel (dialog, FALSE); - } - -+#ifdef HAVE_APP_INDICATOR -+static void -+brasero_burn_dialog_indicator_cancel_cb (BraseroAppIndicator *indicator, -+ BraseroBurnDialog *dialog) -+{ -+ brasero_burn_dialog_cancel (dialog, FALSE); -+} -+ -+static void -+brasero_burn_dialog_indicator_show_dialog_cb (BraseroAppIndicator *indicator, -+ gboolean show, -+ GtkWidget *dialog) -+{ -+ BraseroBurnDialogPrivate *priv; -+ -+ priv = BRASERO_BURN_DIALOG_PRIVATE (dialog); -+ -+ /* we prevent to show the burn dialog once the success dialog has been -+ * shown to avoid the following strange behavior: -+ * Steps: -+ * - start burning -+ * - move to another workspace (ie, virtual desktop) -+ * - when the burning finishes, double-click the notification icon -+ * - you'll be unable to dismiss the dialogues normally and their behaviour will -+ * be generally strange */ -+ if (!priv->burn) -+ return; -+ -+ if (show) -+ gtk_widget_show (dialog); -+ else -+ gtk_widget_hide (dialog); -+} -+#else - static void - brasero_burn_dialog_tray_cancel_cb (BraseroTrayIcon *tray, - BraseroBurnDialog *dialog) -@@ -2548,6 +2637,7 @@ - else - gtk_widget_hide (dialog); - } -+#endif /* HAVE_APP_INDICATOR */ - - static void - brasero_burn_dialog_init (BraseroBurnDialog * obj) -@@ -2563,6 +2653,17 @@ - - gtk_window_set_default_size (GTK_WINDOW (obj), 500, 0); - -+#ifdef HAVE_APP_INDICATOR -+ priv->indicator = brasero_app_indicator_new (); -+ g_signal_connect (priv->indicator, -+ "cancel", -+ G_CALLBACK (brasero_burn_dialog_indicator_cancel_cb), -+ obj); -+ g_signal_connect (priv->indicator, -+ "show-dialog", -+ G_CALLBACK (brasero_burn_dialog_indicator_show_dialog_cb), -+ obj); -+#else - priv->tray = brasero_tray_icon_new (); - g_signal_connect (priv->tray, - "cancel", -@@ -2572,6 +2673,7 @@ - "show-dialog", - G_CALLBACK (brasero_burn_dialog_tray_show_dialog_cb), - obj); -+#endif /* HAVE_APP_INDICATOR */ - - alignment = gtk_alignment_new (0.5, 0.5, 1.0, 1.0); - gtk_widget_show (alignment); -@@ -2664,10 +2766,17 @@ - priv->burn = NULL; - } - -+#ifdef HAVE_APP_INDICATOR -+ if (priv->indicator) { -+ g_object_unref (priv->indicator); -+ priv->indicator = NULL; -+ } -+#else - if (priv->tray) { - g_object_unref (priv->tray); - priv->tray = NULL; - } -+#endif /* HAVE_APP_INDICATOR */ - - if (priv->session) { - g_object_unref (priv->session); diff -Nru brasero-2.32.1/debian/patches/series brasero-2.32.1/debian/patches/series --- brasero-2.32.1/debian/patches/series 2011-02-14 04:33:04.000000000 +0000 +++ brasero-2.32.1/debian/patches/series 2011-04-09 18:45:32.000000000 +0000 @@ -1,5 +1,3 @@ -010_lpi.patch -012_appindicator.patch 11_nautilus_menu_no_display.patch 31_link_libice.patch 41_fix_packagekit.patch