--- includes/behaviors/js/openlayers_behavior_popup.js	Tue Feb 16 11:44:07 2010
+++ includes/behaviors/js/openlayers_behavior_popup.js	Wed Jun 23 22:28:25 2010
@@ -12,8 +12,7 @@
  *  Formatted HTML
  */
 function openlayers_behavior_popup_popup_content(feature) {
-  return "<div class='openlayers-popup'>" + feature.attributes.name +"</div>" +
-         "<div class='openlayers-popup'>" + feature.attributes.description +"</div>";
+  return feature.attributes.popup_content;
 }
 
 var openlayers_behavior_popup_popup_select, openlayers_behavior_popup_selected_feature;

--- modules/openlayers_views/views/openlayers_views.views.inc	Thu Feb 04 03:08:13 2010
+++ modules/openlayers_views/views/openlayers_views.views.inc	Wed Jun 23 11:23:00 2010
@@ -50,7 +50,7 @@
         'theme path' => drupal_get_path('module', 'openlayers_views') .'/views',
         'path' => drupal_get_path('module', 'openlayers_views') .'/views',
         'uses fields' => TRUE,
-        'uses row plugin' => FALSE,
+        'uses row plugin' => TRUE,
         'uses options' => TRUE,
         'uses grouping' => TRUE,
         'type' => 'openlayers',

--- modules/openlayers_views/views/openlayers_views_plugin_display_openlayers.inc	Thu Mar 25 22:40:56 2010
+++ modules/openlayers_views/views/openlayers_views_plugin_display_openlayers.inc	Wed Jun 23 21:36:44 2010
@@ -42,7 +42,7 @@
 
     // Overrides for standard stuff:
     $options['style_plugin']['default'] = 'openlayers_data';
-    $options['row_plugin']['default'] = '';
+    $options['row_plugin']['default'] = 'fields';
     $options['defaults']['default']['row_plugin'] = FALSE;
     $options['defaults']['default']['row_options'] = FALSE;
     return $options;

--- modules/openlayers_views/views/openlayers_views_style_data.inc	Tue Jun 15 02:36:35 2010
+++ modules/openlayers_views/views/openlayers_views_style_data.inc	Wed Jun 23 22:18:29 2010
@@ -22,6 +22,7 @@
   function option_definition() {
     $options = parent::option_definition();
     $options['data_source'] = array('default' => array());
+    $options['data_source']['popup_content_source'] = array('default' => 'use_title_description');
     return $options;
   }
 
@@ -158,6 +159,17 @@
         '#options' => array_merge(array('' => ''), $fields),
         '#default_value' => $this->options['data_source']['description_field'],
     );
+    $form['data_source']['popup_content_source'] = array(
+        '#type' => 'select',
+        '#title' => t('In popup, show'),
+        '#description' => t('Choose what will be displayed in popups.'),
+        '#options' => array(
+          'use_title_description' => t('Title and Description'),
+          'use_row'               => t('The Views row'),
+        ),
+        '#multiple' => FALSE,
+        '#default_value' => $this->options['data_source']['popup_content_source'],
+    );
 
     // Attributes and variable styling description
     $form['attributes'] = array(
@@ -380,6 +392,21 @@
         }
         else {
           $feature['attributes']['description'] = '';
+        }
+        
+        // Build the content that will be displayed in a popup
+        if ($data_source['popup_content_source']['use_row']) {
+          $feature['attributes']['popup_content'] = 
+            "<div class='openlayers-popup'>" . 
+            $this->row_plugin->render($record) . "</div>";
+        }
+        else {
+          // The default is to use the title & description
+          $feature['attributes']['popup_content'] = 
+            "<div class='openlayers-popup'>" . 
+            $feature['attributes']['name'] . "</div>" .
+            "<div class='openlayers-popup'>" . 
+            $feature['attributes']['description'] . "</div>";
         }
 
         // Fill in attributes that are not:
