Issue 11

18th June 2006 by Danny Allen

This Week...

Work begins on 3d molecule visualisation features for Kalzium. More progress in the Kopete "OSCAR (AIM) File Transfer" and "KDevelop C# Parser" Summer Of Code projects. An enhanced version of the custom iconset developed during the 1.4 phase is re-enabled as the default option in Amarok. Following the brand clarifications of last week, oKular is now known as okular. Kitten is renamed Strigi. Two security issues are addressed.
Carsten Niehaus writes about the rapid progress himself and Benoît Jacob are having in implementing 3d visualisation features in Kalzium:
In the last couple of days, Kalzium has gained a new feature: a 3d molecule viewer. By taking advantage of OpenBabel 2 (a cross-platform framework to load and process chemistry file formats), Kalzium can read virtually any 3d chemistry format, for example .cml. These screenshots show rendered molecules, and in the second image, with a Carbon atom highlighted. This exciting new feature uses OpenGL. If you don't have a graphics card with 3d support, molecule rendering falls back to using MESA, which still performs very well.

In the coming week, Carsten and Benoît will be working on a lattice-viewer which will reuse most of the current moleculeviewer code.
The Amarok developers reflect on the KDE 4 Multimedia Meeting that took place 3 weeks ago:
The KDE multimedia meeting was an invaluable asset to the Amarok development team. It provided us with an optimal environment for meeting each other, having fun and developing effective roadmaps and understanding of the directions which we will take in the future.

Allowing the development squad to meet in a central location for a continuous amount of time was excellent. This has without a doubt strengthened our bond as co-developers, and fuelled great enthusiasm and motivation to work on the project.

Some of the technical achievements which occured include:
  • Substantial optimisations in the Context, Playlist and Media browsers
  • Usage of iNotify technology
  • Script manager UI changes
  • Beginnings of a port to the new Qt4 api
  • Major user interface redesigns
  • Brainstorming of future, cutting edge technologies
These achievements would not have been possible in such a short period of time without the ability to discuss changes with those developers sitting beside each other. It was possible to sketch interfaces, create algorithm designs and decide upon appropriate design patterns in group meetings and each developer was able to provide personal opinions and feedback.

One of the highlights of the meeting was a substantial and thorough hour long discussion about the direction which we, as developers, should take. This forum included past experiences, future developments (Amarok 2.0, and general design methodologies), licensing, plugins, bugs, quality management and a host of further topics. This meeting no doubt exceeded anybody's expectations. Smoothly run, hassle free and productive - surely there could be no better way to create an effective environment for programming!
File indexing and searching, which is sure to be a central component of future desktops, has been bolstered in the KDE scene with the emergence of Strigi, which is now another viable option besides Kat, which has seen a slowdown in development pace as of late. Strigi, which is the new name for Kitten, and has been strongly developed in the past several weeks. Jos van den Oever announces version 0.3.0 this week:
The core code of Strigi is has no dependencies on KDE libraries. Only the GUI and the pluggable file analyzers (to come) will have these dependencies. Hopefully this will mean that strigi will be attractive to other desktop environments as well.

Right now, i'm attempting to add loadable modules for indexing files. After that, we will be working on GUI improvements, to improve the slightly rough state from a user point of view.
Egon Willighagen, another developer involved with Strigi, offers another perspective:
Now, Strigi has come along, with a fast indexing engine, just the thing where the Kat developed seemed to have stopped. The design is different from that of Kat, but it does not seem unlikely that Kat code can be ported. No support for PDF or documents yet, but that's really the easy part, and kfile is on its way.

