Issue 28

15th October 2006 by Danny Allen

This Week...

The KDE project celebrates its 10th anniversary. System tray items can now be reordered by the user. Support for action sounds in okular. Work begins on Dynamic Brush architecture and canvas improvements in Krita, with layer handling improvements in Karbon. Krita switches library dependencies from ImageMagick to GraphicsMagick. Memory usage optimisations in the KHTML web rendering engine and Amarok.
Saturday, 14th October 2006 saw the KDE project age into the double figures - 10 years ago, Matthias Ettrich posted his vision for a graphical environment for the free desktop. From that single adventurous action has blossomed one of the forerunning open source projects, one which is steadily expanding in both mind and marketshare, and which is extending its reach ever-further across the globe.

On this anniversary, the following statistics represent the project:Of course, as important as these mighty statistics are the elements of KDE that cannot be easily measured, such as the unique KDE spirit and community.

Though the official celebration party was held in Stuttgart, Germany, reports reflecting the geographical spread of contributors and supporters flowed in. One such party was held in South Korea, with KDE developer Junkyu Park admirably representing the dragon in Asia.
This week sees the experimental expansion of the digest statistics section. To better understand the motivation and activity of the vital human component of KDE, I am gathering data which can then be mapped out in interesting ways. For now, (unknown) makes up a significant proportion of the data - this will improve weekly as I refine the collection methods. Enjoy this new look at our favourite project, and don't forget to either leave a comment or directly tell me what you think!


Commits 2101 by 193 developers, 4757 lines modified, 900 new files
Open Bugs 13154
Open Wishes 11742
Bugs Opened 327 in the last 7 days
Bugs Closed 215 in the last 7 days

Commit Summary

Module Commits
Lines Developer Commits
Laurent Montel
Gilles Caulier
David Faure
Cyrille Berger Skott
Dirk Mueller
Brad Hards
Pino Toscano
Stephan Kulow
Michal Ostrowski
Jaison Lee

Internationalization (i18n) Status

Language Percentage Complete
Swedish (sv)
Portuguese (pt)
Danish (da)
Spanish (es)
Dutch (nl)
Greek (el)
Italian (it)
Estonian (et)
French (fr)
German (de)

Bug Killers and Buzz

Person Bugs Closed
Bram Schoenmakers
Oswald Buddenhagen
Matt Rogers
Luboš Luňák
Christoph Burger-Scheidlin
Alexandre Pereira de Oliveira
Mark Kretschmann
Eike Hein
Juergen Appel
Allan Sandfeld Jensen
Program Buzz
Person Buzz
Adriaan de Groot
David Faure
Stephan Kulow
Waldo Bastian
Jonathan Riddell
George Staikos
Stephan Binner
Aaron J. Seigo
Boudewijn Rempt
Jarosław Staniek

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools



  []    []



KDE Base

[] [] []   []


[] []    []


  [] []   []




  [] []   

Networking Tools


User Interface



  [] []   


  []    []


  []    []

There are 62 selections this week

Bug Fixes

KDE Base

David Faure committed changes in /branches/KDE/3.5/kdebase/kdesktop/minicli.cpp:

Fix crash when typing "56+" in minicli (i.e. when bc gives a parse error).
The QTextStream dtor closes the implicitly created QFile, which flushes, so this must be done before the pclose.

Maks Orlovich committed changes in /branches/KDE/3.5/kdelibs/khtml/ecma:

Backport newer prototype macros, that delegate using the prototype system and not directly.

FIxes #134771, and make this closer to trunk


Volker Krause committed changes in /branches/KDE/3.5/kdepim/kmail/kmkernel.cpp:

Try harder to find an appropriate parent for the kwallet password dialog.

Based on a suggestion of Lubos, should fix #133861 and might also help with #131756.


Development Tools

Michael Pyne committed changes in /trunk/KDE/kdesdk/scripts/kdesvn-build:

Merge two subroutines that were forked from each other long ago, and diverged a bit.

This allowed me to easily add support for CMake 2.4.3's progress output, without dropping support for unsermake's progress output (and made the code easier to read as well).


Eric Kjeldergaard committed changes in /trunk/KDE/kdeedu/kiten/app:

This adds a dbus / to kiten, adds the registered name org.kde.kiten (as well as fixing<PID?> to ork.kde.kiten_<PID?>). It also exports all public slots to the /. It is inspired by pong.c and ping.c from qtdbus examples in qt-copy. This should allow radselect to access functions VERY easily. Must find a cleaner way to do the name exporting of the org.kde.kiten model to avoid having to do a registerService("org.kde.kiten").


Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam:

Allow the freedom to assign albums thumbnails from any other album.
Backport functionality from Tags icons.

