Thomas Georgiou writes about one of the many Plasma applets springing up, the Dictionary Plasmoid:
On the 18th June, Summer vacation started for me so I suddenly received a large amount of free time. The week before I had read that KDict was not going to be in KDE 4. As I had used KDict before and found it useful, I thought that replacing KDict would be a not-so-hard project to start developing on KDE with. At the same time, I also wanted to work on Plasma, the new, cool thing, so I decided to merge the two and write a dictionary Plasmoid. My friend, Jeff Cooper also wanted to get into KDE development so I asked him to help me.
On Monday, we easily wrote the plain text version of the Dict engine in a few hours after figuring out how to do TCP sockets in Qt. We were surprised at how easy it was to get working. That night, we started writing the beginnings of the applet until biological limits such as sleep overcame our enthusiasm about hacking on KDE. On Tuesday, we talked to Aaron J. Seigo on IRC about putting it into SVN. We then sent the engine to the Plasma (panel-devel) mailing list where we received some helpful responses on how we could improve the engine.
After we fixed a few things and resent the engine, Aaron committed it into playground. I also applied for a SVN account that day and received it that night. We were now able to commit directly to SVN. We continued hacking until we fell asleep that night too. On Wednesday, we committed the Dictionary applet and made the engine have pretty HTML output once we realized HTML was usable in the applet. We also added animation support in 1 line by using Phase. We continuously hacked at the applet and engine at a steady pace through Thursday. On Friday, I changed the layout/look of the applet after I received a cool mockup from the Oxygen team and Jeff recorded the screencast. On Saturday, I kept implementing cool new features like pages (which I just committed the preliminary version of) and dictionary selection, and I wrote these paragraphs.
The Dictionary applet mainly consists of 2 widgets, a word lineedit and a definition lineedit that is hidden until a definition comes from the engine. It currently looks ugly since the new background rendering code was committed to Plasma on Friday and the Oxygen team did not have enough time in the couple hours before the screencast was recorded to make a nice background. The word lineedit has instructional text that behaves like it does not exist except for a bug that is being currently worked on where the text sometimes stays grey. The definition lineedit is animated using Phase (that took only 1 line of code!) and has links to other related words given by the dictionary. There is also a bug with the definition lineedit disappearing leaving artifacts that is actively being worked on (an hour is not enough time to fix a bug that I had no idea about). The definition lineedit gets its text from the Dict engine. The Dict engine interfaces with dict.org
using a Qt TCP Socket and can get definitions from various quality dictionaries that it hosts (but the applet can only select one right now... this is another feature that I will work on after I finish pages).
Getting started with KDE/Plasma development was extremely easy thanks to Qt, KDE's easy to use libraries, and the continuous help from Aaron and others in the #plasma IRC channel. If you want to start devloping or contributing for Plasma or KDE, just drop in to the #plasma or #kde4-devel channel on Freenode or visit http://techbase.kde.org/Contribute