Index: term_queue.module
===================================================================
--- term_queue.module	(revisione 114)
+++ term_queue.module	(revisione 165)
@@ -13,28 +13,38 @@
  * Implementation of hook_perm().
  */
 function term_queue_perm() {
-	return array(
-		'administer term queue',
-	);
+  return array(
+          'administer term queue',
+  );
 }
 
 /**
  * Implementation of hook_theme().
  */
 function term_queue_theme() {
-	$themes = array(
-		'term_queue' => array(
-			'arguments' => array('queue' => NULL, 'terms' => array()),
-			'pattern' => 'term_queue__',
-		),
-		'term_queue_term_form' => array(
-			'arguments' => array('form' => array()),
-		),
-	);
+  $themes = array(
+          'term_queue_render_default' => array(
+                  'arguments' => array('queue' => NULL, 'terms' => array()),
+                  'pattern' => 'term_queue_render_default__',
+          ),
+          'term_queue_render_combobox' => array(
+                  'arguments' => array('queue' => NULL, 'terms' => array()),
+                  'pattern' => 'term_queue_render_combobox__',
+          ),
+          'term_queue_render_fieldset' => array(
+                  'arguments' => array('queue' => NULL, 'terms' => array()),
+                  'pattern' => 'term_queue_render_fieldset__',
+          ),
+          'term_queue_render_collapsedfieldset' => array(
+                  'arguments' => array('queue' => NULL, 'terms' => array()),
+                  'pattern' => 'term_queue_render_collapsedfieldset__',
+          ),
 
-	$all_queues = term_queue_list();
-
-	return $themes;
+          'term_queue_term_form' => array(
+                  'arguments' => array('form' => array()),
+          ),
+  );
+  return $themes;
 }
 
 /**
@@ -42,120 +52,143 @@
  */
 function term_queue_menu() {
 
-	$items['admin/build/term_queue'] = array(
-		'title' => 'Term Queues',
-		'description' => 'Configure lists of taxonomy terms to we used on your site.',
-		'page callback' => 'term_queue_admin_list',
-		'access arguments' => array('administer term queue'),
-		'file' => 'term_queue.admin.inc',
-	);
-	$items['admin/build/term_queue/list'] = array(
-		'title' => 'List',
-		'type' => MENU_DEFAULT_LOCAL_TASK,
-		'weight' => -10,
-	);
+  $items['admin/build/term_queue'] = array(
+          'title' => 'Term Queues',
+          'description' => 'Configure lists of taxonomy terms to we used on your site.',
+          'page callback' => 'term_queue_admin_list',
+          'access arguments' => array('administer term queue'),
+          'file' => 'term_queue.admin.inc',
+  );
+  $items['admin/build/term_queue/list'] = array(
+          'title' => 'List',
+          'type' => MENU_DEFAULT_LOCAL_TASK,
+          'weight' => -10,
+  );
 
-	$items['admin/build/term_queue/add'] = array(
-		'title' => 'Add Term Queue',
-		'page callback' => 'drupal_get_form',
-		'page arguments' => array('term_queue_form'),
-		'access arguments' => array('administer term queue'),
-		'type' => MENU_LOCAL_TASK,
-		'file' => 'term_queue.admin.inc',
-	);
+  $items['admin/build/term_queue/add'] = array(
+          'title' => 'Add Term Queue',
+          'page callback' => 'drupal_get_form',
+          'page arguments' => array('term_queue_form'),
+          'access arguments' => array('administer term queue'),
+          'type' => MENU_LOCAL_TASK,
+          'file' => 'term_queue.admin.inc',
+  );
 
-	$items['admin/build/term_queue/settings'] = array(
-		'title' => 'Settings',
-		'page callback' => 'drupal_get_form',
-		'page arguments' => array('term_queue_settings_form'),
-		'access arguments' => array('administer term queue'),
-		'type' => MENU_LOCAL_TASK,
-		'file' => 'term_queue.admin.inc',
-	);
+  $items['admin/build/term_queue/settings'] = array(
+          'title' => 'Settings',
+          'page callback' => 'drupal_get_form',
+          'page arguments' => array('term_queue_settings_form'),
+          'access arguments' => array('administer term queue'),
+          'type' => MENU_LOCAL_TASK,
+          'file' => 'term_queue.admin.inc',
+  );
 
-	$items['admin/build/term_queue/%term_queue/edit'] = array(
-		'title' => 'Edit Term Queue',
-		'page callback' => 'term_queue_edit_form',
-		'page arguments' => array(3),
-		'access arguments' => array('administer term queue'),
-		'type' => MENU_CALLBACK,
-		'file' => 'term_queue.admin.inc',
-	);
-	$items['admin/build/term_queue/%term_queue/delete'] = array(
-		'title' => 'Delete Term Queue',
-		'page callback' => 'drupal_get_form',
-		'page arguments' => array('term_queue_delete_form', 3),
-		'access arguments' => array('administer term queue'),
-		'type' => MENU_CALLBACK,
-		'file' => 'term_queue.admin.inc',
-	);
-	$items['admin/build/term_queue/%term_queue'] = array(
-		'title' => 'Queue Terms',
-		'page callback' => 'drupal_get_form',
-		'page arguments' => array('term_queue_term_form', 3),
-		'access arguments' => array('administer term queue'),
-		'type' => MENU_CALLBACK,
-		'file' => 'term_queue.admin.inc',
-	);
-	$items['admin/build/term_queue/%term_queue/list'] = array(
-		'title' => 'List',
-		'type' => MENU_DEFAULT_LOCAL_TASK,
-		'weight' => -10,
-	);
-	$items['admin/build/term_queue/%term_queue/add'] = array(
-		'title' => 'Add Term to Queue',
-		'page callback' => 'drupal_get_form',
-		'page arguments' => array('term_queue_add_term_form', 3),
-		'access arguments' => array('administer term queue'),
-		'parent' => 'admin/build/term_queue/%term_queue',
-		'type' => MENU_LOCAL_TASK,
-		'file' => 'term_queue.admin.inc',
-	);
-	$items['admin/build/term_queue/%term_queue/%/delete'] = array(
-		'title' => 'Delete Term Queue',
-		'page callback' => 'drupal_get_form',
-		'page arguments' => array('term_queue_delete_term_form', 3, 4),
-		'access arguments' => array('administer term queue'),
-		'type' => MENU_CALLBACK,
-		'file' => 'term_queue.admin.inc',
-	);
+  $items['admin/build/term_queue/%term_queue/edit'] = array(
+          'title' => 'Edit Term Queue',
+          'page callback' => 'term_queue_edit_form',
+          'page arguments' => array(3),
+          'access arguments' => array('administer term queue'),
+          'type' => MENU_CALLBACK,
+          'file' => 'term_queue.admin.inc',
+  );
+  $items['admin/build/term_queue/%term_queue/delete'] = array(
+          'title' => 'Delete Term Queue',
+          'page callback' => 'drupal_get_form',
+          'page arguments' => array('term_queue_delete_form', 3),
+          'access arguments' => array('administer term queue'),
+          'type' => MENU_CALLBACK,
+          'file' => 'term_queue.admin.inc',
+  );
+  $items['admin/build/term_queue/%term_queue'] = array(
+          'title' => 'Queue Terms',
+          'page callback' => 'drupal_get_form',
+          'page arguments' => array('term_queue_term_form', 3),
+          'access arguments' => array('administer term queue'),
+          'type' => MENU_CALLBACK,
+          'file' => 'term_queue.admin.inc',
+  );
+  $items['admin/build/term_queue/%term_queue/list'] = array(
+          'title' => 'List',
+          'type' => MENU_DEFAULT_LOCAL_TASK,
+          'weight' => -10,
+  );
+  $items['admin/build/term_queue/%term_queue/add'] = array(
+          'title' => 'Add Term to Queue',
+          'page callback' => 'drupal_get_form',
+          'page arguments' => array('term_queue_add_term_form', 3),
+          'access arguments' => array('administer term queue'),
+          'parent' => 'admin/build/term_queue/%term_queue',
+          'type' => MENU_LOCAL_TASK,
+          'file' => 'term_queue.admin.inc',
+  );
+  $items['admin/build/term_queue/%term_queue/%/delete'] = array(
+          'title' => 'Delete Term Queue',
+          'page callback' => 'drupal_get_form',
+          'page arguments' => array('term_queue_delete_term_form', 3, 4),
+          'access arguments' => array('administer term queue'),
+          'type' => MENU_CALLBACK,
+          'file' => 'term_queue.admin.inc',
+  );
 
-	$items['term_queue/autocomplete'] = array(
-		'title' => t('term auto complete'),
-		'page callback' => 'term_queue_autocomplete_term',
-		'access arguments' => array('administer term queue'),
-		'file' => 'term_queue.admin.inc',
-		'type' => MENU_CALLBACK,
-	);
-	return $items;
+  $items['term_queue/autocomplete'] = array(
+          'title' => t('term auto complete'),
+          'page callback' => 'term_queue_autocomplete_term',
+          'access arguments' => array('administer term queue'),
+          'file' => 'term_queue.admin.inc',
+          'type' => MENU_CALLBACK,
+  );
+  return $items;
 }
 
 /**
  * Implementation of hook_block()
  *
  */
