First, I'd like to introduce myself to you, fellow inhabitants of planet KDE. My name is Ingomar Wesp, I'm 28 years old and I'm studying computer science in Linz, Austria (at least theoretically - currently, my time gets eaten away by my day job and other distractions). Oh, and I have recently been handed over maintainership of the quicklaunch applet by Lukas Appelhans (thanks again for your great support and encouragement). Which brings me right to the subject of this post.

Since there has already been some confusion about changes in quicklaunch as it ships with SC 4.5 beta 1, I thought I should probably point out the changes made and the reasons behind these modifications. Those of you with too much interest and/or too much time on your hands are invited to have a look at the related review requests (#3214, #3254 and #3786) and the corresponding discussions on plasma-devel. In a nutshell, these are the most important changes:

  • New layouting code: There were a few problems with the previous layouting code, which was based on subclassing QGraphicsGridLayout, so I implemented a custom layout that (hopefully) does away with these issues. It's also no longer necessary to repopulate the entire layout every time the wrapping changes due to a change in available space. Additionally, the ordering of items has been changed from column major to row major order when multiple rows are used. At least to me, this feels more natural and it also appears to be more consistent with how it's done in other applets that layout their items in multiple rows.

  • Improved drag & drop: Unfortunately, dragging items around was a bit broken in previous versions. There was a bug in the mapping of drop positions to indices that caused some inconveniences and had the potential to crash the plasma shell when the drop event was triggered at certain positions. Also, dragging icons to the popup did not work. With 4.5, these issues should be fixed. Plus, drag & drop is now a little more polished, because we added a drop marker that indicates the insert position for new icons.

  • And the rest: The two changes above also lay the groundwork for two new features. Since drag & drop to the popup dialog is now possible, it is no longer necessary to explicitly specify the number of icons that should be hidden in the main area and shown in the popup dialog. Instead, you can now just drag those items to or from the dialog. Additionally, icon sizes in the main area are now determined automatically depending on the space available, so the need to explicitly define the icon sizes in the settings dialog has been removed. You can, however, enforce a custom number of rows (in horizontal layouts like the horizontal panel) or columns (in vertical layouts) in order to influence how the available space is used.

Of course, there is still a lot of work to do. I've already got a few ideas for the future of quicklaunch, but since KDE SC is currently in it's beta phase, these will have to wait until trunk unfreezes for the 4.6 cycle. In the meantime, if you've got the chance to have a look at the new qucklaunch plasmoid and you'd like to share some feedback (be it positive or negative), please let me know.