comparison gtk/dw.c @ 629:a5deb87b26e4

Add support for using initial directory in dw_file_browse()
author mhessling@81767d24-ef19-dc11-ae90-00e081727c95
date Wed, 22 Oct 2008 02:14:34 +0000
parents 77cc62375fee
children 87db549e79bc
comparison
equal deleted inserted replaced
628:7d93356f250a 629:a5deb87b26e4
10269 GtkFileFilter *filter1 = NULL; 10269 GtkFileFilter *filter1 = NULL;
10270 GtkFileFilter *filter2 = NULL; 10270 GtkFileFilter *filter2 = NULL;
10271 gchar *button; 10271 gchar *button;
10272 char *filename = NULL; 10272 char *filename = NULL;
10273 char buf[1000]; 10273 char buf[1000];
10274 char mypath[PATH_MAX+1];
10275 char cwd[PATH_MAX+1];
10274 10276
10275 switch (flags ) 10277 switch (flags )
10276 { 10278 {
10277 case DW_DIRECTORY_OPEN: 10279 case DW_DIRECTORY_OPEN:
10278 action = GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER; 10280 action = GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER;
10316 gtk_file_chooser_add_filter( GTK_FILE_CHOOSER( filew ), filter2 ); 10318 gtk_file_chooser_add_filter( GTK_FILE_CHOOSER( filew ), filter2 );
10317 } 10319 }
10318 10320
10319 if ( defpath ) 10321 if ( defpath )
10320 { 10322 {
10321 gtk_file_chooser_set_current_folder( GTK_FILE_CHOOSER( filew ), defpath ); 10323 if ( g_path_is_absolute( defpath ) )
10324 {
10325 strcpy( mypath, defpath );
10326 }
10327 else
10328 {
10329 if ( !getcwd(cwd, PATH_MAX ) )
10330 {
10331 }
10332 else
10333 {
10334 if ( rel2abs( defpath, cwd, mypath, PATH_MAX ) )
10335 {
10336 }
10337 }
10338 }
10339 gtk_file_chooser_set_current_folder( GTK_FILE_CHOOSER( filew ), mypath );
10322 } 10340 }
10323 10341
10324 if ( gtk_dialog_run( GTK_DIALOG( filew ) ) == GTK_RESPONSE_ACCEPT ) 10342 if ( gtk_dialog_run( GTK_DIALOG( filew ) ) == GTK_RESPONSE_ACCEPT )
10325 { 10343 {
10326 filename = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER( filew ) ); 10344 filename = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER( filew ) );
10566 if (!_gtk_moz_embed_new) 10584 if (!_gtk_moz_embed_new)
10567 return -1; 10585 return -1;
10568 10586
10569 DW_MUTEX_LOCK; 10587 DW_MUTEX_LOCK;
10570 _gtk_moz_embed_load_url( GTK_MOZ_EMBED(handle), url ); 10588 _gtk_moz_embed_load_url( GTK_MOZ_EMBED(handle), url );
10589 gtk_widget_show(GTK_WIDGET(handle));
10571 DW_MUTEX_UNLOCK; 10590 DW_MUTEX_UNLOCK;
10572 return 0; 10591 return 0;
10573 #endif 10592 #endif
10574 return -1; 10593 return -1;
10575 } 10594 }