Index: modules/menu/menu.js
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu/menu.js,v
retrieving revision 1.2
diff -u -r1.2 menu.js
--- modules/menu/menu.js	27 Apr 2009 20:19:36 -0000	1.2
+++ modules/menu/menu.js	28 Jun 2009 22:37:06 -0000
@@ -5,9 +5,42 @@
 Drupal.behaviors.menuFieldsetSummaries = {
   attach: function (context) {
     $('fieldset#edit-menu', context).setSummary(function (context) {
-      return Drupal.checkPlain($('#edit-menu-link-title', context).val()) || Drupal.t('Not in menu');
+      var checked=$('#edit-menu-add-menu', context).attr('checked');
+      if (($('#edit-menu-link-title').val().length==0)&&checked) {
+        $('#edit-menu-link-title', context).val($('#edit-title').val());
+      }
+      if (checked) {
+        return Drupal.checkPlain($('#edit-menu-link-title', context).val()) || Drupal.t('Not in menu');
+      }
+      else {
+        return Drupal.t('Not in menu');
+      }
+    });
+
+    function changeFieldset(context) {
+      var checked=$('#edit-menu-add-menu', context).attr('checked');
+      $('#edit-menu-link-title', context).attr('disabled', !checked);
+      $('#edit-menu-parent', context).attr('disabled', !checked);
+      $('#edit-menu-weight', context).attr('disabled', !checked);
+      if (($('#edit-menu-link-title').val().length==0)||checked) {
+        $('#edit-menu-link-title', context).val($('#edit-title').val());
+      }
+    }
+
+    changeFieldset(context);
+
+    $('#edit-menu-add-menu').change(function () {
+      changeFieldset(context);
+    });
+    
+    $('#edit-menu-link-title').bind('blur', function () {
+      var checked=$('#edit-menu-add-menu', context).attr('checked');
+      if (($('#edit-menu-link-title').val().length==0)&&checked) {
+        $('#edit-menu-link-title', context).val($('#edit-title').val());
+      }
     });
   }
 };
 
+
 })(jQuery);
Index: modules/menu/menu.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu/menu.module,v
retrieving revision 1.193
diff -u -r1.193 menu.module
--- modules/menu/menu.module	28 Jun 2009 13:08:15 -0000	1.193
+++ modules/menu/menu.module	28 Jun 2009 19:46:32 -0000
@@ -296,7 +296,7 @@
 function menu_node_insert($node) {
   if (isset($node->menu)) {
     $item = &$node->menu;
-    if (!empty($item['delete'])) {
+    if (!$item['add_menu']) {
       menu_link_delete($item['mlid']);
     }
     elseif (trim($item['link_title'])) {
@@ -318,7 +318,7 @@
 function menu_node_update($node) {
   if (isset($node->menu)) {
     $item = &$node->menu;
-    if (!empty($item['delete'])) {
+    if (!$item['add_menu']) {
       menu_link_delete($item['mlid']);
     }
     elseif (trim($item['link_title'])) {
@@ -409,13 +409,6 @@
     );
     $item = $form['#node']->menu;
 
-    if ($item['mlid']) {
-      // There is an existing link.
-      $form['menu']['delete'] = array(
-        '#type' => 'checkbox',
-        '#title' => t('Delete this menu item.'),
-      );
-    }
     if (!$item['link_title']) {
       $form['menu']['#collapsed'] = TRUE;
     }
@@ -425,10 +418,23 @@
     }
     $form['menu']['#item'] = $item;
 
+    if (isset($form_state['values'])) {
+    	$add_menu = $form_state['values']['menu']['add_menu'];
+    } 
+    else {
+      $add_menu = strlen($item['link_title'])>0;
+    }
+    
+    $form['menu']['add_menu'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Add this content item to a menu'),
+      '#default_value' => $add_menu,
+    );
+    
     $form['menu']['link_title'] = array('#type' => 'textfield',
       '#title' => t('Menu link title'),
       '#default_value' => $item['link_title'],
-      '#description' => t('The link text corresponding to this item that should appear in the menu. Leave blank if you do not wish to add this post to the menu.'),
+      '#description' => t('The link text corresponding to this item that should appear in the menu.'),
       '#required' => FALSE,
     );
     // Generate a list of possible parents (not including this item or descendants).

