Index: plugins/userPref/_define.php
===================================================================
--- plugins/userPref/_define.php	(revision 464)
+++ plugins/userPref/_define.php	(revision 589)
@@ -16,5 +16,5 @@
 	/* Description*/		"Manage every user preference directive",
 	/* Author */			"Franck Paul",
-	/* Version */			'0.1'
+	/* Version */			'0.2'
 );
 ?>
Index: plugins/userPref/index.php
===================================================================
--- plugins/userPref/index.php	(revision 500)
+++ plugins/userPref/index.php	(revision 782)
@@ -12,4 +12,14 @@
 if (!defined('DC_CONTEXT_ADMIN')) { return; }
 
+# Local navigation
+if (!empty($_POST['gp_nav'])) {
+	http::redirect($p_url.$_POST['gp_nav']);
+	exit;
+}
+if (!empty($_POST['lp_nav'])) {
+	http::redirect($p_url.$_POST['lp_nav']);
+	exit;
+}
+
 # Local prefs update
 if (!empty($_POST['s']) && is_array($_POST['s']))
@@ -72,5 +82,5 @@
 	return
 	'<tr>'.
-	'<td><label for="s_'.$id.'">'.sprintf($slabel,html::escapeHTML($id)).'</label></td>'.
+	'<td scope="raw"><label for="s_'.$id.'">'.sprintf($slabel,html::escapeHTML($id)).'</label></td>'.
 	'<td>'.$field.'</td>'.
 	'<td>'.$s['type'].'</td>'.
@@ -84,6 +94,22 @@
   <?php echo dcPage::jsPageTabs($part); ?>
   <style type="text/css">
-  .ns-name { background: #ccc; color: #000; padding-top: 0.3em; padding-bottom: 0.3em; font-size: 1.1em; }
+	table.prefs { border: 1px solid #999; margin-bottom: 2em; }
+	table.prefs th { background: #f5f5f5; color: #444; padding-top: 0.3em; padding-bottom: 0.3em; }
+	p.anchor-nav {float: right; }
   </style>
+	<script type="text/javascript">
+	//<![CDATA[
+	$(function() {
+		$("#gp_submit").hide();
+		$("#lp_submit").hide();
+		$("#gp_nav").change(function() {
+			window.location = $("#gp_nav option:selected").val();
+		})
+		$("#lp_nav").change(function() {
+			window.location = $("#lp_nav option:selected").val();
+		})
+	});
+	//]]>
+	</script>
 </head>
 
@@ -101,13 +127,18 @@
 
 <div id="local" class="multi-part" title="<?php echo __('user preferences'); ?>">
-<form action="plugin.php" method="post">
-<table>
-<tr>
-  <th class="nowrap">Pref ID</th>
-  <th><?php echo __('Value'); ?></th>
-  <th><?php echo __('Type'); ?></th>
-  <th class="maximal"><?php echo __('Description'); ?></th>
-</tr>
-<?php
+
+<?php
+$table_header = '<table class="prefs" id="%s"><caption>%s</caption>'.
+'<thead>'.
+'<tr>'."\n".
+'  <th class="nowrap">Setting ID</th>'."\n".
+'  <th>'.__('Value').'</th>'."\n".
+'  <th>'.__('Type').'</th>'."\n".
+'  <th class="maximalx">'.__('Description').'</th>'."\n".
+'</tr>'."\n".
+'</thead>'."\n".
+'<tbody>';
+$table_footer = '</tbody></table>';
+
 $prefs = array();
 
@@ -117,19 +148,35 @@
 	}
 }
-
 ksort($prefs);
-
+if (count($prefs) > 0) {
+	$ws_combo = array();
+	foreach ($prefs as $ws => $s) {
+		$ws_combo[$ws] = '#l_'.$ws;
+	}
+	echo 
+		'<form action="plugin.php" method="post">'.
+		'<p class="anchor-nav">'.
+		'<label for="lp_nav" class="classic">'.__('Goto:').'</label> '.form::combo('lp_nav',$ws_combo).
+		' <input type="submit" value="'.__('Ok').'" id="lp_submit" />'.
+		'<input type="hidden" name="p" value="aboutConfig" />'.
+		$core->formNonce().'</p></form>';
+}
+?>
+
+<form action="plugin.php" method="post">
+
+<?php
 foreach ($prefs as $ws => $s)
 {
 	ksort($s);
-	echo '<tr><td colspan="4" class="ws-name">workspace: <strong>'.$ws.'</strong></td></tr>';
-	
+	echo sprintf($table_header,'l_'.$ws,$ws);
 	foreach ($s as $k => $v)
 	{
 		echo prefLine($k,$v,$ws,'s',!$v['global']);
 	}
-}
-?>
-</table>
+	echo $table_footer;
+}
+?>
+
 <p><input type="submit" value="<?php echo __('Save'); ?>" />
 <input type="hidden" name="p" value="userPref" />
@@ -139,12 +186,5 @@
 
 <div id="global" class="multi-part" title="<?php echo __('global preferences'); ?>">
-<form action="plugin.php" method="post">
-<table>
-<tr>
-  <th class="nowrap">Pref ID</th>
-  <th><?php echo __('Value'); ?></th>
-  <th><?php echo __('Type'); ?></th>
-  <th class="maximal"><?php echo __('Description'); ?></th>
-</tr>
+
 <?php
 $prefs = array();
@@ -158,16 +198,34 @@
 ksort($prefs);
 
+if (count($prefs) > 0) {
+	$ws_combo = array();
+	foreach ($prefs as $ws => $s) {
+		$ws_combo[$ws] = '#g_'.$ws;
+	}
+	echo 
+		'<form action="plugin.php" method="post">'.
+		'<p class="anchor-nav">'.
+		'<label for="gp_nav" class="classic">'.__('Goto:').'</label> '.form::combo('gp_nav',$ws_combo).
+		' <input type="submit" value="'.__('Ok').'" id="gp_submit" />'.
+		'<input type="hidden" name="p" value="aboutConfig" />'.
+		$core->formNonce().'</p></form>';
+}
+?>
+
+<form action="plugin.php" method="post">
+
+<?php
 foreach ($prefs as $ws => $s)
 {
 	ksort($s);
-	echo '<tr><td colspan="4" class="ws-name">workspace: <strong>'.$ws.'</strong></td></tr>';
-	
+	echo sprintf($table_header,'g_'.$ws,$ws);
 	foreach ($s as $k => $v)
 	{
 		echo prefLine($k,$v,$ws,'gs',false);
 	}
-}
-?>
-</table>
+	echo $table_footer;
+}
+?>
+
 <p><input type="submit" value="<?php echo __('Save'); ?>" />
 <input type="hidden" name="p" value="userPref" />
