Index: main/plugin-sms/plugin.xml
===================================================================
--- main/plugin-sms/plugin.xml	(revision 31097)
+++ main/plugin-sms/plugin.xml	(working copy)
@@ -224,7 +224,8 @@
             <extension id="org.ametys.sms.PhoneNumbers"
                        point="org.ametys.cms.workspace.ribbon.RibbonControlsManager"
                        class="org.ametys.runtime.ui.impl.StaticContextualClientSideElement">
-                <action class="org.ametys.ribbon.control.button.UniqueInstanceToolAndSelectionButton">
+                <action class="org.ametys.ribbon.control.button.ActionSelectionButton">
+                    <param name="action">org.ametys.sms.list.Open</param>
                     <param name="role">uitool-sms-phone-numbers</param>
                     <param name="target-type">^sms-list$</param>
                     <param name="label" i18n="true">PLUGINS_SMS_NUMBER_UITOOL_LABEL</param>
@@ -233,6 +234,9 @@
                     <param name="icon-medium" file="true">img/phone_32.png</param>
                     <param name="icon-large" file="true">img/phone_48.png</param>
                 </action>                      
+                <scripts>
+                    <file>js/org/ametys/sms/list/ListActions.i18n.js</file>
+                </scripts>
                 <right context-prefix="/contributor">Plugins_SMS_Right_Action</right>              
             </extension>
             
@@ -333,8 +337,7 @@
             <extension id="org.ametys.plugins.sms.list.Add"
                        point="org.ametys.cms.workspace.ribbon.RibbonControlsManager" 
                        class="org.ametys.runtime.ui.impl.StaticContextualClientSideElement">
-                <action class="org.ametys.ribbon.control.button.ActionSelectionButton">
-                    <param name="target-type">^sms-list-provider$</param>                
+                <action class="org.ametys.ribbon.control.button.ActionButton">
                     <param name="action">org.ametys.sms.list.Edit.add</param>
                     <param name="label" i18n="true">PLUGINS_SMS_LIST_UITOOL_SMS_ADD_LABEL</param>
                     <param name="default-description" i18n="true">PLUGINS_SMS_LIST_UITOOL_SMS_ADD_DESC</param>
Index: main/plugin-sms/resources/js/org/ametys/sms/list/ListActions.i18n.js
===================================================================
--- main/plugin-sms/resources/js/org/ametys/sms/list/ListActions.i18n.js	(revision 31097)
+++ main/plugin-sms/resources/js/org/ametys/sms/list/ListActions.i18n.js	(working copy)
@@ -16,7 +16,21 @@
 
 Ext.namespace('org.ametys.sms.list.Edit');
 Ext.namespace('org.ametys.sms.list.Delete');
+Ext.namespace('org.ametys.sms.list.Open');
 
+org.ametys.sms.list.Open = function(id, config, pluginName)
+{
+	var targets = org.ametys.ribbon.RibbonManager.getInstance().getCurrentSelectionTargets();
+	var target = org.ametys.messagebus.message.MessageTargetHelper.findFirst(targets, function(target) { return target.getType() == "sms-list" });
+	
+	if (target == null)
+		return; 
+	
+	var params = {};
+	params.id = target.getParameters().id;
+	params.title = target.getParameters().label;
+	org.ametys.uitool.ToolsManager.getInstance().openTool ("uitool-sms-phone-numbers", params);
+}
 /**
  * Create a new list
  */
Index: main/plugin-sms/resources/js/org/ametys/sms/tool/SmsListTool.i18n.js
===================================================================
--- main/plugin-sms/resources/js/org/ametys/sms/tool/SmsListTool.i18n.js	(revision 31097)
+++ main/plugin-sms/resources/js/org/ametys/sms/tool/SmsListTool.i18n.js	(working copy)
@@ -251,6 +251,7 @@
 	this._loadData();
 	this.upToDate();
 }
+
 org.ametys.sms.tool.SmsListTool.prototype._langChange = function(combo, record, index)
 {
 	if (this._lang == record.data.lang)
@@ -342,14 +343,11 @@
 				return;
 			}
 			
-			var targets = messages[i].getTargets();
 			var target = org.ametys.messagebus.message.MessageTargetHelper.findFirst(targets, function(target) { return target.getType() == "sms-list-phone-number";});
-			
 			if (target != null)
 			{
 				this.outOfDate();
 			}
-					
 		}
 		else if (messages[i].getType().getName() == org.ametys.ribbon.RibbonManager.EVENTTYPE_DELETED)
 		{
@@ -365,6 +363,12 @@
 					this._xmlStore.remove(record);
 				}
 			}
+			
+			var target = org.ametys.messagebus.message.MessageTargetHelper.findFirst(targets, function(target) { return target.getType() == "sms-list-phone-number";});
+			if (target != null)
+			{
+				this.outOfDate();
+			}
 		}
 		else if (messages[i].getType().getName() == org.ametys.ribbon.RibbonManager.EVENTTYPE_METADATACHANGED)
 		{			
@@ -379,6 +383,8 @@
 					record.set("label", target.getParameters().label);
 					record.commit();
 				}
+				
+				this.outOfDate();
 			}
 		}
 	}
Index: main/plugin-sms/resources/js/org/ametys/sms/tool/PhoneNumbersToolFactory.js
===================================================================
--- main/plugin-sms/resources/js/org/ametys/sms/tool/PhoneNumbersToolFactory.js	(revision 31097)
+++ main/plugin-sms/resources/js/org/ametys/sms/tool/PhoneNumbersToolFactory.js	(working copy)
@@ -41,7 +41,7 @@
 		// Tool does already exist => Tool activation
 		tool = org.ametys.uitool.ToolsManager.getInstance().getTool(org.ametys.sms.tool.PhoneNumbersToolFactory._toolIdPrefix + params.id);
 	}
-
+	
 	tool.setParams(params);
 	tool.activate();
 
