5,666,979 members and growing! (15,444 online)
Email Password   helpLost your password?
Web Development » Applications & Tools » Tools with source code     Intermediate License: The Creative Commons Attribution-ShareAlike 2.5 License

ToDoList 5.7.b4 (Beta) - A simple but effective way to keep on top of your tasks

By .dan.g.

A hierarchical task manager with native XML support for custom reporting.
VC6, VC7, VC7.1, VC8.0, C++Windows, Win2K, WinXP, Win2003, Vista, MFC, VS6, Visual Studio, CEO, Architect, DBA, Dev, QA

Posted: 3 Nov 2003
Updated: 22 Nov 2008
Views: 2,828,623
Bookmarked: 1,679 times
Announcements
Loading...



Search    
Advanced Search
Sitemap
1,589 votes for this Article.
Popularity: 15.21 Rating: 4.75 out of 5
43 votes, 2.7%
1
7 votes, 0.4%
2
10 votes, 0.6%
3
128 votes, 8.1%
4
1397 votes, 88.1%
5

Downloads

todolist.png

Latest Update (5.7 Beta Release)

After finally coming to understand that the removal of the tree filtering had a far greater effect than I anticipated, 5.7 is all about restoring Tree Filtering.

This was a far from simple task and required the alteration of a lot of the underlying architecture of ToDoList to abandon the tree as the place where the tasklist structure is maintained.

So now the tasklist structure is independently of the tree state and filtering could be restored.  Sorts on the tree can now also be 'undone' by setting the sort attribute to 'unsorted'.

Other than tree filtering (which took the majority of the time) other changes include:

  • New ToDoList Icon  
  • Compressed rich text comments
  • Outlook task importer
  • Support for FreeMind 0.9.
  • Start-date advances the same amount that due date does when a recurring task is completed.
  • Quick Find - searches and highlights as you type. Located on the toolbar. F3 for next match, SHIFT+F3 for previous match
  • Fixed GanttProject exporter
  • Fixed copying of tasks so that interdependencies get updated correctly.
  • New filter bar options checkbox droplist
  • Added 'version' field to filter bar and dialog
  • New 'Startup' wizard for first time users (rename your ini file to test)  

Related Links

After finally compiling a FAQ of the most relevant questions asked about ToDoList I've moved all resources related to ToDoList to a new page on my website.

Introduction

You know how it is - you start work on one project and halfway through, you find one or two side-projects crop up that have to be solved before you can continue on the original project.

This is one such project with the added twist that it too started its life as a side-project. Here's what happened:

<Cue wavy screen effect>

I can only imagine that the planets must have been in (mis-)alignment or something, because at one point a few months ago, I was suddenly fielding emails on four or five separate articles I had previously submitted to CodeProject, some asking for features and others for bug fixes.

Foolishly or otherwise, I largely agreed with all the points raised, and subsequently found myself with fourteen or fifteen separate issues to resolve.

The situation was also made worse because I was trying to use CodeProject to keep track of all the things I had agreed to do, meaning that I had to continuously trawl the comments section of each article to remind myself of what I was supposed to be working on.

It even got to the stage where I was worrying that I'd fail to deliver on something - silly I know, but there you are!

Keeping a list on paper was a definite step in the right direction, but since I do all my coding on the same machine, it seemed somewhat inelegant, and anyway, we all know what happens to crucial bits of paper left lying around on desks and such.

The next step was to hunt around on the web for a tool to meet the following requirements:

  • Simple interface
  • Support for hierarchical data
  • Numbered items/subitems
  • Open file format
  • Freeware

Simple, huh! not!

I will admit that I did not spend weeks searching, but I am still surprised at the general lack of software matching my needs.

On reflection, I think that the reason may be simple: people are so used to commercial software being 'feature-rich' that when they come to design software themselves, they (not unreasonably) think they too need to cram as much in as possible, often leading to software where a lot of essential functionality is hidden away in the menu bar.

So, surprise, surprise, I decided to write something myself.

However, it's fair to say that I did not originally intend to post it on CodeProject and am only really doing so because I had a heap of fun solving some very interesting problems and these are what I think make it worth it.

Using the Software

There's really very little I need to say here since every feature/function is explicitly visible in the interface.

