# Checkvist structural operations enhancements #

[Ideas from Ralf Hauber](http://pastebin.com/GzwTuAy1)

creating and editing tasks

- add a subtask at first/last position
- group selected tasks under a new parent task
- [Pressing Enter on an expanded item should add a new child – Checkvist feedback site](http://checkvist.uservoice.com/forums/2121-general/suggestions/12302091-pressing-enter-on-an-expanded-item-should-add-a-ne)
- [Multiselect, merge and split successive tasks – Checkvist feedback site](http://checkvist.uservoice.com/forums/2121-general/suggestions/3743133-multiselect-merge-and-split-successive-tasks)
   - split a task into several
      - at cursor position
      - one per line
   - merge selected tasks into one

navigating and moving tasks

- go one level up (without collapsing)
- go to the first/last task (within the current parent, not globally)
- move task to the first/last position (within the current parent, not globally)
- go to the previous/next sibling (also when subtasks are expanded)
- move task to the previous/next sibling

hoist/focus

- [Simplify hierarchy hoisting with straightforward up-down navigation and breadcrumbs – Checkvist feedback site](http://checkvist.uservoice.com/forums/2121-general/suggestions/4724040-simplify-hierarchy-hoisting-with-straightforward-u)

setting multiple selection

- Multiple selection is the basis for doing something on a set of items instead of doing it one by one. Hence it is the basis for efficiently maintaining lists. The following are taken from Mindjet
   - select all siblings
   - select all siblings above only
   - select all siblings below only
   - select all subtopics (on next level only)
   - select topic and all descendants (all levels)

other notes

- Frequently I move a task inside another by pressing tab. This creates a subtask at the last position, but I often want it at the first position. Therefore, sometimes I create a dummy task above the target task, add the subtask there and move it down with strg+down or strg+j. Could be easier. Note that cut and paste seems to be a lot faster recently, so that's an option.
-  All actions need to be checked for consistent behavior when working in the three contexts: whole list, single task, multiple selected tasks. E. g. ec should work on the selection and not always on the whole list. Or focus/hoist should work with multiple selected tasks (with some constraints, of course). Where should alt+enter add the new task: above all selected tasks, or above the current (last selected) task?