? 710514-activated-layers-25.patch
? 710514-activated-layers-26.patch
Index: includes/openlayers.render.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/openlayers/includes/openlayers.render.inc,v
retrieving revision 1.3.2.21
diff -u -p -r1.3.2.21 openlayers.render.inc
--- includes/openlayers.render.inc	13 Oct 2010 09:03:58 -0000	1.3.2.21
+++ includes/openlayers.render.inc	10 Jan 2011 12:21:41 -0000
@@ -26,6 +26,20 @@ function _openlayers_layers_process($lay
       $layer_object->render($map);
       $layer_object->data['title'] = $layer_object->title;
       $layer_object->data['weight'] = ++$weight;
+      
+      // Determine display in switcher property.  To support previous maps
+      // make the assumption that display is TRUE if activated array
+      // is not present.
+      $layer_object->data['displayInLayerSwitcher'] = 
+        !(isset($map['layer_switcher']) && 
+        empty($map['layer_switcher'][$layer_object->name]));
+      
+      // Determine visbility
+      $layer_object->data['visbility'] = 
+        !(isset($map['layer_visbility']) && 
+        empty($map['layer_visbility'][$layer_object->name]));
+      
+      // Add to collection
       $layer_data[$layer_object->name] = $layer_object->data;
     }
   }
Index: js/openlayers.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/openlayers/js/openlayers.js,v
retrieving revision 1.47.2.49
diff -u -p -r1.47.2.49 openlayers.js
--- js/openlayers.js	28 Oct 2010 07:24:14 -0000	1.47.2.49
+++ js/openlayers.js	10 Jan 2011 12:21:42 -0000
@@ -174,16 +174,7 @@ Drupal.openlayers = {
         Drupal.openlayers.layer[options.layer_handler] !== undefined) {
         var layer = Drupal.openlayers.layer[options.layer_handler](map.layers[name].title, map, options);
 
-        layer.visibility = !!(!map.layer_activated || map.layer_activated[name]);
-
-        if (layer.isBaseLayer == false) {
-          layer.displayInLayerSwitcher = !!(!map.layer_switcher || map.layer_switcher[name]);
-        } else {
-          layer.displayInLayerSwitcher = true;
-        }
-
         if (map.center.wrapdateline === '1') {
-          // TODO: move into layer specific settings
           layer.wrapDateLine = true;
         }
 
Index: modules/openlayers_ui/includes/openlayers_ui.presets.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/openlayers/modules/openlayers_ui/includes/Attic/openlayers_ui.presets.inc,v
retrieving revision 1.1.2.32
diff -u -p -r1.1.2.32 openlayers_ui.presets.inc
--- modules/openlayers_ui/includes/openlayers_ui.presets.inc	11 Nov 2010 08:23:48 -0000	1.1.2.32
+++ modules/openlayers_ui/includes/openlayers_ui.presets.inc	10 Jan 2011 12:21:42 -0000
@@ -346,17 +346,19 @@ function openlayers_ui_presets_form(&$fo
     '#default_value' => !empty($defaults['layers']) ?
       array_intersect_key($defaults['layers'], $overlay_options) : array(),
   );
-  $form['layerstyles']['layer_activated'] = array(
+  $form['layerstyles']['layer_visibility'] = array(
     '#type' => 'checkboxes',
     '#options' => $overlay_options,
-    '#default_value' => !empty($defaults['layer_activated']) ?
-      array_intersect_key($defaults['layer_activated'], $overlay_options) : array(),
+    '#default_value' => !empty($defaults['layer_visibility']) ?
+      array_intersect_key($defaults['layer_visibility'], $overlay_options) : array(),
   );
+  
+  // Layer in Switcher for both base and overlays
   $form['layerstyles']['layer_switcher'] = array(
     '#type' => 'checkboxes',
-    '#options' => $overlay_options,
+    '#options' => $base_options + $overlay_options,
     '#default_value' => !empty($defaults['layer_switcher']) ?
-      array_intersect_key($defaults['layer_switcher'], $overlay_options) : array(),
+      array_intersect_key($defaults['layer_switcher'], ($base_options + $overlay_options)) : array(),
   );
 
   // Styles
@@ -576,7 +578,7 @@ function openlayers_ui_presets_form_proc
     'behaviors',
     'layers',
     'layer_styles',
-    'layer_activated',
+    'layer_visibility',
     'layer_switcher',
     'projections',
     'styles'
Index: modules/openlayers_ui/includes/openlayers_ui.theme.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/openlayers/modules/openlayers_ui/includes/Attic/openlayers_ui.theme.inc,v
retrieving revision 1.1.2.10
diff -u -p -r1.1.2.10 openlayers_ui.theme.inc
--- modules/openlayers_ui/includes/openlayers_ui.theme.inc	14 Sep 2010 07:13:40 -0000	1.1.2.10
+++ modules/openlayers_ui/includes/openlayers_ui.theme.inc	10 Jan 2011 12:21:42 -0000
@@ -81,26 +81,30 @@ function theme_openlayers_ui_presets_for
     $row = array();
     unset($form['layers']['default_layer'][$key]['#title']);
     unset($form['layers']['baselayers'][$key]['#title']);
+    unset($form['layer_switcher'][$key]['#title']);
     $row[] = drupal_render($form['layers']['baselabels'][$key]);
     $row[] = drupal_render($form['layers']['baselayers'][$key]);
+    $row[] = drupal_render($form['layer_switcher'][$key]);
     $row[] = drupal_render($form['layers']['default_layer'][$key]);
     $rows[] = $row;
   }
-  $output .= theme('table', array(t('Base layers'), t('Enabled'), t('Default')), $rows);
+  $output .= theme('table', array(t('Base layers'), t('Enabled'), 
+    t('In Switcher'), t('Default')), $rows);
 
   // Overlay layers
   $rows = array();
   foreach (element_children($form['layers']['overlaylabels']) as $key) {
     $row = array();
     unset($form['layers']['overlays'][$key]['#title']);
-    unset($form['layer_activated'][$key]['#title']);
     unset($form['layer_switcher'][$key]['#title']);
+    unset($form['layer_visibility'][$key]['#title']);
+    unset($form['layer_styles'][$key]['#title']);
 
     $row[] = drupal_render($form['layers']['overlaylabels'][$key]);
     $row[] = drupal_render($form['layer_weight'][$key]); 
     $row[] = drupal_render($form['layers']['overlays'][$key]);
-    $row[] = drupal_render($form['layer_activated'][$key]);
     $row[] = drupal_render($form['layer_switcher'][$key]);
+    $row[] = drupal_render($form['layer_visibility'][$key]);
     $row[] = drupal_render($form['layer_styles'][$key]);
     $rows[] = array( 'data' => $row, 'class' => 'draggable' );
   }
