Index: includes/content.views.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/cck/includes/content.views.inc,v
retrieving revision 1.69
diff -u -r1.69 content.views.inc
--- includes/content.views.inc	4 Jun 2008 13:50:16 -0000	1.69
+++ includes/content.views.inc	7 Jun 2008 04:33:32 -0000
@@ -255,7 +255,7 @@
  * but don't want the multiple value grouping options created by
  * views_handler_field_content_multiple.
  */
-class views_handler_field_content extends views_handler_field_node {
+class views_handler_field_content extends views_handler_field {
   var $content_field;
 
   function construct() {
@@ -269,6 +269,7 @@
 
     // Override views_handler_field_node's default label
     $options['label'] = $field['widget']['label'];
+    $options['label_type'] = 'widget';
     $options['format'] = 'default';
   }
 
@@ -277,8 +278,6 @@
    */
   function options_form(&$form, &$form_state) {
     parent::options_form($form, $form_state);
-    // TODO : do we want the 'link to node' checkbox ?
-    // That's usually formatters business...
 
     $field = $this->content_field;
     $options = $this->options;
@@ -296,6 +295,25 @@
       '#options' => $formatters,
       '#required' => TRUE,
       '#default_value' => $options['format'],
+      '#weight' => 0,
+    );
+    $form['label_type'] = array(
+      '#title' => t('Label'),
+      '#type' => 'radios',
+      '#options' => array(
+        'none' => t('None'),
+        'widget' => t('Widget label (@label)', array('@label' => $field['widget']['label'])),
+        'custom' => t('Custom'),
+      ),
+      '#default_value' => $options['label_type'],
+      '#weight' => 1,
+    );
+    $form['label'] = array(
+      '#title' => t('Custom label'),
+      '#type' => 'textfield',
+      '#process' => array('views_process_dependency'),
+      '#dependency' => array('radio:options[label_type]' => array('custom')),
+      '#weight' => 2,
     );
   }
 
@@ -323,12 +341,20 @@
     // TODO : we can stick any value in there -
     // what would make most sense ?  row_style ?
     $values->build_mode = 'views';
-    
+
+    // Set the label value.
+    if ($options['display_label'] == 'none') {
+      $this->options['label'] = FALSE;
+    }
+    elseif ($options['display_label'] == 'widget') {
+      $this->options['label'] = $field['widget']['label'];
+    }
+
     $item = array();
     foreach ($db_info['columns'] as $column => $attributes) {
       $item[$column] = $values->{$this->table_alias .'_'. $attributes['column']};
     }
-    return $this->render_link(content_format($field, $item, $options['format'], $values), $values);
+    return content_format($field, $item, $options['format'], $values);
   }
 
   function query() {
