Issue 25

24th September 2006 by Danny Allen

This Week...

The KDE World Conference, Akademy 2006, kicks off in Dublin. A rewritten version of KTurtle, an educational programming tool, is imported into KDE SVN. ThreadWeaver is moved into kdelibs. Hebrew sounds are added to KLettres to add learning support for the language. Improvements in the OpenDocument format and XML Paper Specification format support in okular. Support for GPS metadata synchronisation in kipiplugins, on which Digikam and KPhotoAlbum depend. Support for calculations containing non-integer numbers (ie. numbers with decimal points) in the minicli (Alt-F2). Modifications made to support using Compiz as a window manager. More work in Memory Monitoring and Network Management in Solid.
The week started as any other week, only with the year-long excitement building to a fever-pitch. The day came on Saturday 23rd, with the start of the biggest event of the KDE calendar, Akademy 2006 in Dublin, Ireland.
Probably the best person to describe the Irish festivities is KDE party guy, Aaron Seigo:
so far this akademy is the best i've been to. why? the energy is terrific, the people are all quite active and the presentations have been kick ass.

we've seen examples of gapless playing of video in 10 lines of code or so, how voip stacks are coming together, hardware information handling, advanced desktop groupware data management, usability engineering process and progress, khtml status ... wow. i haven't seen this much progress in kde in a while. it's like sweeping the dirt off the remains of a bonfire to find it still blazing along.

the frameworks that are coming along are pretty mindblowing. just as kparts brought us things like 10 lines of code to a web browser, these frameworks are opening up the same kind of flexibility and power for other desktop services: media, hardware, desktop widgets and control, voip, messaging, calendaring ...

khtml is going to be killer post-unforking. between safari, nokia, omni, konqueror it looks possible to hit 10% market share for khtml. the feature wins for plugins, svg and more are extremely tantalizing as well. lots of work left on the "unmergification" but it's progressing very well (it renders pages using Qt4 nicely) and generally looks very promising both technically and strategically.

something like kde4 takes a while to get going, but it's finally starting to emerge. that said, there are a ton of items to be taken care of. i was struck during the talks as everyone listed their to-do lists and noted that they could use more developer help to make things progress faster that we ought to collate all these items on the web and start pointing people to it. something to coordinate this evening and tomorrow methinks.

the asia track was also very enlightening. we've got a great foothold in cambodia with the kde localization in that country going amazingly well as well as in india with our 10 month old regional group there. having developers from korea, india, china and cambodia here is helping us all understand the cultural issues as well as the technical. some of the work they are doing is amazing; there are terrific pools of talent and energy that we are only starting to discover when it comes to free software in these areas of the world.
In the interests of further conference saturation-coverage, here are some other viewpoints for your indulgence:Of course, everyone in attendance is buzzing with details about the conference, with Planet KDE set to be a continuous stream of Akademy-themed posts over the next week and beyond, so stay tuned!
The KDE World Conference, especially this year with an Asia focus, highlights the sheer breadth of KDE usage worldwide, often in non-standard configurations. I talked with Diego Iastrubni, a KDE developer and Hebrew translator about Internationalisation (i18n) and Localisation (l10n) issues:
I am the coordinator of the Hebrew translation team of KDE. My main job in KDE, is to get the translations sent by Hebrew-speaking users of KDE into SVN, and fixing many small gaps in most of KDE applications caused in Right-to-Left (RTL) desktops (Arabic, Farsi and Hebrew are written from right to left as you may know).

For example, some of the things I have touched in the last 4 years include: the email display in KMail, the IRC display in Konversation, some widget styles (specially the dot-net style), KWord HTML export filters, the KDE standard action icons, and more. There are also some circumstances in which the layout system reverses the widgets on RTL desktops where it should not - Play/Pause/Stop buttons in media players, time control widgets, etc. I have addressed these issues in most KDE 3 applications. If you are a KDE developer, you have probably talked to me at least once ;-)

KDE has proven in to me in the 4 years I have been involved that, not only that RTL desktops can be a reality, but that in most cases it's a trivial thing due to the support the cool API's provided to us by Trolltech. I would like to thank all the KDE developers who tested their applications with the "--reverse" command-line parameters - this really helps us pinpoint l10n issues - and I would like to especially thank the Konversation team for the patience they have had in the last few weeks with me while I was helping them implement Bi-directional Text (BIDI) support.
Cies Breijs talks about recent happenings in the KTurtle universe, with the news this week that a rewritten version has been imported into KDE SVN:
I removed KTurtle from the KDE SVN trunk/ when the porting of many applications to Qt4 started as I was already working on a rewrite locally. Now, I have imported the fully rewritten KTurtle code is back into trunk. I have written a changelog which details the big changes from the KTurtle that ships with KDE 3 to the KTurtle now in SVN trunk/, which will ship with kde-edu in KDE 4.

