? views_slideshow_thumbnailhover_fields_2.patch
Index: contrib/views_slideshow_thumbnailhover/views-slideshow-thumbnailhover.tpl.php
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views_slideshow/contrib/views_slideshow_thumbnailhover/Attic/views-slideshow-thumbnailhover.tpl.php,v
retrieving revision 1.1.2.1.2.4
diff -u -r1.1.2.1.2.4 views-slideshow-thumbnailhover.tpl.php
--- contrib/views_slideshow_thumbnailhover/views-slideshow-thumbnailhover.tpl.php	3 Oct 2009 07:14:55 -0000	1.1.2.1.2.4
+++ contrib/views_slideshow_thumbnailhover/views-slideshow-thumbnailhover.tpl.php	5 Nov 2009 06:21:54 -0000
@@ -18,20 +18,20 @@
   $view_teasers = FALSE;
 
   // As we're using the 'thumbnail hover' mode, then we need to display all the view thumbnails.
-  $view_teasers = theme('views_slideshow_thumbnailhover_breakout_teasers', $rows, $id);
+  $view_teasers = theme('views_slideshow_thumbnailhover_breakout_teasers', $view, $rows, $id, $options);
   if (!$options['thumbnailhover']['teasers_last']) {
     $output .= $view_teasers;
   }
 
   // These are hidden elements, used to cycle through the main div