One might wonder how Strigi could implement Tenor concepts. A simple approach is at least to allow users to tag files, just like we have become used to with blogs (e.g. and websites (e.g. Connotea). This could be easily implemented using extended attributes (xattr), already used by Beagle.

My argument to use this, instead of putting these things in the Strigi database itself, is persistence: data and metadata are kept together. KDE's file properties dialog would be extended with an extra tab that allows editing these fields.

Strigi itself can be embedded in KDE applications to search specific information (e.g. search molecular data within Kalzium using the InChI), and even in the FileOpen dialog. We need patches for KDE 4 that allows this, soon.
And by the way, if you were wondering where the name "Strigi" comes from: Strigiformes is Latin for Owl, a bird that has excellent vision, particularly in low light. So, now you know!


Commits 2404 by 184 developers, 5439 lines modified, 1662 new files
Open Bugs 12666
Open Wishes 11100
Bugs Opened 275 in the last 7 days
Bugs Closed 266 in the last 7 days

Commit Summary

Module Commits
Lines Developer Commits
Laurent Montel
David Faure
Thomas Zander
Pino Toscano
Frans Englich
Dirk Mueller
Yukiko Bando
Carsten Niehaus
Allan Sandfeld Jensen
Ludovic Grossard

Internationalization (i18n) Status

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

Bug Killers and Buzz

Person Bugs Closed
Alexandre Pereira de Oliveira
Olivier Goffart
Thiago Macieira
Allan Sandfeld Jensen
Tommi Tervo
Mark Kretschmann
Kevin Ottens
Andrew Walker
Seb Ruiz
Maks Orlovich
Program Buzz
Person Buzz
Aaron J. Seigo
George Staikos
Anne-Marie Mahfouf
David Faure
Stephan Kulow
Zack Rusin


  Bug Fixes Features Optimization Security Other



Development Tools

  []    []


[] [] []   


  []    []

KDE Base

[] [] [] []  




  [] []   




[] []    

Networking Tools


User Interface








There are 51 selections this week

Bug Fixes


Jason Harris committed changes in /trunk/KDE/kdeedu/kstars/kstars:

Committing changes from James Bowlin to fix a rendering bug.
Constellation lines were disappearing at high zoom when one of the
endpoints was far off-screen. This patch uses interpolation to truncate
the constellation line at the edge of the visible skymap.

Thanks James!

Diffs: 1, 2, 3, 4 Revision 550894

KDE Base

Helge Deller committed changes in /branches/KDE/3.5/kdebase:

submit patch by Jahshan Bhatti to fix Bug 47242:
JJ: CDROM info not available from Control Centre

Thanks a lot Jahshan !!

FEATURE: 47242

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 551707
Kevin Ottens committed changes in /branches/KDE/3.5/kdebase/kioslave/media/mounthelper/kio_media_mounthelper.cp:

It seems that letting "eject" handling the unmount doesn't introduce
undesired side-effects. So let's do it this way, to avoid error on
unmount for supermounted devices.

BUG: 116209


Allan Sandfeld Jensen committed changes in /branches/KDE/3.5/kdemultimedia/akode_artsplugin/akodePlayObject_impl.cpp:

Commit my personal changes, so I am not the only one with an artsd that doesn't
leak *shame on me*

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

More patches by Markus Kaufhold (Thanks!):
- When playing a CD, show "Starting CD Audio track...", instead of "Connecting to stream source...";
- On Track Information Menu, show "CD Audio" for CD tracks, instead of "Remote Media";
- Disable inline editing for CD Audio Tracks.
BUG: 127881

Martin Aumüller committed changes in /trunk/extragear/multimedia/amarok:

fix wikipedia lookup for non-ascii artists
patch by Thomas Lindroth
BUG: 127654

Seb Ruiz committed changes in /trunk/extragear/multimedia/amarok/src/contextbrowser.cpp:

When rendering favourite albums, show "...once you have rated some..." if only ratings are enabled. If neither ratings or scores are being used, then weight the query on playcount.


Development Tools

Jakob Petsovits committed changes in /branches/work/kdevelop-pg/examples/csharp:

A full pre-processor for the C# parser.

There is now a seperate pre-processor parser (csharp_pp) that works together
with the lexer so that the main parser only gets to see real tokens, with
no disruption from the pre-processor.

This commit also throws out the parser class's i/o actions from main.cpp
into a seperate, to-be-adapted-to-the-framework file called csharp-io.cpp.

So much for the foundations, now I can start with the actual C# grammar...

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


Jason Harris committed changes in /trunk/KDE/kdeedu/kstars/kstars:

Adding user option to toggle Antialiasing on/off. Eventually, this will
be set via the Options window, in the Advanced tab. However, that tool
is still not functioning, so for now I am binding it to the "A" key.I had said on the mailing list that I was not going to keep the
integer-pixel draw functions, because they weren't much faster than the
floating-pixel equivalents. After looking at it again, the
integer-pixel draw functions are 20-40% faster than their floating-point

So for now I am going to commit the changes that include
using integer draw functions when antialiasing is off.Also, I have fixed the problem where star colors get saturated when
antialiasing is turned off (this was noticeable before while the sky was
in motion). The problem was caused by the fact that the colored rim of
star images cannot be less than 1 pixel wide without antialiasing. I
solved it by keeping the width at 1 pixel, but desaturating the color of
the rim by an appropriate amount. It works pretty well.Related API change: I removed some arguments from fromScreen() and
toScreen(), because we were just passing around things like
Options::useAltAz(), which are already accessible from within any
function. We still need to pass a "bool useRefraction" to toScreen, but
this should almost always be left at its default value (true), which
actually means "adopt whatever Options::useRefraction() is set to". The
exception is the Horizon; these points must never be refracted, so we
pass "false" to the argument, which means "ignore
Options::useRefraction(); don't refract the point".There's also some code in this commit related to adding XYZ support to
SkyPoint, but nothing yet that you'll notice unless you look at the

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 16 more) Revision 550483
Carsten Niehaus committed changes in /trunk/KDE/kdeedu/kalzium/src:

