[rhythmbox] visualizer: toggle fullscreen mode when double clicked (bug #627396)



commit 3132944ed3dcb558227ed8193eb61e17b36399ec
Author: Wladimir Leuschner <wladimir1991 users sourceforge net>
Date:   Mon Aug 23 10:16:30 2010 +1000

    visualizer: toggle fullscreen mode when double clicked (bug #627396)

 plugins/visualizer/rb-visualizer-plugin.c |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)
---
diff --git a/plugins/visualizer/rb-visualizer-plugin.c b/plugins/visualizer/rb-visualizer-plugin.c
index 3430417..3fc4ba9 100644
--- a/plugins/visualizer/rb-visualizer-plugin.c
+++ b/plugins/visualizer/rb-visualizer-plugin.c
@@ -1078,6 +1078,27 @@ resize_vis_window (RBVisualizerPlugin *plugin, int quality, gboolean resize_down
 }
 
 static void
+rb_visualizer_plugin_button_press_cb (GtkWidget *vis_widget,
+					GdkEventButton *event,
+					RBVisualizerPlugin *pi)
+{
+	/* toggle fullscreen mode when double clicked */
+	if (event->type == GDK_2BUTTON_PRESS || event->type == GDK_3BUTTON_PRESS) {
+		if (pi->mode == EMBEDDED) {
+			rb_debug ("set fullscreen");
+			update_window (pi,
+				       FULLSCREEN,
+				       eel_gconf_get_integer (CONF_VIS_SCREEN),
+				       eel_gconf_get_integer (CONF_VIS_MONITOR));
+		} else {
+			rb_debug ("set embedded");
+			update_window (pi, EMBEDDED, -1, -1);
+		}
+		enable_visualization (pi);
+	}
+}
+
+static void
 update_window (RBVisualizerPlugin *plugin, VisualizerMode mode, int screen, int monitor)
 {
 	gboolean need_vis_widget;
@@ -1171,6 +1192,10 @@ update_window (RBVisualizerPlugin *plugin, VisualizerMode mode, int screen, int
 					 "notify::window-xid",
 					 G_CALLBACK (rb_visualizer_plugin_window_id_notify_cb),
 					 plugin, 0);
+		g_signal_connect_object (plugin->vis_widget,
+					 "button_press_event",
+					 G_CALLBACK (rb_visualizer_plugin_button_press_cb),
+					 plugin, 0);
 		gtk_box_pack_start (GTK_BOX (plugin->vis_box), plugin->vis_widget, TRUE, TRUE, 0 /* 6? */);
 	}
 



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