summaryrefslogtreecommitdiffstats
path: root/Gui
diff options
context:
space:
mode:
authorpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-09-17 21:16:00 +0000
committerpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-09-17 21:16:00 +0000
commitba57320b827840b97f758a576244cc730ad468f5 (patch)
tree577f3cfda6057ec155302313f685ccc9290b65dc /Gui
parent41bbd1a7fdf7f0d6143c7cb5abdc522a53f5820c (diff)
downloadmpv-ba57320b827840b97f758a576244cc730ad468f5.tar.bz2
mpv-ba57320b827840b97f758a576244cc730ad468f5.tar.xz
add new features. and fix skin error loop.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1908 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'Gui')
-rw-r--r--Gui/mplayer/gtk/mb.h288
-rw-r--r--Gui/mplayer/gtk/sb.h70
-rw-r--r--Gui/mplayer/menu.h2
-rw-r--r--Gui/mplayer/play.c113
-rw-r--r--Gui/mplayer/psignal.c8
-rw-r--r--Gui/mplayer/widgets.c17
-rw-r--r--Gui/mplayer/widgets.h9
-rw-r--r--Gui/skin/font.c4
8 files changed, 246 insertions, 265 deletions
diff --git a/Gui/mplayer/gtk/mb.h b/Gui/mplayer/gtk/mb.h
index 1f60aaaea4..caaa5b7a64 100644
--- a/Gui/mplayer/gtk/mb.h
+++ b/Gui/mplayer/gtk/mb.h
@@ -4,155 +4,163 @@
GtkWidget * gtkMessageBoxText;
-void on_MessageBox_destroy( GtkObject * object,gpointer user_data )
+void on_MessageBox_destroy( GtkObject * object,gpointer user_data )
{
- gtk_widget_hide( MessageBox );
+ gtk_widget_hide( MessageBox );
gtkVisibleMessageBox=0;
}
-void on_Ok_released( GtkButton * button,gpointer user_data )
+void on_Ok_released( GtkButton * button,gpointer user_data )
{
- gtk_widget_hide( MessageBox );
+ gtk_widget_hide( MessageBox );
gtkVisibleMessageBox=0;
- gtkSendMessage( evMessageBox );
+ gtkSendMessage( evMessageBox );
}
-GtkWidget * create_MessageBox( void )
+GtkWidget * create_MessageBox( int type )
{
- GtkWidget *MessageBox;
- GtkWidget *frame1;
- GtkWidget *frame2;
- GtkWidget *frame3;
- GtkWidget *frame4;
- GtkWidget *vbox1;
- GtkWidget *vbox2;
- GtkWidget *hseparator1;
- GtkWidget *hbuttonbox1;
- GtkWidget *Ok;
- GtkAccelGroup *accel_group;
-
- accel_group=gtk_accel_group_new();
-
- MessageBox=gtk_window_new( GTK_WINDOW_DIALOG );
- gtk_widget_set_name( MessageBox,MSGTR_MessageBox );
- gtk_object_set_data( GTK_OBJECT( MessageBox ),MSGTR_MessageBox,MessageBox );
- gtk_widget_set_usize( MessageBox,420,128 );
- GTK_WIDGET_SET_FLAGS( MessageBox,GTK_CAN_FOCUS );
- GTK_WIDGET_SET_FLAGS( MessageBox,GTK_CAN_DEFAULT );
- gtk_widget_set_events( MessageBox,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 );
- gtk_window_set_title( GTK_WINDOW( MessageBox ),MSGTR_MessageBox );
- gtk_window_set_position( GTK_WINDOW( MessageBox ),GTK_WIN_POS_CENTER );
- gtk_window_set_modal( GTK_WINDOW( MessageBox ),TRUE );
- gtk_window_set_policy( GTK_WINDOW( MessageBox ),FALSE,FALSE,FALSE );
- gtk_window_set_wmclass( GTK_WINDOW( MessageBox ),MSGTR_MessageBox,MSGTR_MessageBox );
-
- 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_widget_show( frame1 );
- gtk_container_add( GTK_CONTAINER( MessageBox ),frame1 );
- gtk_frame_set_shadow_type( GTK_FRAME( frame1 ),GTK_SHADOW_IN );
-
- 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_widget_show( frame2 );
- gtk_container_add( GTK_CONTAINER( frame1 ),frame2 );
- gtk_frame_set_shadow_type( GTK_FRAME( frame2 ),GTK_SHADOW_NONE );
-
- 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_widget_show( frame3 );
- gtk_container_add( GTK_CONTAINER( frame2 ),frame3 );
-
- 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_widget_show( frame4 );
- gtk_container_add( GTK_CONTAINER( frame3 ),frame4 );
- gtk_frame_set_shadow_type( GTK_FRAME( frame4 ),GTK_SHADOW_NONE );
-
- 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_widget_show( vbox1 );
- gtk_container_add( GTK_CONTAINER( frame4 ),vbox1 );
-
- vbox2=gtk_vbox_new( FALSE,0 );
- gtk_widget_set_name( vbox2,"vbox2" );
- gtk_widget_ref( vbox2 );
- gtk_object_set_data_full( GTK_OBJECT( MessageBox ),"vbox2",vbox2,
- ( GtkDestroyNotify ) gtk_widget_unref );
- gtk_widget_show( vbox2 );
- gtk_box_pack_start( GTK_BOX( vbox1 ),vbox2,TRUE,FALSE,0 );
-
- gtkMessageBoxText=gtk_label_new( "Ez." );
- 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_widget_show( gtkMessageBoxText );
- gtk_box_pack_start( GTK_BOX( vbox2 ),gtkMessageBoxText,FALSE,FALSE,0 );
-// gtk_widget_set_usize( gtkMessageBoxText,-2,77 );
- gtk_widget_set_usize( gtkMessageBoxText,384,77 );
- gtk_label_set_justify( GTK_LABEL( gtkMessageBoxText ),GTK_JUSTIFY_FILL );
- gtk_label_set_line_wrap( GTK_LABEL( gtkMessageBoxText ),TRUE );
-
- 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_widget_show( hseparator1 );
- gtk_box_pack_start( GTK_BOX( vbox2 ),hseparator1,TRUE,TRUE,0 );
-
- 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_widget_show( hbuttonbox1 );
- gtk_box_pack_start( GTK_BOX( vbox1 ),hbuttonbox1,FALSE,FALSE,0 );
- GTK_WIDGET_SET_FLAGS( hbuttonbox1,GTK_CAN_FOCUS );
- GTK_WIDGET_SET_FLAGS( hbuttonbox1,GTK_CAN_DEFAULT );
- gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),0 );
- gtk_button_box_set_child_size( GTK_BUTTON_BOX( hbuttonbox1 ),60,0 );
- gtk_button_box_set_child_ipadding( GTK_BUTTON_BOX( hbuttonbox1 ),10,0 );
-
- 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_widget_show( Ok );
- gtk_container_add( GTK_CONTAINER( hbuttonbox1 ),Ok );
- gtk_widget_set_usize( Ok,100,-2 );
- GTK_WIDGET_SET_FLAGS( Ok,GTK_CAN_DEFAULT );
- gtk_widget_add_accelerator( Ok,"released",accel_group,
- GDK_Return,0,
- GTK_ACCEL_VISIBLE );
-
- gtk_signal_connect( GTK_OBJECT( MessageBox ),"destroy",
- GTK_SIGNAL_FUNC( on_MessageBox_destroy ),
- NULL );
- gtk_signal_connect( GTK_OBJECT( Ok ),"released",
- GTK_SIGNAL_FUNC( on_Ok_released ),
- NULL );
-
- gtk_window_add_accel_group( GTK_WINDOW( MessageBox ),accel_group );
-
- return MessageBox;
+ GtkWidget * MessageBox;
+ GtkWidget * frame1;
+ GtkWidget * frame2;
+ GtkWidget * frame3;
+ GtkWidget * frame4;
+ GtkWidget * vbox1;
+ GtkWidget * hbox1;
+ GtkWidget * pixmap1;
+ GtkWidget * hseparator1;
+ GtkWidget * hbuttonbox1;
+ GtkWidget * Ok;
+ GtkAccelGroup * accel_group;
+ GtkStyle * pixmapstyle;
+ GtkPixmap * pixmapwid;
+ GdkBitmap * mask;
+
+ accel_group = gtk_accel_group_new ();
+
+ MessageBox = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_set_name (MessageBox, "MessageBox");
+ gtk_object_set_data (GTK_OBJECT (MessageBox), "MessageBox", MessageBox);
+ gtk_widget_set_events (MessageBox, GDK_EXPOSURE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_VISIBILITY_NOTIFY_MASK);
+ gtk_window_set_title (GTK_WINDOW (MessageBox), "MPlayer ...");
+ gtk_window_set_position (GTK_WINDOW (MessageBox), GTK_WIN_POS_CENTER);
+ gtk_window_set_modal (GTK_WINDOW (MessageBox), TRUE);
+ gtk_window_set_policy (GTK_WINDOW (MessageBox), TRUE, TRUE, FALSE);
+
+ 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_widget_show (frame1);
+ gtk_container_add (GTK_CONTAINER (MessageBox), frame1);
+ gtk_container_set_border_width (GTK_CONTAINER (frame1), 1);
+ gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_IN);
+
+ 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_widget_show (frame2);
+ gtk_container_add (GTK_CONTAINER (frame1), frame2);
+ gtk_frame_set_shadow_type (GTK_FRAME (frame2), GTK_SHADOW_NONE);
+
+ 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_widget_show (frame3);
+ gtk_container_add (GTK_CONTAINER (frame2), frame3);
+ gtk_frame_set_shadow_type (GTK_FRAME (frame3), GTK_SHADOW_ETCHED_OUT);
+
+ 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_widget_show (frame4);
+ gtk_container_add (GTK_CONTAINER (frame3), frame4);
+ gtk_frame_set_shadow_type (GTK_FRAME (frame4), GTK_SHADOW_NONE);
+
+ 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_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_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 ** )error_xpm );
+ pixmap1=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);
+
+ 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_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);
+
+ 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_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 ();
+ 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_widget_show (hbuttonbox1);
+ gtk_box_pack_start (GTK_BOX (vbox1), hbuttonbox1, FALSE, FALSE, 0);
+
+ 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_widget_show (Ok);
+ gtk_container_add (GTK_CONTAINER (hbuttonbox1), Ok);
+ GTK_WIDGET_SET_FLAGS (Ok, GTK_CAN_DEFAULT);
+ 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_destroy),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (Ok), "released",GTK_SIGNAL_FUNC (on_Ok_released),NULL);
+
+ gtk_window_add_accel_group (GTK_WINDOW (MessageBox), accel_group);
+
+ return MessageBox;
}
#endif
diff --git a/Gui/mplayer/gtk/sb.h b/Gui/mplayer/gtk/sb.h
index 9e03a86a37..cf9c6af2f4 100644
--- a/Gui/mplayer/gtk/sb.h
+++ b/Gui/mplayer/gtk/sb.h
@@ -11,7 +11,6 @@
#include "../app.h"
GtkWidget * SkinList;
-GtkWidget * sbOk;
char * sbSelectedSkin=NULL;
char * sbMPlayerDirInHome=NULL;
char * sbMPlayerPrefixDir=NULL;
@@ -38,7 +37,7 @@ int gtkFillSkinList( gchar * mdir )
strcpy( gtkOldSkin,gtkShMem->sb.name );
if ( ( str[0]=(char *)calloc( 1,7 ) ) == NULL )
{
- gtkMessageBox( MSGTR_SKINBROWSER_NotEnoughMemory );
+ gtkMessageBox( GTK_MB_FATAL,MSGTR_SKINBROWSER_NotEnoughMemory );
return 0;
}
str[1]="";
@@ -55,7 +54,7 @@ int gtkFillSkinList( gchar * mdir )
{
tmp=strrchr( gg.gl_pathv[i],'/' ); tmp++;
if ( !strcmp( tmp,"default" ) ) continue;
- if ( ( str[0]=(char *)malloc( strlen( tmp ) + 1 ) ) == NULL ) { gtkMessageBox( MSGTR_SKINBROWSER_NotEnoughMemory ); return 0; }
+ if ( ( str[0]=(char *)malloc( strlen( tmp ) + 1 ) ) == NULL ) { gtkMessageBox( GTK_MB_FATAL,MSGTR_SKINBROWSER_NotEnoughMemory ); return 0; }
strcpy( str[0],tmp );
if ( gtkFindCList( SkinList,str[0] ) == -1 ) gtk_clist_append( GTK_CLIST( SkinList ),str );
free( str[0] );
@@ -83,16 +82,6 @@ void on_SkinList_select_row( GtkCList * clist,gint row,gint column,GdkEvent * be
if( bevent->type == GDK_2BUTTON_PRESS ) HideSkinBrowser();
}
-gboolean on_SkinBrowser_key_release_event( GtkWidget * widget,GdkEventKey * event,gpointer user_data )
-{
- switch ( event->keyval )
- {
- case GDK_Escape: on_SkinBrowser_Cancel( NULL,0 ); break;
- case GDK_Return: HideSkinBrowser(); break;
- }
- return FALSE;
-}
-
GtkWidget * create_SkinBrowser( void )
{
GtkWidget * SkinBrowser;
@@ -108,6 +97,10 @@ GtkWidget * create_SkinBrowser( void )
GtkWidget * hseparator5;
GtkWidget * hbuttonbox4;
GtkWidget * Cancel;
+ GtkWidget * Ok;
+ GtkAccelGroup * accel_group;
+
+ accel_group = gtk_accel_group_new ();
SkinBrowser=gtk_window_new( GTK_WINDOW_DIALOG );
gtk_widget_set_name( SkinBrowser,MSGTR_SkinBrowser );
@@ -209,16 +202,14 @@ GtkWidget * create_SkinBrowser( void )
label2=gtk_label_new( "label2" );
gtk_widget_set_name( label2,"label2" );
gtk_widget_ref( label2 );
- gtk_object_set_data_full( GTK_OBJECT( SkinBrowser ),"label2",label2,
- ( GtkDestroyNotify ) gtk_widget_unref );
+ gtk_object_set_data_full( GTK_OBJECT( SkinBrowser ),"label2",label2,(GtkDestroyNotify)gtk_widget_unref );
gtk_widget_show( label2 );
gtk_clist_set_column_widget( GTK_CLIST( SkinList ),0,label2 );
hseparator5=gtk_hseparator_new();
gtk_widget_set_name( hseparator5,"hseparator5" );
gtk_widget_ref( hseparator5 );
- gtk_object_set_data_full( GTK_OBJECT( SkinBrowser ),"hseparator5",hseparator5,
- ( GtkDestroyNotify ) gtk_widget_unref );
+ gtk_object_set_data_full( GTK_OBJECT( SkinBrowser ),"hseparator5",hseparator5,(GtkDestroyNotify)gtk_widget_unref );
gtk_widget_show( hseparator5 );
gtk_box_pack_start( GTK_BOX( vbox5 ),hseparator5,FALSE,TRUE,0 );
gtk_widget_set_usize( hseparator5,-2,9 );
@@ -226,55 +217,44 @@ GtkWidget * create_SkinBrowser( void )
hbuttonbox4=gtk_hbutton_box_new();
gtk_widget_set_name( hbuttonbox4,"hbuttonbox4" );
gtk_widget_ref( hbuttonbox4 );
- gtk_object_set_data_full( GTK_OBJECT( SkinBrowser ),"hbuttonbox4",hbuttonbox4,
- ( GtkDestroyNotify ) gtk_widget_unref );
+ gtk_object_set_data_full( GTK_OBJECT( SkinBrowser ),"hbuttonbox4",hbuttonbox4,(GtkDestroyNotify)gtk_widget_unref );
gtk_widget_show( hbuttonbox4 );
gtk_box_pack_start( GTK_BOX( vbox5 ),hbuttonbox4,FALSE,TRUE,0 );
gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox4 ),GTK_BUTTONBOX_END );
gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox4 ),0 );
gtk_button_box_set_child_size( GTK_BUTTON_BOX( hbuttonbox4 ),80,0 );
- sbOk=gtk_button_new_with_label( MSGTR_Ok );
- gtk_widget_set_name( sbOk,MSGTR_Ok );
- gtk_widget_ref( sbOk );
- gtk_object_set_data_full( GTK_OBJECT( SkinBrowser ),MSGTR_Ok,sbOk,
- ( GtkDestroyNotify ) gtk_widget_unref );
- gtk_widget_show( sbOk );
- gtk_container_add( GTK_CONTAINER( hbuttonbox4 ),sbOk );
- gtk_widget_set_usize( sbOk,-2,33 );
- GTK_WIDGET_SET_FLAGS( sbOk,GTK_CAN_DEFAULT );
+ 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( SkinBrowser ),MSGTR_Ok,Ok,(GtkDestroyNotify)gtk_widget_unref );
+ gtk_widget_show( Ok );
+ gtk_container_add( GTK_CONTAINER( hbuttonbox4 ),Ok );
+ gtk_widget_set_usize( Ok,-2,33 );
+ GTK_WIDGET_SET_FLAGS( Ok,GTK_CAN_DEFAULT );
+ gtk_widget_add_accelerator( Ok,"released",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE );
Cancel=gtk_button_new_with_label( MSGTR_Cancel );
gtk_widget_set_name( Cancel,MSGTR_Cancel );
gtk_widget_ref( Cancel );
- gtk_object_set_data_full( GTK_OBJECT( SkinBrowser ),MSGTR_Cancel,Cancel,
- ( GtkDestroyNotify ) gtk_widget_unref );
+ gtk_object_set_data_full( GTK_OBJECT( SkinBrowser ),MSGTR_Cancel,Cancel,(GtkDestroyNotify)gtk_widget_unref );
gtk_widget_show( Cancel );
gtk_container_add( GTK_CONTAINER( hbuttonbox4 ),Cancel );
gtk_widget_set_usize( Cancel,-2,33 );
GTK_WIDGET_SET_FLAGS( Cancel,GTK_CAN_DEFAULT );
+ gtk_widget_add_accelerator( Cancel,"released",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE );
- gtk_signal_connect( GTK_OBJECT( SkinBrowser ),"destroy",
- GTK_SIGNAL_FUNC( on_SkinBrowser_destroy ),
- NULL );
- gtk_signal_connect( GTK_OBJECT( SkinBrowser ),"key_release_event",
- GTK_SIGNAL_FUNC( on_SkinBrowser_key_release_event ),
- NULL );
- gtk_signal_connect( GTK_OBJECT( SkinList ),"select_row",
- GTK_SIGNAL_FUNC( on_SkinList_select_row ),
- NULL );
- gtk_signal_connect( GTK_OBJECT( sbOk ),"released",
- GTK_SIGNAL_FUNC( on_SkinBrowser_destroy ),
- NULL );
- gtk_signal_connect( GTK_OBJECT( Cancel ),"released",
- GTK_SIGNAL_FUNC( on_SkinBrowser_Cancel ),
- NULL );
+ gtk_signal_connect( GTK_OBJECT( SkinBrowser ),"destroy",GTK_SIGNAL_FUNC( on_SkinBrowser_destroy ),NULL );
+ gtk_signal_connect( GTK_OBJECT( SkinList ),"select_row",GTK_SIGNAL_FUNC( on_SkinList_select_row ),NULL );
+ gtk_signal_connect( GTK_OBJECT( Ok ),"released",GTK_SIGNAL_FUNC( on_SkinBrowser_destroy ),NULL );
+ gtk_signal_connect( GTK_OBJECT( Cancel ),"released",GTK_SIGNAL_FUNC( on_SkinBrowser_Cancel ),NULL );
if ( ( sbMPlayerDirInHome=(char *)calloc( 1,strlen( skinDirInHome ) + 4 ) ) != NULL )
{ strcpy( sbMPlayerDirInHome,skinDirInHome ); strcat( sbMPlayerDirInHome,"/*" ); }
if ( ( sbMPlayerPrefixDir=(char *)calloc( 1,strlen( skinMPlayerDir ) + 4 ) ) != NULL )
{ strcpy( sbMPlayerPrefixDir,skinMPlayerDir ); strcat( sbMPlayerPrefixDir,"/*" ); }
+ gtk_window_add_accel_group( GTK_WINDOW( SkinBrowser ),accel_group );
gtk_widget_grab_focus( SkinList );
return SkinBrowser;
diff --git a/Gui/mplayer/menu.h b/Gui/mplayer/menu.h
index 4d4d1238a8..4cb6952371 100644
--- a/Gui/mplayer/menu.h
+++ b/Gui/mplayer/menu.h
@@ -123,7 +123,7 @@ void mplMenuInit( void )
#ifdef DEBUG
dbprintf( 1,MSGTR_NEMFMR );
#endif
- gtkMessageBox( MSGTR_NEMFMR );
+ gtkMessageBox( GTK_MB_FATAL,MSGTR_NEMFMR );
return;
}
diff --git a/Gui/mplayer/play.c b/Gui/mplayer/play.c
index 0a45d3fe8a..fbf9b610c9 100644
--- a/Gui/mplayer/play.c
+++ b/Gui/mplayer/play.c
@@ -127,78 +127,73 @@ listItems tmpList;
void ChangeSkin( void )
{
- if ( strcmp( skinName,gtkShMem->sb.name ) )
- {
- int ret;
+ int ret;
+ if ( !strcmp( skinName,gtkShMem->sb.name ) ) return;
#ifdef DEBUG
- dbprintf( 1,"[psignal] skin: %s\n",gtkShMem->sb.name );
+ dbprintf( 1,"[psignal] skin: %s\n",gtkShMem->sb.name );
#endif
- mainVisible=0;
+ mainVisible=0;
- appInitStruct( &tmpList );
- skinAppMPlayer=&tmpList;
- ret=skinRead( gtkShMem->sb.name );
+ appInitStruct( &tmpList );
+ skinAppMPlayer=&tmpList;
+ fntFreeFont();
+ ret=skinRead( gtkShMem->sb.name );
- fntFreeFont();
+ appInitStruct( &tmpList );
+ skinAppMPlayer=&appMPlayer;
+ appInitStruct( &appMPlayer );
+ if ( !ret ) strcpy( skinName,gtkShMem->sb.name );
+ skinRead( skinName );
+ if ( ret )
+ {
+ mainVisible=1;
+ return;
+ }
- appInitStruct( &tmpList );
- skinAppMPlayer=&appMPlayer;
- appInitStruct( &appMPlayer );
- if ( !ret ) strcpy( skinName,gtkShMem->sb.name );
- skinRead( skinName );
+ if ( appMPlayer.menuBase.Bitmap.Image )
+ {
+ if ( mplMenuDrawBuffer ) free( mplMenuDrawBuffer );
+ if ( ( mplMenuDrawBuffer = (unsigned char *)calloc( 1,appMPlayer.menuBase.Bitmap.ImageSize ) ) == NULL )
+ { message( False,MSGTR_NEMDB ); return; }
+ wsResizeWindow( &appMPlayer.menuWindow,appMPlayer.menuBase.width,appMPlayer.menuBase.height );
+ wsResizeImage( &appMPlayer.menuWindow,appMPlayer.menuBase.width,appMPlayer.menuBase.height );
+ }
- if ( ret )
+ mplSkinChanged=1;
+ if ( appMPlayer.sub.Bitmap.Image ) wsResizeImage( &appMPlayer.subWindow,appMPlayer.sub.Bitmap.Width,appMPlayer.sub.Bitmap.Height );
+ if ( !mplShMem->Playing )
+ {
+ mplSkinChanged=0;
+ if ( !appMPlayer.subWindow.isFullScreen )
{
- mainVisible=1;
- return;
- }
+ wsResizeWindow( &appMPlayer.subWindow,appMPlayer.sub.width,appMPlayer.sub.height );
+ wsMoveWindow( &appMPlayer.subWindow,appMPlayer.sub.x,appMPlayer.sub.y );
+ }
+ wsSetBackgroundRGB( &appMPlayer.subWindow,appMPlayer.subR,appMPlayer.subG,appMPlayer.subB );
+ wsClearWindow( appMPlayer.subWindow );
+ mplSubRender=1; wsPostRedisplay( &appMPlayer.subWindow );
+ }
- if ( appMPlayer.menuBase.Bitmap.Image )
- {
- if ( mplMenuDrawBuffer ) free( mplMenuDrawBuffer );
- if ( ( mplMenuDrawBuffer = (unsigned char *)calloc( 1,appMPlayer.menuBase.Bitmap.ImageSize ) ) == NULL )
- { message( False,MSGTR_NEMDB ); return; }
- wsResizeWindow( &appMPlayer.menuWindow,appMPlayer.menuBase.width,appMPlayer.menuBase.height );
- wsResizeImage( &appMPlayer.menuWindow,appMPlayer.menuBase.width,appMPlayer.menuBase.height );
- }
-
- mplSkinChanged=1;
- if ( appMPlayer.sub.Bitmap.Image ) wsResizeImage( &appMPlayer.subWindow,appMPlayer.sub.Bitmap.Width,appMPlayer.sub.Bitmap.Height );
- if ( !mplShMem->Playing )
- {
- mplSkinChanged=0;
- if ( !appMPlayer.subWindow.isFullScreen )
- {
- wsResizeWindow( &appMPlayer.subWindow,appMPlayer.sub.width,appMPlayer.sub.height );
- wsMoveWindow( &appMPlayer.subWindow,appMPlayer.sub.x,appMPlayer.sub.y );
- }
- wsSetBackgroundRGB( &appMPlayer.subWindow,appMPlayer.subR,appMPlayer.subG,appMPlayer.subB );
- wsClearWindow( appMPlayer.subWindow );
- mplSubRender=1; wsPostRedisplay( &appMPlayer.subWindow );
- }
-
- if ( mplDrawBuffer ) free( mplDrawBuffer );
- if ( ( mplDrawBuffer = (unsigned char *)calloc( 1,appMPlayer.main.Bitmap.ImageSize ) ) == NULL )
- { message( False,MSGTR_NEMDB ); return; }
- wsVisibleWindow( &appMPlayer.mainWindow,wsHideWindow );
- wsResizeWindow( &appMPlayer.mainWindow,appMPlayer.main.width,appMPlayer.main.height );
- wsMoveWindow( &appMPlayer.mainWindow,appMPlayer.main.x,appMPlayer.main.y );
- wsResizeImage( &appMPlayer.mainWindow,appMPlayer.main.width,appMPlayer.main.height );
- wsSetShape( &appMPlayer.mainWindow,appMPlayer.main.Mask.Image );
- mainVisible=1; mplMainRender=1; wsPostRedisplay( &appMPlayer.mainWindow );
- wsWindowDecoration( &appMPlayer.mainWindow,appMPlayer.mainDecoration );
- wsVisibleWindow( &appMPlayer.mainWindow,wsShowWindow );
+ if ( mplDrawBuffer ) free( mplDrawBuffer );
+ if ( ( mplDrawBuffer = (unsigned char *)calloc( 1,appMPlayer.main.Bitmap.ImageSize ) ) == NULL )
+ { message( False,MSGTR_NEMDB ); return; }
+ wsVisibleWindow( &appMPlayer.mainWindow,wsHideWindow );
+ wsResizeWindow( &appMPlayer.mainWindow,appMPlayer.main.width,appMPlayer.main.height );
+ wsMoveWindow( &appMPlayer.mainWindow,appMPlayer.main.x,appMPlayer.main.y );
+ wsResizeImage( &appMPlayer.mainWindow,appMPlayer.main.width,appMPlayer.main.height );
+ wsSetShape( &appMPlayer.mainWindow,appMPlayer.main.Mask.Image );
+ mainVisible=1; mplMainRender=1; wsPostRedisplay( &appMPlayer.mainWindow );
+ wsWindowDecoration( &appMPlayer.mainWindow,appMPlayer.mainDecoration );
+ wsVisibleWindow( &appMPlayer.mainWindow,wsShowWindow );
- btnModify( evSetVolume,mplShMem->Volume );
- btnModify( evSetBalance,mplShMem->Balance );
- btnModify( evSetMoviePosition,mplShMem->Position );
- }
- mplShMem->SkinChange=0;
+ btnModify( evSetVolume,mplShMem->Volume );
+ btnModify( evSetBalance,mplShMem->Balance );
+ btnModify( evSetMoviePosition,mplShMem->Position );
}
void EventHandling( void )
{
wsHandleEvents();mplTimerHandler(0); // handle GUI timer events
- if ( mplShMem->SkinChange ) ChangeSkin();
+ if ( mplShMem->SkinChange ) { ChangeSkin(); mplShMem->SkinChange=0; }
}
diff --git a/Gui/mplayer/psignal.c b/Gui/mplayer/psignal.c
index af05bc79be..9524b544ac 100644
--- a/Gui/mplayer/psignal.c
+++ b/Gui/mplayer/psignal.c
@@ -16,7 +16,6 @@
#include "../../config.h"
#include "../../libvo/x11_common.h"
-//#include "../../libvo/sub.h"
#include "./mplayer.h"
@@ -41,7 +40,7 @@ void mplErrorHandler( int critical,const char * format, ... )
n=vsnprintf( p,512,format,ap );
va_end( ap );
mplCriticalError=critical;
- gtkMessageBox( p );
+ gtkMessageBox( GTK_MB_ERROR,p );
}
void gtkSigHandler( int s )
@@ -63,8 +62,7 @@ void gtkSigHandler( int s )
case evSkinBrowser:
if ( gtkVisibleSkinBrowser ) gtk_widget_hide( SkinBrowser );
gtkClearList( SkinList );
- if ( !gtkFillSkinList( sbMPlayerPrefixDir ) ) break;
- if ( gtkFillSkinList( sbMPlayerDirInHome ) )
+ if ( gtkFillSkinList( sbMPlayerPrefixDir )&&gtkFillSkinList( sbMPlayerDirInHome ) )
{
gtkSetDefaultToCList( SkinList,skinName );
gtk_widget_show( SkinBrowser );
@@ -97,8 +95,6 @@ void gtkSigHandler( int s )
break;
case evMessageBox:
gtk_label_set_text( gtkMessageBoxText,(char *)gtkShMem->mb.str );
- gtk_widget_set_usize( MessageBox,gtkShMem->mb.sx,gtkShMem->mb.sy );
- gtk_widget_set_usize( gtkMessageBoxText,gtkShMem->mb.tsx,gtkShMem->mb.tsy );
if ( gtkVisibleMessageBox ) gtk_widget_hide( MessageBox );
gtk_widget_show( MessageBox );
gtkVisibleMessageBox=1;
diff --git a/Gui/mplayer/widgets.c b/Gui/mplayer/widgets.c
index 30ed8a31b9..6f91414d76 100644
--- a/Gui/mplayer/widgets.c
+++ b/Gui/mplayer/widgets.c
@@ -27,6 +27,9 @@
#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;
@@ -57,7 +60,7 @@ void widgetsCreate( void )
SkinBrowser=create_SkinBrowser();
PlayList=create_PlayList();
FileSelect=create_FileSelect();
- MessageBox=create_MessageBox();
+ MessageBox=create_MessageBox(0);
Options=create_Options();
}
@@ -103,17 +106,9 @@ void gtkDone( void ){
kill( gtkPID,SIGKILL );
}
-void gtkMessageBox( gchar * str )
+void gtkMessageBox( int type,gchar * str )
{
- gtkShMem->mb.sx=420; gtkShMem->mb.sy=128;
- gtkShMem->mb.tsx=384; gtkShMem->mb.tsy=77;
- if ( strlen( str ) > 200 )
- {
- gtkShMem->mb.sx=512;
- gtkShMem->mb.sy=128;
- gtkShMem->mb.tsx=476;
- gtkShMem->mb.tsy=77;
- }
+ gtkShMem->mb.type=type;
strcpy( gtkShMem->mb.str,str );
gtkSendMessage( evMessageBox );
}
diff --git a/Gui/mplayer/widgets.h b/Gui/mplayer/widgets.h
index 7d3184e370..bed4fbbecb 100644
--- a/Gui/mplayer/widgets.h
+++ b/Gui/mplayer/widgets.h
@@ -7,6 +7,12 @@
#include "../../linux/shmem.h"
+#define GTK_MB_SIMPLE 0
+#define GTK_MB_MODAL 1
+#define GTK_MB_FATAL 2
+#define GTK_MB_ERROR 4
+#define GTK_MB_WARNING 8
+
typedef struct
{
char dir[ 1024 ];
@@ -19,6 +25,7 @@ typedef struct
int sy;
int tsx;
int tsy;
+ int type;
char str[512];
} gtkMessageBoxStruct;
@@ -73,7 +80,7 @@ extern void widgetsCreate( void );
extern void gtkInit( int argc,char* argv[], char *envp[] );
extern void gtkDone( void );
-extern void gtkMessageBox( gchar * str );
+extern void gtkMessageBox( int type,gchar * str );
extern int gtkFillSkinList( gchar * dir );
extern void gtkClearList( GtkWidget * list );
extern void gtkSetDefaultToCList( GtkWidget * list,char * item );
diff --git a/Gui/skin/font.c b/Gui/skin/font.c
index 5c7dfab4e5..5d0efbb073 100644
--- a/Gui/skin/font.c
+++ b/Gui/skin/font.c
@@ -77,7 +77,7 @@ int fntRead( char * path,char * fname,int id )
cutItem( param,tmp,',',2 ); Fonts[id]->Fnt[i].sx=atoi( tmp );
cutItem( param,tmp,',',3 ); Fonts[id]->Fnt[i].sy=atoi( tmp );
#ifdef DEBUG
- dbprintf( 0,"[font] char: '%s' params: %d,%d %dx%d\n",command,Fonts[id]->Fnt[i].x,Fonts[id]->Fnt[i].y,Fonts[id]->Fnt[i].sx,Fonts[id]->Fnt[i].sy );
+ dbprintf( 3,"[font] char: '%s' params: %d,%d %dx%d\n",command,Fonts[id]->Fnt[i].x,Fonts[id]->Fnt[i].y,Fonts[id]->Fnt[i].sx,Fonts[id]->Fnt[i].sy );
#endif
}
else
@@ -86,7 +86,7 @@ int fntRead( char * path,char * fname,int id )
{
strcpy( tmp,path ); strcat( tmp,param );
#ifdef DEBUG
- dbprintf( 0,"[font] font imagefile: %s\n",tmp );
+ dbprintf( 3,"[font] font imagefile: %s\n",tmp );
#endif
if ( skinBPRead( tmp,&Fonts[id]->Bitmap ) ) return -2;
}