2 * This file is part of MPlayer.
4 * MPlayer is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * MPlayer is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License along
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 #include "gui/mplayer/pixmaps/error.xpm"
24 #include "gui/mplayer/pixmaps/warning.xpm"
26 #include "gui/mplayer/widgets.h"
28 #include "gtk_common.h"
30 GtkWidget
* gtkMessageBoxText
;
31 GtkWidget
* MessageBox
= NULL
;
33 void ShowMessageBox( const char * msg
)
35 if ( MessageBox
) { gtk_widget_hide( MessageBox
); gtk_widget_destroy( MessageBox
); }
36 MessageBox
=create_MessageBox( 0 );
37 if ( strlen( msg
) < 20 ) gtk_widget_set_usize( MessageBox
,196,-1 );
40 static void on_Ok_released( GtkButton
* button
,gpointer user_data
)
42 gtk_widget_hide( MessageBox
);
43 gtk_widget_destroy( MessageBox
);
47 GtkWidget
* create_MessageBox( int type
)
51 GtkWidget
* hbuttonbox1
;
53 GtkAccelGroup
* accel_group
;
54 GtkStyle
* pixmapstyle
;
55 GdkPixmap
* pixmapwid
;
58 accel_group
=gtk_accel_group_new();
60 MessageBox
=gtk_window_new( GTK_WINDOW_TOPLEVEL
);
61 gtk_widget_set_name( MessageBox
,"MessageBox" );
62 gtk_object_set_data( GTK_OBJECT( MessageBox
),"MessageBox",MessageBox
);
63 gtk_widget_set_events( MessageBox
,GDK_EXPOSURE_MASK
| GDK_KEY_PRESS_MASK
| GDK_KEY_RELEASE_MASK
| GDK_VISIBILITY_NOTIFY_MASK
);
64 gtk_window_set_title( GTK_WINDOW( MessageBox
),"MPlayer ..." );
65 gtk_window_set_position( GTK_WINDOW( MessageBox
),GTK_WIN_POS_CENTER
);
66 gtk_window_set_modal( GTK_WINDOW( MessageBox
),TRUE
);
67 gtk_window_set_policy( GTK_WINDOW( MessageBox
),TRUE
,TRUE
,FALSE
);
68 gtk_window_set_wmclass( GTK_WINDOW( MessageBox
),"Message","MPlayer" );
70 gtk_widget_realize( MessageBox
);
71 gtkAddIcon( MessageBox
);
73 vbox1
=AddVBox( AddDialogFrame( MessageBox
),0 );
74 hbox1
=AddHBox( vbox1
,1 );
76 pixmapstyle
=gtk_widget_get_style( MessageBox
);
78 pixmapwid
=gdk_pixmap_colormap_create_from_xpm_d( MessageBox
->window
,gdk_colormap_get_system(),&mask
,&pixmapstyle
->bg
[GTK_STATE_NORMAL
],(gchar
** )warning_xpm
);
79 WarningPixmap
=gtk_pixmap_new( pixmapwid
,mask
);
80 pixmapwid
=gdk_pixmap_colormap_create_from_xpm_d( MessageBox
->window
,gdk_colormap_get_system(),&mask
,&pixmapstyle
->bg
[GTK_STATE_NORMAL
],(gchar
** )error_xpm
);
81 ErrorPixmap
=gtk_pixmap_new( pixmapwid
,mask
);
83 gtk_widget_set_name( WarningPixmap
,"pixmap1" );
84 gtk_widget_hide( WarningPixmap
);
85 gtk_box_pack_start( GTK_BOX( hbox1
),WarningPixmap
,FALSE
,FALSE
,0 );
86 gtk_widget_set_usize( WarningPixmap
,55,-2 );
88 gtk_widget_set_name( ErrorPixmap
,"pixmap1" );
89 gtk_widget_hide( ErrorPixmap
);
90 gtk_box_pack_start( GTK_BOX( hbox1
),ErrorPixmap
,FALSE
,FALSE
,0 );
91 gtk_widget_set_usize( ErrorPixmap
,55,-2 );
93 gtkMessageBoxText
=gtk_label_new( "Text jol. Ha ezt megerted,akkor neked nagyon jo a magyar tudasod,te." );
94 gtk_widget_set_name( gtkMessageBoxText
,"gtkMessageBoxText" );
95 gtk_widget_show( gtkMessageBoxText
);
96 gtk_box_pack_start( GTK_BOX( hbox1
),gtkMessageBoxText
,TRUE
,TRUE
,0 );
97 // gtk_label_set_justify( GTK_LABEL( gtkMessageBoxText ),GTK_JUSTIFY_FILL );
98 gtk_label_set_justify( GTK_LABEL( gtkMessageBoxText
),GTK_JUSTIFY_CENTER
);
99 gtk_label_set_line_wrap( GTK_LABEL( gtkMessageBoxText
),FALSE
);
101 AddHSeparator( vbox1
);
102 hbuttonbox1
=AddHButtonBox( vbox1
);
103 Ok
=AddButton( MSGTR_Ok
,hbuttonbox1
);
105 gtk_widget_add_accelerator( Ok
,"clicked",accel_group
,GDK_Return
,0,GTK_ACCEL_VISIBLE
);
106 gtk_widget_add_accelerator( Ok
,"clicked",accel_group
,GDK_Escape
,0,GTK_ACCEL_VISIBLE
);
108 gtk_signal_connect( GTK_OBJECT( MessageBox
),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy
),&MessageBox
);
109 gtk_signal_connect( GTK_OBJECT( Ok
),"clicked",GTK_SIGNAL_FUNC( on_Ok_released
),NULL
);
111 gtk_window_add_accel_group( GTK_WINDOW( MessageBox
),accel_group
);