Mercurial > mplayer.hg
annotate gui/dialog/msgbox.c @ 36680:cc70b0fb8d36
Add a message box type "information".
author | ib |
---|---|
date | Sun, 02 Feb 2014 10:52:47 +0000 |
parents | d8c696db2948 |
children | eed2fb870f43 |
rev | line source |
---|---|
33572 | 1 /* |
2 * This file is part of MPlayer. | |
3 * | |
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. | |
8 * | |
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. | |
13 * | |
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. | |
17 */ | |
18 | |
33738 | 19 #include <string.h> |
20 | |
35525 | 21 #include "gui/app/app.h" |
36053 | 22 #include "gui/app/gui.h" |
33572 | 23 #include "help_mp.h" |
24 | |
35526 | 25 #include "pixmaps/error.xpm" |
26 #include "pixmaps/warning.xpm" | |
36680 | 27 #include "pixmaps/information.xpm" |
33572 | 28 |
35529 | 29 #include "dialog.h" |
33572 | 30 #include "msgbox.h" |
31 #include "tools.h" | |
32 | |
33 GtkWidget * gtkMessageBoxText; | |
34 GtkWidget * MessageBox = NULL; | |
36680 | 35 GtkWidget * InformationPixmap; |
36031
8ae2e20462a7
Move variable declarations and definitions where they belong.
ib
parents:
36023
diff
changeset
|
36 GtkWidget * WarningPixmap; |
8ae2e20462a7
Move variable declarations and definitions where they belong.
ib
parents:
36023
diff
changeset
|
37 GtkWidget * ErrorPixmap; |
33572 | 38 |
39 static void on_Ok_released( GtkButton * button,gpointer user_data ) | |
40 { | |
36010 | 41 (void) button; |
42 (void) user_data; | |
43 | |
33572 | 44 gtk_widget_destroy( MessageBox ); |
45 } | |
46 | |
35996 | 47 static GtkWidget * CreateMessageBox( void ) |
33572 | 48 { |
49 GtkWidget * vbox1; | |
50 GtkWidget * hbox1; | |
51 GtkWidget * hbuttonbox1; | |
52 GtkWidget * Ok; | |
53 GtkAccelGroup * accel_group; | |
54 GtkStyle * pixmapstyle; | |
55 GdkPixmap * pixmapwid; | |
56 GdkBitmap * mask; | |
57 | |
58 accel_group=gtk_accel_group_new(); | |
59 | |
60 MessageBox=gtk_window_new( GTK_WINDOW_TOPLEVEL ); | |
61 gtk_widget_set_events( MessageBox,GDK_EXPOSURE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_VISIBILITY_NOTIFY_MASK ); | |
62 gtk_window_set_title( GTK_WINDOW( MessageBox ),"MPlayer ..." ); | |
63 gtk_window_set_position( GTK_WINDOW( MessageBox ),GTK_WIN_POS_CENTER ); | |
64 gtk_window_set_modal( GTK_WINDOW( MessageBox ),TRUE ); | |
36062 | 65 gtk_window_set_policy( GTK_WINDOW( MessageBox ),FALSE,FALSE,TRUE ); |
36053 | 66 gtk_window_set_wmclass( GTK_WINDOW( MessageBox ),"Message",MPlayer ); |
33572 | 67 |
68 gtk_widget_realize( MessageBox ); | |
69 gtkAddIcon( MessageBox ); | |
70 | |
36023
a04e8798227b
Cosmetic: Prefix all functions in dialog/tools.c with gtk.
ib
parents:
36010
diff
changeset
|
71 vbox1=gtkAddVBox( gtkAddDialogFrame( MessageBox ),0 ); |
a04e8798227b
Cosmetic: Prefix all functions in dialog/tools.c with gtk.
ib
parents:
36010
diff
changeset
|
72 hbox1=gtkAddHBox( vbox1,1 ); |
33572 | 73 |
74 pixmapstyle=gtk_widget_get_style( MessageBox ); | |
75 | |
36680 | 76 pixmapwid=gdk_pixmap_colormap_create_from_xpm_d( MessageBox->window,gdk_colormap_get_system(),&mask,&pixmapstyle->bg[GTK_STATE_NORMAL],(gchar ** )information_xpm ); |
77 InformationPixmap=gtk_pixmap_new( pixmapwid,mask ); | |
33572 | 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 ); | |
82 | |
36680 | 83 gtk_widget_hide( InformationPixmap ); |
84 gtk_box_pack_start( GTK_BOX( hbox1 ),InformationPixmap,FALSE,FALSE,0 ); | |
85 gtk_widget_set_usize( InformationPixmap,55,-2 ); | |
86 | |
33572 | 87 gtk_widget_hide( WarningPixmap ); |
88 gtk_box_pack_start( GTK_BOX( hbox1 ),WarningPixmap,FALSE,FALSE,0 ); | |
89 gtk_widget_set_usize( WarningPixmap,55,-2 ); | |
90 | |
91 gtk_widget_hide( ErrorPixmap ); | |
92 gtk_box_pack_start( GTK_BOX( hbox1 ),ErrorPixmap,FALSE,FALSE,0 ); | |
93 gtk_widget_set_usize( ErrorPixmap,55,-2 ); | |
94 | |
95 gtkMessageBoxText=gtk_label_new( "Text jol. Ha ezt megerted,akkor neked nagyon jo a magyar tudasod,te." ); | |
96 gtk_widget_show( gtkMessageBoxText ); | |
97 gtk_box_pack_start( GTK_BOX( hbox1 ),gtkMessageBoxText,TRUE,TRUE,0 ); | |
98 // gtk_label_set_justify( GTK_LABEL( gtkMessageBoxText ),GTK_JUSTIFY_FILL ); | |
99 gtk_label_set_justify( GTK_LABEL( gtkMessageBoxText ),GTK_JUSTIFY_CENTER ); | |
100 gtk_label_set_line_wrap( GTK_LABEL( gtkMessageBoxText ),FALSE ); | |
101 | |
36023
a04e8798227b
Cosmetic: Prefix all functions in dialog/tools.c with gtk.
ib
parents:
36010
diff
changeset
|
102 gtkAddHSeparator( vbox1 ); |
a04e8798227b
Cosmetic: Prefix all functions in dialog/tools.c with gtk.
ib
parents:
36010
diff
changeset
|
103 hbuttonbox1=gtkAddHButtonBox( vbox1 ); |
a04e8798227b
Cosmetic: Prefix all functions in dialog/tools.c with gtk.
ib
parents:
36010
diff
changeset
|
104 Ok=gtkAddButton( MSGTR_Ok,hbuttonbox1 ); |
33572 | 105 |
106 gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); | |
107 gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); | |
108 | |
36008 | 109 gtk_signal_connect( GTK_OBJECT( MessageBox ),"destroy",GTK_SIGNAL_FUNC( gtk_widget_destroyed ),&MessageBox ); |
33572 | 110 gtk_signal_connect( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( on_Ok_released ),NULL ); |
111 | |
112 gtk_window_add_accel_group( GTK_WINDOW( MessageBox ),accel_group ); | |
113 | |
114 return MessageBox; | |
115 } | |
35991 | 116 |
117 void ShowMessageBox( const char * msg ) | |
118 { | |
36007
90ff4280cc80
There is no need to hide the widget prior to destruction.
ib
parents:
35996
diff
changeset
|
119 if ( MessageBox ) gtk_widget_destroy( MessageBox ); |
35996 | 120 MessageBox=CreateMessageBox(); |
35991 | 121 if ( strlen( msg ) < 20 ) gtk_widget_set_usize( MessageBox,196,-1 ); |
122 } |