From f824ab8af4d3d2e34bd59b860b9c6d5568c3bb44 Mon Sep 17 00:00:00 2001 From: John-Mark Bell Date: Sat, 3 Nov 2012 23:19:28 +0000 Subject: Port save complete to libdom. --- amiga/file.c | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'amiga/file.c') 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; -- cgit v1.2.3