-function term_queue_block($op = 'list', $delta = 0) {
-	$all_queues = term_queue_list();
+function term_queue_block($op = 'list', $delta = 0, $edit = array()) {
+  $all_queues = term_queue_list();
 
-	if($op == 'list') {
-		$blocks = array();
-		foreach($all_queues as $i=>$queue) {
-			$name = $i;
-			$blocks[$name]['info'] = $queue->title;
-		}
+  switch($op) {
+    case 'list':
+      $blocks = array();
+      foreach($all_queues as $i=>$queue) {
+        $blocks[$queue->qid]['info'] = "Term queue: " . $queue->title;
+      }
+      return $blocks;
+      break;
 
-		return $blocks;
-	}
-	else if ($op == 'view') {
-		$qid = $all_queues[$delta]->qid;
-		$terms = term_queue_get_terms($qid);
-		$qid_text = 'term_queue__' . $qid;
+    case 'configure':
+      $rendertype_options = array(
+              'term_queue_render_default' => t("Default list"),
+              'term_queue_render_combobox' => t("Select list in a form"),
+              'term_queue_render_fieldset' => t("Link list in a fieldset"),
+              'term_queue_render_collapsedfieldset' => t("Link list in a collapsed fieldset"),
+      );
+      $form['term_queue_rendertype'] = array(
+              '#type' => 'select',
+              '#title' => t("Render type"),
+              '#options' => $rendertype_options,
+              '#default_value' => variable_get('term_queue_rendertype_'.$delta, 'term_queue_render_default'),
+              '#required' => true
+      );
+      return $form;
+      break;
+    case 'save':
+      variable_set('term_queue_rendertype_'.$delta, $edit['term_queue_rendertype']);
+      break;
 
-		$data['subject'] = check_plain($all_queues[$delta]->title);
-		$data['content'] = theme(array($qid_text, 'term_queue'), $all_queues[$delta], $terms);
+    case 'view':
+    // $qid = $all_queues[$delta]->qid;
+      $terms = term_queue_get_terms($delta);
+      // $qid_text = 'term_queue__' . $qid;
+      $queue = term_queue_load($delta);
+      $data['subject'] = check_plain($queue->title);
+      $data['content'] = term_queue_block_view($queue, $terms, $delta);  // theme(array($qid_text, 'term_queue'), $all_queues[$delta], $terms);
 
-		return $data;
-	}
+      return $data;
+
+      break;
+  }
+
 }
 
 /**
@@ -165,12 +198,12 @@
  *    A list of term queue objects.
  */
 function term_queue_list() {
-	$queues = array();
-	$result = db_query('SELECT * FROM {term_queue}');
-	while ($q = db_fetch_object($result)) {
-		$queues[] = $q;
-	}
-	return $queues;
+  $queues = array();
+  $result = db_query('SELECT * FROM {term_queue} order by qid asc');
+  while ($q = db_fetch_object($result)) {
+    $queues[] = $q;
+  }
+  return $queues;
 }
 
 /**
@@ -182,13 +215,13 @@
  *    A list of term queue objects.
  */
 function term_queue_load($qid) {
-	static $queues = array();
+  static $queues = array();
 
-	if (!isset($queues[$qid])) {
-		$queues[$qid] = db_fetch_object(db_query('SELECT * FROM {term_queue} WHERE qid=%d', $qid));
-	}
+  if (!isset($queues[$qid])) {
+    $queues[$qid] = db_fetch_object(db_query('SELECT * FROM {term_queue} WHERE qid=%d', $qid));
+  }
 
-	return $queues[$qid];
+  return $queues[$qid];
 }
 
 /**
@@ -198,12 +231,12 @@
  *    A queue as an array with values
  */
 function term_queue_save($queue) {
-	if (!empty($queue['qid'])) {
-		drupal_write_record('term_queue', $queue, 'qid');
-	}
-	else {
-		drupal_write_record('term_queue', $queue);
-	}
+  if (!empty($queue['qid'])) {
+    drupal_write_record('term_queue', $queue, 'qid');
+  }
+  else {
+    drupal_write_record('term_queue', $queue);
+  }
 }
 
 /**
@@ -213,9 +246,9 @@
  *    A queue with at least the qid set.
  */
 function term_queue_delete($queue) {
-	$queue = (array)$queue;
-	db_query('DELETE FROM {term_queue} WHERE qid = %d', $queue['qid']);
-	db_query('DELETE FROM {term_queue_term} WHERE qid = %d', $queue['qid']);
+  $queue = (array)$queue;
+  db_query('DELETE FROM {term_queue} WHERE qid = %d', $queue['qid']);
+  db_query('DELETE FROM {term_queue_term} WHERE qid = %d', $queue['qid']);
 }
 
 /**
@@ -225,15 +258,15 @@
  *    A two-dimensional array of queue terms as objects
  */
 function term_queue_get_all_terms() {
-	$queue_list = array();
+  $queue_list = array();
 
-	$queues = term_queue_list();
+  $queues = term_queue_list();
 
-	foreach($queues as $queue) {
-		$queue_list[$queue->qid] = term_queue_get_terms($queue->qid);
-	}
+  foreach($queues as $queue) {
+    $queue_list[$queue->qid] = term_queue_get_terms($queue->qid);
+  }
 
-	return $queue_list;
+  return $queue_list;
 }
 
 /**
@@ -245,22 +278,22 @@
  *    An array of queue terms as objects
  */
 function term_queue_get_terms($qid) {
-	static $queue_terms = array();
+  static $queue_terms = array();
 
-	if (!isset($queue_terms[$qid])) {
-		$terms = array();
-		$sql .= 'SELECT qt.*, td.name FROM {term_queue_term} qt';
-		$sql .= ' INNER JOIN {term_data} td ON qt.tid = td.tid ';
-		$sql .= ' WHERE qid = %d ORDER BY qt.weight ASC, td.name ASC';
-		$result = db_query($sql, $qid);
-		while ($term = db_fetch_object($result)) {
-			$terms[] = $term;
-		}
+  if (!isset($queue_terms[$qid])) {
+    $terms = array();
+    $sql .= 'SELECT qt.*, td.name FROM {term_queue_term} qt';
+    $sql .= ' INNER JOIN {term_data} td ON qt.tid = td.tid ';
+    $sql .= ' WHERE qid = %d ORDER BY qt.weight ASC, td.name ASC';
+    $result = db_query($sql, $qid);
+    while ($term = db_fetch_object($result)) {
+      $terms[] = $term;
+    }
 
-		$queue_terms[$qid] = $terms;
-	}
+    $queue_terms[$qid] = $terms;
+  }
 
-	return $queue_terms[$qid];
+  return $queue_terms[$qid];
 }
 
 /**
@@ -272,8 +305,8 @@
  *    The taxonomy term id.
  */
 function term_queue_add_term($qid, $tid) {
-	$term = taxonomy_get_term($tid);
-	db_query('INSERT INTO {term_queue_term} (qid, tid, vid) VALUES(%d, %d, %d)', $qid, $tid, $term->vid);
+  $term = taxonomy_get_term($tid);
+  db_query('INSERT INTO {term_queue_term} (qid, tid, vid) VALUES(%d, %d, %d)', $qid, $tid, $term->vid);
 }
 
 /**
@@ -287,7 +320,7 @@
  *    The weight (ordering) within the specified queue.
  */
 function term_queue_update_term($qid, $tid, $weight = 0) {
-	db_query('UPDATE {term_queue_term} SET weight = %d WHERE qid = %d AND tid = %d', $weight, $qid, $tid);
+  db_query('UPDATE {term_queue_term} SET weight = %d WHERE qid = %d AND tid = %d', $weight, $qid, $tid);
 }
 
 /**
@@ -299,7 +332,7 @@
  *    The taxonomy term id.
  */
 function term_queue_delete_term($qid, $tid) {
-	db_query('DELETE FROM {term_queue_term} WHERE qid = %d AND tid = %d', $qid, $tid);
+  db_query('DELETE FROM {term_queue_term} WHERE qid = %d AND tid = %d', $qid, $tid);
 }
 
 /**
@@ -309,7 +342,7 @@
  *    The taxonomy term id.
  */
 function term_queue_remove_by_term($tid) {
-	db_query('DELETE FROM {term_queue_term} WHERE tid = %d', $tid);
+  db_query('DELETE FROM {term_queue_term} WHERE tid = %d', $tid);
 }
 
 /**
@@ -319,7 +352,7 @@
  *    The vocabulary id.
  */
 function term_queue_remove_by_vocab($vid) {
-	db_query('DELETE FROM {term_queue_term} WHERE vid = %d', $vid);
+  db_query('DELETE FROM {term_queue_term} WHERE vid = %d', $vid);
 }
 
 /**
@@ -328,36 +361,125 @@
  * When a term is removed, make sure we remove it from our queues.
  */
 function term_queue_taxonomy($op, $type, $data) {
-	if ($op == 'delete') {
-		if ($type == 'term') {
-			term_queue_remove_by_term($data['tid']);
-		} else { // A whole vocabulary was removed.
-			term_queue_remove_by_vocab($data['vid']);
-		}
-	}
+  if ($op == 'delete') {
+    if ($type == 'term') {
+      term_queue_remove_by_term($data['tid']);
+    } else { // A whole vocabulary was removed.
+      term_queue_remove_by_vocab($data['vid']);
+    }
+  }
 }
 
+
+function term_queue_block_view($queue, $queue_terms, $delta) {
+  $render_function = variable_get('term_queue_rendertype_'.$delta, 'term_queue_render_default');
+  if($render_function!='term_queue_render_default') {
+    $theme_functions = array(
+            $render_function."__{$delta}",
+            $render_function,
+    );
+  }
+  $theme_functions[] = "term_queue_render_default__{$delta}";
+  $theme_functions[] = 'term_queue_render_default';
+
+  return theme($theme_functions, $queue, $queue_terms);
+}
+
 /**
  * Default theme function for a Term Queue
  *
  * {Fill In Later}
  */
-function theme_term_queue($queue = NULL, $terms = array()) {
-	$links = array();
-	foreach($terms as $term) {
-		$link = array(
-			'href' => taxonomy_term_path($term), // 'taxonomy/term/' . $term->tid,
-			'title' => $term->name
-		);
-		$links[] = $link;
-	}
+function theme_term_queue_render_default($queue = NULL, $terms = array()) {
+  $links = array();
+  foreach($terms as $term) {
+    $link = array(
+            'href' => taxonomy_term_path($term), // 'taxonomy/term/' . $term->tid,
+            'title' => $term->name
+    );
+    $links[] = $link;
+  }
 
-	return theme('links', $links, array('class' => 'term-queue-links'));
+  return theme('links', $links, array('class' => 'term-queue-links'));
 }
 
+function theme_term_queue_render_combobox($queue = NULL, $terms = array()) {
+  $content = drupal_get_form('term_queue_render_combobox_form', $queue, $terms);
+  drupal_add_js(drupal_get_path("module", "term_queue") . "/term_queue.js");
+  return $content;
+}
+
+function term_queue_render_combobox_form($form_state, $queue, $terms) {
+  $form = array();
+  foreach($terms as $term) {
+    $options[taxonomy_term_path($term)] = $term->name;
+  }
+
+  foreach($options as $k => $v) {
+    $js_options[$k] = url($k);
+  }
+  drupal_add_js(array('term_queue' => array('options' => $js_options)), 'setting');
+
+  $def = null;
+  if(array_key_exists($_GET['q'], $options)) {
+    $def = $_GET['q'];
+  }
+  $form['term'] = array(
+          '#id' => "term_{$queue->qid}",
+          '#type' => 'select',
+          '#options' => $options,
+          '#default_value' => $def,
+          '#title' => t("Select"),
+          '#attributes' => array(
+                  'class' => 'term_queue_select'
+          )
+  );
+  $form['submit_and_go_'.$queue->qid] = array(
+          '#type' => 'submit',
+          '#value' => t("Submit")
+  );
+  return $form;
+}
+
+function term_queue_render_combobox_form_submit($form_id, $form_state) {
+  drupal_goto($form_state['values']['term']);
+}
+
+function theme_term_queue_render_fieldset($queue = NULL, $terms = array(), $collapsible=false, $collapsed=false) {
+  foreach($terms as $term) {
+    $link = array(
+            'href' => taxonomy_term_path($term), // 'taxonomy/term/' . $term->tid,
+            'title' => $term->name
+    );
+    $links[] = $link;
+  }
+
+  $form['fieldset'] = array(
+          '#type' => 'fieldset',
+          '#collapsible' => $collapsible,
+          '#collapsed' => $collapsed,
+          '#title' => $queue->title,
+          '#prefix' => '<div class="fieldset-outer">',
+          '#suffix' => '</div>',
+          '#attributes' => array(
+                  'class' => 'collas'
+          )
+  );
+  $form['fieldset']['links'] = array(
+          '#value' => theme('links', $links, array('class' => 'term-queue-links'))
+  );
+  return drupal_render($form);
+}
+
+function theme_term_queue_render_collapsedfieldset($queue = NULL, $terms = array()) {
+  return theme('term_queue_render_fieldset', $queue, $terms, true, true);
+}
+
+
+
 function term_queue_views_api() {
-	return array(
-		'api' => 2,
-		'path' => drupal_get_path('module', 'term_queue')."/views",
-	);
+  return array(
+          'api' => 2,
+          'path' => drupal_get_path('module', 'term_queue')."/views",
+  );
 }
\ No newline at end of file
Index: term_queue.info
===================================================================
--- term_queue.info	(revisione 114)
+++ term_queue.info	(revisione 165)
@@ -2,16 +2,3 @@
 description = "Creates ordered lists of Taxonomy Terms"
 core = 6.x
 dependencies[] = taxonomy
-; Information added by drupal.org packaging script on 2008-09-25
-version = "6.x-0.9"
-core = "6.x"
-project = "term_queue"
-datestamp = "1222365924"
-
-
-; Information added by drupal.org packaging script on 2008-10-28
-version = "6.x-1.0"
-core = "6.x"
-project = "term_queue"
-datestamp = "1225211442"
-
Index: term_queue.js
===================================================================
--- term_queue.js	(revisione 0)
+++ term_queue.js	(revisione 165)
@@ -0,0 +1,11 @@
+Drupal.behaviors.termqueue_autogoto = function(context){
+    var termQueues = $(".term_queue_select");
+    termQueues.each(function(intIndex){
+	var currentTQ = $(termQueues[intIndex]);
+	currentTQ.change(function(){
+	    $("option:selected", currentTQ).each(function () {
+                window.location = Drupal.settings.term_queue.options[$(this).val()];
+	    });
+	});
+    });
+}
\ No newline at end of file
Index: views/term_queue.views.inc
===================================================================
--- views/term_queue.views.inc	(revisione 114)
+++ views/term_queue.views.inc	(revisione 165)
@@ -7,7 +7,7 @@
 		'help' => t('The term queue ID'),
 		'real field'=> 'tid',
 		'filter' => array(
-			'title' => t('Term - multiple vocabularies'),
+			'title' => t('Term queue'),
 			'handler' => 'views_handler_filter_term_node_term_queue',
 			'hierarchy table' => 'term_hierarchy',
 			'numeric' => TRUE,
Index: views/views_handler_filter_term_node_term_queue.inc
===================================================================
--- views/views_handler_filter_term_node_term_queue.inc	(revisione 114)
+++ views/views_handler_filter_term_node_term_queue.inc	(revisione 165)
@@ -3,10 +3,7 @@
 /**
  * Filter by term id
  */
-class views_handler_filter_term_node_term_queue extends views_handler_filter_many_to_one {
-	function has_extra_options() {
-		return TRUE;
-	}
+class views_handler_filter_term_node_term_queue extends views_handler_filter_in_operator {
 
 	function get_value_options() { /* don't overwrite the value options */
 		// TODO list all term_queue
@@ -15,137 +12,43 @@
 			$this->value_title = t('Term queue');
 			$queues = term_queue_list();
 			foreach ($queues as $queue) {
-				$options[$queue->qid] = $queue->name;
+				$options[$queue->qid] = $queue->title;
 			}
 			$this->value_options = $options;
 		}
 
 	}
-/*
-	function option_definition() {
-		$options = parent::option_definition();
-
-		$options['type'] = array('default' => 'select');
-		$options['limit'] = array('default' => TRUE);
-		$options['vid'] = array('default' => array(0));
-
-		return $options;
-	}
-
-	function extra_options_form(&$form, &$form_state) {
-
-		$form['markup_start'] = array(
-			'#value' => '<div class="views-left-40">',
-		);
-
-		$form['type'] = array(
-			'#type' => 'radios',
-			'#title' => t('Selection type'),
-			'#options' => array('textfield' => t('Autocomplete')),
-			'#default_value' => $this->options['type'],
-		);
-
-		$form['markup_end'] = array(
-			'#value' => '</div>',
-		);
-	}
-
-	function value_form(&$form, &$form_state) {
-		static $view_running = 0;
-
-		if ($this->options['type'] == 'textfield') {
-			$default = '';
-			if ($this->value) {
-				$result = db_query("SELECT * FROM {term_data} td WHERE td.tid IN (" . implode(', ', $this->value) . ')');
-				while ($term = db_fetch_object($result)) {
-					if ($default) {
-						$default .= ', ';
-					}
-					$default .= $term->name;
-				}
-			}
-			$form['value'] = array(
-				'#title' => t('Select terms'),
-				'#type' => 'textfield',
-				'#default_value' => $default,
-			);
-			$form['value']['#autocomplete_path'] = 'taxonomy/autocomplete/2';
-		}
-
-
-		if (empty($form_state['exposed'])) {
-			// Retain the helper option
-			$this->helper->options_form($form, $form_state);
-		}
-	}
-
-	function value_validate(&$form, &$form_state) {
-		$values = drupal_explode_tags($form_state['values']['options']['value']);
-		$tids = $this->validate_term_strings($form['value'], $values);
-
-		if ($tids) {
-			$form_state['values']['options']['value'] = $tids;
-		}
-	}
-
-	/**
-	 * Validate the user string. Since this can come from either the form
-	 * or the exposed filter, this is abstracted out a bit so it can
-	 * handle the multiple input sources.
-	 * /
-	function validate_term_strings(&$form, $values) {
-		if (empty($values)) {
-			return array();
-		}
-
-		$tids = array();
-		foreach ($values as $value) {
-			$tids[strtolower($value)] = TRUE;
-		}
-		return $tids;
-	}
-
-	function value_submit($form, &$form_state) {
-		// prevent array_filter from messing up our arrays in parent submit.
-	}
-
-	function expose_form_right(&$form, &$form_state) {
-		parent::expose_form_right($form, $form_state);
-		if ($this->options['type'] != 'select') {
-			unset($form['expose']['reduce']);
-		}
-	}
-*/
+	
 	function admin_summary() {
 		// set up $this->value_options for the parent summary
 		$this->value_options = array();
 
 		if ($this->value) {
-			$result = db_query("SELECT * FROM {term_data} td WHERE td.tid IN ("  . implode(', ', $this->value) . ")");
-
-			while ($term = db_fetch_object($result)) {
-				$this->value_options[$term->tid] = $term->name;
+			foreach($this->value as $qid){
+				$term_queue = term_queue_load($qid);
+				$this->value_options[$term_queue->qid] = $term_queue->title;				
 			}
 		}
 		return parent::admin_summary();
 	}
 
 
-	function op_simple() {
+	function query() {
 		if (empty($this->value)) {
 			return;
 		}
 		$this->ensure_my_table();
 
-		$qid = $this->value;
-		$terms = term_queue_get_terms($qid);
 		$values = array();
-		foreach($terms as $term){
-			$values[] = $term->tid;
+		foreach($this->value as $qid){
+			$terms = term_queue_get_terms($qid);
+			foreach($terms as $term){
+				$values[] = $term->tid;
+			}
 		}
-		$placeholder = !empty($this->definition['numeric']) ? '%d' : "'%s'";
 
-		$replace = array_fill(0, sizeof($terms), $placeholder);
+		$placeholder = !empty($this->definition['numeric']) ? '%d' : "'%s'";
+		$replace = array_fill(0, sizeof($values), $placeholder);
 		$in = ' (' . implode(", ", $replace) . ')';
 
 		// We use array_values() because the checkboxes keep keys and that can cause
