Mercurial > mplayer.hg
annotate Gui/mplayer/gtk/url.c @ 6335:e9bd97d5c5cc
warning & newline fixes by Dominik Mierzejewski <dominik@rangers.eu.org>
author | arpi |
---|---|
date | Fri, 07 Jun 2002 22:43:29 +0000 |
parents | d42cb911d7f7 |
children | 8f49c75a2824 |
rev | line source |
---|---|
6298 | 1 |
2 #include <sys/types.h> | |
3 #include <sys/stat.h> | |
4 #include <unistd.h> | |
5 #include <stdlib.h> | |
6 #include <stdio.h> | |
7 #include <string.h> | |
8 | |
9 #include <gdk/gdkkeysyms.h> | |
10 #include <gtk/gtk.h> | |
11 | |
12 #include "url.h" | |
13 #include "../../interface.h" | |
14 #include "../../events.h" | |
6335
e9bd97d5c5cc
warning & newline fixes by Dominik Mierzejewski <dominik@rangers.eu.org>
arpi
parents:
6298
diff
changeset
|
15 #include "../widgets.h" |
6298 | 16 |
17 GtkWidget * URL; | |
18 int gtkVURLDialogBox = 0; | |
19 | |
20 static GtkWidget * URLCombo; | |
21 static GtkWidget * URLEntry; | |
22 static GList * URLComboEntrys = NULL; | |
23 | |
24 void ShowURLDialogBox( void ) | |
25 { | |
26 if ( gtkVURLDialogBox ) gtkActive( URL ); | |
27 else URL=create_URL(); | |
28 | |
29 if ( URLComboEntrys ) | |
30 { | |
31 gtk_entry_set_text( GTK_ENTRY( URLEntry ),URLComboEntrys->data ); | |
32 gtk_combo_set_popdown_strings( GTK_COMBO( URLCombo ),URLComboEntrys ); | |
33 } | |
34 | |
35 gtk_widget_show( URL ); | |
36 gtkVURLDialogBox=1; | |
37 } | |
38 | |
39 void HideURLDialogBox( void ) | |
40 { | |
41 gtk_widget_hide( URL ); | |
42 gtk_widget_destroy( URL ); | |
43 gtkVURLDialogBox=0; | |
44 } | |
45 | |
46 static gboolean on_URL_destroy_event( GtkWidget * widget,GdkEvent * event,gpointer user_data ) | |
47 { | |
48 HideURLDialogBox(); | |
49 return FALSE; | |
50 } | |
51 | |
52 static void on_Button_pressed( GtkButton * button,gpointer user_data ) | |
53 { | |
54 if ( (int)user_data ) | |
55 { | |
56 gchar * str= strdup( gtk_entry_get_text( GTK_ENTRY( URLEntry ) ) ); | |
57 | |
58 if ( str ) | |
59 { | |
60 if ( strncmp( str,"http://",7 ) && strncmp( str,"ftp://",6 ) && !strncmp( str,"mms://",6 ) ) | |
61 { | |
62 gchar * tmp; | |
63 tmp=malloc( strlen( str ) + 8 ); | |
64 sprintf( tmp,"http://%s",str ); | |
65 free( str ); str=tmp; | |
66 } | |
67 URLComboEntrys=g_list_prepend( URLComboEntrys,(gchar *)str ); | |
68 | |
69 guiSetFilename( guiIntfStruct.Filename,str ); guiIntfStruct.FilenameChanged=1; | |
70 mplEventHandling( evPlay,0 ); | |
71 } | |
72 } | |
73 HideURLDialogBox(); | |
74 } | |
75 | |
76 static void ab_URL_show( GtkButton * button,gpointer user_data ) | |
77 { gtkVURLDialogBox=(int)user_data; } | |
78 | |
79 GtkWidget * create_URL( void ) | |
80 { | |
81 GtkWidget * frame1; | |
82 GtkWidget * frame2; | |
83 GtkWidget * frame3; | |
84 GtkWidget * frame4; | |
85 GtkWidget * vbox1; | |
86 GtkWidget * hbox1; | |
87 GtkWidget * label1; | |
88 GtkWidget * frame5; | |
89 GtkWidget * hbuttonbox1; | |
90 GtkWidget * Ok; | |
91 GtkWidget * Cancel; | |
92 GtkAccelGroup * accel_group; | |
93 | |
94 accel_group=gtk_accel_group_new(); | |
95 | |
96 URL=gtk_window_new( GTK_WINDOW_DIALOG ); | |
97 gtk_widget_set_name( URL,"URL" ); | |
98 gtk_object_set_data( GTK_OBJECT( URL ),"URL",URL ); | |
99 gtk_widget_set_usize( URL,384,80 ); | |
100 GTK_WIDGET_SET_FLAGS( URL,GTK_CAN_FOCUS ); | |
101 GTK_WIDGET_SET_FLAGS( URL,GTK_CAN_DEFAULT ); | |
102 gtk_window_set_title( GTK_WINDOW( URL ),"Network streaming ..." ); | |
103 gtk_window_set_position( GTK_WINDOW( URL ),GTK_WIN_POS_CENTER ); | |
104 gtk_window_set_default_size( GTK_WINDOW( URL ),-1,80 ); | |
105 gtk_window_set_policy( GTK_WINDOW( URL ),TRUE,TRUE,FALSE ); | |
106 | |
107 frame1=gtk_frame_new( NULL ); | |
108 gtk_widget_set_name( frame1,"frame1" ); | |
109 gtk_widget_ref( frame1 ); | |
110 gtk_object_set_data_full( GTK_OBJECT( URL ),"frame1",frame1,(GtkDestroyNotify)gtk_widget_unref ); | |
111 gtk_widget_show( frame1 ); | |
112 gtk_container_add( GTK_CONTAINER( URL ),frame1 ); | |
113 gtk_container_set_border_width( GTK_CONTAINER( frame1 ),1 ); | |
114 gtk_frame_set_shadow_type( GTK_FRAME( frame1 ),GTK_SHADOW_IN ); | |
115 | |
116 frame2=gtk_frame_new( NULL ); | |
117 gtk_widget_set_name( frame2,"frame2" ); | |
118 gtk_widget_ref( frame2 ); | |
119 gtk_object_set_data_full( GTK_OBJECT( URL ),"frame2",frame2,(GtkDestroyNotify)gtk_widget_unref ); | |
120 gtk_widget_show( frame2 ); | |
121 gtk_container_add( GTK_CONTAINER( frame1 ),frame2 ); | |
122 gtk_container_set_border_width( GTK_CONTAINER( frame2 ),1 ); | |
123 gtk_frame_set_shadow_type( GTK_FRAME( frame2 ),GTK_SHADOW_NONE ); | |
124 | |
125 frame3=gtk_frame_new( NULL ); | |
126 gtk_widget_set_name( frame3,"frame3" ); | |
127 gtk_widget_ref( frame3 ); | |
128 gtk_object_set_data_full( GTK_OBJECT( URL ),"frame3",frame3,(GtkDestroyNotify)gtk_widget_unref ); | |
129 gtk_widget_show( frame3 ); | |
130 gtk_container_add( GTK_CONTAINER( frame2 ),frame3 ); | |
131 gtk_frame_set_shadow_type( GTK_FRAME( frame3 ),GTK_SHADOW_ETCHED_OUT ); | |
132 | |
133 frame4=gtk_frame_new( NULL ); | |
134 gtk_widget_set_name( frame4,"frame4" ); | |
135 gtk_widget_ref( frame4 ); | |
136 gtk_object_set_data_full( GTK_OBJECT( URL ),"frame4",frame4,(GtkDestroyNotify)gtk_widget_unref ); | |
137 gtk_widget_show( frame4 ); | |
138 gtk_container_add( GTK_CONTAINER( frame3 ),frame4 ); | |
139 gtk_frame_set_shadow_type( GTK_FRAME( frame4 ),GTK_SHADOW_NONE ); | |
140 | |
141 vbox1=gtk_vbox_new( FALSE,0 ); | |
142 gtk_widget_set_name( vbox1,"vbox1" ); | |
143 gtk_widget_ref( vbox1 ); | |
144 gtk_object_set_data_full( GTK_OBJECT( URL ),"vbox1",vbox1,(GtkDestroyNotify)gtk_widget_unref ); | |
145 gtk_widget_show( vbox1 ); | |
146 gtk_container_add( GTK_CONTAINER( frame4 ),vbox1 ); | |
147 | |
148 hbox1=gtk_hbox_new( FALSE,0 ); | |
149 gtk_widget_set_name( hbox1,"hbox1" ); | |
150 gtk_widget_ref( hbox1 ); | |
151 gtk_object_set_data_full( GTK_OBJECT( URL ),"hbox1",hbox1,(GtkDestroyNotify)gtk_widget_unref ); | |
152 gtk_widget_show( hbox1 ); | |
153 gtk_box_pack_start( GTK_BOX( vbox1 ),hbox1,TRUE,TRUE,0 ); | |
154 | |
155 label1=gtk_label_new( "URL: " ); | |
156 gtk_widget_set_name( label1,"label1" ); | |
157 gtk_widget_ref( label1 ); | |
158 gtk_object_set_data_full( GTK_OBJECT( URL ),"label1",label1,(GtkDestroyNotify)gtk_widget_unref ); | |
159 gtk_widget_show( label1 ); | |
160 gtk_box_pack_start( GTK_BOX( hbox1 ),label1,FALSE,FALSE,0 ); | |
161 gtk_widget_set_usize( label1,38,-2 ); | |
162 gtk_label_set_justify( GTK_LABEL( label1 ),GTK_JUSTIFY_FILL ); | |
163 gtk_misc_set_alignment( GTK_MISC( label1 ),0.5,0.49 ); | |
164 | |
165 URLCombo=gtk_combo_new(); | |
166 gtk_widget_set_name( URLCombo,"URLCombo" ); | |
167 gtk_widget_ref( URLCombo ); | |
168 gtk_object_set_data_full( GTK_OBJECT( URL ),"URLCombo",URLCombo,(GtkDestroyNotify)gtk_widget_unref ); | |
169 gtk_widget_show( URLCombo ); | |
170 gtk_box_pack_start( GTK_BOX( hbox1 ),URLCombo,TRUE,TRUE,0 ); | |
171 | |
172 URLEntry=GTK_COMBO( URLCombo )->entry; | |
173 gtk_widget_set_name( URLEntry,"URLEntry" ); | |
174 gtk_widget_ref( URLEntry ); | |
175 gtk_object_set_data_full( GTK_OBJECT( URL ),"URLEntry",URLEntry,(GtkDestroyNotify)gtk_widget_unref ); | |
176 gtk_widget_show( URLEntry ); | |
177 | |
178 frame5=gtk_frame_new( NULL ); | |
179 gtk_widget_set_name( frame5,"frame5" ); | |
180 gtk_widget_ref( frame5 ); | |
181 gtk_object_set_data_full( GTK_OBJECT( URL ),"frame5",frame5,(GtkDestroyNotify)gtk_widget_unref ); | |
182 gtk_widget_show( frame5 ); | |
183 gtk_box_pack_start( GTK_BOX( hbox1 ),frame5,FALSE,TRUE,0 ); | |
184 gtk_frame_set_shadow_type( GTK_FRAME( frame5 ),GTK_SHADOW_NONE ); | |
185 | |
186 hbuttonbox1=gtk_hbutton_box_new(); | |
187 gtk_widget_set_name( hbuttonbox1,"hbuttonbox1" ); | |
188 gtk_widget_ref( hbuttonbox1 ); | |
189 gtk_object_set_data_full( GTK_OBJECT( URL ),"hbuttonbox1",hbuttonbox1,(GtkDestroyNotify)gtk_widget_unref ); | |
190 gtk_widget_show( hbuttonbox1 ); | |
191 gtk_box_pack_start( GTK_BOX( vbox1 ),hbuttonbox1,FALSE,FALSE,0 ); | |
192 gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); | |
193 gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),0 ); | |
194 | |
195 Ok=gtk_button_new_with_label( "Ok" ); | |
196 gtk_widget_set_name( Ok,"Ok" ); | |
197 gtk_widget_ref( Ok ); | |
198 gtk_object_set_data_full( GTK_OBJECT( URL ),"Ok",Ok,(GtkDestroyNotify)gtk_widget_unref ); | |
199 gtk_widget_show( Ok ); | |
200 gtk_container_add( GTK_CONTAINER( hbuttonbox1 ),Ok ); | |
201 GTK_WIDGET_SET_FLAGS( Ok,GTK_CAN_DEFAULT ); | |
202 | |
203 Cancel=gtk_button_new_with_label( "Cancel" ); | |
204 gtk_widget_set_name( Cancel,"Cancel" ); | |
205 gtk_widget_ref( Cancel ); | |
206 gtk_object_set_data_full( GTK_OBJECT( URL ),"Cancel",Cancel,(GtkDestroyNotify)gtk_widget_unref ); | |
207 gtk_widget_show( Cancel ); | |
208 gtk_container_add( GTK_CONTAINER( hbuttonbox1 ),Cancel ); | |
209 GTK_WIDGET_SET_FLAGS( Cancel,GTK_CAN_DEFAULT ); | |
210 | |
211 gtk_widget_add_accelerator( Ok,"pressed",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); | |
212 // gtk_widget_add_accelerator( Ok,"pressed",accel_group,GDK_O,GDK_MOD1_MASK,GTK_ACCEL_VISIBLE ); | |
213 // gtk_widget_add_accelerator( Ok,"pressed",accel_group,GDK_o,GDK_MOD1_MASK,GTK_ACCEL_VISIBLE ); | |
214 gtk_widget_add_accelerator( Cancel,"pressed",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); | |
215 // gtk_widget_add_accelerator( Cancel,"pressed",accel_group,GDK_C,GDK_MOD1_MASK,GTK_ACCEL_VISIBLE ); | |
216 // gtk_widget_add_accelerator( Cancel,"pressed",accel_group,GDK_c,GDK_MOD1_MASK,GTK_ACCEL_VISIBLE ); | |
217 | |
218 gtk_signal_connect( GTK_OBJECT( URL ),"destroy",GTK_SIGNAL_FUNC( on_URL_destroy_event ),NULL ); | |
219 gtk_signal_connect( GTK_OBJECT( URL ),"show",GTK_SIGNAL_FUNC( ab_URL_show ),(void *)1 ); | |
220 gtk_signal_connect( GTK_OBJECT( URL ),"hide",GTK_SIGNAL_FUNC( ab_URL_show ),0 ); | |
221 | |
222 gtk_signal_connect( GTK_OBJECT( Ok ),"pressed",GTK_SIGNAL_FUNC( on_Button_pressed ),(void *)1 ); | |
223 gtk_signal_connect( GTK_OBJECT( Cancel ),"pressed",GTK_SIGNAL_FUNC( on_Button_pressed ),NULL ); | |
224 | |
225 gtk_widget_grab_default( Ok ); | |
226 gtk_window_add_accel_group( GTK_WINDOW( URL ),accel_group ); | |
227 | |
228 return URL; | |
229 } | |
230 |