Making reading of chemical datafiles work. I created a small OB-wrapper to hide the ugly OB-API

Diffs: 1, 2, 3, 4 Revision 550626
Carsten Niehaus committed changes in /trunk/KDE/kdeedu/libkdeedu/libscience:

* As we now support ObenBabel2 we don't need custom-made parsers

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 550632
Pino Toscano committed changes in /trunk/KDE/kdeedu/kig:

A new tool, the History Browser.
It's a small dialog you can use to navigate back and forth in the history of the current costruction.
At the moment it's quite simple, just uses the undo/redo texts as descriptions, but the system can be easily expanded to display better descriptions of the construction steps.
This will start to implement the part #3 of bug 121544.

CCBUG: 121544

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 551031
Carsten Niehaus committed changes in /trunk/KDE/kdeedu/kalzium/src:

* Adding a file which contains the future GUI of the 3d-renderer and remove some dead code

Diffs: 1, 2, 3 Revision 551374
Carsten Niehaus committed changes in /trunk/KDE/kdeedu/kalzium/src:

Changes by Benoit:
- implemented highlighting of selected atom (paints it in a blue color that is
influenced by the original color)
- now uses GLColor struct to handle color stuff
- in big-spheres style, use smaller spheres (tell me what you think of this)
- some slotChooseStylePreset reorganization


Barth Netterfield committed changes in /trunk/extragear/graphics/kst/src/libkstapp/datamanager.ui:

Get rid of some more embedded XPMs in UI files.

In this case, (the button icons in the data manager) I have not added them back in
with kiconloader because
-I don't really like icons on buttons
-Several of the icons were really tacky in 22x22 mode, though
shrunk to 16x16 for the menues, they look semi-ok.

If anyone has strong feelings that we should keep the icons on the
buttons in the data manager, we can discuss kiconloading them.
Otherwise, they are gone.

Gilles Caulier committed changes in /trunk/extragear/graphics/digikam/data/icons:

new image preview icons

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

KDE Base

Jos van den Oever committed changes in /trunk/playground/base/kitten:

Add a html based gui.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 550487
John Tapsell committed changes in /trunk/KDE/kdebase/workspace/ksysguard/gui:

* Add a pretty tooltip for the graphs. For example. instead of saying "cpu/avgload1" it now shows the color of the
line and says "CPU Average Load". Much nicer :)

* Replace a Q3PtrList with QList

Diffs: 1, 2, 3, 4, 5, 6 Revision 551592
Allan Sandfeld Jensen committed changes in /branches/KDE/3.5/kdelibs/khtml:

Merge background-size, background-origin and background-clip from WebCore.
Access them by using -khtml-background-size, -khtml-background-origin and

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 15 more) Revision 551681
Egon Willighagen committed changes in /trunk/playground/base/strigiapplet/src/streamindexer:

