--- \l10n_server\l10n_community\translate.inc	2010-01-26 04:43:32.000000000 +-0800
+++ \l10n\sites\all\modules\l10n_server\l10n_community\translate.inc	2010-02-08 20:18:10.000000000 +-0800
@@ -522,14 +522,108 @@
     }
   }
   // Fill in the rest of the header above the buttons.
   $labels[] = '';
   // Display the rest of the form in the last cell
   $row[] = array('data' => drupal_render($form), 'class' => 'last');
-  return theme('table', $labels, array($row), array('class' => 'l10n-server-filter'));
+  return theme('l10n_community_table', $labels, array($row), array('class' => 'l10n-server-filter'));
 }
+
+
+function theme_l10n_community_table($header, $rows, $attributes = array(), $caption = NULL) {
+
+
+  $output = '<div'. drupal_attributes($attributes) .">\n";
+
+  if (isset($caption)) {
+    $output .= '<h2>'. $caption ."</h2>\n";
+  }
+
+
+  // Format the table rows:
+  if (count($rows)) {
+
+    $flip = array('even' => 'odd', 'odd' => 'even');
+    $class = 'even';
+    foreach ($rows as $number => $row) {
+      $attributes = array();
+
+      // Check if we're dealing with a simple or complex row
+      if (isset($row['data'])) {
+        foreach ($row as $key => $value) {
+          if ($key == 'data') {
+            $cells = $value;
+          }
+          else {
+            $attributes[$key] = $value;
+          }
+        }
+      }
+      else {
+        $cells = $row;
+      }
+      if (count($cells)) {
+        // Add odd/even class
+        $class = $flip[$class];
+        if (isset($attributes['class'])) {
+          $attributes['class'] .= ' '. $class;
+        }
+        else {
+          $attributes['class'] = $class;
+        }
+
+        // Build row
+      
+        $i = 0;
+        foreach ($cells as $cell) {
+
+           $output .= ' <div class="widget">';
+    
+      $label = tablesort_header($header[$i], $header, $ts);
+      $output .= l10n_community_theme_table_cell($label, TRUE);
+
+          $cell = tablesort_cell($cell, $header, $ts, $i++);
+          $output .= l10n_community_theme_table_cell($cell);
+
+            $output .= " </div>\n";
+        }
+
+      }
+    }
+
+  }
+
+  $output .= "</div>\n";
+  return $output;
+}
+
+function l10n_community_theme_table_cell($cell, $header = FALSE) {
+  $attributes = '';
+
+  if (is_array($cell)) {
+    $data = isset($cell['data']) ? $cell['data'] : '';
+    $header |= isset($cell['header']);
+    unset($cell['data']);
+    unset($cell['header']);
+    $attributes = drupal_attributes($cell);
+  }
+  else {
+    $data = $cell;
+  }
+
+  if ($header) {
+    $output = "<label$attributes>$data</label>";
+  }
+  else {
+    $output = "<div$attributes>$data</div>";
+  }
+
+  return $output;
+}
+
+
 
 /**
  * Theme function for l10n_community_translate_form.
  */
 function theme_l10n_community_translate_form($form) {
   $rows = array();



--- \l10n_server\l10n_community\l10n_community.css	2009-09-10 17:15:04.000000000 +-0800
+++ \l10n\sites\all\modules\l10n_server\l10n_community\l10n_community.css	2010-02-08 20:16:55.000000000 +-0800
@@ -203,6 +203,18 @@
   float:left;
 }
 
 .l10n-community-string .original {
   display:none;
 }
+
+.l10n-server-filter label{
+  font-weight:bold;
+  color:#003150;
+}
+.l10n-server-filter .widget{
+  float:left; padding:0.5em 1em 0 0; 
+}
+
+.l10n-server-filter .form-item {
+  margin-top:0
+}
