12,13d11
<   private $value_form_type = 'checkboxes';
< 
19,20c17,18
<       '=' => t('Is one of'),
<       '<>' => t('Is not one of'),
---
>       '=' => t('is one of'),
>       '<>' => t('is not one of'),
25,83d22
<    * Set reduce option to FALSE by default.
<    */
<   public function expose_options() {
<     parent::expose_options();
<     $this->options['expose']['reduce'] = FALSE;
<   }
< 
<   /**
<    * Define the form for exposed handler option reduce.
<    */
<   public function expose_form(&$form, &$form_state) {
<     parent::expose_form($form, $form_state);
<     $form['expose']['reduce'] = array(
<       '#type' => 'checkbox',
<       '#title' => t('Limit list to selected items'),
<       '#description' => t('If checked, the only items presented to the user will be the ones selected here.'),
<       '#default_value' => !empty($this->options['expose']['reduce']), // safety
<     );
<   }
< 
<   /**
<    * Define reduce definition.
<    */
<   public function option_definition() {
<     $options = parent::option_definition();
<     $options['expose']['contains']['reduce'] = array('default' => FALSE);
<     return $options;
<   }
< 
<   /**
<    * Reduce the options according the selection.
<    */
<   private function reduce_value_options() {
<     $options = array();
<     foreach ($this->definition['options'] as $id => $option) {
<       if (isset($this->options['value'][$id])) {
<         $options[$id] = $option;
<       }
<     }
<     return $options;
<   }
< 
<   /**
<    * Save set checkboxes.
<    */
<   public function value_submit($form, &$form_state) {
<     // Drupal's FAPI system automatically puts '0' in for any checkbox that
<     // was not set, and the key to the checkbox if it is set.
<     // Unfortunately, this means that if the key to that checkbox is 0,
<     // we are unable to tell if that checkbox was set or not.
< 
<     // Luckily, the '#value' on the checkboxes form actually contains
<     // *only* a list of checkboxes that were set, and we can use that
<     // instead.
< 
<     $form_state['values']['options']['value'] = $form['value']['#value'];
<   }
< 
<   /**
87,97d25
<     $options = array();
<     if (empty($form_state['exposed'])) {
<       // Add a select all option to the value form.
<       $options = array('all' => t('Select all'));
<     }
<     if (!empty($this->options['expose']['reduce']) && !empty($form_state['exposed'])) {
<       $options += $this->reduce_value_options($form_state);
<     }
<     else {
<       $options += $this->definition['options'];
<     }
99c27
<       '#type' => $this->value_form_type,
---
>       '#type' => 'select',
101c29
<       '#options' => $options,
---
>       '#options' => $this->definition['options'],
