prev
Issue 102
16th March 2008
by Danny Allen
next


This Week...
The beginnings of a network management applet in Plasma, work on containments, and improvements in the "RSS" data engine and "Devices" applet. Initial support for saving changes to documents in Okular. A Kross-based scripting plungin in KLinkStatus. "Tip-of-the-day" and "Qt methods to avoid" checkers for the Krazy code quality reporting system. First steps towards a C++ parser in Umbrello. Work on projection independence in Marble. More maintenance and bux fixing in Kooka. Continued work in KHTML. Expanded support for subtitles and audio channel selection in Phonon (prompted by the requirements of Dragon Player). A rewritten "Todo" view in KOrganizer. Further work towards Amarok 2.0. "HTTP webseeding" in KTorrent. Kross-based scripting in KPlato, with support for "find in multiple documents" in KOffice. Caching support extended to all KDE card games. Improvements in KTurtle, KNetwalk, and Kubrick. Initial imports and work on the "Killbots" and "Astrododge" games. Import of "RSSNOW", an alternate RSS feed reader Plasmoid. The Step physics package moves from playground/edu to kdereview so that it can move to the kdeedu module for KDE 4.1.

Tom Albers reports on the Akonadi meeting in Berlin:
We decided that we would try to move the various Akonadi parts to the correct places in subversion for the 4.1 release. And that is exactly what happened this morning, we moved libakonadi - the KDE dependent part - to kdepimlibs, the mailody resource moved to the other resources, etc.

I also removed the local copy of Akonadi we had in Mailody. That means Mailody now depends on kdepim in KDE's SVN. I expect the distributions to ship the resources in a separate package, so it is not a big problem. The Akonadi Server still has a dependency on KDE (KLocalSocket) - as soon as it's replaced by QLocalSocket, that part will move to kdesupport or somewhere else.

While Volker Krause and Tobias Koenig were moving things around, I started working on create a system tray application for controlling Akonadi. Already it can stop and start the Akonadi server and show the status of the server. Soon it will serve as 'host' for displaying errors from the different resources.

We started to review the API of Akonadi, which will probably result in some API changes tomorrow. One change will corrupt all current items in Akonadi, but it just needs to be done. All this has to be completed before the 4.1 release, as from that moment on, we cannot change the API.

Yesterday evening we continued working on Akonadi and Co. Kevin is working on replacing KLocalSocket with the new QLocalSocket, but that's not going that well yet. Thomas is working on the collection model/view/delegate (simple language: the folderlist), to allow it to make the unread count of the top level visible and available. Frode is cleaning up Mailody resources and the KCM, code style, indentation, consistent placement of the * and & signs, etc.

I made the system tray a bit more intelligent by watching DBUS to see if Akonadi is started or stopped. When it notices a change, the menu items are adjusted and the title of the context menu changes. That title of the context menu caused some headaches, because the kdelibs API did not have a way to do it, so I had to draw my own title above the context menu. Urs Wolfer spotted my commit and immediately fixed the kdelibs API and improved to layout of the title. That's awesome. I will change the tray application soon, but I don't want to force everyone to recompile kdelibs trunk and let kdepim depend on that. I assume not everyone has a build cluster like we have here at KDAB currently.

Tobias made some changes to the API just before we left the building, which broke kdepim and playground. We fixed that in the meanwhile. Today, Tobias continued API changes, assisted by Till and Volker. Frode implemented purging of mailboxes for the IMAP resource and I did some fixes here and there, one change made sure Mailody can be used for reading newsgroups from now on.

Today Thomas finished the delegate for the folder list, so folders with unread messages are painted differently and it makes it possible to add the unread count behind the folder name. It's not used right now, because the folder view needs to support selecting of the columns, which is not there out of the box. After that some more renamings happened.

Tobias worked on the 'search' and I heard him cheer a couple of times, so I think he had a basic working implementation. I'll look at it and see how it works, and activate it in Mailody when possible.

Volker fixed a rather important bug in the transaction code we use for MySQL and I found another little bug in the database scheme, a patch is pending review. After that we decided on some organisational issues: we are going to use #akonadi and, reluctantly, we will start using Bugzilla from now on. I've reported a couple of bugs so Volker doesn't forget them. I must say Bugzilla is in worse shape than I thought. I wish we could move on to something better.

After lunch, Volker, Kevin and Tobias started continuing the API review on the beamer. We already have a new list of changes we want to make, which probably break everything again and again. There was a large discussion about error handling, I did not understand the outcome, but I'll just watch the commits and ask again after that, as it needs to communicationg with the new Tray application, which I worked on a bit more today. The alerts it popups via KNotify were appearing up all over the place. So I replaced it with KPassivePopup which is able to determine the correct position. I would still prefer KNotify as that can be configured by the user, but I don't feel like hacking on KNotify right now.

The whole evening was filled with API discussions, we have made comments in the header files, with the changes we want to make and the next weeks we will implement all those changes. In the meanwhile I pimped the Akonadi KCM, by replacing a boring widget with the widget already available in Akonadi, which even shows the status of the different resources. Now it looks like this in Mailody:



