Mercurial > mplayer.hg
comparison Gui/mplayer/gtk/sb.h @ 1887:986de19221c9
fix tab bug
author | pontscho |
---|---|
date | Wed, 12 Sep 2001 18:53:42 +0000 |
parents | b55335dc4df8 |
children | 83291fafe66c |
comparison
equal
deleted
inserted
replaced
1886:a4e2aa412c75 | 1887:986de19221c9 |
---|---|
13 GtkWidget * SkinList; | 13 GtkWidget * SkinList; |
14 GtkWidget * sbOk; | 14 GtkWidget * sbOk; |
15 char * sbSelectedSkin=NULL; | 15 char * sbSelectedSkin=NULL; |
16 char * sbMPlayerDirInHome=NULL; | 16 char * sbMPlayerDirInHome=NULL; |
17 char * sbMPlayerPrefixDir=NULL; | 17 char * sbMPlayerPrefixDir=NULL; |
18 | |
19 GtkWidget * sbItemsList[3]; | |
20 int sbItemsListCounter = 0; | |
21 | 18 |
22 void HideSkinBrowser( void ) | 19 void HideSkinBrowser( void ) |
23 { | 20 { |
24 gtk_widget_hide( SkinBrowser ); | 21 gtk_widget_hide( SkinBrowser ); |
25 gtkVisibleSkinBrowser=0; | 22 gtkVisibleSkinBrowser=0; |
84 gtkSendMessage( evSkinBrowser ); | 81 gtkSendMessage( evSkinBrowser ); |
85 if( !bevent ) return; | 82 if( !bevent ) return; |
86 if( bevent->type == GDK_2BUTTON_PRESS ) HideSkinBrowser(); | 83 if( bevent->type == GDK_2BUTTON_PRESS ) HideSkinBrowser(); |
87 } | 84 } |
88 | 85 |
89 int sbShift = False; | |
90 | |
91 gboolean on_SkinBrowser_key_release_event( GtkWidget * widget,GdkEventKey * event,gpointer user_data ) | 86 gboolean on_SkinBrowser_key_release_event( GtkWidget * widget,GdkEventKey * event,gpointer user_data ) |
92 { | 87 { |
93 switch ( event->keyval ) | 88 switch ( event->keyval ) |
94 { | 89 { |
95 case GDK_Escape: | 90 case GDK_Escape: on_SkinBrowser_Cancel( NULL,0 ); break; |
96 if ( !sbShift ) on_SkinBrowser_Cancel( NULL,0 ); | 91 case GDK_Return: HideSkinBrowser(); break; |
97 break; | |
98 case GDK_Return: | |
99 if ( !sbShift ) HideSkinBrowser(); | |
100 break; | |
101 case GDK_Tab: | |
102 if ( sbShift ) | |
103 { if ( (--sbItemsListCounter) < 0 ) sbItemsListCounter=2; } | |
104 else | |
105 { if ( (++sbItemsListCounter) > 2 ) sbItemsListCounter=0; } | |
106 gtk_widget_grab_focus( sbItemsList[sbItemsListCounter] ); | |
107 break; | |
108 case GDK_Shift_L: | |
109 case GDK_Shift_R: | |
110 sbShift=False; | |
111 break; | |
112 } | |
113 // if ( ( event->keyval == GDK_Escape )|| ( event->keyval == GDK_Return ) ) HideSkinBrowser(); | |
114 return FALSE; | |
115 } | |
116 | |
117 gboolean on_SkinBrowser_key_press_event( GtkWidget * widget,GdkEventKey * event,gpointer user_data ) | |
118 { | |
119 switch ( event->keyval ) | |
120 { | |
121 case GDK_Shift_L: | |
122 case GDK_Shift_R: | |
123 sbShift=True; | |
124 break; | |
125 } | 92 } |
126 return FALSE; | 93 return FALSE; |
127 } | 94 } |
128 | 95 |
129 GtkWidget * create_SkinBrowser( void ) | 96 GtkWidget * create_SkinBrowser( void ) |
145 SkinBrowser=gtk_window_new( GTK_WINDOW_DIALOG ); | 112 SkinBrowser=gtk_window_new( GTK_WINDOW_DIALOG ); |
146 gtk_widget_set_name( SkinBrowser,MSGTR_SkinBrowser ); | 113 gtk_widget_set_name( SkinBrowser,MSGTR_SkinBrowser ); |
147 gtk_object_set_data( GTK_OBJECT( SkinBrowser ),MSGTR_SkinBrowser,SkinBrowser ); | 114 gtk_object_set_data( GTK_OBJECT( SkinBrowser ),MSGTR_SkinBrowser,SkinBrowser ); |
148 gtk_widget_set_usize( SkinBrowser,256,320 ); | 115 gtk_widget_set_usize( SkinBrowser,256,320 ); |
149 gtk_container_set_border_width( GTK_CONTAINER( SkinBrowser ),1 ); | 116 gtk_container_set_border_width( GTK_CONTAINER( SkinBrowser ),1 ); |
150 GTK_WIDGET_SET_FLAGS( SkinBrowser,GTK_CAN_FOCUS ); | 117 // GTK_WIDGET_SET_FLAGS( SkinBrowser,GTK_CAN_FOCUS ); |
151 GTK_WIDGET_SET_FLAGS( SkinBrowser,GTK_CAN_DEFAULT ); | 118 GTK_WIDGET_SET_FLAGS( SkinBrowser,GTK_CAN_DEFAULT ); |
152 gtk_widget_set_events( SkinBrowser,GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK ); | 119 gtk_widget_set_events( SkinBrowser,GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK ); |
153 gtk_window_set_title( GTK_WINDOW( SkinBrowser ),MSGTR_SkinBrowser ); | 120 gtk_window_set_title( GTK_WINDOW( SkinBrowser ),MSGTR_SkinBrowser ); |
154 gtk_window_set_position( GTK_WINDOW( SkinBrowser ),GTK_WIN_POS_CENTER ); | 121 gtk_window_set_position( GTK_WINDOW( SkinBrowser ),GTK_WIN_POS_CENTER ); |
155 gtk_window_set_policy( GTK_WINDOW( SkinBrowser ),FALSE,FALSE,TRUE ); | 122 gtk_window_set_policy( GTK_WINDOW( SkinBrowser ),FALSE,FALSE,TRUE ); |
291 GTK_SIGNAL_FUNC( on_SkinBrowser_destroy ), | 258 GTK_SIGNAL_FUNC( on_SkinBrowser_destroy ), |
292 NULL ); | 259 NULL ); |
293 gtk_signal_connect( GTK_OBJECT( SkinBrowser ),"key_release_event", | 260 gtk_signal_connect( GTK_OBJECT( SkinBrowser ),"key_release_event", |
294 GTK_SIGNAL_FUNC( on_SkinBrowser_key_release_event ), | 261 GTK_SIGNAL_FUNC( on_SkinBrowser_key_release_event ), |
295 NULL ); | 262 NULL ); |
296 gtk_signal_connect( GTK_OBJECT( SkinBrowser ),"key_press_event", | |
297 GTK_SIGNAL_FUNC( on_SkinBrowser_key_press_event ), | |
298 NULL ); | |
299 gtk_signal_connect( GTK_OBJECT( SkinList ),"select_row", | 263 gtk_signal_connect( GTK_OBJECT( SkinList ),"select_row", |
300 GTK_SIGNAL_FUNC( on_SkinList_select_row ), | 264 GTK_SIGNAL_FUNC( on_SkinList_select_row ), |
301 NULL ); | 265 NULL ); |
302 gtk_signal_connect( GTK_OBJECT( sbOk ),"released", | 266 gtk_signal_connect( GTK_OBJECT( sbOk ),"released", |
303 GTK_SIGNAL_FUNC( on_SkinBrowser_destroy ), | 267 GTK_SIGNAL_FUNC( on_SkinBrowser_destroy ), |
311 if ( ( sbMPlayerPrefixDir=(char *)calloc( 1,strlen( skinMPlayerDir ) + 4 ) ) != NULL ) | 275 if ( ( sbMPlayerPrefixDir=(char *)calloc( 1,strlen( skinMPlayerDir ) + 4 ) ) != NULL ) |
312 { strcpy( sbMPlayerPrefixDir,skinMPlayerDir ); strcat( sbMPlayerPrefixDir,"/*" ); } | 276 { strcpy( sbMPlayerPrefixDir,skinMPlayerDir ); strcat( sbMPlayerPrefixDir,"/*" ); } |
313 | 277 |
314 gtk_widget_grab_focus( SkinList ); | 278 gtk_widget_grab_focus( SkinList ); |
315 | 279 |
316 sbItemsList[0]=SkinList; | |
317 sbItemsList[1]=sbOk; | |
318 sbItemsList[2]=Cancel; | |
319 | |
320 return SkinBrowser; | 280 return SkinBrowser; |
321 } | 281 } |
322 | 282 |
323 #endif | 283 #endif |