Click here to Skip to main content
15,886,258 members
Articles / Programming Languages / C#

ToDoListPPC

Rate me:
Please Sign up or sign in to vote.
4.63/5 (13 votes)
6 Nov 2006CPOL3 min read 226K   517   84   81
A ToDoList program for the Pocket PC.

The source is also under SubVersion control at Google.

Introduction

This project is a C# .NET Compact Framework application that provides editing and viewing of ToDoLists created with .dan.g's ToDoList program, on a Pocket PC. This project is an example of the basics required for a .NET Compact Framework application and shows how to use XML, a tree control, and a tab control, as well as a good use for recursion.

Background

The original Pocket PC TodoListViewer was written by Kyle Tillman. He didn't have the time to add the features he wanted to, so I grabbed his project and have added some of the features we both wanted.

SIP

I had some fun getting my controls to acknowledge the SIP when it was displayed, but found the easiest way was to place them all in a top level panel and just resize that panel when the SIP was displayed/hidden. That top level panel would then resize its components and so on down the control tree.

The project is currently being developed using MS Visual Studio 2008 and Microsoft's .NET 2.0 SDK.

Known Issues

  1. Files not loading

    Issue: The application cannot load some ToDoList files created with older versions of the ToDoList program.

    Solution: Install the most recent version of the ToDoList program, load the ToDoList file, and save as a new file. This causes the XML to be upgraded and appears to fix the issue.

    Thanks To: Kyle Tillman.

  2. Fix display for landscape mode

    Issue: I need to re-arrange the layout of the screen when the device is in landscape mode.

    Solution: -

    Thanks To: -

  3. Details panel display

    Issue: When the Details panel is first displayed, the tabs are off the bottom of the screen.

    Solution: I'm still working on this issue. For now use the workaround.

    Workaround: Displaying and hiding the SIP moves the details up to the correct place.

    Thanks To: Andy Aspell-Clark.

Todo:

Date AddedDescriptionDate Completed
2nd Dec 2007Fix Saving todolists.
10 Mar 2005Make font size user selectable.
11 Apr 2005Stop Details panel tabs appearing off screen.

Contact Information

You can contact me at aspellclark at yahoo.co.uk about this project. If you contact me at my normal e-mail address, please put [ToDoListPPC] in the Subject line.

Subversion

I have created a Google code repository for TodoListPPC, you can access it here.

Version History

  • 3.0 (2nd Dec 2007)
    • Can now read Todolist V5.3.10 files.
    • Warning: Do not save files with this version. they may not load with Todolist. I am working on this, but for now treat this as "read-Only"
  • 2.5 (6th Nov 2006)
    • Added settings dialog for font details.
  • 2.4 (1 Nov 2006)
    • Revamp and works with Todolist 5 beta.
  • 2.3 (28 Oct 2005)
    • updated to work with TodoList 4.4.
  • 2.2 (11 April 2005)
    • the checkboxes now work as expected.
  • 2.1 (24 March 2005)
    • Now remembers the last tasklist loaded, and reloads it on startup.
  • 2.0 (11 March 2005)
    • First public offering after I grabbed Kyle's Todolist Viewer and started adding extra functionality.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) Airbus Defense and Space