Statistics
Commits: 2410 by 226 developers, 5987 lines modified, 1029 new files.
Open Bugs: 16196
Open Wishes: 13790
Bugs Opened: 252 in the last 7 days.
Bugs Closed: 246 in the last 7 days.

Commit Summary
Module Commits
/trunk/KDE
624
/trunk/l10n-kde4
585
/trunk/extragear
191
/trunk/playground
183
/branches/work
139
/branches/stable
127
/branches/extragear
112
/branches/KDE
99
/trunk/koffice
95
/trunk/www
66
Lines Developer Commits
143
Thanomsub Noppaburana
143
278
Gilles Caulier
109
88
Sergiu Bivol
87
178
Laurent Montel
78
148
Pino Toscano
56
44
Khoem So
44
107
Rafael Fernández López
41
89
Allen Winter
38
71
Helmut Schaa
34
71
Dan Meltzer
34

Internationalisation (i18n) Status
Language Percentage Complete
Portuguese
99%
Greek
98%
Swedish
93%
Japanese
92%
Dutch
88%
German
87%
Ukrainian
86%
Polish
86%
Low Saxon
85%
Brazilian Portuguese
85%

Bug Killers and Buzz
Bug Killer Number Of Bugs Closed
Gilles Caulier
42
Robert Knight
39
Luboš Luňák
16
Aaron J. Seigo
14
Pino Toscano
13
Harald Sitter
12
Tristan Hoffmann
12
Thomas McGuire
11
nhnielsen
10
Peter Penz
8

Program Buzz
Amarok
  9815
K3B
  4875
KMail
  4840
Kopete
  3320
KDevelop
  2595
Plasma
  2489
Kaffeine
  2037
Kate
  2001
Solid
  1873
Kontact
  1790


Person Buzz
David Faure
  2110
Stephan Kulow
  1749
Aaron Seigo
  1390
Torsten Rahn
  1367
Jonathan Riddell
  1132
Laurent Montel
  1030
Stephan Binner
  782
Thiago Macieira
  668
Zack Rusin
  638
Adriaan de Groot
  631
Commit Countries

Commit Demographics
Sex
94.7 %       Male
7.25 %       (unknown)
1.72 %       Female
Motivation
50.5 %       Volunteer
40.3 %       (unknown)
12.7 %       Commercial
 
Ages
60.7 %       (unknown)
23.8 %       25 to 34
7.90 %       18 to 24
7.37 %       35 to 44
3.35 %       45 to 54
0.491 %       Under 18


Contents
  Bug Fixes Features Optimise Security Other
Accessibility
Development Tools [*]
Educational [*] [*]
Graphics [*] [*]
KDE-Base [*] [*] [*] [*]
KDE-PIM [*] [*] [*]
Office [*] [*]
Konqueror
Multimedia [*] [*] [*]
Networking Tools [*] [*] [*]
User Interface
Utilities [*] [*]
Games [*] [*] [*] [*]
Other


Bug Fixes
Games
Fela Winkelmolen committed changes in /trunk/KDE/kdegames/knetwalk/src:
Never create games that have more than one solution.
Bug 157054: games that allow two solutions
Diffs: 1, 2 Revision 783738

Dirk Rathlev committed a change to /trunk/KDE/kdegames/kspaceduel/default_theme.svgz:
fix some graphical glitches which made kspaceduel virtual unplayable

nothing serious, so I would be glad if someone with a 4.0 checkout could backport this
Diff Revision 784161
View Visual Changes (to 1 file)

Dmitry Suzdalev committed changes in /trunk/KDE/kdegames/klines:
Fix a bug coolo's wife found :)
Remove both lines if they form a "corner", e.g. like this:

ooooo
o
o
o
o

or any other such occasion :)
Bug 158123: a double checker is not taken into account
Diffs: 1, 2 Revision 784428

KDE-Base
Germain Garand committed a change to /trunk/KDE/kdelibs/kdeui/widgets/ktabwidget.cpp:
People should be very careful with Qt 4's setUpdatesEnabled() as one can end up unwillingly repainting enormous surfaces for no good reason.

"Re-enabling updates implicitly calls update() on the widget."

Here, the entire widget was repainted when setting the tab title, leading to flicker and breakage of web page transitions in konqueror.
Diff Revision 783805

Maksim Orlovich committed a change to /branches/work/kjs-frostbyte/kjs/interpreter.cpp:
Figured out why there was a regression: seems like the long-living objects were messing with GC object density a bit.

The net result of the last 2 changes is that we're faster just about everywhere, 2.7% overall, with ~10-17% on call-heavy benchmarks.

Over the weekend thus far, we're ~9% faster, with 35-60% speedups on call-heavy benchmarks... And I have one more idea to try.
Diff Revision 783928

Germain Garand committed a change to /trunk/KDE/kdelibs/khtml/rendering/render_layer.cpp:
ameliorate the algorithm computing z-order mask for external widgets so that it also walk parent stacking contexts.

This should take care of all remaining cases of dhtml menus being displayed behind Flash/Java widgets.
Bug 158759: bmw-motorrad.co.uk page fails to render correctly in konqueror
Diff Revision 784122

KDE-PIM
Thomas McGuire committed changes in /trunk/KDE/kdepim: