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