24 Jan 2009
more on the rtm plasmoid
I’ve received some great feedback on the Remember The Milk plasmoid and it’s time to share some of more recent changes.
My university courses started last Monday, and with them the inevitable shrinking of free time to hack. However, the workload hasn’t quite piled on yet and I’ve spent some time in the last few days on the core of librtm. Its handling of tasks is vastly improved, and it is now possible to work directly with RTM::Task objects, as they will send their updates (i.e. new names, due dates, tags, etc…) to the server. When the server responds to these requests, the RTM::Session receives the replies and keeps the internal state of tasks consistent. It helpfully emits taskChanged(RTM::Task*) so that any frontend application can stay up-to-date in whatever way it handles tasks.
I also made some enhancements to the plasmoid, the most visible of which is the new task configuration widget, shown below. When you click on a task, a widget slides into view that lets you edit its attributes. Upon clicking save, this dialog slides away and the changes are sent (via RTM::Task, enabled by the changes I mentioned above) online. The view updates itself when it receives the updates from the RTM::Session by way of the dataengine. Additionally, there is now a visible indication (the colored header items) of priority.
The plasmoid can be found in playground. To build it you need at least KDE 4.2rc, librtm (playground/libs/rtm) and the rtm dataengine (also in playground). Remember that it’s still in heavy development and I can’t guarantee that it won’t mess up your rememberthemilk account. Also, there are a number of visual bugs apparent even in the screenshots. I know about them, I’m working on them.