diff options
author | John-Mark Bell <jmb@netsurf-browser.org> | 2012-11-03 23:19:28 +0000 |
---|---|---|
committer | John-Mark Bell <jmb@netsurf-browser.org> | 2012-11-03 23:19:45 +0000 |
commit | f824ab8af4d3d2e34bd59b860b9c6d5568c3bb44 (patch) | |
tree | 70f5f8d5a3ec2f952b18f59a6ed632f207f8a50f /amiga/file.c | |
parent | 3f1b68384562fe294a1a263214a3fd26ea869bc9 (diff) | |
download | netsurf-f824ab8af4d3d2e34bd59b860b9c6d5568c3bb44.tar.gz netsurf-f824ab8af4d3d2e34bd59b860b9c6d5568c3bb44.tar.bz2 |
Port save complete to libdom.
Diffstat (limited to 'amiga/file.c')
-rw-r--r-- | amiga/file.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/amiga/file.c b/amiga/file.c index c2e4f13ad..8157180ec 100644 --- a/amiga/file.c +++ b/amiga/file.c @@ -99,6 +99,36 @@ void ami_file_open(struct gui_window_2 *gwin) } } +static void ami_file_set_type(const char *path, lwc_string *mime_type) +{ + content_type type = content_factory_type_from_mime_type(mime_type); + const char *default_type; + + switch(type) + { + case CONTENT_HTML: + default_type = "html"; + break; + case CONTENT_CSS: + default_type = "css"; + break; + default: + default_type = NULL; + break; + } + + if (default_type != NULL) { + struct DiskObject *dobj = NULL; + + dobj = GetIconTags(NULL,ICONGETA_GetDefaultName,default_type, + ICONGETA_GetDefaultType,WBPROJECT, + TAG_DONE); + + PutIconTags(path, dobj, + ICONPUTA_NotifyWorkbench, TRUE, TAG_DONE); + } +} + void ami_file_save(int type, char *fname, struct Window *win, struct hlcache_handle *object, struct hlcache_handle *favicon, struct selection *sel) @@ -134,7 +164,7 @@ void ami_file_save(int type, char *fname, struct Window *win, if(lock = CreateDir(fname)) { UnLock(lock); - save_complete(object, fname); + save_complete(object, fname, ami_file_set_type); amiga_icon_superimpose_favicon(fname, favicon, NULL); } break; |