brasero r765 - in trunk: . src



Author: philippr
Date: Wed Apr 23 13:38:31 2008
New Revision: 765
URL: http://svn.gnome.org/viewvc/brasero?rev=765&view=rev

Log:
	Fix #513461 â Preview disabled calls a video window
	(backportable)

	* src/brasero-layout.c (brasero_layout_preview_changed_cb),
	(brasero_layout_add_preview), (brasero_layout_load):
	* src/brasero-preview.c
	(brasero_preview_source_selection_changed_cb),
	(brasero_preview_set_enabled):
	* src/brasero-preview.h:

Modified:
   trunk/ChangeLog
   trunk/src/brasero-layout.c
   trunk/src/brasero-preview.c
   trunk/src/brasero-preview.h

Modified: trunk/src/brasero-layout.c
==============================================================================
--- trunk/src/brasero-layout.c	(original)
+++ trunk/src/brasero-layout.c	Wed Apr 23 13:38:31 2008
@@ -156,7 +156,6 @@
 
 
 #define BRASERO_KEY_DISPLAY_DIR		"/apps/brasero/display/"
-#define BRASERO_KEY_SHOW_PREVIEW	BRASERO_KEY_DISPLAY_DIR "preview"
 #define BRASERO_KEY_LAYOUT_AUDIO	BRASERO_KEY_DISPLAY_DIR "audio_pane"
 #define BRASERO_KEY_LAYOUT_DATA		BRASERO_KEY_DISPLAY_DIR "data_pane"
 
@@ -369,10 +368,14 @@
 					      BRASERO_LAYOUT_PREVIEW_ID);
 	gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), active);
 
- 	if (active)
+	if (active) {
+		brasero_preview_set_enabled (BRASERO_PREVIEW (layout->priv->preview_pane), TRUE);
 		gtk_widget_show (layout->priv->preview_pane);
-	else
+	}
+	else {
+		brasero_preview_set_enabled (BRASERO_PREVIEW (layout->priv->preview_pane), FALSE);
 		gtk_widget_hide (layout->priv->preview_pane);
+	}
 }
 
 void
@@ -418,10 +421,14 @@
 	action = gtk_action_group_get_action (layout->priv->action_group, BRASERO_LAYOUT_PREVIEW_ID);
 	gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), active);
 
-	if (active)
+	if (active) {
+		brasero_preview_set_enabled (BRASERO_PREVIEW (layout->priv->preview_pane), TRUE);
 		gtk_widget_show (layout->priv->preview_pane);
-	else
+	}
+	else {
+		brasero_preview_set_enabled (BRASERO_PREVIEW (layout->priv->preview_pane), FALSE);
 		gtk_widget_hide (layout->priv->preview_pane);
+	}
 
 	if (!layout->priv->preview_notify)
 		layout->priv->preview_notify = gconf_client_notify_add (layout->priv->client,
@@ -430,6 +437,7 @@
 									layout,
 									NULL,
 									&error);
+
 	if (error) {
 		g_warning ("Could set notify for GConf key %s.\n", error->message);
 		g_error_free (error);
@@ -828,6 +836,7 @@
 		gtk_widget_hide (layout->priv->active_item->widget);
 		layout->priv->active_item = NULL;
 	}
+
 	layout->priv->ctx_type = type;
 	model = gtk_combo_box_get_model (GTK_COMBO_BOX (layout->priv->combo));
 	model = gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (model));

Modified: trunk/src/brasero-preview.c
==============================================================================
--- trunk/src/brasero-preview.c	(original)
+++ trunk/src/brasero-preview.c	Wed Apr 23 13:38:31 2008
@@ -51,6 +51,8 @@
 	gchar *uri;
 	gint64 start;
 	gint64 end;
+
+	guint is_enabled:1;
 };
 
 #define BRASERO_PREVIEW_PRIVATE(o)  (G_TYPE_INSTANCE_GET_PRIVATE ((o), BRASERO_TYPE_PREVIEW, BraseroPreviewPrivate))
@@ -84,6 +86,10 @@
 
 	priv = BRASERO_PREVIEW_PRIVATE (self);
 
+	/* make sure that we're supposed to activate preview */
+	if (!priv->is_enabled)
+		return;
+
 	/* Should we always hide ? */
 	uri = brasero_uri_container_get_selected_uri (source);
 	if (!uri)
@@ -128,6 +134,16 @@
 	gtk_widget_hide (priv->frame);
 }
 
+void
+brasero_preview_set_enabled (BraseroPreview *self,
+			     gboolean preview)
+{
+	BraseroPreviewPrivate *priv;
+
+	priv = BRASERO_PREVIEW_PRIVATE (self);
+	priv->is_enabled = preview;
+}
+
 static void
 brasero_preview_player_error_cb (BraseroPlayer *player,
 				 BraseroPreview *self)

Modified: trunk/src/brasero-preview.h
==============================================================================
--- trunk/src/brasero-preview.h	(original)
+++ trunk/src/brasero-preview.h	Wed Apr 23 13:38:31 2008
@@ -38,6 +38,8 @@
 
 G_BEGIN_DECLS
 
+#define BRASERO_KEY_SHOW_PREVIEW	"/apps/brasero/display/preview"
+
 #define BRASERO_TYPE_PREVIEW             (brasero_preview_get_type ())
 #define BRASERO_PREVIEW(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), BRASERO_TYPE_PREVIEW, BraseroPreview))
 #define BRASERO_PREVIEW_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), BRASERO_TYPE_PREVIEW, BraseroPreviewClass))
@@ -68,6 +70,10 @@
 void
 brasero_preview_hide (BraseroPreview *preview);
 
+void
+brasero_preview_set_enabled (BraseroPreview *self,
+			     gboolean preview);
+
 G_END_DECLS
 
 #endif				/* PLAYER_H */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]