Issue 139

30th November 2008 by Danny Allen

This Week...

Various usability improvements and polish in Plasma, with further work on JOLIE integration. Italic font support in the Plasma "Fuzzy Clock" applet. Full support for use-building on signal/slot connections in KDevelop, and the start of a framework for code quality checkers using the KDevelop C++ parser. Addition of VIM-like navigation (HJKL) in Okular. Refactoring in the Kigo game (formerly KGo) with a view to future expansion, including work on undo/redo support. Updated artwork in KTuberling. Support for hiding toolbars in KTimeTracker. More progress in the Skype text chat protocol in Kopete. Continuation of the improvements to Ark seen in recent weeks.


Commits 2906 by 250 developers, 6542 lines modified, 2012 new files
Open Bugs 16387
Open Wishes 14652
Bugs Opened 532 in the last 7 days
Bugs Closed 840 in the last 7 days

Commit Summary

Module Commits
Lines Developer Commits
Gilles Caulier
Thomas McGuire
Aurélien Gâteau
Laurent Montel
Khoem Sokhem
Albert Astals Cid
Marc Mutz
Chusslove Illich
David Faure
Andreas Pakulat

Internationalization (i18n) Status

Bug Killers

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools

  []    []




  []    []

KDE Base

[] [] []   []


[] []    






[] []    

Networking Tools


User Interface



  []    []





There are 54 selections this week

Bug Fixes


Henry de Valence committed changes in /trunk/KDE/kdeedu/marble/src/plasmoid/worldclock.cpp:

Fix memory leak that could get Plasma to use up to 1 GB of memory ("it's only a small hole...")

KDE Base

Lucas Murray committed changes in /trunk/KDE/kdebase/workspace/kwin/lib/kwineffects.cpp:

Paint effect text onto a QImage instead of a QPixmap.
Makes OpenGL mode faster, XRender slower and works around a subpixel font rendering problem.

Sebastian Kügler committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/battery/battery.cpp:

Correctly update the extender's label when the battery is unplugged

This commit is dedicated to my beloved notebook luna, which fortunately didn't die last night after the resident cat poured half a glass of water into it.

I'm not a 100% sure this commit fixes the issue fully, but HAL decided to report two batteries after some un- and replugging, so it's pretty hard to test until that goes back to normal (maybe another glass of water is needed!?).

This patch does improve updating the extender's label however, so there you go.

David Faure committed changes in /trunk/KDE/kdelibs/kio:

Refactor of the filtering functionality in KDirLister, so that toggling one filter does emit the right added/removed items (the old logic would ignore the effect of other filters still active at the same time).

For instance toggling hidden files/dirs in okular's KFileDialog (which sets a mime filter) would not manage to remove hidden dirs like ".kde" (*), so after doing it a few times you'd have those dirs shown 4 times :)

(*) because the new logic in KDirModel bails out if the list of items to hide contains already-hidden items

Rob Scheepmaker committed changes in /trunk/KDE/kdelibs/plasma:

Extender Polishing time! The following problems have been adressed:
* Far more correct spacer implementation. This avoids the spacer jumping around while dragging an item. Also adjustSizeHints is now only called once/spacer move.
* Avoid spacer related memleak.
* Only load extenderItems that are actually detached. This way, attached items won't linger around in case of a plasma crash.
* Use utilities-desktop-extra as icon for items with no saved icon (e.g. items where the icon is set using setIcon(QIcon) instead of setIcon(QString)). Sure beats the questionmark.
* Update mask when offscreen extender items are resized when being dragged to avoid screwed up masks (white borders).
* Start the drag only aften being moved a minimum of QApplication::startDragDistance().
* Correct transformation for calls to showDropZone.
* Use the mouse position for positioning items in extenders or panels, the topleft corner for positioning in a desktop containment. This feels the most natural.
* Move items back to the extender they came from when they're dropped into nowhere.
* Some small code style fixes.

Diffs: 1, 2, 3, 4 Revision 890249
David Faure committed changes in /trunk/KDE/kdebase/apps/lib/konq/favicons:

