aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan Djärv2004-12-07 08:09:10 +0000
committerJan Djärv2004-12-07 08:09:10 +0000
commitded997c16032a6c658e345452d7e5ec275c0642e (patch)
treeda50a088bfbb03391f5c33409671a8f7b2654fa4 /src
parent02c1e496791be00a9db737792379b2c2099c2a02 (diff)
downloademacs-ded997c16032a6c658e345452d7e5ec275c0642e.tar.gz
emacs-ded997c16032a6c658e345452d7e5ec275c0642e.zip
* gtkutil.c (xg_get_file_with_chooser): Handle local files only.
Set current folder in file chooser if default_filename is a directory.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/gtkutil.c17
2 files changed, 17 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 17dc673c681..2aaac0d9f72 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12004-12-07 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
2
3 * gtkutil.c (xg_get_file_with_chooser): Handle local files only.
4 Set current folder in file chooser if default_filename is a
5 directory.
6
12004-12-05 Stefan Monnier <monnier@iro.umontreal.ca> 72004-12-05 Stefan Monnier <monnier@iro.umontreal.ca>
2 8
3 * regex.c (GET_UNSIGNED_NUMBER): Signal an error when reaching the end. 9 * regex.c (GET_UNSIGNED_NUMBER): Signal an error when reaching the end.
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 759877f3950..0983724f95f 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -1200,6 +1200,7 @@ xg_get_file_with_chooser (f, prompt, default_filename,
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 {
@@ -1207,16 +1208,20 @@ xg_get_file_with_chooser (f, prompt, default_filename,
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);
1215 default_filename = SDATA (file);
1216 }
1217 1217
1218 gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (filewin), 1218 default_filename = SDATA (file);
1219 default_filename); 1219 if (Ffile_directory_p (file))
1220 gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (filewin),
1221 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 }