Wilfried Huss committed changes in /branches/work/kviewshell-0.7/kviewshell/shell:

Double clicking on a page in overview mode now switches to to this page in continuous viewmode.

Add two keyboard shortcuts to cycle through the viewmodes(CTRL+M, CTRL+SHIFT+M)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 593565
Pino Toscano committed changes in /trunk/playground/graphics/okular:

Change the way we rotate the pages.
Instead of telling the generators to do the work themselves (that was usually destraoying the ld pages and creating the new ones), now we just rotate the page objects deleting only their "mutable" contents.
This way, generators can just return true in their supportRotation() to make okular rotate the pages for them for free. Of course they still have to generate the page pixmaps according to the given page rotation.
Now, there's a new rotationChanged() function in the Generator API so generator that needs it can be norified about the document rotation changing.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 10 more) Revision 593632
Aurélien Gâteau committed changes in /trunk/extragear/graphics/gwenview:

Finished reworking of ImageLoader and DocumentLoadingImpl to load JPEG images correctly rotated from the start.

Pino Toscano committed changes in /trunk/playground/graphics/okular:

Add the support for Sounds, links to sounds and opning/closing page actions (only in Page, not really working yet)

Diffs: 1, 2, 3, 4, 5, 6 Revision 593975

KDE Base

Flavio Castelli committed changes in /trunk/playground/base/strigi/src/daemon/eventlistener:

Added PollingListener class. It's a class that monitors disk changes using a polling method.

Can be used when inotify support isn't enabled or when the user cannot add new inotify watches.

Diffs: 1, 2, 3 Revision 593633
Jos van den Oever committed changes in /trunk/playground/base/strigi/src/daemon/xsd:

First version of more lightweight xml configuration file io.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 594641
David Faure committed changes in /branches/KDE/3.5/kdebase/kdesktop:

Fix F5 not doing anything on the desktop; this is useful not only when kdirwatch is broken but also when the mimetype of a file changes (e.g. cp /dev/null foo; echo bar > foo -- changes size but also mimetype).

Joseph Wenninger committed changes in /trunk/KDE/kdebase/kate/app:

1) summary dialog for file opening errors (session management/startup). Better dialog needed.
2) Now documents are marked after a one second timeout as being viewed. -> You can browse quickly through the file list without marking all documents
3) sort action, without implementation yet

Diffs: 1, 2, 3, 4, 5, 6 Revision 594971
Luboš Luňák committed changes in /trunk/KDE/kdebase/workspace/kicker/applets/systemtray:
Koos Vriezen committed changes in /branches/KDE/3.5/kdelibs/khtml/ecma/kjs_navigator.cpp:

Apply patch from Jose M. Prieto:
Currently the ecmascript objects navigator.plugins and navigator.mimeTypes are defined according only to wether plugins are enabled or disabled globally.
But plugins can also be enabled/disabled by domain or by tab using the KHTMLsettings plugin. These patches address this.

(and let this delay not discourage you to keep on posting patches :-)

Oswald Buddenhagen committed changes in /trunk/KDE/kdebase/workspace/kcontrol/kdm:

reshuffle appearance & fonts tabs into general & dialog tabs.

also, the tabs now have digits for accels - there is just no way for them to have letter accels without conflicts. i'd much prefer the alt-[1-9] accels to be a built-in function of *every* tab widget ...

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 595497


Tom Albers committed changes in /trunk/playground/pim/qma:

Implement TLS. Now we have None, SSL and TLS. Added those three for SMTP as well.

Add TODO, after remarks from Allee.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 594637


Jan Hambrecht committed changes in /trunk/koffice/karbon:

Restructured the way shapes are stored inside the document. All shapes are now hold in a flat list. The hierarchical storage is provided by the layers. Each shape has a parent shape, which is either a layer or a group being a child of a layer. This was neccessary to provide a nice and clean hierarchical view of the document with the layer docker, which works really nice now. The layer docker can now be used to select and deselect shapes.

Additionally i fixed the ungrouping of groups by also deleting the group shape after ungrouping.

Diffs: 1, 2, 3, 4, 5 Revision 594934
Cyrille Berger Skott committed changes in /trunk/koffice/krita/plugins/paintops:

add the first working skeleton of the dynamic brush architecture

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 594968
Emanuele Tamponi committed changes in /trunk/koffice/krita/plugins/tools/tool_curves:

Some fixes in the old code (now it kinda works...) and some code for the new framework :)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 595232
Thorsten Zachmann committed changes in /trunk/koffice/libs/flake:

o Added a class for handling of the selected points.
This is work in progress. The commands have now to be updated to use the new possibilities.

