diff options
Diffstat (limited to 'Gui/mplayer/gtk/mb.c')
-rw-r--r-- | Gui/mplayer/gtk/mb.c | 53 |
1 files changed, 34 insertions, 19 deletions
diff --git a/Gui/mplayer/gtk/mb.c b/Gui/mplayer/gtk/mb.c index 65dc24806d..4594ea6d6b 100644 --- a/Gui/mplayer/gtk/mb.c +++ b/Gui/mplayer/gtk/mb.c @@ -10,9 +10,22 @@ #include "mb.h" GtkWidget * gtkMessageBoxText; +GtkWidget * MessageBox; -static void on_MessageBox_Ok_released( GtkButton * button,gpointer user_data ) -{ gtk_widget_destroy( MessageBox ); } +int gtkVMessageBox = 0; + +void ShowMessageBox( char * msg ) +{ + if ( gtkVMessageBox ) gtkActive( MessageBox ); + else MessageBox=create_MessageBox( 0 ); + if ( strlen( msg ) < 20 ) gtk_widget_set_usize( MessageBox,196,-1 ); +} + +static void on_Ok_released( GtkButton * button,gpointer user_data ) +{ gtkVMessageBox=0; gtk_widget_destroy( MessageBox ); } + +static void on_MessageBox_show( GtkButton * button,gpointer user_data ) +{ gtkVMessageBox=(int)user_data; } GtkWidget * create_MessageBox( int type ) { @@ -45,7 +58,7 @@ GtkWidget * create_MessageBox( int type ) frame1=gtk_frame_new( NULL ); gtk_widget_set_name( frame1,"frame1" ); gtk_widget_ref( frame1 ); - gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"frame1",frame1,(GtkDestroyNotify ) gtk_widget_unref ); + gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"frame1",frame1,(GtkDestroyNotify)gtk_widget_unref ); gtk_widget_show( frame1 ); gtk_container_add( GTK_CONTAINER( MessageBox ),frame1 ); gtk_container_set_border_width( GTK_CONTAINER( frame1 ),1 ); @@ -54,7 +67,7 @@ GtkWidget * create_MessageBox( int type ) frame2=gtk_frame_new( NULL ); gtk_widget_set_name( frame2,"frame2" ); gtk_widget_ref( frame2 ); - gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"frame2",frame2,(GtkDestroyNotify ) gtk_widget_unref ); + gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"frame2",frame2,(GtkDestroyNotify)gtk_widget_unref ); gtk_widget_show( frame2 ); gtk_container_add( GTK_CONTAINER( frame1 ),frame2 ); gtk_frame_set_shadow_type( GTK_FRAME( frame2 ),GTK_SHADOW_NONE ); @@ -62,7 +75,7 @@ GtkWidget * create_MessageBox( int type ) frame3=gtk_frame_new( NULL ); gtk_widget_set_name( frame3,"frame3" ); gtk_widget_ref( frame3 ); - gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"frame3",frame3,(GtkDestroyNotify ) gtk_widget_unref ); + gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"frame3",frame3,(GtkDestroyNotify)gtk_widget_unref ); gtk_widget_show( frame3 ); gtk_container_add( GTK_CONTAINER( frame2 ),frame3 ); gtk_frame_set_shadow_type( GTK_FRAME( frame3 ),GTK_SHADOW_ETCHED_OUT ); @@ -70,7 +83,7 @@ GtkWidget * create_MessageBox( int type ) frame4=gtk_frame_new( NULL ); gtk_widget_set_name( frame4,"frame4" ); gtk_widget_ref( frame4 ); - gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"frame4",frame4,(GtkDestroyNotify ) gtk_widget_unref ); + gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"frame4",frame4,(GtkDestroyNotify)gtk_widget_unref ); gtk_widget_show( frame4 ); gtk_container_add( GTK_CONTAINER( frame3 ),frame4 ); gtk_frame_set_shadow_type( GTK_FRAME( frame4 ),GTK_SHADOW_NONE ); @@ -78,22 +91,22 @@ GtkWidget * create_MessageBox( int type ) vbox1=gtk_vbox_new( FALSE,0 ); gtk_widget_set_name( vbox1,"vbox1" ); gtk_widget_ref( vbox1 ); - gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"vbox1",vbox1,(GtkDestroyNotify ) gtk_widget_unref ); + gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"vbox1",vbox1,(GtkDestroyNotify)gtk_widget_unref ); gtk_widget_show( vbox1 ); gtk_container_add( GTK_CONTAINER( frame4 ),vbox1 ); hbox1=gtk_hbox_new( FALSE,0 ); gtk_widget_set_name( hbox1,"hbox1" ); gtk_widget_ref( hbox1 ); - gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"hbox1",hbox1,(GtkDestroyNotify ) gtk_widget_unref ); + gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"hbox1",hbox1,(GtkDestroyNotify)gtk_widget_unref ); gtk_widget_show( hbox1 ); gtk_box_pack_start( GTK_BOX( vbox1 ),hbox1,TRUE,TRUE,0 ); pixmapstyle=gtk_widget_get_style( MessageBox ); - pixmapwid=gdk_pixmap_colormap_create_from_xpm_d( MessageBox->window,gdk_colormap_get_system( ),&mask,&pixmapstyle->bg[GTK_STATE_NORMAL],(gchar ** )warning_xpm ); + pixmapwid=gdk_pixmap_colormap_create_from_xpm_d( MessageBox->window,gdk_colormap_get_system(),&mask,&pixmapstyle->bg[GTK_STATE_NORMAL],(gchar ** )warning_xpm ); WarningPixmap=gtk_pixmap_new( pixmapwid,mask ); - pixmapwid=gdk_pixmap_colormap_create_from_xpm_d( MessageBox->window,gdk_colormap_get_system( ),&mask,&pixmapstyle->bg[GTK_STATE_NORMAL],(gchar ** )error_xpm ); + pixmapwid=gdk_pixmap_colormap_create_from_xpm_d( MessageBox->window,gdk_colormap_get_system(),&mask,&pixmapstyle->bg[GTK_STATE_NORMAL],(gchar ** )error_xpm ); ErrorPixmap=gtk_pixmap_new( pixmapwid,mask ); gtk_widget_set_name( WarningPixmap,"pixmap1" ); @@ -113,24 +126,24 @@ GtkWidget * create_MessageBox( int type ) gtkMessageBoxText=gtk_label_new( "Text jol. Ha ezt megerted,akkor neked nagyon jo a magyar tudasod,te." ); gtk_widget_set_name( gtkMessageBoxText,"gtkMessageBoxText" ); gtk_widget_ref( gtkMessageBoxText ); - gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"gtkMessageBoxText",gtkMessageBoxText,(GtkDestroyNotify ) gtk_widget_unref ); + gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"gtkMessageBoxText",gtkMessageBoxText,(GtkDestroyNotify)gtk_widget_unref ); gtk_widget_show( gtkMessageBoxText ); gtk_box_pack_start( GTK_BOX( hbox1 ),gtkMessageBoxText,TRUE,TRUE,0 ); gtk_label_set_justify( GTK_LABEL( gtkMessageBoxText ),GTK_JUSTIFY_FILL ); - gtk_label_set_line_wrap( GTK_LABEL( gtkMessageBoxText ),TRUE ); + gtk_label_set_line_wrap( GTK_LABEL( gtkMessageBoxText ),FALSE ); - hseparator1=gtk_hseparator_new( ); + hseparator1=gtk_hseparator_new(); gtk_widget_set_name( hseparator1,"hseparator1" ); gtk_widget_ref( hseparator1 ); - gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"hseparator1",hseparator1,(GtkDestroyNotify ) gtk_widget_unref ); + gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"hseparator1",hseparator1,(GtkDestroyNotify)gtk_widget_unref ); gtk_widget_show( hseparator1 ); gtk_box_pack_start( GTK_BOX( vbox1 ),hseparator1,FALSE,FALSE,0 ); gtk_widget_set_usize( hseparator1,-2,9 ); - hbuttonbox1=gtk_hbutton_box_new( ); + hbuttonbox1=gtk_hbutton_box_new(); gtk_widget_set_name( hbuttonbox1,"hbuttonbox1" ); gtk_widget_ref( hbuttonbox1 ); - gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"hbuttonbox1",hbuttonbox1,(GtkDestroyNotify ) gtk_widget_unref ); + gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"hbuttonbox1",hbuttonbox1,(GtkDestroyNotify)gtk_widget_unref ); gtk_widget_show( hbuttonbox1 ); gtk_widget_set_usize( hbuttonbox1,-2,25 ); gtk_button_box_set_child_size( GTK_BUTTON_BOX( hbuttonbox1 ),75,0 ); @@ -139,14 +152,16 @@ GtkWidget * create_MessageBox( int type ) Ok=gtk_button_new_with_label( MSGTR_Ok ); gtk_widget_set_name( Ok,MSGTR_Ok ); gtk_widget_ref( Ok ); - gtk_object_set_data_full( GTK_OBJECT( MessageBox ),MSGTR_Ok,Ok,(GtkDestroyNotify ) gtk_widget_unref ); + gtk_object_set_data_full( GTK_OBJECT( MessageBox ),MSGTR_Ok,Ok,(GtkDestroyNotify)gtk_widget_unref ); gtk_widget_show( Ok ); gtk_container_add( GTK_CONTAINER( hbuttonbox1 ),Ok ); gtk_widget_add_accelerator( Ok,"released",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); gtk_widget_add_accelerator( Ok,"released",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); - gtk_signal_connect( GTK_OBJECT( MessageBox ),"destroy_event",GTK_SIGNAL_FUNC( on_MessageBox_Ok_released ),NULL ); - gtk_signal_connect( GTK_OBJECT( Ok ),"released",GTK_SIGNAL_FUNC( on_MessageBox_Ok_released ),NULL ); + gtk_signal_connect( GTK_OBJECT( MessageBox ),"destroy_event",GTK_SIGNAL_FUNC( on_Ok_released ),NULL ); + gtk_signal_connect( GTK_OBJECT( MessageBox ),"show",GTK_SIGNAL_FUNC( on_MessageBox_show ),1 ); + gtk_signal_connect( GTK_OBJECT( MessageBox ),"hide",GTK_SIGNAL_FUNC( on_MessageBox_show ),0 ); + gtk_signal_connect( GTK_OBJECT( Ok ),"released",GTK_SIGNAL_FUNC( on_Ok_released ),NULL ); gtk_window_add_accel_group( GTK_WINDOW( MessageBox ),accel_group ); |