Index: org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.streetview/src/main/java/org/gvsig/googlemaps/app/streetview/GoogleStreetViewPreferencePage.java
===================================================================
--- org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.streetview/src/main/java/org/gvsig/googlemaps/app/streetview/GoogleStreetViewPreferencePage.java	(revision 134)
+++ org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.streetview/src/main/java/org/gvsig/googlemaps/app/streetview/GoogleStreetViewPreferencePage.java	(revision 135)
@@ -22,11 +22,18 @@
  */
 package org.gvsig.googlemaps.app.streetview;
 
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.net.URISyntaxException;
+import java.net.URL;
+
 import javax.swing.ImageIcon;
 import javax.swing.JPanel;
 
 import org.gvsig.andami.IconThemeHelper;
 import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.PluginsLocator;
+import org.gvsig.andami.PluginsManager;
 import org.gvsig.andami.preferences.AbstractPreferencePage;
 import org.gvsig.andami.preferences.StoreException;
 import org.gvsig.googlemaps.lib.api.GoogleMapsLocator;
@@ -36,6 +43,8 @@
 import org.gvsig.tools.ToolsLocator;
 import org.gvsig.tools.dynobject.DynObject;
 import org.gvsig.tools.i18n.I18nManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 /**
@@ -43,7 +52,8 @@
  *
  */
 public class GoogleStreetViewPreferencePage extends AbstractPreferencePage {
-
+    private static final Logger logger = LoggerFactory
+        .getLogger(GoogleStreetViewPreferencePage.class);
     /**
      *
      */
@@ -51,6 +61,7 @@
     protected String id;
     private StreetViewPreferences preferencesPanel = null;
     private DynObject props;
+    private URL disclaimerURL;
 
 
     /**
@@ -64,7 +75,23 @@
         initializeValues();
 
         preferencesPanel = swingManager.createStreetViewPreferencesPanel( GoogleMapsLocator.getManager().getStreetViewApiKey());
+        preferencesPanel.addActionListener(new ActionListener() {
 
+
+            @Override
+            public void actionPerformed(ActionEvent event) {
+                StreetViewPreferences panel = (StreetViewPreferences) event.getSource();
+                if (panel.isSelectedAction(StreetViewPreferences.PanelAction.SHOW_DISCLAIMER)) {
+                    PluginsManager pluginManager = PluginsLocator.getManager();
+                    I18nManager i18nManager = ToolsLocator.getI18nManager();
+                    try {
+                        pluginManager.desktopBrowse(disclaimerURL.toURI());
+                    } catch (URISyntaxException e) {
+                        logger.warn("Couldn't browse to: "+disclaimerURL.toString());
+                    }
+                }
+            }
+        });
         add(preferencesPanel.asJComponent());
     }
 
@@ -101,7 +128,7 @@
         PluginServices ps = PluginServices.getPluginServices(this);
         props = ps.getPluginProperties();
         String apiKey = (String) props.getDynValue(GoogleStreetViewExtension.PERSIST_GOOGLEMAPSAPIKEY_KEY);
-
+        disclaimerURL = (URL)props.getDynValue(GoogleStreetViewExtension.PERSIST_DISCLAIMER_URL);
         GoogleMapsLocator.getManager().setStreetViewApiKey(apiKey);
 
     }
Index: org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.streetview/src/main/java/org/gvsig/googlemaps/app/streetview/GoogleStreetViewExtension.java
===================================================================
--- org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.streetview/src/main/java/org/gvsig/googlemaps/app/streetview/GoogleStreetViewExtension.java	(revision 134)
+++ org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.streetview/src/main/java/org/gvsig/googlemaps/app/streetview/GoogleStreetViewExtension.java	(revision 135)
@@ -51,6 +51,7 @@
         .getLogger(GoogleStreetViewExtension.class);
 
     public static final String PERSIST_GOOGLEMAPSAPIKEY_KEY = "apiKey";
+    public static final String PERSIST_DISCLAIMER_URL = "disclaimerURL";
 
     /* (non-Javadoc)
      * @see org.gvsig.andami.plugins.IExtension#execute(java.lang.String)
Index: org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.streetview/src/main/resources-plugin/plugin-persistence.def
===================================================================
--- org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.streetview/src/main/resources-plugin/plugin-persistence.def	(revision 134)
+++ org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.streetview/src/main/resources-plugin/plugin-persistence.def	(revision 135)
@@ -11,6 +11,9 @@
         <field name="apiKey" type="string" classOfValue="" mandatory="false">
           <description></description>
         </field>
+        <field name="disclaimerURL" defaultValue="https://developers.google.com/maps/terms#1-your-relationship-with-google" type="url" mandatory="false">
+          <description></description>
+        </field>
       </fields>
     </class>
   </classes>
Index: org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.mainplugin/src/main/java/org/gvsig/googlemaps/app/mainplugin/GoogleMapsService.java
===================================================================
--- org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.mainplugin/src/main/java/org/gvsig/googlemaps/app/mainplugin/GoogleMapsService.java	(revision 134)
+++ org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.mainplugin/src/main/java/org/gvsig/googlemaps/app/mainplugin/GoogleMapsService.java	(revision 135)
@@ -82,18 +82,15 @@
             parametersPanel=GoogleMapsSwingLocator.getManager().createGoogleMapsParametersPanel(configParams);
             parametersPanel.addActionListener(new ActionListener() {
 
-
                 @Override
                 public void actionPerformed(ActionEvent event) {
                     GoogleMapsParametersPanel panel = (GoogleMapsParametersPanel) event.getSource();
                     if (panel.isSelectedAction(GoogleMapsParametersPanel.PanelAction.SHOW_DISCLAIMER)) {
                         PluginsManager pluginManager = PluginsLocator.getManager();
-                        I18nManager i18nManager = ToolsLocator.getI18nManager();
-                        String disclaimerURL=i18nManager.getTranslation("_disclaimer_url");
                         try {
-                            pluginManager.desktopBrowse(new URI(disclaimerURL));
+                            pluginManager.desktopBrowse(configParams.getDisclaimerURL().toURI());
                         } catch (URISyntaxException e) {
-                            log.warn("Couldn't browse to: "+disclaimerURL);
+                            log.warn("Couldn't browse to: "+configParams.getDisclaimerURL().toString());
                         }
                     }
                 }
Index: org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.mainplugin/src/main/resources-plugin/plugin-persistence.def
===================================================================
--- org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.mainplugin/src/main/resources-plugin/plugin-persistence.def	(revision 134)
+++ org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.mainplugin/src/main/resources-plugin/plugin-persistence.def	(revision 135)
@@ -17,6 +17,9 @@
         <field name="url" defaultValue="http://maps.google.com/maps/api/staticmap?" type="url" mandatory="false">
           <description></description>
         </field>
+        <field name="disclaimerURL" defaultValue="https://developers.google.com/maps/terms#1-your-relationship-with-google" type="url" mandatory="false">
+          <description></description>
+        </field>
       </fields>
     </class>
   </classes>
Index: org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.mainplugin/src/main/resources-plugin/i18n/text.properties
===================================================================
--- org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.mainplugin/src/main/resources-plugin/i18n/text.properties	(revision 134)
+++ org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.mainplugin/src/main/resources-plugin/i18n/text.properties	(revision 135)
@@ -14,7 +14,7 @@
 _zoom_lvl_tooltip=Nivel de zoom m\u00e1ximo permitido. Puede depender de la zona y el tipo de mapa.
 _zoom_lvl_not_valid=Nivel de zoom no v\u00e1lido
 _api_key_needed=La clave del API es necesaria
-_google_maps_disclaimer=<html>Esta herramienta hace uso de la API de mapas est\u00e1ticos de Google Maps.<br> Es posible que para realizar un uso correcto de ella deba de solicitar una clave de acceso a Google.<br> Puede encontrar m\u00e1s informaci\u00f3n sobre los t\u00e9rminos de uso en: <br><a href="https://developers.google.com/maps/terms#1-your-relationship-with-google">https://developers.google.com/maps/</a></html>
-_disclaimer_url=https://developers.google.com/maps/terms#1-your-relationship-with-google
+_google_maps_disclaimer=<html>Esta herramienta hace uso de la API de mapas est\u00e1ticos de Google Maps.<br> Es posible que para realizar un uso correcto de ella deba de solicitar una clave de acceso a Google.<br> Puede encontrar m\u00e1s informaci\u00f3n sobre los t\u00e9rminos de uso en: <br></html>
+_google_disclaimer_url=<a href="https://developers.google.com/maps/terms#1-your-relationship-with-google">https://developers.google.com/maps/</a>
 
 _crs_warning=La proyecci\u00f3n de la vista no es la adecuada para cargar capas de este servicio.
\ No newline at end of file
Index: org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
===================================================================
--- org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties	(revision 134)
+++ org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.app/org.gvsig.googlemaps.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties	(revision 135)
@@ -14,7 +14,6 @@
 _zoom_lvl_tooltip=Maximum zoom level. Depends on zone and map type.
 _zoom_lvl_not_valid=Not valid zoom level
 _api_key_needed=An API key is needed
-_google_maps_disclaimer=<html>This tool uses Google Static Maps API.<br> For its proper use, an API key should be requested to Google.<br> More information about its terms of use can be found at: <br><a href="https://developers.google.com/maps/terms#1-your-relationship-with-google">https://developers.google.com/maps/</a></html>
-_disclaimer_url=https://developers.google.com/maps/terms#1-your-relationship-with-google
-
+_google_maps_disclaimer=<html>This tool uses Google Static Maps API.<br> For its proper use, an API key should be requested to Google.<br> More information about its terms of use can be found at: <br></html>
+_google_disclaimer_url=<a href="https://developers.google.com/maps/terms#1-your-relationship-with-google">https://developers.google.com/maps/</a>
 _crs_warning=The projection of the view is not appropriate to load layers of this service.
\ No newline at end of file
Index: org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/DefaultGoogleMapsConfigDataParameters.java
===================================================================
--- org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/DefaultGoogleMapsConfigDataParameters.java	(revision 134)
+++ org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/DefaultGoogleMapsConfigDataParameters.java	(revision 135)
@@ -18,6 +18,7 @@
     private static final String APIKEY = "apiKey";
     private static final String ZOOMLVL = "zoomLvl";
     private static final String URL = "url";
+    private static final String DISCLAIMER_URL = "disclaimerURL";
 
 
     private static final Logger logger = LoggerFactory
@@ -91,4 +92,9 @@
         return url;
     }
 
+    @Override
+    public java.net.URL getDisclaimerURL() {
+        return (URL)config.getDynValue(DISCLAIMER_URL);
+    }
+
 }
Index: org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/DefaultGoogleMapsParametersPanelController.java
===================================================================
--- org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/DefaultGoogleMapsParametersPanelController.java	(revision 134)
+++ org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/DefaultGoogleMapsParametersPanelController.java	(revision 135)
@@ -32,6 +32,8 @@
 import javax.swing.ComboBoxModel;
 import javax.swing.DefaultComboBoxModel;
 import javax.swing.JComponent;
+import javax.swing.event.HyperlinkEvent;
+import javax.swing.event.HyperlinkListener;
 
 import org.gvsig.fmap.dal.DALLocator;
 import org.gvsig.fmap.dal.DataParameters;
@@ -103,38 +105,21 @@
         lblZoomLvl.setToolTipText(i18nManager.getTranslation(lblZoomLvl.getToolTipText()));
         //txtDisclaimer.setText(i18nManager.getTranslation(txtDisclaimer.getText()));
         txtDisclaimer.setText(i18nManager.getTranslation("_google_maps_disclaimer"));
-        txtDisclaimer.addMouseListener(new MouseListener() {
+        txtURLDisclaimer.setText(i18nManager.getTranslation("_google_disclaimer_url"));
+        txtURLDisclaimer.addHyperlinkListener(new HyperlinkListener() {
 
 
             @Override
-            public void mouseReleased(MouseEvent e) {
-                // TODO Auto-generated method stub
+            public void hyperlinkUpdate(HyperlinkEvent event) {
+                if (!event.getInputEvent().isConsumed() &&
+                    event.getEventType().equals(HyperlinkEvent.EventType.ACTIVATED)){
+                    event.getInputEvent().consume();
+                    selectedAction=GoogleMapsParametersPanel.PanelAction.SHOW_DISCLAIMER;
+                    listeners.fireActionEvent(new ActionEvent(DefaultGoogleMapsParametersPanelController.this, 0, "disclaimer"));
+                    event.getInputEvent().consume();
+                }
 
             }
-
-            @Override
-            public void mousePressed(MouseEvent e) {
-                // TODO Auto-generated method stub
-
-            }
-
-            @Override
-            public void mouseExited(MouseEvent e) {
-                // TODO Auto-generated method stub
-
-            }
-
-            @Override
-            public void mouseEntered(MouseEvent e) {
-                // TODO Auto-generated method stub
-
-            }
-
-            @Override
-            public void mouseClicked(MouseEvent e) {
-                selectedAction=GoogleMapsParametersPanel.PanelAction.SHOW_DISCLAIMER;
-                listeners.fireActionEvent(new ActionEvent(DefaultGoogleMapsParametersPanelController.this, 0, "disclaimer"));
-            }
         });
 
         if(showCrsWarning){
Index: org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/DefaultGoogleMapsParametersPanelView.xml
===================================================================
--- org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/DefaultGoogleMapsParametersPanelView.xml	(revision 134)
+++ org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/DefaultGoogleMapsParametersPanelView.xml	(revision 135)
@@ -24,8 +24,8 @@
     </at>
     <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
    </super>
-   <at name="id">/home/paco/projects/externals/gvsig-desktop/gvSIG_v2.1/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/DefaultGoogleMapsParametersPanelView.xml</at>
-   <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:GROW(1.0),CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
+   <at name="id">/home/daniel/projects/externals/gvSIG/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/DefaultGoogleMapsParametersPanelView.xml</at>
+   <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:GROW(1.0),CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
    <at name="colspecs">FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE</at>
    <at name="components">
     <object classname="java.util.LinkedList">
@@ -484,7 +484,7 @@
          <at name="cellconstraints">
           <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
            <at name="column">2</at>
-           <at name="row">12</at>
+           <at name="row">14</at>
            <at name="colspan">5</at>
            <at name="rowspan">1</at>
            <at name="halign">default</at>
@@ -578,6 +578,106 @@
        </object>
       </at>
      </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">2</at>
+           <at name="row">12</at>
+           <at name="colspan">5</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">javax.swing.JEditorPane</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JEditorPane</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="top">0</at>
+                   <at name="left">0</at>
+                   <at name="bottom">0</at>
+                   <at name="right">0</at>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="selectionStart">16</at>
+            <at name="autoscrolls">false</at>
+            <at name="opaque">false</at>
+            <at name="editable">false</at>
+            <at name="name">txtURLDisclaimer</at>
+            <at name="width">914</at>
+            <at name="selectionEnd">16</at>
+            <at name="text">&lt;html&gt;
+  &lt;head&gt;
+    
+  &lt;/head&gt;
+  &lt;body&gt;
+    _url_disclaimer
+  &lt;/body&gt;
+&lt;/html&gt;
+</at>
+            <at name="contentType">text/html</at>
+            <at name="scollBars">
+             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+              <at name="name">scollBars</at>
+              <at name="verticalpolicy">21</at>
+              <at name="horizontalpolicy">31</at>
+              <at name="border">
+               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                <super classname="com.jeta.forms.store.properties.BorderProperty">
+                 <at name="name">border</at>
+                </super>
+                <at name="borders">
+                 <object classname="java.util.LinkedList">
+                  <item >
+                   <at name="value">
+                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                     <super classname="com.jeta.forms.store.properties.BorderProperty">
+                      <at name="name">border</at>
+                     </super>
+                    </object>
+                   </at>
+                  </item>
+                 </object>
+                </at>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="height">17</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
     </object>
    </at>
    <at name="properties">
@@ -635,7 +735,7 @@
    <at name="cellpainters">
     <object classname="com.jeta.forms.store.support.Matrix">
      <at name="rows">
-      <object classname="[Ljava.lang.Object;" size="13">
+      <object classname="[Ljava.lang.Object;" size="15">
        <at name="item" index="0">
         <object classname="[Ljava.lang.Object;" size="7"/>
        </at>
@@ -675,6 +775,12 @@
        <at name="item" index="12">
         <object classname="[Ljava.lang.Object;" size="7"/>
        </at>
+       <at name="item" index="13">
+        <object classname="[Ljava.lang.Object;" size="7"/>
+       </at>
+       <at name="item" index="14">
+        <object classname="[Ljava.lang.Object;" size="7"/>
+       </at>
       </object>
      </at>
     </object>
Index: org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/DefaultGoogleMapsParametersPanelView.java
===================================================================
--- org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/DefaultGoogleMapsParametersPanelView.java	(revision 134)
+++ org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/DefaultGoogleMapsParametersPanelView.java	(revision 135)
@@ -29,6 +29,7 @@
    JTextField txtZoomLvl = new JTextField();
    JEditorPane txtDisclaimer = new JEditorPane();
    JEditorPane txtCrsWarning = new JEditorPane();
+   JEditorPane txtURLDisclaimer = new JEditorPane();
 
    /**
     * Default constructor
@@ -120,7 +121,7 @@
    public JPanel createPanel()
    {
       JPanel jpanel1 = new JPanel();
-      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:GROW(1.0),CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE");
+      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:GROW(1.0),CENTER:DEFAULT:NONE,CENTER:2DLU:NONE");
       CellConstraints cc = new CellConstraints();
       jpanel1.setLayout(formlayout1);
 
@@ -174,9 +175,21 @@
       txtCrsWarning.setText("<html>\n  <head>\n    \n  </head>\n  <body>\n    <font color=\"red\">_crs_warning</font>\n  </body>\n</html>\n");
       EmptyBorder emptyborder2 = new EmptyBorder(0,0,0,0);
       txtCrsWarning.setBorder(emptyborder2);
-      jpanel1.add(txtCrsWarning,cc.xywh(2,12,5,1));
+      jpanel1.add(txtCrsWarning,cc.xywh(2,14,5,1));
 
-      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6,7 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13 });
+      txtURLDisclaimer.setAutoscrolls(false);
+      txtURLDisclaimer.setContentType("text/html");
+      txtURLDisclaimer.setEditable(false);
+      txtURLDisclaimer.setName("txtURLDisclaimer");
+      txtURLDisclaimer.setOpaque(false);
+      txtURLDisclaimer.setSelectionEnd(16);
+      txtURLDisclaimer.setSelectionStart(16);
+      txtURLDisclaimer.setText("<html>\n  <head>\n    \n  </head>\n  <body>\n    _url_disclaimer\n  </body>\n</html>\n");
+      EmptyBorder emptyborder3 = new EmptyBorder(0,0,0,0);
+      txtURLDisclaimer.setBorder(emptyborder3);
+      jpanel1.add(txtURLDisclaimer,cc.xywh(2,12,5,1));
+
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6,7 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 });
       return jpanel1;
    }
 
Index: org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/JStreetViewPreferencesController.java
===================================================================
--- org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/JStreetViewPreferencesController.java	(revision 134)
+++ org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.impl/src/main/java/org/gvsig/googlemaps/swing/impl/JStreetViewPreferencesController.java	(revision 135)
@@ -22,13 +22,18 @@
  */
 package org.gvsig.googlemaps.swing.impl;
 
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
 import java.util.Locale;
 
 import javax.swing.JComponent;
+import javax.swing.event.HyperlinkEvent;
+import javax.swing.event.HyperlinkListener;
 
-import org.gvsig.googlemaps.lib.api.GoogleMapsLocator;
 import org.gvsig.googlemaps.swing.api.StreetViewPreferences;
 import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.swing.api.ActionListenerSupport;
+import org.gvsig.tools.swing.api.ToolsSwingLocator;
 
 
 /**
@@ -37,6 +42,8 @@
  */
 public class JStreetViewPreferencesController extends JStreetViewPreferencesView implements StreetViewPreferences {
 
+    private ActionListenerSupport listeners = ToolsSwingLocator.getToolsSwingManager().createActionListenerSupport();
+    private PanelAction selectedAction=null;
     /**
      *
      */
@@ -72,9 +79,30 @@
         return this;
     }
 
+    public void addActionListener(ActionListener listener) {
+        listeners.addActionListener(listener);
+    }
+
+    public void removeActionListener(ActionListener listener) {
+        listeners.removeActionListener(listener);
+    }
+
     private void translate() {
         apiKeyLbl.setText(ToolsLocator.getI18nManager().getTranslation(apiKeyLbl.getText()));
         disclaimerText.setText(ToolsLocator.getI18nManager().getTranslation("_google_street_view_disclaimer"));
+        disclaimerText.addHyperlinkListener(new HyperlinkListener() {
+
+            @Override
+            public void hyperlinkUpdate(HyperlinkEvent event) {
+                if (!event.getInputEvent().isConsumed() &&
+                    event.getEventType().equals(HyperlinkEvent.EventType.ACTIVATED)){
+                    event.getInputEvent().consume();
+                    selectedAction=StreetViewPreferences.PanelAction.SHOW_DISCLAIMER;
+                    listeners.fireActionEvent(new ActionEvent(JStreetViewPreferencesController.this, 0, "disclaimer"));
+                }
+
+            }
+        });
     }
 
     /* (non-Javadoc)
@@ -88,4 +116,9 @@
         super.setLocale(l);
     }
 
+    @Override
+    public boolean isSelectedAction(PanelAction action) {
+        return action.equals(this.selectedAction);
+    }
+
 }
Index: org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.api/src/main/java/org/gvsig/googlemaps/swing/api/GoogleMapsConfigDataParameters.java
===================================================================
--- org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.api/src/main/java/org/gvsig/googlemaps/swing/api/GoogleMapsConfigDataParameters.java	(revision 134)
+++ org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.api/src/main/java/org/gvsig/googlemaps/swing/api/GoogleMapsConfigDataParameters.java	(revision 135)
@@ -48,4 +48,10 @@
      * @return String
      */
     public URL getGoogleMapsURL();
+
+    /**
+     * Gets the URL to request url disclaimer
+     * @return String
+     */
+    public URL getDisclaimerURL();
 }