Diffs: 1, 2, 3, 4, 5 Revision 595341
Boudewijn Rempt committed changes in /trunk/koffice/krita/ui:

intermediate checkin of stuff that is not compiled for the rest of the world, just for me. I wouldn't want to lose this work, though: it implements a canvas that shows the layers outside the image boundaries, too.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 594197
Jan Hambrecht committed changes in /trunk/koffice/karbon:

More improvements to the new layer docker.
Deleting, raising and lowering layers works now. The layer command was split into three different command now: VLayerCreateCmd, VLayerDeleteCmd and VLayerZOrderCmd. The order of the shapes retrieved from the document was corrected.

Diffs: 1, 2, 3, 4, 5 Revision 594272


Andrew Turner committed changes in /trunk/extragear/multimedia/amarok:

Stop scripts using a proxy when it's disabled in KDE. Patch by Felix Geyer

Jeff Mitchell committed changes in /trunk/extragear/multimedia/amarok/src/engine:

Make the "when to crossfade" drop down box actually work. Tested on both Xine and Helix.

It could be better -- we could have checkboxes or something that would allow users to control whether to fade on play and stop, as well...but with the pushed-up schedule and string freeze, that's for another time.

Diffs: 1, 2, 3, 4, 5 Revision 593490

Networking Tools

Matt Rogers committed changes in /branches/KDE/3.5/kdenetwork/kopete/libkopete/kopetemetacontact.cpp:

Apply patch from Paulo Fidalgo to resize the image to 96x96 if it is larger than 96x96.

Thanks for the patch! Sorry it took so long to get this committed

Ivan Vasic committed changes in /trunk/extragear/network/ktorrent/libktorrent/torrent:

KT now drops connection to uninterested peers while in seeding mode. Usefull to remove super-seeders and part-torrent seeders.

Diffs: 1, 2, 3 Revision 594529

User Interface

Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/apps:

new icons

Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/apps:

new icons

Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/apps:

new icons


Flavio Castelli committed changes in /branches/KDE/3.5/kdeutils/klaptopdaemon:

klaptopdaemon NEW optionally show battery level percentage over the systemtray icon.

Commit approved by Paul Campbell

Diffs: 1, 2, 3, 4 Revision 595065


Maurizio Monge committed changes in /trunk/playground/games/kboard/themes/Pieces/FantasySVG:

Added a Fantasy theme for Shogi.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 593506
Stephan Kulow committed changes in /trunk/KDE/kdegames/libkdegames/carddecks:

import another SVG card set

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 593647
Maurizio Monge committed changes in /trunk/playground/games/kboard/data/themes:

Better theme for shogi, the piece are now bigger when more powerful (as for true shogi pieces)

Diffs: 1, 2, 3, 4, 5, 6 Revision 593771
Ian Wadham committed changes in /branches/KDE/3.5/kdegames/kgoldrunner/src:

Make actions for increase/decrease speed repeatable, not toggle.

Mauricio Piacentini committed changes in /trunk/KDE/kdegames/kmahjongg:

Making room for redesign of game memory structures, the first step to allow dynamic board sizes and larger layouts. Disable preview and editor for now, they will need to be redesigned anyway in the new scheme

Diffs: 1, 2, 3, 4, 5, 6 Revision 594622
Maurizio Monge committed changes in /trunk/playground/games/kboard:

Added XiangQi (chinese chess) variant implementation.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 594639
Maurizio Monge committed changes in /trunk/playground/games/kboard:

Added script to extract the font glyphs used in a set of lua scripts.
Added a couple of (stripped) traditional chinese fonts for xiangqi's move list.

Diffs: 1, 2, 3, 4 Revision 594966


Benoît Jacob committed changes in /trunk/kdesupport/eigen:

Reimplement matrix classes using CRTP, as was already done for vector classes. Rough edges remain, will be sorted out in the next days.

TODO: reimplement in the same way LUDecomposition and LinearSolver, move more stuff from MatrixX into MatrixBase in order to let Matrix use it.

Eigen might be more or less done in one week.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 593637
Brad Hards committed changes in /trunk/kdesupport/qca:

Implement the framework for RFC3546 Server Name Indication.

This allows a virtual host to support a range of HTTPS connections.


KDE Base

Alexander Neundorf committed changes in /trunk/KDE/kdelibs/cmake/modules/kde4automoc.cmake:

this will do the automoc for KDE in the future, making cmake run much faster :-)


Maks Orlovich committed changes in /branches/KDE/3.5/kdelibs/khtml:

Improve memory management of documents: they are no longer destroyed way too early when there are out-side referenced nodes hanging around and that need them. However, since we're refcounting, the documents have to disconnect the children in that case to avoid cycles.. Should fix some crashes with some AJAXy stuff