Nevertheless, the following list of basic capabilities and omissions may go someway to answering any questions that arise:

  • Files are stored in XML format with .xml file extension.
  • Trying to load a non-tasklist file will generally fail (unless you read the code to see how to circumvent it).
  • The number of items/subitems is limited only by memory (although performance may be the deciding factor before you exhaust memory).
  • Marking a parent item as 'done' will also gray-out child items, but they are not disabled or automatically marked as 'done'.
  • An ellipsis (...) indicates that an item has sub-items.
  • All items can be expanded or collapsed (by double-clicking).
  • Top-level items and sub-items are created using different toolbar buttons.
  • There are task-specific context-menus.
  • The previously open tasklists are re-opened on startup.
  • The tasklist is automatically saved when closing the software or minimizing it to the system tray.
  • The priority of a task is shown as a grayscale box to the left of the item.

Points of Interest

Here's where we come to the side-projects I was talking about, the first two of which I intend to work up into follow-up articles.

They are:

  1. The 'ordered' tree control, which incorporates a non-client gutter for displaying the item numbers.

    The idea stemmed from research I did into alternative designs for a tree-list control, which did not solve it by creating a hybrid control incorporating a tree and a list.

    The hybrid control seems such an obvious solution that I suspect few people have stopped to question it, but it has still always struck me as looking far too much like hard work to be truly elegant ('square pegs' and 'round holes' spring to mind).

    One possible idea is to implement the 'list' portion entirely in the non-client area of the tree. I.e., shift the right hand client edge to the left and then render the list portion in the resulting non-client area.

    Whilst I've yet to get round to building a proof of concept, it was nevertheless this ongoing mental debate which prompted me to try to solve the requirement for numbered items and subitems by rendering the item/subitem numbers in the non-client area.

    Without going into too much detail (as this will subsequently be an article of its own), this is how I got it to work:

    • Handle TVM_INSERTITEM and TVM_DELETEITEM to know exactly when items are added and removed.
    • In these handlers recalculate the width of the gutter required to display the widest 'dotted' item/subitem number. (Note: this is not necessarily simply the deepest subitem.)
    • If the required gutter width changes, call SetWindowPos(NULL, 0, 0, 0, 0, SWP_FRAMECHANGED | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER) to force Windows to recalculate the non-client area of the control.
    • Handle WM_NCCALCSIZE when it does, and offset the left border by the required gutter width.
    • Handle WM_NCPAINT for painting the numbers.

    This is necessarily an over-simplification, but it captures the essence of the solution, and all that essentially remains is lots of fiddling about to ensure the non-client area gets redrawn at the the right times to stay synchronized with the client area.

  2. Embedding .RC control definition data directly in a .cpp file to break the dependency on binary resources (a.k.a. 'Runtime Dialogs').

    This is an idea that has been floating about for quite some time and which has only recently gelled into a workable solution.

    The problem, put simply, is that if you want to take advantage of the resource editor in Visual Studio (and who doesn't), then you very quickly find yourself stuck with having to load dialog templates from resources compiled into the binary file.

    This further means that if you want to make use of a dialog across multiple projects, then either you need to copy and paste the dialog template between project .RC files, or you need to build the dialog into a DLL from which it can be accessed.

    'Runtime Dialogs' (a snappy title I coined myself) is a solution that neatly sidesteps both the nuisance of copying dialog resources between resource files and the extra work (and maintenance) involved in packaging dialogs in DLLs.

    And it works like this:

    • First, you design your dialog template in the resource editor, create a CDialog derived class using class wizard, and wire up all the controls just as you normally would.
    • Next, you #include "runtimedlg.h" and change all instances of CDialog to CRuntimeDlg.
    • Then, you cut and paste the control definition section from the appropriate section in the .RC file and embed it directly in the dialog's .cpp file as a static string (with a bit of tweaking to handle double quotes and such like).
    • Finally, in the constructor of your dialog, you simply call CRuntimeDlg::AddRCControls(...) passing the control definitions as a string.
    • And CRuntimeDlg takes care of the rest including, if required, auto-sizing the dialog to suit the control layout.

    I'm certainly not suggesting that this is a 'win-win' solution for all situations but it certainly has merits in its closer coupling of dialog template to dialog code which makes sharing dialogs across multiple projects a breeze.

    P.S.: In case it's not clear here, I used CRuntimeDlg to create CToDoCtrl which encapsulates the ordered tree together with the priority, date and comments controls as a single simple-to-instantiate control.

    I'm also proposing to use them in the .NET port of my ProjectZip add-in for VC6.

  3. Embedding the XML file in a web page.

    This is possibly the most satisfying aspect of the whole project because it was completely unexpected.

    What I mean is that, until recently, my knowledge of DOM and XMLDOM was virtually non-existent, as it's only since I've become more interested in the presentation of AbstractSpoon that I've been forced to get to grips with the various implementations of DOM and XMLDOM out there.

    I'm pleased to say that the code on my site works under IE 6.0, Netscape 7.1, and Mozilla, although custom code was required to achieve this.

Generic MFC Classes that may prove Useful to You

The following table lists a wide range of utility classes written for this project. They can all be included in any MFC project provided you include any class dependencies too. Feel free to ask any questions relating to these specific classes and how to use them.

Class Name

Description

Class Dependencies
(apart from MFC)

CAboutDlg

Customizable "About…' dialog not requiring a dialog resource. Supports html encoded text

CRuntimeDlg, CRCCtrlParser

CAutoComboBox

Adds only unique items to the drop list and shuffles the list so that the last added item is at the top

CHoldRedraw

CAutoFlag

Encapsulates the setting and unsetting of a boolean variable thru the lifetime of the class instance

CColorButton

Non-ownerdraw button that displays the selected colour on the button face and displays the colour dialog when clicked

CEnColorDialog

CColorComboBox

Owner-draw combobox for displaying and selecting user defined colours

CDateHelper

Encapsulation of various rountines for calculating date spans and for formatting

CDeferWndMove

Encapsulation of the Win32 API

CDialogHelper

Re-implementation of the CDialog DDX/DDV rountines to avoid the MFC error messages when the user clears a number edit (for instance)

CDlgUnits

Encapsulates the MapDialogRect Win32 API

CDockManager

Class for managing the docking of one popup window to another.

*CSubclassWnd, CHoldRedraw, CAutoFlag

CDriveInfo

Encapsulates various rountines for querying about drives, files and disk space

CEnBitmap

Adds support to CBitmap for loading non-bmp files and resources.

CEnBitmapEx, CColorReplacer, CImageBlurrer, CImageColorizer, CImageContraster, CImageEmbosser, CImageFlipper, CImageGrayer, CImageLightener, CImageNegator, CImageResizer, CImageRotator, CImageSharpener, CImageShearer, CImageSysColorMapper, CImageTinter

Adds image manipulation funationality to CEnBitmap

CEnBitmap

CEnColorDialog

Adds saving and restoring of custom colours to CColorDialog

CEnCommandLineInfo

Adds functions for extracting and querying commandline switches

CEnEdit

Adds user-defined button capabilities to CEdit

CMaskEdit, CThemed, CDlgUnits

CEnToolBar

Adds support for using alternative resource or file images

CFileEdit

Adds buttons for browsing and displaying the file represented by the text in the edit control. Also shows the file's small icon.

CEnEdit, CFolderDialog, CMaskEdit, CDlgUnits, CThemed, CSysImageList

CHoldRedraw

Encapsulates WM_SETREDRAW

CHotKeyCtrlEx

Fixes a number of behavioural problems including the handling of certain keypresses

CHotTracker

Tracks the cursor movement over user-defined windows and posts event messages as necessary

*CSubclassWnd,

CLimitSingleInstance

Provides simple method to detect if another instance of an app is running

CMaskEdit

Adds simple character masking to CEdit

CNcGutter

Allows the UI of standard windows controls to be extended by supporting any number of columns to be added to the non-client area of the window. Favours tabular controls like lists, trees, etc

*CSubclassWnd, CHoldRedraw, CThemed, CDlgUnits

COrderedTreeCtrl

CTreeCtrl implementation of CNcGutter displaying a single column showing the hierarchical position of each tree item in '1.2.3.4' notation.

CHoldRedraw, CThemed

CPasswordDialog

Very simple password dialog not requiring a dialog resource

CRuntimeDlg, CRCCtrlParser

CPropertyPageHost

Simpler replacement for CPropertySheet allowing easier creation as a child window

CRCCtrlParser

Used by CRuntimeDlg for parsing dialog resource-like text

CRuntimeDlg

Adds support to CDialog for building dialogs at runtime ie. dialogs do not require a dialog resource

CRCCtrlParser

CShortcutManager

Class for handling application keyboard shortcuts.

*CSubclassWnd, CWinClasses

CSpellCheckDlg

Spellcheck dialog not requiring a dialog resource, which interfaces with ISpellCheck (interface to Open Office dictionaries)

CRuntimeDlg, CRCCtrlParser, ISpellCheck

CSysImageList

Encapsulates the Windows system image list (file/folder images)

CTabCtrlEx

Adds post rendering callback for the tabs without using owner-draw

CThemed

Encapsulates themed (XP) and non-themed (the rest) drawing of windows controls

CTimeEdit

Adds a button for specifying time units and provided routines for converting time to and from different time units

CEnEdit, CMaskEdit, CThemed, CDlgUnits

CToolbarHelper

Adds support for dialog toolbar tooltips, multiline tooltips and dropbuttons with menus

*CSubclassWnd, CEnBitmap, CEnBitmapEx

CTrayIcon

Encapsulates the Shell_NotifyIcon Win32 API. Also provides balloon tips and animation

*CSubclassWnd,

CUrlRichEditCtrl

Adds support for recognizing urls, clicking them and setting custom url callbacks

CWinClasses

Encapsulates the ::GetClassName Win32 functions

CXmlFile, CXmlItem

Non-Unicode class for reading and writing xml files

CXmlFileEx

Adds encryption capabilities to CXmlFile

CXmlFile, IEncryption

* CSubclassWnd was originally written by Paul DiLascia for MSJ magazine. The version I use has been heavily extended to suit my specific needs. The classes that depend on it here need this extended version.

License

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.

Further Work

Whilst this tool was originally intended for my personal use only, it is now a 'community' project, so if you find it useful and want to make suggestions for enhancements or bug fixes, then post below.

History

  • 5.7.b4 (22 Nov 2008)
    • Fixed crash using keyboard accelerators
    • Fixed loss of focus after updating filter
    • Fixed tasks having duplicate IDs when creating them rapidly one after another
  • 5.7.b3 (19 Nov 2008)
    • Fixed task title edit bug when minimizing to tray
    • Fixed Various filter bar UI issues
    • Fixed various dialog tab dis-orders
    • Tweaked the Welcome dialog  and fixed a typo in the Introduction tasklist
    • Various menu tweaks, including moving 'Delete' menu into 'Edit' menu, renaming 'Send To' to 'Email Tasks', moving 'Spellcheck Active Tasklist' to 'Edit' menu, clarifying 'Import/Export Preferences'.
    • Removed Outlook exporter (not implemented) 
  • 5.7.b2 (15 Nov 2008) 
    • Fix for task-scrolling bug
    • Fix for task-move causing scroll reset
    • Possible fix for redraw bug when switching tasklists 
  • 5.7 Beta Release (15 Nov 2008) 
    • New ToDoList Icon
    • Tree filtering restored
    • Compressed rich text comments
    • Outlook task importer
    • Support for FreeMind 0.9.
    • Start-date advances the same amount that due date does when a recurring task is completed.
    • Quick Find
    • Fixed GanttProject exporter
    • Fixed copying of tasks so that interdependencies get updated correctly.
    • New filter bar options checkbox droplist
    • Added 'version' field to filter bar and dialog
    • New 'Startup' wizard for first time users   
  • 5.6.6 (25 Sep 2008)
    • Fixed RTF2HTML conversion bug
    • Fixed bug causing completed tasks to be marked as overdue
    • Fixed bug causing comments changes to be lost when switching from tree to list view
  • 5.6.5 (02 Sep 2008)
    • Fixed rare crash when closing ToDoList before it has finished initializing itself
    • Removed blank lines between tasks in csv export
    • Fixed task ordering bug when pasting copied tasks as text
    • Fixed todolist hanging when HTML exporting tasklists with images
  • 5.6.4 (21 Aug 2008)
    • Remove changes made in 5.6.3 - Other more significant changes need to be made before this will work correctly.
  • 5.6.3 (17 Aug 2008)
    • Filtering and Find Tasks now takes user attribute calculation preferences into account
  • 5.6.2 (15 Aug 2008)
    • Fixed bug exporting selected tasks from task tree
    • Fixed list view auto-resort bug
  • 5.6.1 (11 Aug 2008)
    • Restored tree sorting
  • 5.6 Feature Release (09 Aug 2008)
    • List view added for filtering and sorting
    • Improved performance when scrolling using the cursor keys
    • Improved performance when editing comments containing images
    • Items removed from the default droplist preferences are now also removed from the droplists in the main interface
    • Preference added for users of 3rd part source control to aid in merging differences
    • Time formatting changed so that 8 hours (or whatever you day length is) will appear as '1d' instead of '1d0h'. Likewise, 5 days will appear as '1w' not '1w0d'
  • 5.5.7 (14 Jun 2008)
    • Fixed crash when performing finds with '%'
    • Fixed multibyte language cut/paste bug
    • Prevent Windows beeping when cancelling a Find Tasks edit
    • Fixed Find dialog clipping bug with Chinese input
    • Hide/restore calendars when minimizing to the system tray
    • Fixed occasional filter merge bug
  • 5.5.6 (30 May 2008)
    • Rolls back a change in 5.5.5 that prevents some encrypted tasklists being opened
  • 5.5.5 (29 May 2008)
    • Fixed bug where leading comments whitespace was being removed
    • Fixed bug where the richedit comments scrollbar would appear disabled
  • 5.5.4 (22 May 2008)
    • Minor tweaks to source code to compile on VS2005
  • 5.5.4 (19 May 2008)
    • Fixed crash in 'File | Send To...'
    • Fixed minor incompatibility with FolderView [^]
    • Auto-complete rule edit when saving a search
  • 5.5.3 (15 May 2008)
    • Fixed crash when completing tasks with filtered out dependencies.
    • Changes to default categories, etc are now reflected immediately in the filter bar
    • Fixed broken comments spell-checking
    • Fixed recurring tasks incorrectly acquiring a due task time
    • Fixed various minor UI issues with auto-droplists (category, status, etc)
  • 5.5.2 (09 May 2008)
    • Find Tasks dialog displays completed task results using user preferences
    • Fixed bug in text 'equals' rule in Find dialog
    • Fixed About box for Asian users (and other minor font changes)
  • 5.5.1 (02 May 2008)
    • Fixed various font droplists issues
    • Removed cancelled new task from undo history
    • Fixed flicker when selecting task in calendar plugin
  • 5.5 Feature Release (30 Apr 2008)
    • New Find Tasks dialog
    • Due Time field
    • Task colouring extends to attribute columns
    • Better control of what attributes get exported/printed/etc
    • Multiple task dependencies (delimited by your regional list delimiter)
    • Various minor UI 'improvements'
    • Undo/redo now concatenates edits of same type (within 5 second window)
    • Fixed multi-selected task display bug
    • Fixed filter bug
    • Fixed iCal exporter bugs
    • Fixed recurring task bug when completing via date or percent fields
  • 5.4.11 (04 Apr 2008)
    • Fix for task multi-selection display bug
    • Fix for iCal exporter to support Google Calendars
  • 5.4.10 (12 Mar 2008)
    • Fix for task selection bug when selected colour is black.
  • 5.4.9 (10 Mar 2008)
    • Various fixed relating to the handling of UI extension plugins (eg. calendar)
    • Time spent now exported for completed tasks
  • 5.4.8 (21 Feb 2008)
    • Various selection related fixes
  • 5.4.7 (21 Feb 2008)
    • Fix for broken 5.4.6 (caused by the filter related fix).
  • 5.4.6 (20 Feb 2008)
    • Fix for text and html exporters not exporting costs
    • Fix for completed parent tasks appearing in 'Due ...' filters
    • Selected tasks retain selected appearance when the focus is not on the task tree
  • 5.4.5 (09 Feb 2008)
    • Fix for csv exporter not resetting columns
    • Fix for spurious content appearing in html due task notifications
    • Box drawn around selected tasks when the focus is not on the task tree
  • 5.4.4 (01 Feb 2008)
    • Fix for auto-sorting new tasks above completed tasks
  • 5.4.3 (31 Jan 2008)
    • Fix for Alloc-To column showing incorrect data
    • Fix for '&' in tasklist columns
    • Fix for non-working tabstops in rich text comments
  • 5.4.2 (25 Jan 2008)
    • Fix for incorrect undo when focus is on certain edit fields
    • Fix for ToDoList not updating calendar after filter change
  • 5.4.1 (23 Jan 2008)
    • Fix for ini file access when setting category colours
    • Drag'n'Drop honours user subtask placement settings
    • Fix for erroneous visibility of task position column
    • Fix for selection bug after drag'n'drop
    • Fix for erroneous downward scroll when moving tasks up
  • 5.4 Feature Release (19 Jan 2008)
    • Undo/Redo
    • Unified Import/Export dialogs
    • Import tasks from clipboard
    • Simple backup
    • FreeMind import/export plugin (by Guru Ramnath Kathiresan)
    • Word wrap button on RTF comments toolbar
    • Plain text importer now remembers it's settings
    • Editing any other task attribute while the task title is being edited causes the title edit to end
    • When a task is completed, it's subtasks are no longer evaluated when calculated percentage completion
    • The colour field now displays its colour in its background when the preference to use a task's colour for it's background is set
    • Placeholder for the selected task's file link has been added to the 'Tools' preferences page
    • Fix for the background text colour not being cleared from the RTF comments field when switching to a (new) task with no comments
    • Improved UI clean-up after drag-drop aborted
    • Fix for handling the rendering of '&' correctly
    • Fix for the handling of non-integer numeric preferences (default cost, time estimate, etc)
    • Simple text comments now only copies simple text (if that makes sense)Fix for bug with inherited task attributes
  • 1.1-5.3 (removed by .dan.g.)
  • 1.0 (4 Nov 2003)
    • Initial release.

License

This article, along with any associated source code and files, is licensed under The Creative Commons Attribution-ShareAlike 2.5 License

About the Author

.dan.g.


.dan.g. is a former chartered structural engineer from the uk. He's been programming for 25 years since university and has been developing commercial windows software in Australia since 1998. He has a shaved head and assorted whiskers should you want to recognize him. [update] Dan has now grown his hair and removed his whiskers in an attempt to appear more normal. However he can still be recognized (in the summer months) by the aqua nail-polish he uses on his big toes. [/update]

For all his latest freeware visit http://www.abstractspoon.com/
Occupation: Software Developer (Senior)
Location: Australia Australia

Other popular Applications & Tools articles:

Article Top
Sign Up to vote for this article
You must Sign In to use this message board.
FAQ FAQ Noise ToleranceSearch Search Messages 
 Layout  Per page   
 Msgs 1 to 25 of 12,284 (Total in Forum: 12,284) (Refresh)FirstPrevNext
QuestionProblem about comment fontmemberMember 40307274hrs 29mins ago 
AnswerRe: Problem about comment fontmember.dan.g.2hrs 53mins ago 
GeneralRe: Problem about comment fontmembermsmousecn2hrs 38mins ago 
GeneralRe: Problem about comment fontmembermsmousecn2hrs 11mins ago 
GeneralThanks a lotmemberJosemaproject20:27 20 Nov '08  
GeneralRe: Thanks a lotmember.dan.g.3hrs 30mins ago 
GeneralI can finaly trust an application to do all that i need it to do! +requestsmemberzhenka1123018:27 20 Nov '08  
GeneralRe: I can finaly trust an application to do all that i need it to do! +requestsmember[d3m0n]0:23 21 Nov '08  
GeneralRe: I can finaly trust an application to do all that i need it to do! +requestsmember.dan.g.2hrs 51mins ago 
GeneraltnkmemberMurderDolls13:46 20 Nov '08  
GeneralRe: tnkmembermarkus folius14:53 20 Nov '08  
Generalcrash in 5.7b3 when using keyboard shortcutsmembercarloscascadilla6:34 20 Nov '08  
GeneralRe: crash in 5.7b3 when using keyboard shortcuts [modified]member.dan.g.17:11 20 Nov '08  
GeneralNice ApplicationmemberGuru raj kumar J.23:51 19 Nov '08  
GeneralRe: Nice Applicationmember.dan.g.17:04 20 Nov '08  
GeneralToDoList 5.7.b3memberHoppfrosch20:53 18 Nov '08  
GeneralRe: ToDoList 5.7.b3member.dan.g.12:21 19 Nov '08  
QuestionRe: ToDoList 5.7.b3memberHoppfrosch20:45 20 Nov '08  
AnswerRe: ToDoList 5.7.b3member.dan.g.3hrs 31mins ago 
GeneralSmall bugmemberAlexander Shevchenko22:35 17 Nov '08  
GeneralRe: Small bug