Here a small list of highlights from the Changelog:
  • the code syntax has changed, which means that old kturtle programs may not run (after many emails arguing that KTurtle cannot claim to be Logo-compatible, I dropped the affiliation)
  • a lot of interpreter code is now generated, this makes it much easier to add new commands
  • KTurtle has moved from QCanvas to QGraphicsView (Though I do have 2 irritating bugs with it now which remain to be fixed)
  • Also, KTurtle has moved from KatePart to QTextEdit, the highlighter right now re-uses the interpreter's tokenizer class to highlight!
There are also some features from the KDE 3 version of KTurtle that are not yet implemented in the current version; therefore, you may call it is a work in progress. But with this rewrite, I am certain that there are no major issues in the way of growing it into an 1.0 release in the near-future.

All bugs should find their way into (make sure to supply the KTurtle component that caused the bug, if any), and if you are interested into some discussions on KTurtle I invite you to the new KTurtle google group!
This week has seen many commits referencing the English Breakfast Network from several distinct committers, but a mention should be given to Thomas Häber, who has been possessed with error-fixing zeal, which is reflected by his 4th place on this week's top committers list.


Commits 2456 by 216 developers, 4903 lines modified, 1154 new files
Open Bugs 12924
Open Wishes 11574
Bugs Opened 298 in the last 7 days
Bugs Closed 272 in the last 7 days

Commit Summary

Module Commits
Lines Developer Commits
Laurent Montel
Gilles Caulier
Thomas Nagy
Thomas Häber
Dirk Mueller
Nuno Fernades Pinheiro
Pino Toscano
Andreas Kling
Timo Hoenig
Cyrille Berger Skott

Internationalization (i18n) Status

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

Bug Killers and Buzz

Person Bugs Closed
Philip Rodrigues
Christoph Burger-Scheidlin
Alexandre Pereira de Oliveira
Mark Kretschmann
Andreas Kling
Tommi Tervo
Stephan Kulow
Sebastian Trueg
Seb Ruiz
Maks Orlovich
Program Buzz
Person Buzz
David Faure
George Staikos
Anne-Marie Mahfouf
Aaron J. Seigo


  Bug Fixes Features Optimization Security Other



Development Tools

[] []    


  []    []


[] []    

KDE Base

[] [] []   []


[] []    


  []    []




  []    []

Networking Tools


User Interface








There are 61 selections this week

Bug Fixes

Development Tools

Dirk Mueller committed changes in /branches/work/icecream-make-it-cool/services/scheduler.cpp:

only allow one daemon per IP. This missing fix is probably going to bite is forward and backward in Dublin.


George Staikos committed changes in /trunk/extragear/graphics/kst/src/libkstapp:

This makes expressions work in the zoom stack as expected, and even to an extent across the plot dialog. It's a bit strange to have undo work across the dialog and in the main view, but after playing with it, I can see why it feels more intuitive.

Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/kioslave/digikamalbums.cpp:

Provide the UDS_LOCAL_PATH entry.
Now the KDE replace file dialog will no longer think digikamalbums:/ is a remote file.

Pino Toscano committed changes in /branches/KDE/3.5/kdegraphics/kpdf/ui:

Make KPDF a bit more friendly for users of RtL languages:
- correctly place the message pane (top-left corner of page view for LtR, top-right for RtL)
- make the mini-progressbar fully usable for both the writing directions
- use the right icons for the previous/next page button (those near the page counter)

Diffs: 1, 2, 3, 4 Revision 586747

KDE Base

Laurent Montel committed changes in /trunk/KDE/kdelibs/kdeui/widgets/ktextedit.cpp:

Not necessary to add spellchecking/tab action when textedit is read only

Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole/konsole/konsole.cpp:

Fix tab captions when 'set tab to match window title' option is off.
Tidy up warning dialog shown when exiting with multiple tabs open. Changed some default settings. Ugly frame defaults to off - will probably remove altogether in future.

XonXoff flow control defaults to enabled now that a warning banner has been put in place for when it is activated. 'set tab to match window title' option defaults to enabled.