(Merged from Apple's tree)

Torsten Rahn committed changes in /trunk/playground/base/marble:

Speedy Globález
- speedup for the placemark painting: "Arriba! Arriba! Ándale! Ándale!

Diffs: 1, 2, 3, 4, 5 Revision 593623


David Faure committed changes in /trunk/koffice/cmake/modules/FindImageMagick.cmake:

Reconfiguring is faster if we're not looking for image magick 3 times


Alexandre Pereira de Oliveira committed changes in /trunk/extragear/multimedia/amarok/src/playlistbrowser.cpp:

PlaylistBrowser::loadDefaultSmartPlaylists() twice as fast as before.

Andy Kelk committed changes in /trunk/extragear/multimedia/amarok:

Reduce memory usage of mtp plugin. Also simplify code by removing the trackValueList class.

Connecting to the device now also processes events so the UI remains responsive.


Dirk Mueller committed changes in /branches/work/suse_kickoff/kicker/kicker/buttons:

remove the mouse cursor position polling code. power saving is more important than a feature almost nobody noticed so far

Diffs: 1, 2, 3 Revision 594134



Anne-Marie Mahfouf committed changes in /branches/work/kde4/playground/edu/physiks:

import Physiks into kde4 edu playground

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 31 more) Revision 593678

KDE Base

Jaison Lee committed changes in /trunk/KDE/kdelibs/kdecore:

Refactored and improved static functions in KSaveFile. Less code, less bugs. Same great taste with half the calories!

Diffs: 1, 2, 3, 4 Revision 593783
Dominik Haumann committed changes in /trunk/KDE/kdelibs/kate/part:

Kate JS support
* mainly: refactor & cleanup
* now js code base is ready for the next steps

* remove name/description/category I introduced months ago. not needed
* adapt all files to reflect the incompatible change

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 593810
David Faure committed changes in /trunk/KDE/kdelibs/kio:

Refactored KFileItem to use QSharedDataPointer - which means that it's now allowed to use KFileItem as a value, copying it is cheap, since it's now implicitly shared.

All the current code uses it as a pointer, which is still fine of course, but using it as a value in the future can simplify things like PreviewJob, which used to crash due to sometimes keeping a pointer to a deleted kfileitem.

Refcounting KFileItems is what Waldo has been advocating for a very long time btw, I'm glad to honor his wish after so many years :)

Michael, this is also something to keep in mind if/when rewriting KDirLister.

Diffs: 1, 2, 3, 4 Revision 593946
Daniel Teske committed changes in /trunk/KDE/kdelibs:

Separate out Konqueror specific things from KBookmarkMenu.
And move those things to KonqBookmarkMenu.
Also make KBookmarkMenu usable as a base class.
Actually deriving of KBookmarkMenu is now possible.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 593981
David Faure committed changes in /trunk/KDE/kdelibs:

Good bye KTabCtl

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 594768
Luboš Luňák committed changes in /branches/work/kwin_composite:

A really nice trick from Compiz. OpenGL coordinates have Y upside down ( [0,0] is bottomleft, unlike topleft with X ), so simply flip the whole scene upside down and move it up -> the coordinates match, except for when mapping pixmap to textures.


David Jarvie committed changes in /trunk/KDE/kdepim/kalarm:

Remove aRts options

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 595504


Thomas Braun committed changes in /trunk/extragear/office/kile/kile/internal-testing:

Yeahh at last we have a small set of tex files to make regression test for kile.
The main parts are the syntax file and a file to test all features used (and planned to used by) updateStruct

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 595290
Boudewijn Rempt committed changes in /trunk/koffice/filters/krita:

Port png to trunk, port filters to new kisdoc2 and new const iterators. Which means I'm the only one with working filters right now. Bwuahahaha!

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 14 more) Revision 593992
Cyrille Berger Skott committed changes in /trunk/koffice/filters/krita:

byebye ImageMagick, welcome GraphicsMagick in trunk :D

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 594031
Emanuele Tamponi committed changes in /branches/koffice/1.6/koffice/krita/plugins/tools/tool_curves:

Bezier Tools and MOS Tool ported. They compile, but still don't work still. Just another step to world domination ;)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 594059


Ian Wadham committed changes in /branches/KDE/3.5/kdegames/libkdegames/kstdgameaction.cpp:

Swap roles of light bulb and wizard's wand icons. Light bulb becomes Hint action: wand becomes Solve.


Benoît Jacob committed changes in /trunk/kdesupport/eigen:

Eigen's matrices are now required to be square, that allows to move much more code to the base class MatrixBase, and allows many simplifications.

Also moved all operators to base classes. For the assignment ops that means we're inlining them into the subclasses (assignment ops aren't inherited).

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 594753