Package: hnb Version: 1.9.17-3 Severity: wishlist
The only tree expand/collapse functions involved the whole tree. See attached patch for the ability to expand/collapse a subtree. It also binds '[' and ']' for these purposes along with entries in the node menu item for the default configuration file. Already generated user configurations will need to be hand edited to take advantage of the new functionality. -- System Information: Debian Release: testing/unstable APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.5 Locale: LANG=C, LC_CTYPE=C Versions of packages hnb depends on: ii libc6 2.3.2.ds1-12 GNU C Library: Shared libraries an ii libncurses5 5.4-3 Shared libraries for terminal hand -- no debconf information
diff -ur hnb-1.9.17.orig/src/expanded.c hnb-1.9.17/src/expanded.c --- hnb-1.9.17.orig/src/expanded.c 2003-03-13 15:31:18.000000000 -0600 +++ hnb-1.9.17/src/expanded.c 2004-05-12 22:49:05.000000000 -0500 @@ -47,6 +47,15 @@ tnode = node_recurse (tnode); } cli_outfun ("expanded all nodes"); + } else if(!strcmp(argv[1],"--subtree")) { + node_setflag(pos,F_expanded,1); + Node *tnode = node_right(pos); + + while ((tnode != node_down(pos))&&(tnode != pos)) { + node_setflag(tnode,F_expanded,1); + tnode = node_recurse (tnode); + } + cli_outfun ("expanded subtree"); } return (int) pos; } @@ -71,6 +80,15 @@ tnode = node_recurse (tnode); } cli_outfun ("collapsed all nodes"); + } else if(!strcmp(argv[1],"--subtree")) { + node_setflag(pos,F_expanded,0); + Node *tnode = node_right(pos); + + while ((tnode != node_down(pos))&&(tnode != pos)) { + node_setflag(tnode,F_expanded,0); + tnode = node_recurse (tnode); + } + cli_outfun ("collapsed subtree"); } return (int) pos; diff -ur hnb-1.9.17.orig/src/hnbrc.inc hnb-1.9.17/src/hnbrc.inc --- hnb-1.9.17.orig/src/hnbrc.inc 2003-03-14 00:08:35.000000000 -0600 +++ hnb-1.9.17/src/hnbrc.inc 2004-05-12 23:06:52.000000000 -0500 @@ -216,6 +216,8 @@ \n\ bind + expand\n\ bind - collapse\n\ + bind ] \"expand --subtree\"\n\ + bind [ \"collapse --subtree\"\n\ \n\ bind ^Z restore_state\n\ \n\ @@ -515,17 +517,19 @@ menu \"Edit\" \"---------\" \"\"\n\ menu \"Edit\" \"Search ^F\" \"macro m_search\"\n\ ##### node\n\ - menu \"Entry\" \"--------------\" \"\"\n\ - menu \"Entry\" \"edit return\" \"edit\"\n\ - menu \"Entry\" \"delete del\" \"remove\"\n\ - menu \"Entry\" \"--------------\" \"\"\n\ - menu \"Entry\" \"do action ^A\" \"action\"\n\ - menu \"Entry\" \"indent >\" \"indent\"\n\ - menu \"Entry\" \"outdent <\" \"outdent\"\n\ - menu \"Entry\" \"toggle todo ^T\" \"toggle_todo\"\n\ - menu \"Entry\" \"toggle done ^D\" \"toggle_done\"\n\ - menu \"Entry\" \"expand +\" \"expand\"\n\ - menu \"Entry\" \"collapse -\" \"collapse\"\n\ + menu \"Entry\" \"-------------------\" \"\"\n\ + menu \"Entry\" \"edit return\" \"edit\"\n\ + menu \"Entry\" \"delete del\" \"remove\"\n\ + menu \"Entry\" \"-------------------\" \"\"\n\ + menu \"Entry\" \"do action ^A\" \"action\"\n\ + menu \"Entry\" \"indent >\" \"indent\"\n\ + menu \"Entry\" \"outdent <\" \"outdent\"\n\ + menu \"Entry\" \"toggle todo ^T\" \"toggle_todo\"\n\ + menu \"Entry\" \"toggle done ^D\" \"toggle_done\"\n\ + menu \"Entry\" \"expand +\" \"expand\"\n\ + menu \"Entry\" \"expand subtree ]\" \"expand --subtree\"\n\ + menu \"Entry\" \"collapse -\" \"collapse\"\n\ + menu \"Entry\" \"collapse subtree [\" \"collapse --subtree\"\n\ ##### level\n\ menu \"Level\" \"------------\" \"\"\n\ menu \"Level\" \"sort ^S\" \"sort -a\"\n\