Updated Screenshots of the new UI (current state)

A sneak preview of the new user interface

A sneak preview of the new user interface

A sneak preview of the new user interface

A sneak preview of the new user interface

Using StringFormat with MenuItem

I don’t know if this is news for anybody, but I thought I just share this for the case anybody should run into the same issue I did.

When using Data Binding in WPF you can use the StringFormat parameter to e.g. add text to a string.

So if you have a String called Foo which’s value is “some string” you can use

 <TextBlock Text=”{Binding Path=Foo, StringFormat=’Foo: {0}’}”/>

to make the TextBlock display “Foo: some string”.

However, this will not work with a MenuItem’s Header and you need to use the MenuItem’s HeaderStringFormat property instead.

 <MenuItem Header=”{Binding Path=Foo}” HeaderStringFormat=”Foo: {0}” />

Toodledo instead of Todoist

I originally intended to enable syncing with todoist.com inside yaTDL. However I decided not to use Todoist and instead switched to Toodledo, as the Toodledo API offers some features that make building this functionality a lot easier.

I already started working on this and the code for this feature should appear on Codeplex in the coming months.

Notes on the Todoist API

I’m currently implementing the Todoist API for yaTDL. You can’t really find very much about this (except the Todoist API Help), so I decided to create this page to collect some info for people also trying to implement this API, as there is some strange behaviour, you should know about.

Note: I will update this post, if I should find more relevant information

Item-Priority

At Todoist every item of the todo-list has a priority (ranging from 1 to 4 with 4 being the default on lowest priority). However, the API works with reversed priorities, so for example if you want to set the priority to 1, you will have to send 4 or if you receive the value of 3, the priority is actually 2.

This is a known bug in the Todoist API, but won’t be fixed due to backwards-compatibility.

Uncompleting an item

UPDATE: The bug has been fixed in the Todoist API and uncompleting items works fine now.

There is a separate call (/API/uncompleteItems) to mark completed items as uncompleted, but, at least for me, this never worked and todoist.com always returns an error.

A workaround to this is to delete the item and then add it as a new one, as new items will be marked as pending automatically. However this isn’t an ideal solution to the problem, as the Item’s id will change and this might lead to syncing-conflicts if more than one application syncs with to the same user-account.

In my opinion this is a bug in the Todoist API and needs to be fixed. I created an entry in the Todoist support forum, but as of today, it’s still unanswered.

Updating recurring dates

There is also a method to update a recurring date and set it to the next value, but as it seems you can only call this method once, as calling it again will no longer change the item’s due date.

I haven’t found a solution to this problem yet.


Release 1.0

Today the final version of yaTDL has been released.

You can download it here.

Additionally there is the possibility to install yaTDL via ClickOnce. Just use the link, which is provided on the download-page, too.

Beta 2

Beta 2 has just been released. You can find it here

Report a bug

If you discover a bug in yaTDL, you might want to tell me about it. For this purpose, I’ve created a form at polldaddy.com which can be used to report them.

You can find the form here

First release

I’ve just released the first beta of yaTDL 1.0. You can download it from Codeplex

Roadmap

I’ve put together a little roadmap to write down what is planned for yaTDL. It’s not complete yet and only a tiny overview. It will be expanded later. You will always find the latest version in the wiki



1.0


1.1


1.2 or 2.0

The application&#8217;s main window, displaying two tasks with due date and priority. On the left you can see the project-list

The application’s main window, displaying two tasks with due date and priority. On the left you can see the project-list