Added framework for a kfile based indexer for Strigi

Diffs: 1, 2, 3 Revision 551700
Pino Toscano committed changes in /trunk/KDE/kdelibs/kdeui:

A new class, KButtonGroup.
It acts much like QGroupBox, and it's a valid replacement in KConfigXT for Q3ButtonGroup.
This includes an unit test and the integration with KConfigXT.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 551713
Helge Deller committed changes in /branches/KDE/3.5/kdelibs/kio/kssl/

FEATURE: increased usability of KIO KSSL dialog
approved on kde-core-devel


Pradeepto Bhattacharya committed changes in /branches/kdepim/proko2/kdepim/kmail:

Add "Text Completion" type selection menu to the Composer Settings menu (Proko2 Issue 738).
Finally my first commit!!! Feels nice to be here :). Thanks Till and Taj.

Diffs: 1, 2, 3, 4, 5 Revision 551317
Thorsten Staerk committed changes in /trunk/KDE/kdepim/karm/mainwindow.cpp:

Introducing the karm dbus plugin


Thomas Zander committed changes in /trunk/koffice/libs:

Further work to make the CreateShapesTool be useful and have a nice API.
It now is able to create shapes via the KoShapeFactory::createDefaultShape()
method all via the toolManager (so simple API for the app).

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 550386
Thomas Zander committed changes in /trunk/koffice/libs/kotext:

The first loadable plugin; a very primitive text shape

Diffs: 1, 2, 3, 4, 5, 6 Revision 550993
C. Boemann committed changes in /trunk/koffice:

Make the unicolorselector work when using r,g,b channels

current color is still not set though, but this is still nice progress.

Diffs: 1, 2, 3, 4, 5, 6 Revision 551129
C. Boemann committed changes in /trunk/koffice/libs/kopainter:

Further work on the UniColorChooser:
Let the number inputs work too.
Introduce the concept of current color - you can now paint with it!
Make sure the slider and xy are updated when you select another
channel or enter values.

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


Ian Monroe committed changes in /trunk/extragear/multimedia/amarok/src:

its 2 weeks late, but here is the new delete/trash dialog.
Imported from Juk.


Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 550462
Mark Kretschmann committed changes in /trunk/extragear/multimedia/amarok/src:

Improved and almost complete icon theme from vnizzz (Vadim). BIG thanks to you dude :)

NOTE: Not all of the icons are used yet, this is work in progress.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 294 more) Revision 550785
Mark Kretschmann committed changes in /trunk/extragear/multimedia/amarok:

Update ChangeLog and default-enable icon theme, since it's almost completed now.

Mark Kretschmann committed changes in /trunk/extragear/multimedia/amarok:

* First-run wizard can no longer be restarted from the application menu.
However, it can still be invoked with "amarok --wizard".

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

Networking Tools

Percy Leonhardt committed changes in /trunk/extragear/network/knemo/knemod:

Made the update interval of the interface informations configurable.
This can reduce CPU load of KDED on older machines and is neededto allow different backends (that need different time) in the future.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 550585
Chani Armitage committed changes in /branches/work/kopete/soc-oscarfiletransfer/protocols/oscar:

filetransfers are hooked up to the gui enough that I can cancel transfers. however, the accept/cancel dialog seems to be quite broken. I'll have to fix it before I can get incoming transfers working.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 551101
Will Stephenson committed changes in /branches/work/knm-make-it-cool/src:

Now actually useful. Syncs the DeviceStore with stored networks instead of using hacks, and can connect to known networks and new networks. Caveat: switching from WLAN to ethernet seems bugged.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 551105
Ivan Vasic committed changes in /trunk/extragear/network/ktorrent/apps/ktorrent:

ADD: Added popup menu to system tray to quickly select transfer rate limits. Big thanks to Khrothgar for providing the patch and Eike Hein for suggestions.
BUG: 129076

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

User Interface

Kenneth Wimer committed changes in /trunk/playground/artwork/Oxygen/Ken/controller2.svg:

