Terry Brown
unread,Nov 29, 2012, 2:28:46 PM11/29/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to leo-e...@googlegroups.com
I've found that having edits on a node in one outline simultaneously
reflected in another node in another outline works surprisingly well.
I do a lot of to-do item project managing with Leo, with lists of todo
items (managed with the todo plugin) in each projects outline.
A script rapidly assembles a global list of todo items using
the .../external/leosax.py parser to scan all the project files without
leo having to fully load them. The script builds a tree of todo items
which uses the UNLs to make them into bookmarks which can jump to the
corresponding node in the project's outline, opening it if necessary.
Which works fine for general "what should I work on next" use, but is
still clumsy if you want to edit a lot of todo items at once, adjusting
due date or priority etc. You have to double-click the item in the
global view to jump to its source in its project's outline, edit it
there, switch back to the main outline, etc.
So now the script which generates the global view tags the items with a
marker which, when seen by the todo plugin, causes it to apply todo
item edits in the global view to the corresponding node in the
project's file as well. This means the first time you edit a todo item
there may be a pause while that project's outline is loaded, but
everything carries on as it should afterwards, and on-going todo item
editing is quick once the outlines are loaded.
I'll push the updated todo.py code which checks for a
v.u['annotate']['src_unl'] marker to know if a todo item is a proxy for
one in another file and propagate the edits, but unless you have a
script which assembles todo items from diverse files and tags them as
proxies it doesn't really do anything.
Really I just wanted to highlight how this approach, edits on a proxy
node causing the opening and editing of a node in another outline,
really can work in a usable way - I'm sure there are all sorts of
possible applications.
Cheers -Terry