ToDo? documentation

Author: Terry Brown
Date: 20090119
Updated:20090119
ToDo? version:20090119+

Introduction

todo is a Leo plugin to-do priority markers, and time-required / progress display summarized hiearachically across a project. Leo is a python based cross-platform outliner / literate programing tool / general data management environment.

todo.py is the Qt version of Leo's Tk cleo.py plugin. cleo.py was originally written by Mark Ng, since then EKD and others have worked on it, most recently me, Terry Brown.

Requirements

Short answer: todo runs in Leo using Leo's Qt GUI.

Settings

Leo supports @settings sections in documents. @settings used by todo are:

@settings
    @string todo_time_name = days  # name of time unit (e.g. days, weeks, hours)
    @string todo_icon_location = beforeIcon
      # priority icons go beforeIcon or beforeHeadline
    @string todo_prog_location =  beforeHeadline
      # progress dial icons go beforeIcon or beforeHeadline
    @string todo_icon_order = pri-first
      # if priority and progress dial icons are on the same side of
      # Leo's status icon, pri-first places the priority icon first,
      # any other value places the progress icon first.

Icons

todo use Leo's icon functions. These icons are generated from an SVG file, that file and the icons themselves live in the leo/Icons/cleo directory of the Leo distribution, and you can replace the PNG images with any others you wish.

Usage

todo is enabled like like any other plugin, by editing the @enabled-plugins node in myLeoSettings.leo.

All functionality is reached via a tab called Task in the Log pane.

Other features

@project nodes

@project nodes can be used to make updates of progress dials and displayed times automatic.

Whenever you change the progress-level or time-required on a node, todo will search back up through the tree to find the highest level parent node with '@project' in the headline. todo will then execute Re-calc. time required on that node. If the node contains '@project time' (one space) the Show times will also be executed on that node.

Remember that when a @project node is present, attempts to remove progress and time required values may appear to fail as Re-calc. time required replaces them as you remove them.

http://leo.zwiki.org/tododemo.png