# HG changeset patch # User pontscho # Date 1000981644 0 # Node ID 633a7f0d72a4cf5e4835afd70659f75a946f3d15 # Parent 6185fef2703abcfdc0a4b63a76b13452ff7ba34f add gui error handling jol. diff -r 6185fef2703a -r 633a7f0d72a4 Gui/mplayer/gtk/mb.h --- a/Gui/mplayer/gtk/mb.h Thu Sep 20 10:26:22 2001 +0000 +++ b/Gui/mplayer/gtk/mb.h Thu Sep 20 10:27:24 2001 +0000 @@ -6,7 +6,14 @@ void on_MessageBox_destroy( GtkObject * object,gpointer user_data ) { - gtk_widget_hide( MessageBox ); +/* + switch( (int)user_data ) + { + case GTK_MB_ERROR: gtk_widget_hide( ErrorMessageBox ); break; + case GTK_MB_WARNING: gtk_widget_hide( WarningMessageBox ); break; + } +*/ + gtk_widget_hide( MessageBox ); gtkVisibleMessageBox=0; } @@ -100,16 +107,25 @@ 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 ); + 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 ); - pixmap1=gtk_pixmap_new( pixmapwid,mask ); + ErrorPixmap=gtk_pixmap_new( pixmapwid,mask ); - gtk_widget_set_name (pixmap1, "pixmap1"); - gtk_widget_ref (pixmap1); - gtk_object_set_data_full (GTK_OBJECT (MessageBox), "pixmap1", pixmap1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pixmap1); - gtk_box_pack_start (GTK_BOX (hbox1), pixmap1, FALSE, FALSE, 0); - gtk_widget_set_usize (pixmap1, 55, -2); + gtk_widget_set_name (WarningPixmap, "pixmap1"); + gtk_widget_ref (WarningPixmap); + gtk_object_set_data_full (GTK_OBJECT (MessageBox), "pixmap1", WarningPixmap,(GtkDestroyNotify)gtk_widget_unref); + gtk_widget_hide (WarningPixmap); + gtk_box_pack_start (GTK_BOX (hbox1), WarningPixmap, FALSE, FALSE, 0); + gtk_widget_set_usize (WarningPixmap, 55, -2); + + gtk_widget_set_name (ErrorPixmap, "pixmap1"); + gtk_widget_ref (ErrorPixmap); + gtk_object_set_data_full (GTK_OBJECT (MessageBox), "pixmap1", ErrorPixmap,(GtkDestroyNotify)gtk_widget_unref); + gtk_widget_hide (ErrorPixmap); + gtk_box_pack_start (GTK_BOX (hbox1), ErrorPixmap, FALSE, FALSE, 0); + gtk_widget_set_usize (ErrorPixmap, 55, -2); gtkMessageBoxText = gtk_label_new ( "Text jol. Ha ezt megerted, akkor neked nagyon jo a magyar tudasod, te."); gtk_widget_set_name (gtkMessageBoxText, "gtkMessageBoxText"); diff -r 6185fef2703a -r 633a7f0d72a4 Gui/mplayer/psignal.c --- a/Gui/mplayer/psignal.c Thu Sep 20 10:26:22 2001 +0000 +++ b/Gui/mplayer/psignal.c Thu Sep 20 10:27:24 2001 +0000 @@ -95,7 +95,25 @@ break; case evMessageBox: gtk_label_set_text( gtkMessageBoxText,(char *)gtkShMem->mb.str ); - if ( gtkVisibleMessageBox ) gtk_widget_hide( MessageBox ); + if( gtkVisibleMessageBox ) gtk_widget_hide( MessageBox ); + switch( gtkShMem->mb.type) + { + case GTK_MB_FATAL: + gtk_window_set_title (GTK_WINDOW (MessageBox), "fatal error ..."); + gtk_widget_hide( WarningPixmap ); + gtk_widget_show( ErrorPixmap ); + break; + case GTK_MB_ERROR: + gtk_window_set_title (GTK_WINDOW (MessageBox), "error ..."); + gtk_widget_hide( WarningPixmap ); + gtk_widget_show( ErrorPixmap ); + break; + case GTK_MB_WARNING: + gtk_window_set_title (GTK_WINDOW (MessageBox), "warning ..."); + gtk_widget_show( WarningPixmap ); + gtk_widget_hide( ErrorPixmap ); + break; + } gtk_widget_show( MessageBox ); gtkVisibleMessageBox=1; break; diff -r 6185fef2703a -r 633a7f0d72a4 Gui/mplayer/widgets.c --- a/Gui/mplayer/widgets.c Thu Sep 20 10:26:22 2001 +0000 +++ b/Gui/mplayer/widgets.c Thu Sep 20 10:27:24 2001 +0000 @@ -25,19 +25,21 @@ #include "pixmaps/up.xpm" #include "pixmaps/dir.xpm" #include "pixmaps/file.xpm" -#include "pixmaps/logo.xpm" #include "pixmaps/about.xpm" -#include "pixmaps/stop.xpm" #include "pixmaps/error.xpm" #include "pixmaps/warning.xpm" GtkWidget * SkinBrowser; GtkWidget * PlayList; GtkWidget * FileSelect; -GtkWidget * MessageBox; GtkWidget * AboutBox; GtkWidget * Options; +GtkWidget * MessageBox; + +GtkWidget * WarningPixmap; +GtkWidget * ErrorPixmap; + int gtkVisibleSkinBrowser = 0; int gtkVisiblePlayList = 0; int gtkVisibleFileSelect = 0; diff -r 6185fef2703a -r 633a7f0d72a4 Gui/mplayer/widgets.h --- a/Gui/mplayer/widgets.h Thu Sep 20 10:26:22 2001 +0000 +++ b/Gui/mplayer/widgets.h Thu Sep 20 10:27:24 2001 +0000 @@ -59,10 +59,14 @@ extern GtkWidget * SkinBrowser; extern GtkWidget * PlayList; extern GtkWidget * FileSelect; -extern GtkWidget * MessageBox; extern GtkWidget * AboutBox; extern GtkWidget * Options; +extern GtkWidget * MessageBox; + +extern GtkWidget * WarningPixmap; +extern GtkWidget * ErrorPixmap; + extern GtkWidget * SkinList; extern GtkWidget * gtkMessageBoxText; @@ -86,4 +90,4 @@ extern void gtkSetDefaultToCList( GtkWidget * list,char * item ); extern int gtkFindCList( GtkWidget * list,char * item ); -#endif \ No newline at end of file +#endif diff -r 6185fef2703a -r 633a7f0d72a4 mp_msg.c --- a/mp_msg.c Thu Sep 20 10:26:22 2001 +0000 +++ b/mp_msg.c Thu Sep 20 10:27:24 2001 +0000 @@ -3,6 +3,14 @@ #include #include +#include "config.h" + +#ifdef HAVE_NEW_GUI +#include "Gui/mplayer/widgets.h" +extern void gtkMessageBox( int type,char * str ); +extern int use_gui; +#endif + #include "mp_msg.h" static int mp_msg_levels[MSGT_MAX]; // verbose level of this module @@ -18,8 +26,11 @@ void mp_msg_c( int x, const char *format, ... ){ va_list va; + char tmp[128]; if((x&255)>mp_msg_levels[x>>8]) return; // do not display va_start(va, format); + vsnprintf( tmp,128,format,va ); +/* if((x&255)<=MSGL_ERR){ // fprintf(stderr,"%%%%%% "); vfprintf(stderr,format, va); @@ -27,7 +38,32 @@ // printf("%%%%%% "); vprintf(format, va); } +*/ va_end(va); + switch( x&255 ) + { + case MSGL_FATAL: + fprintf( stderr,"%s",tmp ); + #ifdef HAVE_NEW_GUI + if ( use_gui ) gtkMessageBox( GTK_MB_FATAL|GTK_MB_SIMPLE,tmp ); + #endif + break; + case MSGL_ERR: + fprintf( stderr,"%s",tmp ); + #ifdef HAVE_NEW_GUI + if ( use_gui ) gtkMessageBox( GTK_MB_ERROR|GTK_MB_SIMPLE,tmp ); + #endif + break; + case MSGL_WARN: + printf( "%s",tmp ); + #ifdef HAVE_NEW_GUI + if ( use_gui ) gtkMessageBox( GTK_MB_WARNING|GTK_MB_SIMPLE,tmp ); + #endif + break; + default: + printf( "%s",tmp ); + break; + } } #else