Index: org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.api/src/main/java/org/gvsig/googlemaps/swing/api/StreetViewPreferences.java
===================================================================
--- org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.api/src/main/java/org/gvsig/googlemaps/swing/api/StreetViewPreferences.java	(revision 134)
+++ org.gvsig.googlemaps/trunk/org.gvsig.googlemaps/org.gvsig.googlemaps.swing/org.gvsig.googlemaps.swing.api/src/main/java/org/gvsig/googlemaps/swing/api/StreetViewPreferences.java	(revision 135)
@@ -22,6 +22,8 @@
  */
 package org.gvsig.googlemaps.swing.api;
 
+import java.awt.event.ActionListener;
+
 import org.gvsig.tools.swing.api.Component;
 
 
@@ -30,10 +32,15 @@
  *
  */
 public interface StreetViewPreferences extends Component {
-
+    enum PanelAction{SHOW_DISCLAIMER};
     /**
      * @return the API key
      */
     String getApiKey();
 
+    public void addActionListener(ActionListener listener);
+
+    public void removeActionListener(ActionListener listener);
+
+    public boolean isSelectedAction(PanelAction action);
 }
Index: org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.swing/org.gvsig.bingmaps.swing.impl/src/main/java/org/gvsig/bingmaps/swing/impl/DefaultBingMapsConfigDataParameters.java
===================================================================
--- org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.swing/org.gvsig.bingmaps.swing.impl/src/main/java/org/gvsig/bingmaps/swing/impl/DefaultBingMapsConfigDataParameters.java	(revision 134)
+++ org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.swing/org.gvsig.bingmaps.swing.impl/src/main/java/org/gvsig/bingmaps/swing/impl/DefaultBingMapsConfigDataParameters.java	(revision 135)
@@ -1,5 +1,7 @@
 package org.gvsig.bingmaps.swing.impl;
 
