Index: l10n_community/editor.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/l10n_server/l10n_community/Attic/editor.js,v
retrieving revision 1.1.2.5
diff -u -p -r1.1.2.5 editor.js
--- l10n_community/editor.js	16 Feb 2010 16:22:34 -0000	1.1.2.5
+++ l10n_community/editor.js	9 Mar 2010 15:51:31 -0000
@@ -50,6 +50,22 @@
       // Prevent the actual link click from happening.
       return false;
     });
+    
+    // Hide items which are default and not among project, release and context filters.
+    $('#l10n-community-filter-form .is-default').not("[name=project]").not('[name=release]').not("[name=context]").parents('.filter-widget').hide();
+    
+    // Callback to show all filters.
+    var showAllFilters = function() {
+      $('#l10n-community-filter-form .reveal-link').hide();
+      $('#l10n-community-filter-form .filter-widget:hidden').fadeIn();
+      return false;
+    }
+    
+    // If we did hide items, add a link to show all.
+    if ($('#l10n-community-filter-form .filter-widget:hidden')) {
+      $('#l10n-community-filter-form .l10n-server-filter').append('<a href="#" class="reveal-link">' + Drupal.t('Reveal more filters') + '</a>');
+      $('#l10n-community-filter-form .reveal-link').click(showAllFilters);
+    }
 
     var markup = function(string) {
       // Highlight placeholders with the l10n-placeholder class.
Index: l10n_community/l10n_community.css
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/l10n_server/l10n_community/Attic/l10n_community.css,v
retrieving revision 1.1.2.10.2.6.2.2
diff -u -p -r1.1.2.10.2.6.2.2 l10n_community.css
--- l10n_community/l10n_community.css	15 Feb 2010 09:46:38 -0000	1.1.2.10.2.6.2.2
+++ l10n_community/l10n_community.css	9 Mar 2010 15:51:31 -0000
@@ -49,7 +49,8 @@ div.admin form {
 /* String search filtering form */
 .l10n-server-filter {
   background-color: #f5f5f5;
-  padding: 0.6em;
+  padding: 0.6em 150px 1.5em 0.6em;
+  position: relative;
 }
 .l10n-server-filter .filter-widget {
   float: left; 
@@ -66,6 +67,26 @@ div.admin form {
 .l10n-server-filter .form-item#edit-status-translation-wrapper {
   margin-bottom: 0;
 }
+.l10n-server-filter .filter-submit .form-submit {
+  position: absolute;
+  top: 0;
+  right: 0;
+  font-size: 2em;
+  margin: 0.5em;
+  display: block;
+}
+.l10n-server-filter .filter-submit .reset-link {
+  position: absolute;
+  bottom: 0;
+  right: 0;
+  margin: 0 1em 0.5em 0;
+}
+.l10n-server-filter .reveal-link {
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  margin: 0 0 0.5em 1em;
+}
 
 /* Emphasized replaceable parts of translatables */
 em.l10n-community-marker {
Index: l10n_community/l10n_community.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/l10n_server/l10n_community/Attic/l10n_community.js,v
retrieving revision 1.1.2.8.2.6.2.2
diff -u -p -r1.1.2.8.2.6.2.2 l10n_community.js
--- l10n_community/l10n_community.js	15 Feb 2010 10:07:26 -0000	1.1.2.8.2.6.2.2
+++ l10n_community/l10n_community.js	9 Mar 2010 15:51:31 -0000
@@ -6,7 +6,7 @@ Drupal.behaviors.replaceL10nServerURLs =
     for (var url in Drupal.settings.l10nServerURLs) {
       // Look for links with this exact URL and replace with extended version.
       // This ensures we keep filter values while switching tabs.
-      $('a[href=' + url +']', context).attr('href', Drupal.settings.l10nServerURLs[url]);
+      $('a[href=' + url +']', context).not('.filter-exclude').attr('href', Drupal.settings.l10nServerURLs[url]);
     }
   }
 }
Index: l10n_community/translate.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/l10n_server/l10n_community/Attic/translate.inc,v
retrieving revision 1.1.2.7.2.31.2.15
diff -u -p -r1.1.2.7.2.31.2.15 translate.inc
--- l10n_community/translate.inc	1 Mar 2010 14:17:03 -0000	1.1.2.7.2.31.2.15
+++ l10n_community/translate.inc	9 Mar 2010 15:51:31 -0000
@@ -11,12 +11,12 @@
 /**
  * Translate form filter.
  *
+ * @param $langcode
+ *   Language code
  * @param $filters
  *   Array of filter options.
- * @param $limited
- *   Return limited set of filters (no suggestion filters).
  */
-function l10n_community_filter_form(&$form_state, $filters, $limited = FALSE) {
+function l10n_community_filter_form(&$form_state, $langcode, $filters) {
   $projects = l10n_community_get_projects();
 
   $translation_options = array(
@@ -40,7 +40,7 @@ function l10n_community_filter_form(&$fo
     $form_state['values'] = array(
       'project' => isset($filters['project']) ? $filters['project']->title : '',
       'release' => isset($filters['release']) ? $filters['release']        : 'all',
-      'context' => isset($filters['context']) ? $filters['context']        : '',
+      'context' => isset($filters['context']) ? $filters['context']        : 'all',
       'status'  => isset($filters['status'])  ? $filters['status']         : L10N_STATUS_ALL,
       'author'  => isset($filters['author'])  ? $filters['author']->name   : '',
       'search'  => isset($filters['search'])  ? $filters['search']         : '',
@@ -58,6 +58,7 @@ function l10n_community_filter_form(&$fo
       'wrapper' => 'l10n-server-releases',
       'effect' => 'fade',
     ),
+    '#attributes' => array('class' => empty($form_state['values']['project']) ? 'is-default' : 'is-not-default'),
   );
   if (($count = count($projects)) <= 30) {
     // Select widget for 1-30 projects.
@@ -98,6 +99,7 @@ function l10n_community_filter_form(&$fo
     // Wrapper used to replace release options via AHAH.
     '#prefix' => '<div id="l10n-server-releases">',
     '#suffix' => '</div>',
+    '#attributes' => array('class' => $form_state['values']['release'] == 'all' ? 'is-default' : 'is-not-default'),
   );
 
   if (count($contexts = l10n_community_get_contexts()) > 1) {
@@ -106,25 +108,26 @@ function l10n_community_filter_form(&$fo
       '#type' => 'select',
       '#options' => array('all' => t('All')) + $contexts,
       '#default_value' => $form_state['values']['context'],
+      '#attributes' => array('class' => $form_state['values']['context'] == 'all' ? 'is-default' : 'is-not-default'),
     );
   }
 
   $form['status'] = array(
     '#title' => t('Status'),
     '#tree' => TRUE,
+    '#prefix' => '<div class="'. ($form_state['values']['status'] == L10N_STATUS_ALL ? 'is-default' : 'is-not-default') .'">',
+    '#suffix' => '</div>',
   );
   $form['status']['translation'] = array(
     '#type' => 'select',
     '#options' => $translation_options,
     '#default_value' => $form_state['values']['status'] & (L10N_STATUS_TRANSLATED | L10N_STATUS_UNTRANSLATED | L10N_STATUS_IS_TRANSLATION),
   );
-  if (!$limited) {
-    $form['status']['suggestion'] = array(
-      '#type' => 'select',
-      '#options' => $suggestion_options,
-      '#default_value' => $form_state['values']['status'] & (L10N_STATUS_HAS_SUGGESTION | L10N_STATUS_NO_SUGGESTION | L10N_STATUS_IS_SUGGESTION),
-    );
-  }
+  $form['status']['suggestion'] = array(
+    '#type' => 'select',
+    '#options' => $suggestion_options,
+    '#default_value' => $form_state['values']['status'] & (L10N_STATUS_HAS_SUGGESTION | L10N_STATUS_NO_SUGGESTION | L10N_STATUS_IS_SUGGESTION),
+  );
 
   $form['author']= array(
     '#type' => 'textfield',
@@ -133,6 +136,7 @@ function l10n_community_filter_form(&$fo
     '#autocomplete_path' => 'user/autocomplete',
     '#default_value' => $form_state['values']['author'],
     '#size' => 15,
+    '#attributes' => array('class' => empty($form_state['values']['author']) ? 'is-default' : 'is-not-default'),
   );
 
   $form['search'] = array(
@@ -140,6 +144,7 @@ function l10n_community_filter_form(&$fo
     '#type' => 'textfield',
     '#default_value' => $form_state['values']['search'],
     '#size' => 20,
+    '#attributes' => array('class' => empty($form_state['values']['search']) ? 'is-default' : 'is-not-default'),
   );
 
   $form['limit'] = array(
@@ -147,6 +152,7 @@ function l10n_community_filter_form(&$fo
     '#title' => t('Limit'),
     '#options' => drupal_map_assoc(array(5, 10, 20, 30)),
     '#default_value' => $form_state['values']['limit'],
+    '#attributes' => array('class' => $form_state['values']['limit'] == 10 ? 'is-default' : 'is-not-default'),
   );
 
   $form['submit'] = array(
@@ -154,8 +160,8 @@ function l10n_community_filter_form(&$fo
     '#type' => 'submit',
   );
   $form['reset'] = array(
-    '#value' => t('Reset'),
-    '#type' => 'submit',
+    '#value' => '<div class="reset-link">'. l(t('Clear all filters'), 'translate/languages/'. $langcode .'/translate', array('attributes' => array('class' => 'filter-exclude'))) .'</div>',
+    '#type' => 'markup',
   );
   $form['#theme'] = 'l10n_community_filter_form';
   return $form;
@@ -179,7 +185,7 @@ function theme_l10n_community_filter_for
   }
 
   // Render the rest of the form as one filter-widget.
-  $output .= '<div class="filter-widget">'. drupal_render($form) .'</div>';
+  $output .= '<div class="filter-submit">'. drupal_render($form) .'</div>';
   $output .= '</div>';
 
   return $output;
@@ -227,7 +233,7 @@ function l10n_community_translate_page($
   }
 
   // Add the filter form.
-  $output = drupal_get_form('l10n_community_filter_form', $filters);
+  $output = drupal_get_form('l10n_community_filter_form', $langcode, $filters);
 
   // Output the actual strings.
   if (!count($strings)) {