United Kingdom United Kingdom
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralHelp installing Pin
mclsm10-Oct-09 21:05
mclsm10-Oct-09 21:05 
GeneralRe: Help installing Pin
Foz128412-Oct-09 3:11
Foz128412-Oct-09 3:11 
GeneralNew version [modified] Pin
Foz128421-May-09 4:57
Foz128421-May-09 4:57 
GeneralRe: New version Pin
Onesimus11-Jun-09 11:20
Onesimus11-Jun-09 11:20 
GeneralRe: New version Pin
Foz128425-Aug-09 23:27
Foz128425-Aug-09 23:27 
GeneralRe: New version Pin
giovanne4-Aug-09 11:21
giovanne4-Aug-09 11:21 
GeneralRe: New version Pin
Foz128426-Aug-09 1:31
Foz128426-Aug-09 1:31 
QuestionWill this work on blackberries? Pin
s_abrar7-Jun-08 7:44
s_abrar7-Jun-08 7:44 
QuestionNot support NEW VERSION ... Pin
Member 377585917-Feb-08 5:56
Member 377585917-Feb-08 5:56 
QuestionCan't see any tasks - help needed Pin
dzah3-Feb-08 10:02
dzah3-Feb-08 10:02 
Newslatest release Pin
Andy Aspell-Clark15-Dec-07 4:23
Andy Aspell-Clark15-Dec-07 4:23 
GeneralRe: latest release Pin
.dan.g.10-Jan-08 18:51
professional.dan.g.10-Jan-08 18:51 
Questionbasic getting started guide ..? Pin
mojomuse7-Nov-07 3:32
mojomuse7-Nov-07 3:32 
AnswerRe: basic getting started guide ..? Pin
Michael Davey 124-Nov-07 20:01
Michael Davey 124-Nov-07 20:01 
GeneralFont error Pin
moltra27-Aug-07 5:40
moltra27-Aug-07 5:40 
GeneralRe: Font error Pin
verithin15-Nov-07 7:20
verithin15-Nov-07 7:20 
GeneralHelp on the Landscape-issue Pin
Daniël_T24-Jul-07 9:57
Daniël_T24-Jul-07 9:57 
Hi, saw that you have an issue with the landscape modus.

Maybe this helps::

Add code to detect a `resize` of your form:

Private Sub MyFormResize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Resize<br />
    <br />
   ResizeUI()<br />
<br />
End Sub


1) Whenever the screen is being rotated (there are other functions you can call to verify this) this function will be called as this means a resize. So, if normal modus is 5x10 (Width x Height) and the screen is being rotated, it will be 10x5.

2) To retrieve the dimensions, you can use this code

Dim scrWidth As Integer = screen.PrimaryScreen.WorkingArea.Width 'Bounds or WorkingArea<br />
Dim scrHeight As Integer = screen.PrimaryScreen.WorkingArea.Height<br />


or use the SIP object's VisibleDesktop (if the SIP isn't visible, you'll need to subtract an extra System.Windows.Forms.SystemInformation.MenuHeight; for the lower bar, that is!).

3) When you have these dimension's you can re-arrange the controls on your form. I prefer to add as much to panels and resizing them. I don't have the time to edit your source, but I am sure you can figure this out. There aren't that many possible landscape-sizes. You just check whether the width > height.
You can ask me for futher help on this step if you like. I don't know if this is the bottleneck of your issue...
( My first guess would be adding the controls underneath the listbox in one panel and move it next to the listbox when landscape is active )

N.B.: You might think there is a line of code that returns whether or not the device is in landscape mode. Well, there is! I started off using such method, but you really need the new dimensions and handling a fired resizing-event is all you'll need...

Cheers, Daniel Trommel



-- modified at 7:12 Monday 30th July, 2007
QuestionCrashes on file read Pin
Rick Seenarine26-Jun-07 8:45
Rick Seenarine26-Jun-07 8:45 
GeneralCrashes on Saving Pin
GoodTurn17-Feb-07 9:09
GoodTurn17-Feb-07 9:09 
GeneralRe: Crashes on Saving Pin
Murray Elliot8-May-07 1:03
Murray Elliot8-May-07 1:03 
QuestionWhat ways of sorting do people want/need? Pin
Frans Postma21-Dec-06 12:16
Frans Postma21-Dec-06 12:16 
AnswerRe: What ways of sorting do people want/need? Pin
Murray Elliot8-May-07 1:00
Murray Elliot8-May-07 1:00 
AnswerRe: What ways of sorting do people want/need? Pin
.dan.g.15-May-07 13:30
professional.dan.g.15-May-07 13:30 
QuestionFails on latest Axim Pin
Don M21-Nov-06 0:58
Don M21-Nov-06 0:58 
AnswerRe: Fails on latest Axim Pin
Frans Postma22-Nov-06 12:14
Frans Postma22-Nov-06 12:14 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.