Mark download as failed when the favicon was deemed too big (like the still broken <a href=""></a>;) so that we don't try downloading it over and over again (e.g. while akregator is running).

+ code cleanup

Anne-Marie Mahfouf committed changes in /trunk/KDE/kdeplasma-addons/applets/weather_station/weatherstation.cpp:

Hectopascals is not in WeatherUtils::convert srcDir so the BBC pressure was converted from something that does not exist hence the always raining pic.

Now should behave like a barometer, meaning that if it's raining but the tendency is "Rising" the pic can show a sun.

This calculation though could be tweaked further.


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

An attempt to repair the encoding mess a bit, when attaching files:

- Don't set the charset to us-ascii if it couldn't be found
- Give up on KEncodingProber, it doesn't work reliable enough.
Instead, add an encoding combobox to the file dialog.
Now it is the user's fault if the encoding is not correct :)

- Don't attempt to set a charset for a non-textual mimetype
- Don't show an empty string for the mimetype


Leo Franchi committed changes in /trunk/extragear/multimedia/amarok/src:

make lyrics cached.
this sets the HTML of the lyrics to be cached.

reasoning: previously, if you had a track playing and resume on start enabled, and had the lyrics applet visible, when opening amarok you would have to press the refresh button to see the lyrics (this is because the scriptmanager *must* be created after MainWindow).
so caching fixes this bug

if you notice *any* lyrics weirdness, please get a hold of me.

Diffs: 1, 2, 3, 4, 5 Revision 889025
Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src/services/magnatune:

Fix using the "Purchase" or "Download" actions from the playlist starting a purchase or download of the wrong album.

Please give this a bit of testing ( just check that the purchase/download of the right album is initated no matter where this action is invoked from ( playlist, browser, tray icon, toolbar, or current track applet ) ).

No need to actually purchase or download anything.


Development Tools

David Nolden committed changes in /trunk/KDE/kdevelop/plugins/languages/cpp:

Implement full support for use-building on signal/slot connections.
This is embedded directly into the parser using a new AST node, which also allows complete use-building on the signal/slot arguments.

This means that:
- You can search for all places where a signal/slot is connected
- You can rename signals/slots, and all the connections will be adapted
- You can rename a class that is used as an argument in some signal/slot function, and the connections will be adapted as well

Includes a test.

Of course, this only works when the signals/slots have actually been declared.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 14 more) Revision 889444
Bertjan Broeksema committed changes in /trunk/quality/cppchecks:

Add some first code that makes use of the kdevelop c++ parsing code.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 22 more) Revision 890605
Bertjan Broeksema committed changes in /trunk/quality/cppchecks:

Add some shared code to form a basic framework for the (to be developed) cpp checkers.
Rough design (umbrello) can be found in design.xmi.

Updates licenses in the files.

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


Angelo Naselli committed changes in /trunk/extragear/graphics/kipi-plugins/printwizard:

Added print interface, now printwizard could be usable

NOTE: print to gimp does not work

Diffs: 1, 2, 3 Revision 887818
Andi Clemens committed changes in /trunk/extragear/graphics/kipi-plugins/removeredeyes:

added new options to set the behavior if unprocessed images are found.

Right now a popup window will appear all the time if unprocessed images are found.
This is annoying after a while, even for me :-)

The new settings will control the way the plugin handles those images:
Ask the user - same behavior as before
Keep - do not remove unprocessed images
Remove - well, this would remove unprocessed images :-)

This is really helpful when playing with the advanced settings and you don't want to be bothered by the popup window all the time.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 890045
Pino Toscano committed changes in /trunk/KDE/kdegraphics/okular/ui/pageview.cpp:

Add VIM-like navigation (HJKL) in the content view.
Patch by Frederik Gladhorn, thanks!

Pino Toscano committed changes in /trunk/KDE/kdegraphics/okular:

Add hidden configuration for showing the document title (if any) in the title bar.
Default is true (as before).
Based on a patch by Alejandro Exojo, thanks!