Danny Kukawka committed changes in /branches/KDE/3.5/kdepim/kmailcvt:

Fixed handling if the KFileDialog is canceled by the user and added some more checks if the user cancel the import to get a better interactivity and a faster stop of import.


Development Tools

Anne-Marie Mahfouf committed changes in /trunk/KDE/kdesdk/kapptemplate/kapp4:

add new template for kde4 - creates a kde4 app correctly but does not build that yet leaving the old templates at the moment, we'll see if it's worth porting them or if it's better creating new ones from scratch

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 587291
David Nolden committed changes in /branches/kdevelop/3.4/languages/cpp:

Add some meta-programming capabilities to the code-completion and navigation-system. It is now able to successfully find template-class-specializations. Right now it understands specialization by type and pointer-depth.

Yet missing:
specialization by numeric constants, enums and constant expressions(will need some constant numeric expression-parsing), and specialization by const and reference(those are easy). Most generic trait-classes from STL work now, so for example STL-iterators work perfectly.

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


Jasem Mutlaq committed changes in /trunk/KDE/kdeedu/kstars/kstars:

KStars FITS Viewer tool is now working. It features a simpler interface, and uses the powerfull CFITSIO which made life easier as well. I removed the brightness/contrast tool since it was pretty slow and it can be accomplished using the histgoram at any rate, which is much more powerful than any bri/con controls.

This pretty much sums the last _major_ porting effort to KDE4 for the tools I've maintained. Looking forward to improving the codebase now.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 587230
Jason Harris committed changes in /trunk/KDE/kdeedu/kstars/kstars:

First commit of a simplified calculator module: the Sidereal time module. The major change is that there's no "Compute" or "Clear" buttons anymore; changing any of the data fields automatically updates the output data field. In the case of this module, you can actually modify either the Local time or Sidereal time, and it will adjust the other one to match.

Other changes:

+ using Local time instead of UT (it was always Local sidereal time, so it makes more sense to use LT).

+ Instead of entering a longitude, the user specifies a geographic location from our database.

TODO: I haven't modified the Batch mode yet; I will probably change the
Interactive modes first, then tackle the Batch modes.

Is anyone interested in helping to simplify the remaining calculator modules?

Diffs: 1, 2, 3, 4, 5, 6 Revision 587246
Diego Iastrubni committed changes in /branches/stable/l10n/he/data:

kletteres now speaks hebrew! thanks to Assaf Gordon!
thanks to Anne-Marie Mahfouf (annma) for all her help.

files are GPL, as well as all other material (so claims Assaf...)

BTW, assaf, who's the chick...?

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


Tobias Koenig committed changes in /trunk/playground/graphics/okular/generators/ooo:

* Add support for TableOfContents
* Add basic table rendering

Diffs: 1, 2, 3, 4 Revision 585990
Tobias Koenig committed changes in /trunk/playground/graphics/okular/generators/ooo:

* Add initial version of link support
* Improved rendering of tables
* Refactoring

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 586706
Gilles Caulier committed changes in /trunk/extragear/libs/kipi-plugins/gpssync:

kipi-plugins from trunk : new plugin to synchronize pictures metadata with a GPS data file.

This plugin is under development and not yet done (missing GPS file parser implementation using GPSBabel program).
It will not be compiled.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 586770
Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/utilities/cameragui:

Allow to configure date Allow to configure date & time format.
Choice is Standard (previous default), Iso, User readable, Local settings, Advanced.
Advanced allows to specify the format in QDateTime syntax.

Brad Hards committed changes in /trunk/playground/graphics/okular/generators/xps:

An initial commit of pixmap rendering. This is very ugly code,
but it does work a bit (well, except for the font loading:
<a href=""></a>; is a bad problem)

KDE Base

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

Make it possible to explicitly force 96DPI or 120DPI.
Apparently there are enough people who for some strange reason think that using the real DPI is a bug.

Approved by Coolo.

Will Stephenson committed changes in /branches/work/kdehw/solid:

Add network management and status interfaces

Diffs: 1, 2, 3, 4, 5, 6 Revision 585759
Jos van den Oever committed changes in /trunk/playground/base/strigi/src/xmlindexer:

start xml indexer

Joseph Wenninger committed changes in /trunk/KDE/kdelibs/kate/part/katedocument.cpp:

give the user the choice the choice for saving python files: inserting an encoding line, canceling saving or ignoring encoding line problems and save anyway

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

