Index: menu.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu.module,v
retrieving revision 1.68
diff -u -F^f -r1.68 menu.module
--- menu.module	12 Mar 2006 16:21:40 -0000	1.68
+++ menu.module	14 Mar 2006 21:49:50 -0000
@@ -317,6 +317,10 @@ function menu_edit_item($mid = 0) {
   $op = isset($_POST['op']) ? $_POST['op'] : '';
   $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
 
+  // the parent id for the new item will either be part of the URL, or we
+  // should default to "Navigation" menu (which is hard-coded pid == 1).
+  $pid = isset($_GET['pid']) ? $_GET['pid'] : 1;
+
   $output = '';
 
   switch ($op) {
@@ -342,7 +346,7 @@ function menu_edit_item($mid = 0) {
       }
       else {
         $edit['mid'] = 0; // In case a negative ID was passed in.
-        $edit['pid'] = 1; // default to "Navigation" menu.
+        $edit['pid'] = $pid; 
         $edit['type'] = MENU_CUSTOM_ITEM;
       }
       $output .= menu_edit_item_form($edit);
@@ -512,6 +516,9 @@ function menu_overview_tree() {
     if ($menu['items'][$mid]['type'] & MENU_MODIFIABLE_BY_ADMIN) {
       $operations[] = l(t('edit'), 'admin/menu/item/edit/'. $mid);
     }
+    if ($menu['items'][$mid]['type'] & MENU_MODIFIABLE_BY_ADMIN) {
+      $operations[] = l(t('add item'), 'admin/menu/item/add/',array(),'pid='.$mid);
+    }
     if ($menu['items'][$mid]['type'] & MENU_CREATED_BY_ADMIN) {
       $operations[] = l(t('delete'), 'admin/menu/item/delete/'. $mid);
     }