+import java.net.URL;
+
 import org.gvsig.bingmaps.swing.api.BingMapsConfigDataParameters;
 import org.gvsig.tools.dynobject.DynObject;
 import org.slf4j.Logger;
@@ -15,6 +17,7 @@
 
     private static final String URL_PATTERN = "mapUrlPattern";
     private static final String APIKEY = "apiKey";
+    private static final String DISCLAIMER_URL = "disclaimerURL";
 
     private static final Logger logger = LoggerFactory
         .getLogger(DefaultBingMapsConfigDataParameters.class);
@@ -62,4 +65,9 @@
         return urlPattern;
     }
 
+    @Override
+    public java.net.URL getDisclaimerURL() {
+        return (URL)config.getDynValue(DISCLAIMER_URL);
+    }
+
 }
Index: org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.swing/org.gvsig.bingmaps.swing.impl/src/main/java/org/gvsig/bingmaps/swing/impl/DefaultBingMapsParametersPanelController.java
===================================================================
--- org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.swing/org.gvsig.bingmaps.swing.impl/src/main/java/org/gvsig/bingmaps/swing/impl/DefaultBingMapsParametersPanelController.java	(revision 134)
+++ org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.swing/org.gvsig.bingmaps.swing.impl/src/main/java/org/gvsig/bingmaps/swing/impl/DefaultBingMapsParametersPanelController.java	(revision 135)
@@ -24,12 +24,12 @@
 
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
 
 import javax.swing.ComboBoxModel;
 import javax.swing.DefaultComboBoxModel;
 import javax.swing.JComponent;
