diff -urp ./editablefields.js ../editablefields.mod/editablefields.js
--- ./editablefields.js	2010-12-19 11:04:17.000000000 -0600
+++ ../editablefields.mod/editablefields.js	2011-01-09 19:42:05.000000000 -0600
@@ -280,6 +280,9 @@ Drupal.editablefields.onblur = function(
   if (!forceClose && $(element).hasClass('hasDatepicker')) {
     // this means that this handler has been called by the Drupal.editablefields.datepickerOnClose handler
     return;
+  } else if ($(element).is('.form-select,.form-submit')) {
+    // protect from closing for other clickable items like imagefield browse/upload
+    return;
   }
 
   if (!$(element).hasClass('editablefields')) {
diff -urp ./editablefields.module ../editablefields.mod/editablefields.module
--- ./editablefields.module	2010-11-15 17:14:48.000000000 -0600
+++ ../editablefields.mod/editablefields.module	2011-01-12 02:16:19.000000000 -0600
@@ -491,3 +491,52 @@ function editablefields_file_insert($fil
     node_save($node);
   }
 }
+
+function editablefields_theme_registry_alter(&$theme_registry) {
+	if ($theme_registry['filefield_file']['function'] == 'theme_filefield_file') {
+		$theme_registry['filefield_file']['function']  = 'editablefields_filefield_file';
+	}
+	//print_r($theme_registry);
+}
+
+/**
+* Theme function for the 'generic' single file formatter.
+*/
+function editablefields_filefield_file($file) {
+  // Views may call this function with a NULL value, return an empty string.
+  if (empty($file['fid'])) {
+    return '';
+  }
+
+  $path = $file['filepath'];
+  $url = file_create_url($path);
+
+  $options = array(
+    'attributes' => array(
+      'type' => $file['filemime'] . '; length=' . $file['filesize'],
+    ),
+  );
+
+  // Use the description as the link text if available.
+  if (empty($file['data']['description'])) {
+    $link_text = $file['filename'];
+  }
+  else {
+    $link_text = $file['data']['description'];
+    $options['attributes']['title'] = $file['filename'];
+  }
+ 
+ 
+  if(strstr($file['filemime'],'image')) {
+    // change the_preset to your imagecache preset's machine readable name
+    $image = theme('imagecache','beer_small',$path);
+    return '
+' . $image .'
+';
+  } else {
+    $icon = theme('filefield_icon', $file);
+    return '
+'. $icon . l($link_text, $url, $options) .'
+';
+  } 
+}
Only in ./: editablefields.vishun.patch