-  $hidden_elements = theme('views_slideshow_thumbnailhover_no_display_section', $view, $rows, $id, $options['mode'], $teaser);
+  $hidden_elements = theme('views_slideshow_thumbnailhover_no_display_section', $view, $rows, $id, $options, $teaser);
   $output .= theme('views_slideshow_main_section', $id, $hidden_elements, 'thumbnailhover');
 
   if ($view_teasers && $options['thumbnailhover']['teasers_last']) {
     $output .= $view_teasers;
   }
   if ($options['thumbnailhover']['controls'] == 2) {
-    print theme('views_slideshow_thumbnailhover_controls',$id,$view,$options);
+    print theme('views_slideshow_thumbnailhover_controls',$id, $view, $options);
   }
   
   if ($options['thumbnailhover']['image_count'] == 2) {
Index: contrib/views_slideshow_thumbnailhover/views_slideshow_thumbnailhover.theme.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views_slideshow/contrib/views_slideshow_thumbnailhover/Attic/views_slideshow_thumbnailhover.theme.inc,v
retrieving revision 1.1.2.1.2.8
diff -u -r1.1.2.1.2.8 views_slideshow_thumbnailhover.theme.inc
--- contrib/views_slideshow_thumbnailhover/views_slideshow_thumbnailhover.theme.inc	26 Sep 2009 22:20:50 -0000	1.1.2.1.2.8
+++ contrib/views_slideshow_thumbnailhover/views_slideshow_thumbnailhover.theme.inc	5 Nov 2009 06:21:54 -0000
@@ -46,7 +46,7 @@
 /**
  *  These are the slideshow elements themselves; not actually displayed, but used to give the html to the main element.
  */
-function theme_views_slideshow_thumbnailhover_no_display_section($view, $rows, $id, $mode, $teaser = TRUE) {
+function theme_views_slideshow_thumbnailhover_no_display_section($view, $rows, $id, $options, $teaser = TRUE) {
   // Add support for the jQuery Cycle plugin.
   // If we have the jQ module installed, use that to add the Cycle plugin if possible.
   // That allows for version control.
@@ -61,8 +61,20 @@
     drupal_add_js(drupal_get_path('module', 'views_slideshow') .'/js/jquery.cycle.all.min.js', 'module');
   }
   $output = '<div id="views_slideshow_thumbnailhover_teaser_section_' . $id . '" class="views_slideshow_thumbnailhover_teaser_section">' . "\n";
+
   foreach ($view->result as $count => $node) {
-    $output .= theme('views_slideshow_thumbnailhover_no_display_teaser', node_view(node_load($node->nid), $teaser, FALSE, FALSE), $id, $count);
+  	if ($view->display_handler->uses_fields()) {
+  		$rendered = "";
+  	 	foreach ($options['thumbnailhover']['main_fields'] as $id => $use) {
+  	 	  if ($use !== 0) {
+  	 		  $rendered .= $view->field[$id]->theme($node);
+  	 	  }
+  	 	}
+  	} 
+  	else { 
+      $rendered = node_view(node_load($node->nid), $teaser, FALSE, FALSE);
+    }
+    $output .= theme('views_slideshow_thumbnailhover_no_display_teaser', $rendered, $id, $count);
   }
   $output .= "</div><!--close views_slideshow_thumbnailhover_no_display-->\n\n";
   return $output;
@@ -92,15 +104,24 @@
 /**
  *  These are teasers that may be pointed at with a mouse to change the element directly.
  */
-function theme_views_slideshow_thumbnailhover_breakout_teasers($items, $id) {
+function theme_views_slideshow_thumbnailhover_breakout_teasers($view, $items, $id, $options) {
   $output = '<div id="views_slideshow_thumbnailhover_breakout_teasers_' . $id . '" class="views_slideshow_thumbnailhover_breakout_teasers clear-block">' . "\n";
-  $js = "$(document).ready(function() {\n";
-  foreach ($items as $count => $item) {
-    $output .= theme('views_slideshow_thumbnailhover_breakout_teaser', $item, $id, $count);
-    $js .= theme('views_slideshow_thumbnailhover_breakout_teaser_js', $id, $count);
+  if ($view->display_handler->uses_fields()) {
+    foreach ($view->result as $count => $node) {
+    	$rendered_fields = "";
+      foreach ($options['thumbnailhover']['breakout_fields'] as $field => $use) {
+        if ($use !== 0) {
+          $rendered_fields .= $view->field[$field]->theme($node);
+        }
+      }
+      $output .= theme('views_slideshow_thumbnailhover_breakout_teaser', $rendered_fields, $id, $count);
+    }
+  }
+  else {
+    foreach ($items as $count => $item) {
+      $output .= theme('views_slideshow_thumbnailhover_breakout_teaser', $item, $id, $count);
+    }
   }
-  $js .= "})\n";
-  drupal_add_js($js, 'inline');
 
   $output .= "</div><!--close views_slideshow_thumbnailhover_breakout_teasers-->\n\n";
 
Index: contrib/views_slideshow_thumbnailhover/views_slideshow_thumbnailhover.views_slideshow.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views_slideshow/contrib/views_slideshow_thumbnailhover/Attic/views_slideshow_thumbnailhover.views_slideshow.inc,v
retrieving revision 1.1.2.1.2.9
diff -u -r1.1.2.1.2.9 views_slideshow_thumbnailhover.views_slideshow.inc
--- contrib/views_slideshow_thumbnailhover/views_slideshow_thumbnailhover.views_slideshow.inc	3 Oct 2009 20:22:11 -0000	1.1.2.1.2.9
+++ contrib/views_slideshow_thumbnailhover/views_slideshow_thumbnailhover.views_slideshow.inc	5 Nov 2009 06:21:54 -0000
@@ -59,13 +59,35 @@
     'teaser' => t('Teaser'),
     'full' => t('Full'),
   );
-  $form['thumbnailhover']['hover_breakout'] = array(
-    '#type' => 'radios',
-    '#title' => t('Hover breakout'),
-    '#options' => $options,
-    '#default_value' => $view->options['thumbnailhover']['hover_breakout'],
-    '#description' => t("Hover breakout determines how to display the breakout element of the %thumbnail mode, either as a teaser or full node. It is ignored in %single mode.", array('%thumbnail' => t('Thumbnail hover'), '%single' => t('Single frame'))),
-  );
+  if ($view->row_plugin->uses_fields()) {
+    $options = array();
+    foreach ($view->display->handler->get_handlers('field') as $field => $handler) {
+      $options[$field] = $handler->ui_name();
+    }
+    $form['thumbnailhover']['main_fields'] = array(
+      '#type' => 'checkboxes',
+      '#title' => t('Main frame fields'),
+      '#options' => $options,
+      '#default_value' => $view->options['thumbnailhover']['main_fields'],
+      '#description' => t("Choose the fields that will appear in the main slide."),
+    );
+    $form['thumbnailhover']['breakout_fields'] = array(
+      '#type' => 'checkboxes',
+      '#title' => t('Breakout fields'),
+      '#options' => $options,
+      '#default_value' => $view->options['thumbnailhover']['breakout_fields'],
+      '#description' => t("Choose the fields that will appear in the breakout thumbnails."),
+    );
+  } 
+  else {
+	  $form['thumbnailhover']['hover_breakout'] = array(
+	    '#type' => 'radios',
+	    '#title' => t('Hover breakout'),
+	    '#options' => $options,
+	    '#default_value' => $view->options['thumbnailhover']['hover_breakout'],
+	    '#description' => t("Hover breakout determines how to display the breakout element of the %thumbnail mode, either as a teaser or full node when the row style is node.", array('%thumbnail' => t('Thumbnail hover'))),
+	  );
+  }
   $form['thumbnailhover']['teasers_last'] = array(
     '#type' => 'checkbox',
     '#title' => t('Display teasers last'),
