2012-05-09 14:19:36 +00:00

176 lines
8.8 KiB
Plaintext

$OpenBSD: patch-src_gui_c,v 1.27 2012/05/09 14:19:37 dcoppa Exp $
Initialize a variable to NULL
(upstream svn revision r2243)
Fix a couple of keyboard shortcuts as they were in the wrong shift
state (upstream svn revision r2245)
Monitor subtitle visibility better
(upstream svn revision r2248)
Fix button sensitivity based on state
(upstream svn revision r2239)
Add mouse events to capture over the media window
(upstream svn revision r2247)
--- src/gui.c.orig Fri Apr 6 15:19:25 2012
+++ src/gui.c Wed May 9 15:40:09 2012
@@ -604,7 +604,7 @@ gboolean set_progress_value(void *data)
gchar *text;
struct stat buf = { 0 };
gchar *iterfilename;
- gchar *iteruri;
+ gchar *iteruri = NULL;
if (idle == NULL)
return FALSE;
@@ -1916,12 +1916,6 @@ gboolean window_key_callback(GtkWidget * widget, GdkEv
case GDK_bracketright:
gmtk_media_player_set_attribute_double(GMTK_MEDIA_PLAYER(media), ATTRIBUTE_SPEED_MULTIPLIER, 1.10);
return FALSE;
- case GDK_braceleft:
- gmtk_media_player_set_attribute_double(GMTK_MEDIA_PLAYER(media), ATTRIBUTE_SPEED_MULTIPLIER, 0.50);
- return FALSE;
- case GDK_braceright:
- gmtk_media_player_set_attribute_double(GMTK_MEDIA_PLAYER(media), ATTRIBUTE_SPEED_MULTIPLIER, 2.0);
- return FALSE;
case GDK_BackSpace:
gmtk_media_player_set_attribute_double(GMTK_MEDIA_PLAYER(media), ATTRIBUTE_SPEED_SET, 1.0);
return FALSE;
@@ -1941,9 +1935,6 @@ gboolean window_key_callback(GtkWidget * widget, GdkEv
gtk_range_set_value(GTK_RANGE(vol_slider), gtk_range_get_value(GTK_RANGE(vol_slider)) + 0.01);
#endif
return FALSE;
- case GDK_numbersign:
- gmtk_media_player_send_command(GMTK_MEDIA_PLAYER(media), COMMAND_SWITCH_AUDIO);
- return FALSE;
case GDK_period:
if (gmtk_media_player_get_state(GMTK_MEDIA_PLAYER(media)) == MEDIA_STATE_PAUSE)
gmtk_media_player_send_command(GMTK_MEDIA_PLAYER(media), COMMAND_FRAME_STEP);
@@ -1965,7 +1956,6 @@ gboolean window_key_callback(GtkWidget * widget, GdkEv
}
*/
return FALSE;
- case GDK_plus:
case GDK_KP_Add:
gmtk_media_player_set_attribute_double(GMTK_MEDIA_PLAYER(media), ATTRIBUTE_AUDIO_DELAY,
gmtk_media_player_get_attribute_double(GMTK_MEDIA_PLAYER(media),
@@ -2060,6 +2050,21 @@ gboolean window_key_callback(GtkWidget * widget, GdkEv
case GDK_S:
gmtk_media_player_send_command(GMTK_MEDIA_PLAYER(media), COMMAND_TAKE_SCREENSHOT);
return FALSE;
+ case GDK_numbersign:
+ gmtk_media_player_send_command(GMTK_MEDIA_PLAYER(media), COMMAND_SWITCH_AUDIO);
+ return FALSE;
+ case GDK_plus:
+ gmtk_media_player_set_attribute_double(GMTK_MEDIA_PLAYER(media), ATTRIBUTE_AUDIO_DELAY,
+ gmtk_media_player_get_attribute_double(GMTK_MEDIA_PLAYER(media),
+ ATTRIBUTE_AUDIO_DELAY) + 0.1);
+
+ return FALSE;
+ case GDK_braceleft:
+ gmtk_media_player_set_attribute_double(GMTK_MEDIA_PLAYER(media), ATTRIBUTE_SPEED_MULTIPLIER, 0.50);
+ return FALSE;
+ case GDK_braceright:
+ gmtk_media_player_set_attribute_double(GMTK_MEDIA_PLAYER(media), ATTRIBUTE_SPEED_MULTIPLIER, 2.0);
+ return FALSE;
default:
gmtk_media_player_send_key_press_event(GMTK_MEDIA_PLAYER(media), event, data);
return FALSE;
@@ -6136,6 +6141,9 @@ void player_attribute_changed_callback(GmtkMediaTracke
gtk_widget_set_sensitive(GTK_WIDGET(menuitem_view_subtitles),
gmtk_media_player_get_attribute_boolean(GMTK_MEDIA_PLAYER(media),
ATTRIBUTE_SUBS_EXIST));
+
+ break;
+ case ATTRIBUTE_SUB_VISIBLE:
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem_view_subtitles),
gmtk_media_player_get_attribute_boolean(GMTK_MEDIA_PLAYER(media),
ATTRIBUTE_SUB_VISIBLE));
@@ -6358,6 +6366,10 @@ void player_media_state_changed_callback(GtkButton * b
#endif
gtk_widget_set_sensitive(ff_event_box, FALSE);
gtk_widget_set_sensitive(rew_event_box, FALSE);
+ gtk_widget_set_sensitive(prev_event_box, FALSE);
+ gtk_widget_set_sensitive(next_event_box, FALSE);
+ gtk_widget_set_sensitive(stop_event_box, FALSE);
+
if (GTK_WIDGET(gtk_widget_get_parent(GTK_WIDGET(menuitem_play))) == GTK_WIDGET(popup_menu))
gtk_container_remove(GTK_CONTAINER(popup_menu), GTK_WIDGET(menuitem_play));
menuitem_play = GTK_MENU_ITEM(gtk_image_menu_item_new_from_stock(GTK_STOCK_MEDIA_PLAY, NULL));
@@ -6381,6 +6393,10 @@ void player_media_state_changed_callback(GtkButton * b
#endif
gtk_widget_set_sensitive(ff_event_box, TRUE);
gtk_widget_set_sensitive(rew_event_box, TRUE);
+ gtk_widget_set_sensitive(prev_event_box, TRUE);
+ gtk_widget_set_sensitive(next_event_box, TRUE);
+ gtk_widget_set_sensitive(stop_event_box, TRUE);
+
if (GTK_WIDGET(gtk_widget_get_parent(GTK_WIDGET(menuitem_play))) == GTK_WIDGET(popup_menu))
gtk_container_remove(GTK_CONTAINER(popup_menu), GTK_WIDGET(menuitem_play));
menuitem_play = GTK_MENU_ITEM(gtk_image_menu_item_new_from_stock(GTK_STOCK_MEDIA_PAUSE, NULL));
@@ -6404,6 +6420,10 @@ void player_media_state_changed_callback(GtkButton * b
#endif
gtk_widget_set_sensitive(ff_event_box, FALSE);
gtk_widget_set_sensitive(rew_event_box, FALSE);
+ gtk_widget_set_sensitive(prev_event_box, FALSE);
+ gtk_widget_set_sensitive(next_event_box, FALSE);
+ gtk_widget_set_sensitive(stop_event_box, FALSE);
+
if (GTK_WIDGET(gtk_widget_get_parent(GTK_WIDGET(menuitem_play))) == GTK_WIDGET(popup_menu))
gtk_container_remove(GTK_CONTAINER(popup_menu), GTK_WIDGET(menuitem_play));
menuitem_play = GTK_MENU_ITEM(gtk_image_menu_item_new_from_stock(GTK_STOCK_MEDIA_PLAY, NULL));
@@ -7257,6 +7277,9 @@ GtkWidget *create_window(gint windowid)
hbox = gtk_hbox_new(FALSE, 0);
controls_box = gtk_vbox_new(FALSE, 0);
media = gmtk_media_player_new();
+ gtk_widget_set_events(media, GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK |
+ GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
+ GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_ENTER_NOTIFY_MASK);
g_signal_connect_swapped(G_OBJECT(media), "media_state_changed",
G_CALLBACK(player_media_state_changed_callback), NULL);
g_signal_connect_swapped(G_OBJECT(media), "button_press_event", G_CALLBACK(popup_handler), G_OBJECT(popup_menu));
@@ -7407,6 +7430,7 @@ GtkWidget *create_window(gint windowid)
gtk_box_pack_start(GTK_BOX(hbox), prev_event_box, FALSE, FALSE, 0);
gtk_widget_show(image_prev);
gtk_widget_show(prev_event_box);
+ gtk_widget_set_sensitive (prev_event_box, FALSE);
rew_event_box = gtk_button_new();
gtk_button_set_image(GTK_BUTTON(rew_event_box), image_rew);
@@ -7427,6 +7451,7 @@ GtkWidget *create_window(gint windowid)
gtk_box_pack_start(GTK_BOX(hbox), rew_event_box, FALSE, FALSE, 0);
gtk_widget_show(image_rew);
gtk_widget_show(rew_event_box);
+ gtk_widget_set_sensitive (rew_event_box, FALSE);
play_event_box = gtk_button_new();
gtk_button_set_image(GTK_BUTTON(play_event_box), image_play);
@@ -7467,6 +7492,7 @@ GtkWidget *create_window(gint windowid)
gtk_box_pack_start(GTK_BOX(hbox), stop_event_box, FALSE, FALSE, 0);
gtk_widget_show(image_stop);
gtk_widget_show(stop_event_box);
+ gtk_widget_set_sensitive (stop_event_box, FALSE);
ff_event_box = gtk_button_new();
gtk_button_set_image(GTK_BUTTON(ff_event_box), image_ff);
@@ -7487,6 +7513,7 @@ GtkWidget *create_window(gint windowid)
gtk_box_pack_start(GTK_BOX(hbox), ff_event_box, FALSE, FALSE, 0);
gtk_widget_show(image_ff);
gtk_widget_show(ff_event_box);
+ gtk_widget_set_sensitive (ff_event_box, FALSE);
next_event_box = gtk_button_new();
gtk_button_set_image(GTK_BUTTON(next_event_box), image_next);
@@ -7507,6 +7534,8 @@ GtkWidget *create_window(gint windowid)
gtk_box_pack_start(GTK_BOX(hbox), next_event_box, FALSE, FALSE, 0);
gtk_widget_show(image_next);
gtk_widget_show(next_event_box);
+ gtk_widget_set_sensitive (next_event_box, FALSE);
+
// progress bar
tracker = GMTK_MEDIA_TRACKER(gmtk_media_tracker_new());
gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(tracker), TRUE, TRUE, 2);