Make 1.2+3.4 work in minicli, using bc, based on patch/idea by Konrad Miller.
It has annoyed me a few times that only integers worked due to using $(()) indeed.

Will Stephenson committed changes in /branches/work/kdehw/solid:

Implement the NetworkManager frontend. Disabled from build because NetworkStatus still TBD.

Diffs: 1, 2, 3, 4, 5, 6 Revision 586408
Will Entriken committed changes in /branches/work/ksplash_entriken:

implement hideALl and unhideAll

Diffs: 1, 2, 3 Revision 586624
Dirk Mueller committed changes in /trunk/KDE/kdelibs/kdecore:

viewport support, needed for handling compiz as a window manager

Diffs: 1, 2, 3, 4 Revision 586881
Dirk Mueller committed changes in /branches/KDE/3.5/kdebase/kicker/applets/minipager:

Compiz support for the minipager. Its still buggy, but I better commit it now to coordinate and not loose it again when I again accidentally format my hard disk.

Hopefully Timothee's work can be integrated here.

Diffs: 1, 2, 3, 4 Revision 586884
Will Stephenson committed changes in /branches/work/kdehw/solid:

Integrate changes from swinter, ervin and blauvelt's newest diff. Adds support for more WEP key lengths, more 802_11 operating modes, and multiple IP addresses.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 587104
Stephan Kulow committed changes in /branches/KDE/3.5/kdebase/kioslave/media/mediamanager:

adding a mount function to the fstab backend that can be used without hal

David Faure committed changes in /trunk/KDE/kdelibs/kio/kfile/kpropertiesdialog.cpp:

More use of "mostLocalURL" to be able to edit icons and names with the properties dialog when using system:/ urls.

Carlos Olmedo Escobar committed changes in /branches/work/kdehw/solid:

Adding memory monitoring code.
Minor fixes in cpu monitoring code.

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


Volker Krause committed changes in /trunk/KDE/kdepim/akonadi:

Transaction support and a more or less complete rewrite of the notification handling:

- Add methods to begin, abort and commit a transaction to DataStore.
- Add a QMutexLocker-like class for convenient transaction handling which aborts the current transaction when going out of scope.
- Use transactions for most commands that change the database, they are atomic now, ie. either succeed completely or don't change anything at all.
- Collect notifications during a transaction and emit them only if the transaction has been successfully committed.
- Add notifications for item and collection changes.
- Remove server-side notification filtering, it's not really needed since every item will be monitored at least twice anyway (by its resource and a search provider).
- Include resource and mimetype in the notification signals, allowing filtering by resource and by mimetype on the client side. This will be needed by resources and search providers.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 9 more) Revision 586785
Volker Krause committed changes in /trunk/KDE/kdepim/akonadi/server:

Add BEGIN, ROLLBACK and COMMIT commands for managing session-global transaction.

This is usefull for multi-command operations (like deletion) or syncing (since transactions provide a snapshot of the data).

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


Thomas Zander committed changes in /trunk/koffice/kword/part:

Let the textlayout detect the fact that there is more text then frames and create a new page when needed. KWord kind of starts to look like a real text-processor again ;)

Diffs: 1, 2, 3, 4, 5, 6 Revision 586025
Thomas Zander committed changes in /trunk/koffice:

New feature
When no more text fits in a frame we can create a new frame.and place that on the next page. Creating the page if needed.
We also take into account the 'only on even/odd pages' setting on where the new frame should end up, skipping a page if needed.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 586137
Thomas Zander committed changes in /trunk/koffice/kword/part:

Implement copying of frames on page creation.

Diffs: 1, 2, 3 Revision 586264
Boudewijn Rempt committed changes in /trunk/koffice/krita:

Remove the verious special painters -- Qt4 can paint on opengl widgets now with impunity. Todo: fix the repaint of the tool's temporary things, like rubber bands. That'll probably happen with the rest of the canvas refactoring toward KoCanvasBase.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 40 more) Revision 586405
Cyrille Berger Skott committed changes in /branches/koffice/1.6/koffice/krita:

new tools/paintops icon set for krita

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 39 more) Revision 586515
Emanuele Tamponi committed changes in /branches/koffice/1.6/koffice/krita/ui/kis_opengl_canvas_painte:

Initial commit for an OpenGL implementation of drawCubicBezier()


Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src/magnatunebrowser:

Made purchase button work when a track is selected. Added purchase album option to right click menu for tracks

