How do I use a field summary in a view? I'd like to make a Drupal 7 view which displays nodes using the following behavior:

1) Show the body summary if it is populated.
2) Never show a trimmed version of anything.
3) If the body summary is empty, show the actual body.
4) If the body summary is not empty, display a "read more" link.
5) If the full body was displayed, don't display a "read more" link.

I've got this entirely working using a separate field for the summary (which may be what I end up with) but I'd hoped to use the body summary instead.  As far as I can tell the only way to access the body summary in a view is to use the "summary or trimmed" formatter in the field display, which violates #2.  

I looked for modules, and all I found was "Smart Trim" which appears to do the opposite of what I want.

Suggestions?
I think this is a good example for using custom formatters.

I Recommend you to use the custom formatters module as you cant get a fast result, but if you think this is useful, you should check the Field Formatter API to make more complex sollutions.

Install the module, and import this example:

$formatter = new stdClass();
$formatter-&gt;disabled = FALSE; /* Edit this to true to make a default formatter disabled initially */
$formatter-&gt;api_version = 2;
$formatter-&gt;name = 'test_body';
$formatter-&gt;label = 'test body';
$formatter-&gt;description = '';
$formatter-&gt;mode = 'php';
$formatter-&gt;field_types = 'text_with_summary';
$formatter-&gt;code = '$output = "";
foreach ($variables[\'#items\'] as $item) {
  if ( $item[\'summary\']) {
    $output = $item[\'summary\'];
  }else{
     $output = $item[\'value\'];
  }
}
return $output;';
$formatter-&gt;fapi = '';


it doesn't do all the job, but i think it can be enough for you to complete it.

Then go to your view and select the formatter for the body field.