+import javax.swing.event.HyperlinkEvent;
+import javax.swing.event.HyperlinkListener;
 
 import org.apache.commons.lang3.StringUtils;
 import org.gvsig.bingmaps.lib.api.BingMapsLocator;
@@ -99,39 +99,23 @@
         cboMapTypes.setToolTipText(i18nManager.getTranslation(cboMapTypes.getToolTipText()));
         txtAPIKey.setToolTipText(i18nManager.getTranslation(txtAPIKey.getToolTipText()));
         txtDisclaimer.setText(i18nManager.getTranslation("_bing_maps_disclaimer"));
-        txtDisclaimer.addMouseListener(new MouseListener() {
+        txtDisclaimer.addHyperlinkListener(new HyperlinkListener() {
 
 
             @Override
-            public void mouseReleased(MouseEvent e) {
-                // TODO Auto-generated method stub
+            public void hyperlinkUpdate(HyperlinkEvent event) {
+                if (!event.getInputEvent().isConsumed() &&
+                    event.getEventType().equals(HyperlinkEvent.EventType.ACTIVATED)){
+                    event.getInputEvent().consume();
+                    selectedAction=BingMapsParametersPanel.PanelAction.SHOW_DISCLAIMER;
+                    listeners.fireActionEvent(new ActionEvent(DefaultBingMapsParametersPanelController.this, 0, "disclaimer"));
+                    event.getInputEvent().consume();
+                }
 
             }
+        });
 
-            @Override
-            public void mousePressed(MouseEvent e) {
-                // TODO Auto-generated method stub
 
-            }
-
-            @Override
-            public void mouseExited(MouseEvent e) {
-                // TODO Auto-generated method stub
-
-            }
-
-            @Override
-            public void mouseEntered(MouseEvent e) {
-                // TODO Auto-generated method stub
-
-            }
-
-            @Override
-            public void mouseClicked(MouseEvent e) {
-                selectedAction=BingMapsParametersPanel.PanelAction.SHOW_DISCLAIMER;
-                listeners.fireActionEvent(new ActionEvent(DefaultBingMapsParametersPanelController.this, 0, "disclaimer"));
-            }
-        });
         if(showCrsWarning){
             StringBuilder builder = new StringBuilder();
             builder.append("<html><font color=\"red\">");
Index: org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.swing/org.gvsig.bingmaps.swing.api/src/main/java/org/gvsig/bingmaps/swing/api/BingMapsConfigDataParameters.java
===================================================================
--- org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.swing/org.gvsig.bingmaps.swing.api/src/main/java/org/gvsig/bingmaps/swing/api/BingMapsConfigDataParameters.java	(revision 134)
+++ org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.swing/org.gvsig.bingmaps.swing.api/src/main/java/org/gvsig/bingmaps/swing/api/BingMapsConfigDataParameters.java	(revision 135)
@@ -1,5 +1,7 @@
 package org.gvsig.bingmaps.swing.api;
 
+import java.net.URL;
+
 import org.gvsig.tools.dynobject.DynObject;
 
 
@@ -33,4 +35,10 @@
      * @return String
      */
     public String getBingMapsURLMapPattern();
+
+    /**
+     * Gets the URL to request url disclaimer
+     * @return String
+     */
+    public URL getDisclaimerURL();
 }
Index: org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.app/org.gvsig.bingmaps.app.mainplugin/src/main/java/org/gvsig/bingmaps/app/mainplugin/BingMapsService.java
===================================================================
--- org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.app/org.gvsig.bingmaps.app.mainplugin/src/main/java/org/gvsig/bingmaps/app/mainplugin/BingMapsService.java	(revision 134)
+++ org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.app/org.gvsig.bingmaps.app.mainplugin/src/main/java/org/gvsig/bingmaps/app/mainplugin/BingMapsService.java	(revision 135)
@@ -89,12 +89,10 @@
                     BingMapsParametersPanel panel = (BingMapsParametersPanel) event.getSource();
                     if (panel.isSelectedAction(BingMapsParametersPanel.PanelAction.SHOW_DISCLAIMER)) {
                         PluginsManager pluginManager = PluginsLocator.getManager();
-                        I18nManager i18nManager = ToolsLocator.getI18nManager();
-                        String disclaimerURL=i18nManager.getTranslation("_disclaimer_url");
                         try {
-                            pluginManager.desktopBrowse(new URI(disclaimerURL));
+                            pluginManager.desktopBrowse(configParams.getDisclaimerURL().toURI());
                         } catch (URISyntaxException e) {
-                            log.warn("Couldn't browse to: "+disclaimerURL);
+                            log.warn("Couldn't browse to: "+configParams.getDisclaimerURL().toString());
                         }
                     }
                 }
