From ef52b66c4ed47bf52e61296d43e6f54b8e01aaf5 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Sun, 29 Oct 2006 04:55:29 +0000 Subject: [PATCH] fixme and todo. SVN revision: 26849 --- TODO | 5 +++-- src/bin/e_fwin.c | 19 ++++++++++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/TODO b/TODO index 566d335ea..a91d600d1 100644 --- a/TODO +++ b/TODO @@ -30,9 +30,10 @@ Some of the things (in very short form) that need to be done to E17... * fm2 needs a icon views (auto-arrange, snap to grid and free placement) * fm2 needs a way to bypass thumb gen anim on just a unrealize/realize as well as change state instantly if it already was selected -* fm2 needs way to replace or extend the right click menu (disable/enable - rename/delete/refresh etc.) +* fm2 needs way to replace or modify the default right click menu contents + (disable/enable rename/delete/refresh etc.) * fm2 needs a mime filter +* fwin: multi-mime open is too simplisitc. fix in fwin.c line 590 or so. * middle mouse on gadgets as a quick move/resize thing? * language packs: need to have a tool to load/setup a language pack (which means .mo compiled files from a .po, an optional font and a config file that diff --git a/src/bin/e_fwin.c b/src/bin/e_fwin.c index bea9c1e78..3e7ebf8ae 100644 --- a/src/bin/e_fwin.c +++ b/src/bin/e_fwin.c @@ -584,13 +584,22 @@ _e_fwin_file_open_dialog(E_Fwin *fwin, Evas_List *files, int always) } } - /* FIXME: check all the mimes - if there is only 1 mime - then open with - * the last used app - if any (if not continue with dialog). if there - * are multiple or no previously used app for this mime - then open - * dialog - */ if (!always) { + /* FIXME: well this is simplisitic - if only 1 mime type is being + * opened then look for the previously used app for that mimetype and + * if found, use that. + * + * we could get more sophisitcated. + * 1. find apps for each mimetype in mlist. if all prev used apps are + * the same, then use previously used app. + * OR if this fails + * 2. find all apps for each mimetype. find the one used the most. + * if that app can handle all mimetypes in the list - use that. if not + * find the next most often listed app - if that can handle all apps, + * use it, if not fall back again - and so on - if all apps listed do + * not contain 1 that handles all the mime types - fall back to dialog + */ if (evas_list_count(mlist) == 1) { a = e_exehist_mime_app_get(mlist->data);