$ kwriteconfig --file okularpartrc --group General --key DisplayDocumentTitle --type bool false

KDE Base

Sebastian Trueg committed changes in /trunk/kdesupport/strigi:

Added configuration option to disable indexing of archive contents since that is what I want to do in Nepomuk.

Getting depth > 0 results is very confusing to the user.

We need to improve the handling of those results before we can enable them again.
The new method cannot be virtual to keep binary compatibility.

Diffs: 1, 2, 3, 4, 5, 6 Revision 888642
Fabrizio Montesi committed changes in /branches/work/~fmontesi/jolie:

- JOLIE script library for Plasma::Service adaptors through MetaService (in plasma/).
- Yahoo Web Search Service adaptor (YahooSearch.ol).

Diffs: 1, 2, 3, 4, 5 Revision 888830
Jakub Stachowski committed changes in /trunk/kdesupport/strigi/src/streamanalyzer/odfsaxanalyzer.cpp:

Adds support to ePub-specific field for creation date.
Sounds strange but because ePub has almost identical metadata format, odfsaxanalyzer actually handles ePub files without any problem.

Real life example why conforming to standards (Dublin Core in this case) benefits everybody.

Maks Orlovich committed changes in /trunk/KDE/kdelibs/khtml:

Add in a simple tool for measuring load times, in hope I can convince v.t. to use it for his CSS work :)

Davide Bettio committed changes in /trunk/KDE/kdeplasma-addons/applets/fuzzy-clock:

Added italic font support (applet allowed to use only bold before this commit).

Davide Bettio committed changes in /trunk/KDE/kdeplasma-addons/applets/fuzzy-clock:

Added "custom color"/"theme color" option.
Applet doesn't use anymore hardcoded colors.


Thorsten Staerk committed changes in /trunk/KDE/kdepim/ktimetracker:

Allow the user to deactivate the icon bar.

* whatsthis help still works
* kontact plugin still works

Jakub Stachowski committed changes in /trunk/KDE/kdepim/strigi-analyzer/vcf:

1) Use property names from xesam ontology
2) Extract more fields
3) Handle vCards bigger than 1KB (for example containing embedded picture)

Karim Dembele committed changes in /branches/work/nokia-pim-suite/trunk/calendar:

First version of calendar (model, view, control) without the real akonadi kcal model

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 17 more) Revision 888955
Romain Pecoult committed changes in /branches/work/nokia-pim-suite/trunk/contact:

It is now possible to search a contact in the list thanks to the search text edit.
It is also possible to search contacts by category.

When a category is selected, the search text edit only works in the particular category.

A problem has been identified: The categories are entered in Akonadi as String.
It will be a problem when the language will change.
A code will be certainly made to go through.

It is now possible to export contacts in vcard format.
The save file dialog window must be modified to enter in little Screens.
Now the export button is on the main window, but it will certainly be transfered to options/config.

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


Pierre Stirnweiss committed changes in /branches/work/koffice_trk:

basic changetracker.
records Bold/Italic/key strokes actions.
save into odf.
no loading

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


Mark Kretschmann committed changes in /trunk/extragear/multimedia/amarok/src/collection/sqlcollection:

Actually implement "Watch folders for changes".

Until now enabling the option did exactly nothing.
Now it starts a 60s-interval timer thatchecks for collection changes.

Matthias Kretz committed changes in /trunk/kdesupport/phonon/phonon/examples:

- compile tutorial1 again
- add outputselector example which shows how to remote control Phonon applications.

Not completely ready for public consumption yet, though

Networking Tools

Pali Rohár committed changes in /trunk/playground/network/kopete/protocols/skype:

Added support for skype group (add/remove user from group, move user between group, add/remove skype group)

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


Harald Hvaal committed changes in /trunk/KDE/kdeutils/ark:

Adding a README file for internal structure.
Zip plugin can now add folders (will recurse properly).
Zip plugin uses the slash character for folder names.
Internals are more forgiving to weird(empty) entries from plugins

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 887833
Yew Ming Chen committed changes in /trunk/KDE/kdeutils/ark:

