Index: modules/menu.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu.module,v
retrieving revision 1.33
diff -u -F^f -r1.33 menu.module
--- modules/menu.module	9 Aug 2005 00:37:02 -0000	1.33
+++ modules/menu.module	25 Aug 2005 07:17:52 -0000
@@ -329,8 +329,12 @@ function menu_edit_item_form($edit) {
       $form .= form_hidden('path', $edit['path']);
     }
 
+    $form .= form_checkbox(t('Visible in tree'), 'visible', 1, ($edit['type'] & MENU_VISIBLE_IN_TREE), t('If selected, this item will appear in the menu block.'));
+
     $form .= form_checkbox(t('Expanded'), 'expanded', 1, ($edit['type'] & MENU_EXPANDED), t('If selected and this menu item has children, the menu will always appear expanded.'));
 
+    $form .= form_checkbox(t('Visible in breadcrumb'), 'in_breadcrumb', 1, ($edit['type'] & MENU_VISIBLE_IN_BREADCRUMB), t('If selected, this item will appear in the breadcrumb.'));
+
     // Generate a list of possible parents (not including this item or descendants).
     $options = menu_parent_options($edit['mid']);
     $form .= form_select(t('Parent item'), 'pid', $edit['pid'], $options);
@@ -373,6 +377,20 @@ function menu_edit_item_validate($edit) 
 function menu_edit_item_save($edit) {
   $menu = menu_get_menu();
 
+  if ($edit['visible']) {
+    $edit['type'] |= MENU_VISIBLE_IN_TREE;
+  }
+  else {
+    $edit['type'] &= ~MENU_VISIBLE_IN_TREE;
+  }
+
+  if ($edit['in_breadcrumb']) {
+    $edit['type'] |= MENU_VISIBLE_IN_BREADCRUMB;
+  }
+  else {
+    $edit['type'] &= ~MENU_VISIBLE_IN_BREADCRUMB;
+  }
+
   if ($edit['expanded']) {
     $edit['type'] |= MENU_EXPANDED;
   }
@@ -450,7 +468,7 @@ function menu_overview_tree_rows($pid = 
         $operations[] = array('data' => t('locked'), 'colspan' => '3', 'align' => 'center');
       }
       else {
-        if ($menu['items'][$mid]['type'] & MENU_VISIBLE_IN_TREE) {
+        if ($menu['items'][$mid]['type'] & (MENU_VISIBLE_IN_TREE | MENU_VISIBLE_IN_BREADCRUMB)) {
           $operations[] = array('data' => l(t('edit'), 'admin/menu/item/edit/'. $mid));
           if ($menu['items'][$mid]['type'] & MENU_IS_ROOT) {
             // Disabling entire menus is done from block admin page.
@@ -477,7 +495,7 @@ function menu_overview_tree_rows($pid = 
       }
 
       // Call out disabled items.
-      if ($menu['items'][$mid]['type'] & MENU_VISIBLE_IN_TREE) {
+      if ($menu['items'][$mid]['type'] & (MENU_VISIBLE_IN_TREE | MENU_VISIBLE_IN_BREADCRUMB)) {
         $class = 'menu-enabled';
       }
       else {
@@ -523,7 +541,7 @@ function menu_parent_options($mid, $pid 
           for ($i = 0; $i < $depth; $i++) {
             $title = '--'. $title;
           }
-          if (!($menu['items'][$child]['type'] & MENU_VISIBLE_IN_TREE)) {
+          if (!($menu['items'][$child]['type'] & (MENU_VISIBLE_IN_TREE | MENU_VISIBLE_IN_BREADCRUMB))) {
             $title .= ' ('. t('disabled') .')';
           }
           $options[$child] = $title;
@@ -558,6 +576,14 @@ function menu_node_form($edit = array())
   $group .= form_hidden('menu][mid', ($item['mid']) ? $item['mid'] : 0);
   $group .= form_hidden('menu][type', ($item['type']) ? $item['type'] : MENU_CUSTOM_ITEM);
 
+  if (!isset($item['type'])) {
+    $item['type'] = MENU_CUSTOM_ITEM;
+  }
+
+  $group .= form_checkbox(t('Visible in tree'), 'menu][visible', 1, ($item['type'] & MENU_VISIBLE_IN_TREE), t('If selected, this item will appear in the menu block.'));
+  $group .= form_checkbox(t('Expanded'), 'menu][expanded', 1, ($item['type'] & MENU_EXPANDED), t('If selected and this menu item has children, the menu will always appear expanded.'));
+  $group .= form_checkbox(t('Visible in breadcrumb'), 'menu][in_breadcrumb', 1, ($item['type'] & MENU_VISIBLE_IN_BREADCRUMB), t('If selected, this item will appear in the breadcrumb.'));
+
   if ($item['mid'] > 0) {
     $group .= form_checkbox(t('Check to delete this menu item.'), 'menu][delete', 1, $item['delete'], null);
   }
