summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO5
-rw-r--r--src/bin/e_fwin.c19
2 files changed, 17 insertions, 7 deletions
diff --git a/TODO b/TODO
index 566d335ea9..a91d600d17 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 bea9c1e785..3e7ebf8ae8 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);