diff options
| author | Jan Djärv | 2004-12-07 08:09:10 +0000 |
|---|---|---|
| committer | Jan Djärv | 2004-12-07 08:09:10 +0000 |
| commit | ded997c16032a6c658e345452d7e5ec275c0642e (patch) | |
| tree | da50a088bfbb03391f5c33409671a8f7b2654fa4 /src | |
| parent | 02c1e496791be00a9db737792379b2c2099c2a02 (diff) | |
| download | emacs-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/ChangeLog | 6 | ||||
| -rw-r--r-- | src/gtkutil.c | 17 |
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 @@ | |||
| 1 | 2004-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 | |||
| 1 | 2004-12-05 Stefan Monnier <monnier@iro.umontreal.ca> | 7 | 2004-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 | } |