7zip-plugin support overwrite dialog when extracting files.

Diffs: 1, 2, 3, 4 Revision 887841


Sascha Peilicke committed changes in /trunk/playground/games/kigo:

Another big commit, the Kigo GUI moved from a per-screen based approach (with a GameScreen, SetupScreen, ErrorScreen) to a dockwidget based approach with several small widgets which are shown/hidden depending on the game state.

This way Kigo becomes a lot more customizable and expandable in the future.
It also concentrates all GUI-related code in the MainWindow class while the other GUI classes just implement additional logic (like showing SGF file information or a move history list).

The undo/redo support is now more feature-complete with a little dockwindow showing the move list.
I also added a little visual hint which is shown when the user is about to place his next stone.

Before that it wasn't always clear where a stone will be placed when the mouse is clicked, this should be more obvious now.
Last but not least the usual code refactorings and cleanups...

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 26 more) Revision 888460
Eugene Trounev committed changes in /trunk/KDE/kdegames/ktuberling/pics:

Artwork update for Ktuberling.
Sound theme will follow shortly

Diffs: 1, 2, 3 Revision 889518


KDE Base

Viacheslav Tokarev committed changes in /trunk/KDE/kdelibs/khtml/css:

Use O(M+N) algorithm instead of O(M*N) for collecting selectors list on some heavy sites, like youtube, it could save 100-300ms

Sebastian Sauer committed changes in /trunk/KDE/kdebase/workspace/krunner:

Improve startup speed by;
* delaying krunner startup till plasma is done and
* don't wait for krunner to finish and
* register the adaptor as soon as possible and load the runners as late as possible

Viacheslav Tokarev committed changes in /trunk/KDE/kdelibs/khtml/css:

Optimize selectors more:
for this time, optimize how we choose selectors to check for possible match, do some smart precomputation and hashing so we could easily find only selectors with same id, class and local name as checked element saved a lot of CPU, 10x speed-up on my synthethic test with css based on facebook ones, and up-to 50% improvement in style computation for real life pages


Development Tools

David Nolden committed changes in /trunk/KDE/kdevplatform:

- The shortcuts to navigate are now: ALT+Arrows and ALT+Return.
- When pressing+releasing ALT fast in completion-list or quickopen, the navigation-widget of the current item is toggled.
- When keeping ALT pressed for some time, the navigation-widget is only shown until ALT is released again. This allows only peeking into the additional information.
- When the code-browser is visible and the cursor is in the editor, it is now possible to navigate within the code-browser using the ALT+Arrow and ALT+Return shortcuts.

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


Andi Clemens committed changes in /trunk/extragear/graphics/kipi-plugins:

The imageslist widget used in IPod, Flickr, SendImages and RemoveRedEyes has been refactorized to be a common kipiplugins widget. Flickr and RemoveRedEyes have already been ported.

The widget can be used "as it is", if no special features or columns are required. It will display "Thumbnail" and "Filename" column by default. It also provides 3 User Columns, as shown here: <a href=""></a>;

Also a plainPage widget is added, where a plugin can add additional widgets if needed, like the summarybox in RemoveRedEyes plugin.

If you need additional methods, just derive your own class from the common imageslist.

The cstor of the ImagesList widget takes two additional parameters:

allow RAW files to be added [default: true]
If false, don't load RAW files and send a signal so that the plugin can react in this case

load images from interface directly when ImagesList widget is created [default: true]
I needed to provide this for RemoveRedEyes because I need to load the images later, otherwise some signals will not work

To change the column setup, you can use the widget as follows:

m_imglst = new KIPIPlugins::ImagesList(iface, true, true, parent);
m_imglst->listView()->setWhatsThis(i18n("This is the list of images to upload on your Flickr account."));

// set additional column
m_imglst->listView()->setColumnEnabled(KIPIPlugins::ImagesListView::User1, true);
m_imglst->listView()->setColumnLabel(KIPIPlugins::ImagesListView::User1, i18n("blabla"));

