Index: contrib/editview/theme/editview.theme.inc
===================================================================
--- contrib/editview/theme/editview.theme.inc	(revision 329)
+++ contrib/editview/theme/editview.theme.inc	(working copy)
@@ -59,15 +59,12 @@ function theme_editview_node_form($form)
   $view = $form['#parameters'][3];
   $header = array();
   $row = array();
+  $row_id = (integer)$form['#parameters'][4] - 1;
+  $field_values = $view->style_plugin->rendered_fields[$row_id];
+  $show_buttons = FALSE;
+  $new_node = $view->result[$row_id]->nid == 'new';
   // Add selected fields to table as form fields.
   foreach ($view->field as $field) {
-    // If auto_nodetitle module is enabled and the title field is to be overridden don't display it.
-    if (module_exists('auto_nodetitle') && $field->real_field == 'title') {
-      if (auto_nodetitle_get_setting($form['#node']->type) == AUTO_NODETITLE_ENABLED) {
-        continue;
-      }
-    }
-
     $header[] = $field->label();
     $classes = array();
     $cell = array('data' => '');
@@ -88,15 +85,44 @@ function theme_editview_node_form($form)
         }
       }
     }
+    // Always render node titles as text when auto_nodetitle is configured. 
+    if (module_exists('auto_nodetitle') && $field->real_field == 'title' && auto_nodetitle_get_setting($form['#node']->type) == AUTO_NODETITLE_ENABLED) {
+      $classes[] = 'auto_nodetitle';
+      $cell['data'] = $field_values['title'];
+      if ($new_node) {
+        $cell['data'] .= t('Generated automatically upon creation.');
+      }
+    }
+    elseif ($new_node && $field->definition['access arguments'][1]['required']) {
+      // Always render required fields as editable.
+      $show_buttons = TRUE;
+    }
+    elseif ($field->options['editable'] != 1) {
+      $cell['data'] = $field_values[$field->real_field] . '<div class="editview-not-editable" style="display:none">' . $cell['data'] . "</div>\n";
+    }
+    else {
+      $show_buttons = TRUE;
+    }
     $cell['class'] = implode(' ', $classes);
     $row[] = $cell;
   }
+  // Only show the save/delete buttons if at least one field is editable. By
+  // disabling all Editable buttons for all fields in the view, this setting
+  // will only show the required fields (and submit button) on the New Node
+  // creation form. The rows for existing nodes in the view have their edit
+  // fields hidden by default which could be displayed later via javascript.
+  $show_buttons = ($show_buttons === FALSE) ? ' style="display:none"' : '';
   $buttons = drupal_render($form['buttons']['submit']);
-  $buttons .= drupal_render($form['buttons']['delete']) .'<div style="display: none;">'. drupal_render($form) .'</div>'."\n";
+  $buttons .= drupal_render($form['buttons']['delete']);
+  $buttons = '<div class="editview-buttons"'. $show_buttons .'>'. $buttons ."</div>\n";
+  
+  // Hide any extra form fields that weren't specifically rendered.
+  $extra = '<div style="display: none;">'. drupal_render($form) ."</div>\n";
   $handler = $view->style_plugin;
   $active = !empty($handler->active) ? $handler->active : '';
   $order = !empty($handler->order) ? $handler->order : 'asc';
-  return theme('table', $header, array($row), array('class' => 'editview-row')) . $buttons;
+  $table = theme('table', $header, array($row), array('class' => 'editview-row'));
+  return $table . $buttons . $extra;
 }
 
 /**
Index: contrib/editview/editview.module
===================================================================
--- contrib/editview/editview.module	(revision 329)
+++ contrib/editview/editview.module	(working copy)
@@ -151,6 +151,28 @@ function editview_forms($form_id, $args)
   return $forms;
 }
 
+/**
+ * Implementation of hook_form_alter().
+ */
+function editview_form_alter(&$form, &$form_state, $form_id) {
+  if ($form_id == 'views_ui_config_item_form') {
+    editview_views_ui_config_item_form_alter($form, $form_state);
+  }
+}
+
+/**
+ * Enable field-level editability on view field items.
+ */
+function editview_views_ui_config_item_form_alter(&$form, &$form_state) {
+  if ($form['#parameters'][1]['type'] == 'field') {
+    $form['options']['editable'] = array(
+      '#title' => 'Editable',
+      '#type' => 'checkbox',
+      '#default_value' => 0,
+      '#description' => t('If checked, this field will be rendered as an editable form item by default. If unchecked, this field will be rendered using the normal display settings, and the edit form item will be embedded in the page but hidden from view. The Editview style plugin or row style must be selected for this setting to have any effect. Refer to the Editview help for more information.'),
+    );
+  }
+}
 
 /**
  * @} End of "addtogroup editview".
