Index: ajax/updateLicenses.php
===================================================================
--- ajax/updateLicenses.php	(revision 5998)
+++ ajax/updateLicenses.php	(working copy)
@@ -57,6 +57,12 @@
 			dropdownLicenseOfSoftware("lID",$_POST["sID"]);
 			echo "&nbsp;&nbsp;<input type='submit' name='move' value='".$LANG["buttons"][14]."' class='submit'>";
 		break;
+		case "delete_license":
+			echo "&nbsp;&nbsp;<input type='submit' name='delete_license' value='".$LANG["buttons"][2]."' class='submit'>";
+		break;
+		case "uninstall_license":
+			echo "&nbsp;&nbsp;<input type='submit' name='uninstall_license' value='".$LANG["buttons"][2]."' class='submit'>";
+		break;
 		case "move_to_software":
 			$soft=new Software();
 			$soft->getFromDB($_POST["sID"]);
Index: front/software.licenses.php
===================================================================
--- front/software.licenses.php	(revision 5998)
+++ front/software.licenses.php	(working copy)
@@ -103,6 +103,28 @@
 		}
 	glpi_header($_SERVER['HTTP_REFERER']);
 }
+else if (isset($_POST["delete_license"])){
+	checkRight("software","w");
+
+	foreach ($_POST as $key => $val)
+		if (ereg("license_([0-9]+)",$key,$ereg)){
+			$input["ID"]=$ereg[1];
+			$lic->delete(array("ID"=>$input["ID"]));
+		}
+	glpi_header($_SERVER['HTTP_REFERER']);	
+}
+else if (isset($_POST["uninstall_license"])){
+	checkRight("software","w");
+
+	foreach ($_POST as $key => $val)
+		if (ereg("license_([0-9]+)",$key,$ereg)){
+			$input["ID"]=$ereg[1];
+			uninstallSoftware($input["ID"]);
+		}
+	glpi_header($_SERVER['HTTP_REFERER']);
+	
+	
+}
 else if (isset($_POST["move"])||isset($_POST["move"])){
 	if ($_POST["lID"]&&$lic->getFromDB($_POST["lID"])){
 		unset($lic->fields["ID"]);
Index: inc/software.function.php
===================================================================
--- inc/software.function.php	(revision 5998)
+++ inc/software.function.php	(working copy)
@@ -107,6 +107,7 @@
 					echo "<option value='update_expire'>".$LANG["software"][32]."</option>";
 					echo "<option value='update_buy'>".$LANG["software"][35]."</option>";
 					echo "<option value='move'>".$LANG["buttons"][20]."</option>";
+					echo "<option value='delete_license'>".$LANG["buttons"][5]."</option>";
 					echo "</select>";
 	
 					$params=array('type'=>'__VALUE__',
@@ -710,7 +711,7 @@
 	$comp->getFromDB($instID);
 	$FK_entities=$comp->fields["FK_entities"];
 
-	$query_cat = "SELECT 1 as TYPE, glpi_dropdown_software_category.name as category, glpi_software.category as category_id, glpi_software.name as softname, glpi_inst_software.license as license, glpi_inst_software.ID as ID,glpi_licenses.expire,glpi_software.deleted, glpi_licenses.sID, GROUP_CONCAT( DISTINCT CONCAT(CONCAT_WS(' - ',glpi_licenses.version, glpi_licenses.serial),'$$',glpi_inst_software.ID) SEPARATOR '$$$$') AS version, glpi_licenses.serial, glpi_licenses.version AS orig_version, glpi_licenses.oem, glpi_licenses.oem_computer, glpi_licenses.buy	
+	$query_cat = "SELECT 1 as TYPE, glpi_dropdown_software_category.name as category, glpi_software.category as category_id, glpi_software.name as softname, glpi_inst_software.license as license, glpi_inst_software.ID as ID,glpi_licenses.expire,glpi_software.deleted, glpi_licenses.sID, GROUP_CONCAT( DISTINCT CONCAT(CONCAT_WS(' - ',glpi_licenses.version, glpi_licenses.serial),'$$',glpi_inst_software.ID) SEPARATOR '$$$$') AS version, glpi_licenses.serial, glpi_licenses.version AS orig_version, glpi_licenses.oem, glpi_licenses.oem_computer, glpi_licenses.buy,glpi_software.helpdesk_visible as helpdesk_visible 
 	FROM glpi_inst_software 
 	LEFT JOIN glpi_licenses ON ( glpi_inst_software.license = glpi_licenses.ID )
 	LEFT JOIN glpi_software ON (glpi_licenses.sID = glpi_software.ID) 
@@ -719,7 +720,7 @@
 	$query_cat.=" WHERE glpi_inst_software.cID = '$instID' AND glpi_software.category > 0 
 			GROUP BY glpi_licenses.sID"; 
 
-    $query_nocat = "SELECT 2 as TYPE, glpi_dropdown_software_category.name as category, glpi_software.category as category_id, glpi_software.name as softname, glpi_inst_software.license as license, glpi_inst_software.ID as ID,glpi_licenses.expire,glpi_software.deleted, glpi_licenses.sID, GROUP_CONCAT( DISTINCT CONCAT(CONCAT_WS(' - ',glpi_licenses.version, glpi_licenses.serial),'$$',glpi_inst_software.ID) SEPARATOR '$$$$') AS version, glpi_licenses.serial, glpi_licenses.version AS orig_version, glpi_licenses.oem, glpi_licenses.oem_computer, glpi_licenses.buy  
+    $query_nocat = "SELECT 2 as TYPE, glpi_dropdown_software_category.name as category, glpi_software.category as category_id, glpi_software.name as softname, glpi_inst_software.license as license, glpi_inst_software.ID as ID,glpi_licenses.expire,glpi_software.deleted, glpi_licenses.sID, GROUP_CONCAT( DISTINCT CONCAT(CONCAT_WS(' - ',glpi_licenses.version, glpi_licenses.serial),'$$',glpi_inst_software.ID) SEPARATOR '$$$$') AS version, glpi_licenses.serial, glpi_licenses.version AS orig_version, glpi_licenses.oem, glpi_licenses.oem_computer, glpi_licenses.buy,glpi_software.helpdesk_visible as helpdesk_visible 
         FROM glpi_inst_software 
 	LEFT JOIN glpi_licenses ON ( glpi_inst_software.license = glpi_licenses.ID ) 
         LEFT JOIN glpi_software ON (glpi_licenses.sID = glpi_software.ID)  
@@ -761,7 +762,29 @@
 			displaySoftsByCategory($data,$instID,$withtemplate);
 		}
 	
-		echo "</table></div></td></tr>";
+		echo "</table>";
+		
+		echo "<table width='950px'>";
+		echo "<tr><td><img src=\"".$CFG_GLPI["root_doc"]."/pics/arrow-left.png\" alt=''></td><td><a onclick= \"if ( markAllRows('lic_form$cat') ) return false;\" href='".$_SERVER['PHP_SELF']."?ID=".$cat."&amp;select=all'>".$LANG["buttons"][18]."</a></td>";
+		echo "<td>/</td><td ><a onclick=\"if ( unMarkAllRows('lic_form$cat') ) return false;\" href='".$_SERVER['PHP_SELF']."?ID=".$cat."&amp;select=none'>".$LANG["buttons"][19]."</a>";
+		echo "</td><td class='left' width='80%'>";
+
+		echo "<select name='update_licenses$cat' id='update_licenses_choice$cat'>";
+		echo "<option value=''>-----</option>";
+		echo "<option value='uninstall_license'>".$LANG["buttons"][5]."</option>";
+		echo "</select>";
+	
+		$params=array('type'=>'__VALUE__',
+							'sID'=>$data["sID"],
+					);
+					ajaxUpdateItemOnSelectEvent("update_licenses_choice$cat","update_licenses_view$cat",$CFG_GLPI["root_doc"]."/ajax/updateLicenses.php",$params,false);
+	
+		echo "<span id='update_licenses_view$cat'>\n";
+		echo "&nbsp;";
+		echo "</span>\n";
+		echo "</td></tr></table>";
+		echo "</form>";
+		echo "</div></td></tr>";
 			
 		$q="SELECT count(*) FROM glpi_software WHERE deleted='0' AND is_template='0'";
 		$result = $DB->query($q);
@@ -782,7 +805,30 @@
 	
 	// Close old one
 	if ($cat != -1){
-		echo "</table></div></td></tr>";
+		echo "</table>";
+		
+		echo "<table width='950px'>";
+		echo "<tr><td><img src=\"".$CFG_GLPI["root_doc"]."/pics/arrow-left.png\" alt=''></td><td><a onclick= \"if ( markAllRows('lic_form$cat') ) return false;\" href='".$_SERVER['PHP_SELF']."?ID=".$cat."&amp;select=all'>".$LANG["buttons"][18]."</a></td>";
+		echo "<td>/</td><td ><a onclick=\"if ( unMarkAllRows('lic_form$cat') ) return false;\" href='".$_SERVER['PHP_SELF']."?ID=".$cat."&amp;select=none'>".$LANG["buttons"][19]."</a>";
+		echo "</td><td class='left' width='80%'>";
+			
+		echo "<select name='update_licenses$cat' id='update_licenses_choice$cat'>";
+		echo "<option value=''>-----</option>";
+		echo "<option value='uninstall_license'>".$LANG["buttons"][5]."</option>";
+		echo "</select>";
+	
+		$params=array('type'=>'__VALUE__',
+							'sID'=>$data["sID"],
+					);
+					ajaxUpdateItemOnSelectEvent("update_licenses_choice$cat","update_licenses_view$cat",$CFG_GLPI["root_doc"]."/ajax/updateLicenses.php",$params,false);
+	
+		echo "<span id='update_licenses_view$cat'>\n";
+		echo "&nbsp;";
+		echo "</span>\n";
+		echo "</td></tr></table>";
+		echo "</form>";
+		echo "</div></td></tr>";
+		
 	}
 		
 	$display = "none";
@@ -796,7 +842,6 @@
 	else
 		$display = $CFG_GLPI["expand_soft_categorized"];
 	
-
 	echo "	<tr class='tab_bg_2$expirecss'>";
 	echo "  	<td align='center' colspan='5'>"; 
 	echo "			<a  href=\"javascript:showHideDiv('softcat$cat','imgcat$cat','".GLPI_ROOT."/pics/folder.png','".GLPI_ROOT."/pics/folder-open.png');\">";
@@ -807,9 +852,13 @@
 	echo "<tr class='tab_bg_2$expirecss'>";
 	echo "		<td colspan='5'>
 			     <div align='center' id='softcat$cat' ".(!$display?"style=\"display:none;\"":'').">"; 
+
+	echo "<form id='lic_form$cat' name='lic_form$cat' method='post' action=\"".$CFG_GLPI["root_doc"]."/front/software.licenses.php\">";
 	echo "			<table class='tab_cadre_fixe'>";
 	echo "				<tr>"; 
-	echo "					<th>".$LANG["common"][16]."</th><th>".$LANG["software"][11]."</th><th>".$LANG["software"][32]."</th><th>".$LANG["software"][28]."</th><th>".$LANG["software"][35]."</th>"; 
+	
+	echo "<th>&nbsp;</th>";
+	echo "					<th>".$LANG["common"][16]."</th><th>".$LANG["software"][11]."</th><th>".$LANG["software"][32]."</th><th>".$LANG["software"][28]."</th><th>".$LANG["software"][35]."</th><th>".$LANG["software"][47]."</th>"; 
 	echo "				</tr>";
 	return $cat;
 }