Matthias Kretz committed changes in /trunk/KDE/kdemultimedia/phonon-xine:

implement gapless playback using the MediaQueue interface

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

Networking Tools

Andre Duffeck committed changes in /trunk/KDE/kdenetwork/kopete/protocols/yahoo:

Add a GUI for browsing the chat rooms.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 585640
Roman Jarosz committed changes in /trunk/KDE/kdenetwork/kopete/protocols/oscar:

* Move visible/invisible/ignore list to account properties dialog.
* Allow adding contacts that aren't on Kopete contact list.
* Add ignore list for ICQ.
* Use one engine for visible/invisible/ignore list.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 586274
Diego Iastrubni committed changes in /trunk/extragear/network/konversation/src/ircview.cpp:

this new code will detect the direction of the message not by the first strong char, but by the most RTL chars on the line.

i also take care of message in which you first address a person (LTR string) at the beginning of the line. IMHO some more work should be put on the direction detection, but that's good enough for now.

see this image to get an idea of how it works now:
<a href="/issues/2006-09-24/files/koversationbidibug3rm8.jpg"></a>;

User Interface

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

New icon version

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

New icons

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 9 more) Revision 586586
Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/apps/kalzium.svg:

New Icon mostly done by Bruce Lee

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

New icons

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


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

Add new svgz version of the chips and the code needed to render them on-the-fly. Now dimsuz needs to add the actual scaling :)

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

* Implemented connect four.

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


KDE Base

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

Cache background images as PNG for cases when that brings performance improvements (especially with SVG wallpapers).
(<a href=""></a>;)
Approved by Dirk.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 586073
Andreas Kling committed changes in /branches/KDE/3.5/kdebase/kcontrol/background/bgrender.cpp:

Fixed gargantuan memory leak with SVG wallpapers.
Turns out KSVGIconEngine::image() returns a `new QImage'.

John Tapsell committed changes in /trunk/KDE/kdebase/workspace/ksysguard/ksysguardd:

Don't use Container. Speeds it up by a small amount (5% or so)

Diffs: 1, 2, 3 Revision 586280
Andreas Kling committed changes in /trunk/KDE/kdelibs/khtml/

Speed up ad filtering a bit by using const iterators.



Cies Breijs committed changes in /trunk/KDE/kdeedu/kturtle:

re-import of the totally rewritten kturtle code...

read about what changed here:
<a href=""></a>;

if you have any questions feel free to contect me: cies at kde dot nl

it feels good to be back in kde trunk.

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

KDE Base

Mirko Boehm committed changes in /trunk/KDE/kdelibs:

- add threadweaver core library to kdelibs
- modify CMakeLists to create a library file in lower-case letters
- add threadweaver directory to kdelibs CMakeList

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 37 more) Revision 586148
Matthias Kretz committed changes in /trunk/KDE/kdelibs/phonon/examples:

two working examples to show gapless playback and a simple VideoPlayer usage

Diffs: 1, 2, 3, 4 Revision 586283
Christoph Cullmann committed changes in /trunk/KDE/kdelibs/kate:

Start to write up some ideas about indentation.
We should collect our ideas and thoughts of other people from other editors here first to come up with some good solution at aKademy ;)
Proper indentation should really be a one of the key feature for KDE 4's KatePart.

Dirk Mueller committed changes in /branches/KDE/3.5/kdelibs/khtml/test_regression.cpp:

It seems Xorg 7.x switches to the more memory efficient DirectColor visual by default. Too bad that Qt isn't prepared for that, so it overruns various buffers and crashes in at least half a dozen places. So enforce the old TrueColor visual.

Oswald Buddenhagen committed changes in /trunk/KDE/kdelibs/kdecore:

kprocess and krun already have it, so why not a third implementation of shell quoting? :)
no, seriously:
- this is the proper place, even if it comes handy at the other two locations
- the krun variant is not much loved, as it changes the argument in-place
- the kprocess variant will vanish RSN for reasons not explained herein :)
- this one is by far the coolest (and slowest ...) implementation of all :))


Boudewijn Rempt committed changes in /trunk/koffice/krita/krita.rc:

Get rid of toolbars -- they are _so_ old-fashioned.


Mark Kretschmann committed changes in /trunk/extragear/multimedia/amarok/src/engine/xine/xine-engine.cpp:

We've decided that fadeout on pause isn't very useful, so I'm removing it. Fadeout on stop stays.