adding an idea for a game controller

Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/actions/webcamera.svg:

new icon

Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/actions/alternativ/kontact_contacts.svg:

new version made by danil dotsenko


Juan Luis Baptiste committed changes in /branches/KDE/3.5/kdeadmin/knetworkconf/backends:

FEATURE: Added support for FC5. Thanks to Than Ngo.

Diffs: 1, 2, 3, 4 Revision 550478
Stefan Kombrink committed changes in /trunk/kdereview/ksynaptics:

adding support for two finger (apple type) scrolling

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 551619
Stephan Binner committed changes in /trunk/kdereview/kerry/src:

add backends configuration

Diffs: 1, 2, 3, 4 Revision 552105



Jason Harris committed changes in /trunk/KDE/kdeedu/kstars/kstars:

FIxing an unnecessary bottleneck in the draw loop: I had been converting
the sky QPixmap to a QImage before calling drawImage() to render it on
the SkyMap widget. However, this conversion takes over 0.1 sec, so now
I simply call drawPixmap() instead.Between this change and making antialiasing optional, KStars should feel
much "snappier" now.The time elapsed for the drawing code is still about a factor of two
longer than it was under 3.5, but we're getting there. I added detailed
feedback messages for timing the various draw functions, but they are
commented out. If you want to enable them, look for "TIMING" labels in
the two files modified by this commit, and uncomment the relevant lines.

Jason Harris committed changes in /trunk/KDE/kdeedu/kstars/kstars:

Speed up drawing stars. Thanks for the ideas, James.(1) Move color calculation out of draw loop. StarObject now has a
static QMap member that holds QColors for each spectral type. These
colors are updated once per draw cycle, to match the current state:
+ if using Antialiased drawing and map is not slewing, use full
saturated colors
+ if AA is off, or map is slewing, desaturate the color.(2) Draw star labels in a separate loop, so we don't have to reset the
Font and Pen color for each star.(3) Set the QBrush color outside the draw loop.

Diffs: 1, 2, 3 Revision 551264

KDE Base

Luboš Luňák committed changes in /branches/KDE/3.5/kdebase:

I guess #55795 is right - there's not much point in using a cache
if it doesn't really work by default. Make the backgrounds cache
size unlimited by default, people low on memory or whatever can
change it manually (or they shouldn't be using multiple wallpapers
at all in the first place).
CCBUG: 55795


Bart Coppens committed changes in /branches/koffice/1.6/koffice/filters/krita/png/

Attempt at line-per-line loading of PNGs.
Lets me 'load' pippin's huge 31129 x 28957 file (with commented out layer preview and bird's eye). Loading itself takes something like 5 minutes, but doesn't take any memory with good swap settings. Afterwards, Krita consumes memory like a madman, I'm guessing part of it is the display code (changing zoom level takes about 2 minutes,


Scott Wheeler committed changes in /trunk/kdesupport/taglib/toolkit/tbytevector.cpp:

This is much, much faster on large byte vectors and gets the current bug down
to where it can read the tag in around 18 seconds unstead of 30 minutes.

I'm going to see if I can find the other hot paths now...


Scott Wheeler committed changes in /trunk/kdesupport/taglib/toolkit:

A couple more optimizations for splitting vectors. One of them makes search
faster in the simple case (no need for Boyer-Moore for a one-character search)
and append a null vector rather than instantiating a new one when we find empty

This gets the reading time down to 6 seconds here for the reported bug, which
still isn't great, but it's starting to get close to acceptable. I'll see if I
can get it a little tighter...



KDE Base

Dirk Mueller committed changes in /branches/KDE/3.5/kdebase/kdm/backend/client.c:

avoid ~/.dmrc symlink attack vulnerability (CVE-2006-2449)


Development Tools

Matt Rogers committed changes in /branches/work/kdev-nice-project:

port to the new snapshot. break everything that uses kdialog since I don't feel like fucking porting stuff again after just finishing the other stuff.

What's the point of doing a kdelibs snapshot every two weeks if you're just going to updated it mid-cycle?

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 551245


Albert Astals Cid committed changes in /branches/work/kde4/playground/graphics:

oKular is now okular

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