Index: modules/actions/actions.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/actions/actions.module,v
retrieving revision 1.2
diff -u -p -r1.2 actions.module
--- modules/actions/actions.module	2 Jul 2007 14:41:35 -0000	1.2
+++ modules/actions/actions.module	16 Jul 2007 21:54:36 -0000
@@ -663,35 +663,29 @@ function actions_assign_form_submit($for
 function actions_theme() {
   return array(
     'actions_display' => array(
-      'arguments' => array('element')
+      'file' => 'actions_display',
+      'arguments' => array('element' => NULL),
     ),
   );
 }
 
 /**
- * Display actions assigned to this hook-op combination in a table.
+ * Process variables for actions_display.tpl.php.
  *
- * @param array $element
- *   The fieldset including all assigned actions.
- * @return
- *   The rendered form with the table prepended.
+ * The $variables array contains the following arguments:
+ * - $element
+ *
+ * @see actions_display.tpl.php
+ * @see theme_actions_display()
  */
-function theme_actions_display($element) {
-  $header = array();
-  $rows = array();
-  if (count($element['assigned']['#value'])) {
-    $header = array(array('data' => t('Name')), array('data' => t('Operation')));
-    $rows = array();
-    foreach ($element['assigned']['#value'] as $aid => $info) {
-      $rows[] = array(
-        $info['description'],
-        $info['link']
-      );
-    }
+function template_preprocess_actions_display(&$variables) {
+  $variables['actions'] = array();
+  foreach ($variables['element']['assigned']['#value'] as $aid => $info) {
+    $variables['actions'][$aid]->description = check_plain($info['description']);
+    $variables['actions'][$aid]->link = $info['link'];
   }
 
-  $output = theme('table', $header, $rows) . drupal_render($element);
-  return $output;
+  $variables['form_assign_action'] = drupal_render($variables['element']);
 }
 
 /**
Index: modules/actions/actions_display.tpl.php
===================================================================
RCS file: modules/actions/actions_display.tpl.php
diff -N modules/actions/actions_display.tpl.php
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ modules/actions/actions_display.tpl.php	16 Jul 2007 21:54:36 -0000
@@ -0,0 +1,40 @@
+<?php
+// $Id
+/**
+ * @file actions_display.tpl.php
+ * Default theme implementation to list and assign actions.
+ *
+ * Available variables:
+ * - $actions: An array of actions to display.
+ * - $form_assign_action: Drop-down list of actions to assign.
+ *
+ * Each $action in $actions contains:
+ * - $action->description: Short description of listed action.
+ * - $action->link: Remove link of listed action.
+ *
+ * @see template_preprocess_actions_display()
+ * @see theme_actions_display()
+ */
+?>
+<?php if ($actions): ?>
+<table>
+  <thead>
+    <tr>
+      <th><?php print t('Name'); ?></th>
+      <th><?php print t('Operation');?></th>
+    </tr>
+  </thead>
+  <tbody>
+    <?php $row = 0; ?>
+    <?php foreach ($actions as $action): ?>
+      <tr class=<?php print $row % 2 == 0 ? 'odd' : 'even';?>>
+        <td><?php print $action->description ?></td>
+        <td><?php print $action->link ?></td>
+      </tr>
+      <?php $row++; ?>
+    <?php endforeach; ?>
+  </tbody>
+</table>
+<?php endif; ?>
+
+<?php print $form_assign_action ?>
