aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorolivierd <olivierd@FreeBSD.org>2013-01-20 05:53:57 +0800
committerolivierd <olivierd@FreeBSD.org>2013-01-20 05:53:57 +0800
commitc6a6428e3a74d710cc2ed68a05851c3b48a1b963 (patch)
treee381fc47bb29312952248ab6ade89631a0386d38
parent682c6669d70929169763de281beab47c76af87ea (diff)
downloadfreebsd-ports-gnome-c6a6428e3a74d710cc2ed68a05851c3b48a1b963.tar.gz
freebsd-ports-gnome-c6a6428e3a74d710cc2ed68a05851c3b48a1b963.tar.zst
freebsd-ports-gnome-c6a6428e3a74d710cc2ed68a05851c3b48a1b963.zip
Display GtkDialog 'Warning' when codec is missing instead of 'Question' popup
(which is broken in absence of helper in multimedia/gstreamer-plugins). Approved by: rene, miwi (mentors, implicit)
-rw-r--r--multimedia/xfce4-parole/Makefile1
-rw-r--r--multimedia/xfce4-parole/files/patch-src__gst__parole-gst.c63
2 files changed, 56 insertions, 8 deletions
diff --git a/multimedia/xfce4-parole/Makefile b/multimedia/xfce4-parole/Makefile
index b7869bf94dec..ed731100cdd4 100644
--- a/multimedia/xfce4-parole/Makefile
+++ b/multimedia/xfce4-parole/Makefile
@@ -4,6 +4,7 @@
PORTNAME= parole
PORTVERSION= 0.4.0
+PORTREVISION= 1
CATEGORIES= multimedia xfce
MASTER_SITES= XFCE/src/apps/${PORTNAME}/${PORTVERSION:R}/
DIST_SUBDIR= xfce4
diff --git a/multimedia/xfce4-parole/files/patch-src__gst__parole-gst.c b/multimedia/xfce4-parole/files/patch-src__gst__parole-gst.c
index 8e4976717447..ab6127371625 100644
--- a/multimedia/xfce4-parole/files/patch-src__gst__parole-gst.c
+++ b/multimedia/xfce4-parole/files/patch-src__gst__parole-gst.c
@@ -1,5 +1,5 @@
--- ./src/gst/parole-gst.c.orig 2013-01-07 10:15:53.000000000 +0000
-+++ ./src/gst/parole-gst.c 2013-01-08 21:36:35.000000000 +0000
++++ ./src/gst/parole-gst.c 2013-01-15 22:53:07.000000000 +0000
@@ -97,8 +97,12 @@
GstElement *video_sink;
@@ -28,7 +28,54 @@
G_OBJECT_CLASS (parole_gst_parent_class)->finalize (object);
}
-@@ -1876,11 +1884,19 @@
+@@ -1435,22 +1443,36 @@
+ dialog = GTK_MESSAGE_DIALOG(gtk_message_dialog_new_with_markup(
+ NULL,
+ GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
++#if defined(__linux__)
+ GTK_MESSAGE_QUESTION,
++#elif defined(__FreeBSD__)
++ GTK_MESSAGE_WARNING,
++#endif
+ GTK_BUTTONS_NONE,
+ "<b><big>%s</big></b>",
+ _("Additional software is required.")
+ ));
+-
++
++#if defined(__linux__)
+ gtk_dialog_add_buttons( GTK_DIALOG(dialog),
+ _("Don't Install"),
+ GTK_RESPONSE_REJECT,
+ _("Install"),
+ GTK_RESPONSE_ACCEPT,
+ NULL );
++#elif defined(__FreeBSD__)
++ gtk_dialog_add_button( GTK_DIALOG(dialog),
++ GTK_STOCK_OK,
++ GTK_RESPONSE_OK);
++#endif
+
+ gtk_message_dialog_format_secondary_markup(dialog,
++#if defined(__linux__)
+ "Parole needs <b>%s</b> to play this file.\n"
+ "It can be installed automatically.",
++#elif defined(__FreeBSD__)
++ "Parole needs <b>%s</b> to play this file.",
++#endif
+ desc);
+
+ return GTK_DIALOG(dialog);
+@@ -1561,7 +1583,7 @@
+
+ gst_install_plugins_context_free(ctx);
+ }
+- else if ( response == GTK_RESPONSE_REJECT )
++ else if ( (response == GTK_RESPONSE_REJECT) || (response == GTK_RESPONSE_OK) )
+ gtk_widget_destroy(GTK_WIDGET(dialog));
+ }
+ break;
+@@ -1876,11 +1898,19 @@
g_object_get (G_OBJECT (gst->priv->stream),
"has-video", &playing_video,
NULL);
@@ -49,7 +96,7 @@
parole_window_busy_cursor (GTK_WIDGET (gst)->window);
-@@ -2226,7 +2242,11 @@
+@@ -2226,7 +2256,11 @@
gst->priv->target = GST_STATE_VOID_PENDING;
gst->priv->media_state = PAROLE_STATE_STOPPED;
gst->priv->aspect_ratio = PAROLE_ASPECT_RATIO_NONE;
@@ -61,7 +108,7 @@
gst->priv->stream = parole_stream_new ();
gst->priv->tick_id = 0;
gst->priv->hidecursor_timer = g_timer_new ();
-@@ -2330,7 +2350,11 @@
+@@ -2330,7 +2364,11 @@
void parole_gst_play_uri (ParoleGst *gst, const gchar *uri, const gchar *subtitles)
{
@@ -73,7 +120,7 @@
gst->priv->target = GST_STATE_PLAYING;
parole_stream_init_properties (gst->priv->stream);
-@@ -2339,8 +2363,12 @@
+@@ -2339,8 +2377,12 @@
"uri", uri,
"subtitles", subtitles,
NULL);
@@ -87,7 +134,7 @@
if ( gst->priv->state_change_id == 0 )
gst->priv->state_change_id = g_timeout_add_seconds (20,
-@@ -2381,11 +2409,19 @@
+@@ -2381,11 +2423,19 @@
void parole_gst_pause (ParoleGst *gst)
{
@@ -108,7 +155,7 @@
parole_window_busy_cursor (GTK_WIDGET (gst)->window);
parole_gst_change_state (gst, GST_STATE_PAUSED);
-@@ -2393,11 +2429,19 @@
+@@ -2393,11 +2443,19 @@
void parole_gst_resume (ParoleGst *gst)
{
@@ -129,7 +176,7 @@
parole_window_busy_cursor (GTK_WIDGET (gst)->window);
parole_gst_change_state (gst, GST_STATE_PLAYING);
-@@ -2417,12 +2461,20 @@
+@@ -2417,12 +2475,20 @@
void parole_gst_stop (ParoleGst *gst)
{