Index: org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.app/org.gvsig.bingmaps.app.mainplugin/src/main/resources-plugin/i18n/text.properties
===================================================================
--- org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.app/org.gvsig.bingmaps.app.mainplugin/src/main/resources-plugin/i18n/text.properties	(revision 134)
+++ org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.app/org.gvsig.bingmaps.app.mainplugin/src/main/resources-plugin/i18n/text.properties	(revision 135)
@@ -11,7 +11,6 @@
 _zoom_lvl_not_valid=Nivel de zoom no v\u00e1lido
 _api_key_needed=La clave del API es necesaria
 _bing_maps_disclaimer=<html>Esta herramienta hace uso de la API de Bing Maps.<br> Es posible que para realizar un uso correcto de ella deba de solicitar una clave de acceso a Bing.<br> Puede encontrar m\u00e1s informaci\u00f3n sobre los t\u00e9rminos de uso en: <br><a href="https://www.microsoft.com/maps/product/terms.html">https://www.microsoft.com/maps/product/terms.html</a></html>
-_disclaimer_url=https://developers.bing.com/maps/terms#1-your-relationship-with-bing
 
 #MapTypes
 _aerial=A\u00e9reo
Index: org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.app/org.gvsig.bingmaps.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
===================================================================
--- org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.app/org.gvsig.bingmaps.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties	(revision 134)
+++ org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.app/org.gvsig.bingmaps.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties	(revision 135)
@@ -11,7 +11,6 @@
 _zoom_lvl_not_valid=Not valid zoom level
 _api_key_needed=An API key is needed
 _bing_maps_disclaimer=<html>This tool uses Bing Maps API.<br> For its proper use, an API key should be requested to Bing.<br> More information about its terms of use can be found at: <br><a href="https://developers.bing.com/maps/terms#1-your-relationship-with-bing">https://developers.bing.com/maps/</a></html>
-_disclaimer_url=https://developers.bing.com/maps/terms#1-your-relationship-with-bing
 
 #MapTypes
 _aerial=Aerial
Index: org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.app/org.gvsig.bingmaps.app.mainplugin/src/main/resources-plugin/plugin-persistence.def
===================================================================
--- org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.app/org.gvsig.bingmaps.app.mainplugin/src/main/resources-plugin/plugin-persistence.def	(revision 134)
+++ org.gvsig.bingmaps/trunk/org.gvsig.bingmaps/org.gvsig.bingmaps.app/org.gvsig.bingmaps.app.mainplugin/src/main/resources-plugin/plugin-persistence.def	(revision 135)
@@ -14,6 +14,9 @@
         <field name="mapUrlPattern" type="string" defaultValue="http://dev.virtualearth.net/REST/V1/Imagery/Metadata/{MAPTYPE}?mapVersion=v1&amp;format=jpeg&amp;output=xml&amp;key={KEY}">
           <description></description>
         </field>
+        <field name="disclaimerURL" defaultValue="https://developers.bing.com/maps/terms#1-your-relationship-with-bing" type="url" mandatory="false">
+          <description></description>
+        </field>
       </fields>
     </class>
   </classes>