// or use this wrapper method instead
m_imglst->listView()->setColumn(KIPIPlugins::ImagesListView::User1, i18n("blabla"), true);

For additional information, take a look at the already ported plugins (Flickr and RemoveRedEyes).

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

KDE Base

Marco Martin committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/kickoff/ui/contextmenufactory.cpp:

for optical drives say "eject", for other storage things it's "safely remove"
green flag from i18n people

Alex Merry committed changes in /trunk/KDE/kdeplasma-addons/applets/nowplaying:

It works nicely in the plasmoidviewer... why are the icons spaced out on the panel?

Does the panel even pay attention to the KeepAspectRatio hint?
I guess not.

I think we need the plasmoidviewer to actually act like the panel in linear form factors.

Sorry for the mountains of debug.

Diffs: 1, 2, 3 Revision 888165
Peter Penz committed changes in /trunk/KDE/kdebase/apps/lib/konq/konq_menuactions.cpp:

Restore KDE 3 behavior: When only one application is available, show "Open with <app>" action on the top-level.

No new string has been introduced, the string was already available before the last 2 commits (-> 1 hour ago :-))

David Nadlinger committed changes in /trunk/KDE/kdebase/workspace/kwin:

When modifying the compositing settings, save a backup of kwinrc to another file to be able to revert if the X server crashes while testing the new config. Also fixed a little bug in kcmkwincompositing (dropdowns on the general tab were not updated correctly) and cleaned up the code a bit (removed a few unneeded function calls and stale connects).

See the conversation on the mailing list ("Patch for bug 174769", <a href=""></a>;) for further information.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 888659
Fabrizio Montesi committed changes in /branches/work/~fmontesi:

Initial working directory for the JOLIE scripts needed by the Plasma<->JOLIE integration layer.

David Nolden committed changes in /trunk/KDE/kdelibs/kate/completion/expandingtree/expandingwidgetmodel.cpp:

- Compute the match-colors by tinting the background softly with green/blue, instead of mixing.
This makes the colors friendlier to the eye, and should better adapt to different color schemes.

- For expanded items, use the tooltip base color, instead of a hardcoded color.

Marco Martin committed changes in /trunk/KDE/kdebase/workspace/plasma:

paint the background of the last and notifying items in the system tray with a different background
new graphics for the expander arrows

Diffs: 1, 2, 3 Revision 889430
Cédric Borgese committed changes in /trunk/KDE/kdebase/workspace/kwin/effects:

Reduce wobblyness when resizing the window by locking the opposite window corner of the mouse cursor.
This greatly improve the wobbly experience when resizing.
Patch by Toby Dickenson

Aaron J. Seigo committed changes in /trunk/KDE/kdelibs/plasma:

patch by Andrew Lake to free-resize applets from the corner rather than the center; need to do some work on applet handle right now and i don't want this patch going sideways and he's not online right now, so ...

Diffs: 1, 2, 3 Revision 890316
Rafael Fernández López committed changes in /trunk/KDE/kdelibs/kfile/kfilewidget.cpp:

Maybe a first approach on what have been discussed on usability mailing list?
Remove from the toolbar the kind of view switching.

Let the preview action, and the zoom slider.

Urs Wolfer committed changes in /trunk/KDE/kdelibs/khtml/find:

Usability improvements:
* search next on pressing return
* select old search text on pressing ctrl+f again


Anne-Marie Mahfouf committed changes in /trunk/KDE/kdeutils/doc/ktimer:

Just in time before the freeze, start of KTimer doc for blauzahl!

Rolf Eike Beer committed changes in /trunk/KDE/kdeutils/doc/ktimer:

Give some life to ktimer documentation.

Work done by blauzahl, it was just me being late commiting it as she doesn't have a svn account yet.

Diffs: 1, 2, 3, 4 Revision 889102
Volker Lanz committed changes in /trunk/extragear/sysadmin/partitionmanager/scripts:

Add scripts to build releases.
These are generic ruby scripts partly based on the work of Harald Sitter for Amarok.
They are not specific to partition manager in any way.

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