@@ -831,6 +880,8 @@
 	if ($data['deleted']) {$expirer=1; $expirecss="_2";}
 
 	echo "<tr class='tab_bg_1$expirecss'>";
+	echo "<td><input type='checkbox' name='license_".$data['ID']."'></td>";
+	
 	echo "<td class='center'><strong><a href=\"".$CFG_GLPI["root_doc"]."/front/software.form.php?ID=".$data['sID']."\">";
 	echo $data["softname"].($CFG_GLPI["view_ID"]?" (".$data['ID'].")":"")."</a>";
 	echo "</strong>";
@@ -889,10 +940,17 @@
 	
 		// BUY
 		echo "<td class='center'>".($data["buy"]?$LANG["choice"][1]:$LANG["choice"][0]);
-		echo "</td>";								
+		echo "</td>";
+		
+		// SEE ON HELPDESK
+		echo "<td class='center'>".($data["helpdesk_visible"]?$LANG["choice"][1]:$LANG["choice"][0]);
+		echo "</td>";													
 	}
 	else {
 		echo "<td>&nbsp;</td><td>&nbsp;</td>";
+		// SEE ON HELPDESK
+		echo "<td class='center'>".($data["helpdesk_visible"]?$LANG["choice"][1]:$LANG["choice"][0]);
+		echo "</td>";
 	}
 	echo "</tr>";
 }
Index: locales/fr_FR.php
===================================================================
--- locales/fr_FR.php	(revision 5998)
+++ locales/fr_FR.php	(working copy)
@@ -1553,6 +1553,7 @@
 $LANG["software"][44]="Installation d'un logiciel"; 
 $LANG["software"][45]="Désinstallation d'un logiciel"; 
 $LANG["software"][46]="Visible dans le Helpdesk"; 
+$LANG["software"][47]="Visible";
 
 $LANG["softwarecategories"][1]="Repliés"; 
 $LANG["softwarecategories"][2]="Dépliés"; 
