[Xfce4-commits] <parole:master> Entre leave fullscreen on double click on the browser plugin.
Ali Abdallah
noreply at xfce.org
Sat Nov 21 14:34:05 CET 2009
Updating branch refs/heads/master
to d12a4c10a7703bae4a08c1181b9eb98409b069db (commit)
from 57bcece4f0389963d6d8e91983017adfcf497c57 (commit)
commit d12a4c10a7703bae4a08c1181b9eb98409b069db
Author: Ali Abdallah <ali at ali-xfce.org>
Date: Sat Nov 21 14:21:56 2009 +0100
Entre leave fullscreen on double click on the browser plugin.
browser-plugin/media-plugin/parole-plugin-player.c | 38 +++++++++++++++++---
browser-plugin/plugin.cpp | 4 ++
2 files changed, 37 insertions(+), 5 deletions(-)
diff --git a/browser-plugin/media-plugin/parole-plugin-player.c b/browser-plugin/media-plugin/parole-plugin-player.c
index fc6067f..cc1a120 100644
--- a/browser-plugin/media-plugin/parole-plugin-player.c
+++ b/browser-plugin/media-plugin/parole-plugin-player.c
@@ -461,6 +461,20 @@ parole_plugin_player_window_key_press_cb (GtkWidget *widget, GdkEventKey *ev, Pa
return ret_val;
}
+static gboolean
+parole_plugin_player_gst_widget_button_press (GtkWidget *widget, GdkEventButton *ev, ParolePluginPlayer *player)
+{
+ gboolean ret_val = FALSE;
+
+ if ( ev->type == GDK_2BUTTON_PRESS )
+ {
+ parole_plugin_player_fullscreen_clicked_cb (player);
+ ret_val = TRUE;
+ }
+
+ return ret_val;
+}
+
static void
parole_plugin_player_construct (GObject *object)
{
@@ -495,6 +509,9 @@ parole_plugin_player_construct (GObject *object)
g_signal_connect_after (G_OBJECT (player->priv->gst), "button-release-event",
G_CALLBACK (parole_plugin_player_gst_widget_button_release), player);
+ g_signal_connect_after (G_OBJECT (player->priv->gst), "button-press-event",
+ G_CALLBACK (parole_plugin_player_gst_widget_button_press), player);
+
g_signal_connect (G_OBJECT (player->priv->gst), "error",
G_CALLBACK (parole_plugin_player_error_cb), player);
@@ -577,6 +594,7 @@ parole_plugin_player_construct (GObject *object)
0., 1., 1., 0., 0.);
player->priv->volume = g_object_new (GTK_TYPE_VOLUME_BUTTON,
"adjustment", adj,
+ "size", GTK_ICON_SIZE_MENU,
NULL);
gtk_adjustment_set_value (GTK_ADJUSTMENT (adj), (gdouble) (read_entry_int ("volume", 100)/100.) );
gtk_box_pack_start (GTK_BOX (hbox), player->priv->volume,
@@ -719,6 +737,20 @@ parole_plugin_player_finalize (GObject *object)
G_OBJECT_CLASS (parole_plugin_player_parent_class)->finalize (object);
}
+static gboolean
+parole_plugin_player_quit_idl (gpointer data)
+{
+ ParolePluginPlayer *player;
+
+ player = PAROLE_PLUGIN_PLAYER (data);
+
+ player->priv->terminate = TRUE;
+ parole_gst_terminate (player->priv->gst);
+ gtk_main_quit ();
+
+ return FALSE;
+}
+
ParolePluginPlayer *
parole_plugin_player_new (GtkWidget *plug, gchar *url)
{
@@ -782,11 +814,7 @@ parole_plugin_player_dbus_quit (ParolePluginPlayer *player,
GError **error)
{
g_debug ("Quit message received");
-
- player->priv->terminate = TRUE;
- parole_gst_terminate (player->priv->gst);
- gtk_main_quit ();
-
+ g_idle_add ((GSourceFunc) parole_plugin_player_quit_idl, player);
return TRUE;
}
diff --git a/browser-plugin/plugin.cpp b/browser-plugin/plugin.cpp
index 8623ad1..2dfae67 100644
--- a/browser-plugin/plugin.cpp
+++ b/browser-plugin/plugin.cpp
@@ -254,5 +254,9 @@ NPError CPlugin::NewStream(NPMIMEType type, NPStream * stream, NPBool seekable,
NPError CPlugin::DestroyStream(NPStream * stream, NPError reason)
{
+ g_debug ("Destroy stream %s reason %i ", stream->url, reason);
+
+ shut ();
+
return NPERR_NO_ERROR;
}
More information about the Xfce4-commits
mailing list