mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 04:56:14 +00:00
a working makefile.am and new key event handling for q to leave fullscreen and space to pause/play media
Original commit message from CVS: a working makefile.am and new key event handling for q to leave fullscreen and space to pause/play media
This commit is contained in:
parent
4af36c2ac6
commit
02c06eeb1f
3 changed files with 47 additions and 2 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2001-12-06 Arik Devens <arik@gnome.org>
|
||||||
|
|
||||||
|
* gstmediaplay.c (fullscreen_key_press_event): Added a case for
|
||||||
|
the q key to switch out of fullscreen.
|
||||||
|
(gst_media_play_init): Added signal connect for catching key
|
||||||
|
events.
|
||||||
|
(window_key_press_event): On space pause / play the media.
|
||||||
|
|
||||||
2001-12-04 Arik Devens <arik@gnome.org>
|
2001-12-04 Arik Devens <arik@gnome.org>
|
||||||
|
|
||||||
This is a minor update on a few things while i work on getting the
|
This is a minor update on a few things while i work on getting the
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
# FIXME FIXME
|
# FIXME FIXME
|
||||||
|
|
||||||
|
LIBADD += $(GNOME_LIBS) $(GST_LIBS)
|
||||||
|
CFLAGS += $(GNOME_CFLAGS) $(LIBGLADE_GNOME_CFLAGS) $(GST_CFLAGS) -DDATADIR=\""$(gladedir)/"\"
|
||||||
|
|
||||||
bin_PROGRAMS = gstmediaplay
|
bin_PROGRAMS = gstmediaplay
|
||||||
|
|
||||||
|
@ -34,6 +36,6 @@ noinst_HEADERS = \
|
||||||
gstplayprivate.h
|
gstplayprivate.h
|
||||||
|
|
||||||
libgstmediaplay_la_LDFLAGS = -rdynamic
|
libgstmediaplay_la_LDFLAGS = -rdynamic
|
||||||
libgstmediaplay_la_CFLAGS = $(GNOME_CFLAGS) $(LIBGLADE_GNOME_CFLAGS) $(GST_CFLAGS) -DDATADIR=\""$(gladedir)/"\"
|
|
||||||
gstmediaplay_CFLAGS = $(LIBGLADE_GNOME_CFLAGS) $(GNOME_CFLAGS) $(LIBGLADE_GNOME_CFLAGS) $(GST_CFLAGS) -DDATADIR=\""$(gladedir)/"\"
|
gstmediaplay_CFLAGS = $(LIBGLADE_GNOME_CFLAGS)
|
||||||
gstmediaplay_LDADD = $(GST_LIBS) $(LIBGLADE_GNOME_LIBS) libgstmediaplay.la
|
gstmediaplay_LDADD = $(GST_LIBS) $(LIBGLADE_GNOME_LIBS) libgstmediaplay.la
|
||||||
|
|
|
@ -10,6 +10,8 @@
|
||||||
static void gst_media_play_class_init (GstMediaPlayClass *klass);
|
static void gst_media_play_class_init (GstMediaPlayClass *klass);
|
||||||
static void gst_media_play_init (GstMediaPlay *play);
|
static void gst_media_play_init (GstMediaPlay *play);
|
||||||
|
|
||||||
|
static int window_key_press_event (GtkWidget *widget, GdkEventKey *event, GstMediaPlay *mplay);
|
||||||
|
|
||||||
static void gst_media_play_set_arg (GtkObject *object, GtkArg *arg, guint id);
|
static void gst_media_play_set_arg (GtkObject *object, GtkArg *arg, guint id);
|
||||||
static void gst_media_play_get_arg (GtkObject *object, GtkArg *arg, guint id);
|
static void gst_media_play_get_arg (GtkObject *object, GtkArg *arg, guint id);
|
||||||
|
|
||||||
|
@ -160,6 +162,9 @@ gst_media_play_init (GstMediaPlay *mplay)
|
||||||
mplay->window = glade_xml_get_widget (mplay->xml, "gstplay");
|
mplay->window = glade_xml_get_widget (mplay->xml, "gstplay");
|
||||||
g_assert (mplay->window != NULL);
|
g_assert (mplay->window != NULL);
|
||||||
|
|
||||||
|
gtk_signal_connect (GTK_OBJECT (mplay->window), "key_press_event",
|
||||||
|
(GtkSignalFunc) window_key_press_event, mplay);
|
||||||
|
|
||||||
gtk_drag_dest_set (mplay->window,
|
gtk_drag_dest_set (mplay->window,
|
||||||
GTK_DEST_DEFAULT_ALL,
|
GTK_DEST_DEFAULT_ALL,
|
||||||
target_table, 1,
|
target_table, 1,
|
||||||
|
@ -201,6 +206,33 @@ gst_media_play_init (GstMediaPlay *mplay)
|
||||||
mplay->last_time = 0;
|
mplay->last_time = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
window_key_press_event (GtkWidget *widget,
|
||||||
|
GdkEventKey *event,
|
||||||
|
GstMediaPlay *mplay)
|
||||||
|
{
|
||||||
|
switch (event->keyval) {
|
||||||
|
case GDK_space:
|
||||||
|
if (mplay->play->state == GST_PLAY_PLAYING)
|
||||||
|
{
|
||||||
|
gdk_threads_leave ();
|
||||||
|
gst_play_pause (mplay->play);
|
||||||
|
gdk_threads_enter ();
|
||||||
|
update_buttons (mplay, GST_PLAY_STATE(mplay->play));
|
||||||
|
}
|
||||||
|
else if (mplay->play->state == GST_PLAY_PAUSED)
|
||||||
|
{
|
||||||
|
gdk_threads_leave ();
|
||||||
|
gst_play_play (mplay->play);
|
||||||
|
gdk_threads_enter ();
|
||||||
|
update_buttons (mplay, GST_PLAY_STATE(mplay->play));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
GstMediaPlay *
|
GstMediaPlay *
|
||||||
gst_media_play_new ()
|
gst_media_play_new ()
|
||||||
{
|
{
|
||||||
|
@ -493,6 +525,9 @@ fullscreen_key_press_event (GtkWidget *widget,
|
||||||
case GDK_Escape:
|
case GDK_Escape:
|
||||||
gst_media_play_set_fullscreen (mplay);
|
gst_media_play_set_fullscreen (mplay);
|
||||||
break;
|
break;
|
||||||
|
case GDK_q:
|
||||||
|
gst_media_play_set_fullscreen (mplay);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
Loading…
Reference in a new issue