comparison src/gtkutil.c @ 58817:65f1b18b7f66

* gtkutil.c (xg_get_file_with_chooser): Handle local files only. Set current folder in file chooser if default_filename is a directory.
author Jan Djärv <jan.h.d@swipnet.se>
date Tue, 07 Dec 2004 08:09:10 +0000
parents 86fddd350b35
children f8cddae7d959
comparison
equal deleted inserted replaced
58816:b392b0c22a16 58817:65f1b18b7f66
1198 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, 1198 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
1199 (mustmatch_p || only_dir_p ? 1199 (mustmatch_p || only_dir_p ?
1200 GTK_STOCK_OPEN : GTK_STOCK_OK), 1200 GTK_STOCK_OPEN : GTK_STOCK_OK),
1201 GTK_RESPONSE_OK, 1201 GTK_RESPONSE_OK,
1202 NULL); 1202 NULL);
1203 gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (filewin), TRUE);
1203 1204
1204 if (default_filename) 1205 if (default_filename)
1205 { 1206 {
1206 Lisp_Object file; 1207 Lisp_Object file;
1207 struct gcpro gcpro1; 1208 struct gcpro gcpro1;
1208 GCPRO1 (file); 1209 GCPRO1 (file);
1209 1210
1211 file = build_string (default_filename);
1212
1210 /* File chooser does not understand ~/... in the file name. It must be 1213 /* File chooser does not understand ~/... in the file name. It must be
1211 an absolute name starting with /. */ 1214 an absolute name starting with /. */
1212 if (default_filename[0] != '/') 1215 if (default_filename[0] != '/')
1213 { 1216 file = Fexpand_file_name (file, Qnil);
1214 file = Fexpand_file_name (build_string (default_filename), Qnil); 1217
1215 default_filename = SDATA (file); 1218 default_filename = SDATA (file);
1216 } 1219 if (Ffile_directory_p (file))
1217 1220 gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (filewin),
1218 gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (filewin), 1221 default_filename);
1219 default_filename); 1222 else
1223 gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (filewin),
1224 default_filename);
1220 1225
1221 UNGCPRO; 1226 UNGCPRO;
1222 } 1227 }
1223 1228
1224 *func = xg_get_file_name_from_chooser; 1229 *func = xg_get_file_name_from_chooser;