Issue 215

25th December 2011 by KDE Commit-Digest Team


Vladislav Blanton
Danny Allen
Jaka Kranjc

This Week...

Multiple changes in scripting in KWin: properties, interactive console to run scripts, import of a KCM. Start of generic clip job framework implementation for kdenlive. In Calligra, updates of MSOffice 2000/2003 and 2007 format support, multiple fixes. Volume normalization now works between Amarok and iPods. Contact list in Telepathy moved to a separate class.


  Bug Fixes Features Optimization Security Other



Development Tools

[] []    





KDE Base

[] [] []   []


[] []    []


[] []    




[] [] []   

Networking Tools

[] []    []

User Interface



[] []    




  []    []

There are 71 selections this week

Bug Fixes

Development Tools

David Narváez committed changes in [kdevplatform] plugins/patchreview/standardpatchexport.cpp:

Register Copy Job in KIO's Job Tracker

Avoid registering KIO Jobs in shell's runController.

REVIEW: 103454

Aleix Pol Gonzalez committed changes in [kdevelop] /cmake/settings:

In the cmake preferences, after reconfiguring the project, reread the CMakeCache.txt file.

KDE Base

Lamarque Souza committed changes in [plasma-mobile] qmlpackages/activityswitcher/contents/ui/ActivityDelegate.qml:

Fix delete activity dialog.

I tried to make the dialog's opacity always 1 but with three or less
activities it always gets below 1 if the activity is not close to the
PathView center. It is still readable though. With four activities and
beyond the opacity stays at 1.

The dialog will be oversized if you slide the activity thumbnail to the
PathView center. Well, we can say it is to improve accessibility :-)

Dawit Alemayehu committed changes in [kde-baseapps] konqueror/src/konqpixmapprovider.cpp:

Do not prevent favicons from being shown for saved HTML pages.

FIXED-IN: 4.8.0
REVIEW: 103474

Lamarque Souza committed changes in [plasma-mobile/Active/Two] applications/imageviewer/package/contents/ui/imageviewer.qml:

Sort images by filename in active-imageviewer. It's static sorting, that
is, newer images will be appended to grid view end. Reopen imageviewer
to sort them again.
I think we can implement dynamic sorting using QSortFilterProxyModel as
the base class of MetadataModel instead of AbstractMetadataModel.
The sorting is case sensitive too. I have not figure out how to solve
this yet.

(cherry picked from commit 3531ed4599c2fb9e2ff3440f078e09dc5f0c132d)

Nick Shaforostoff committed changes in [kdelibs/KDE/4.7] kio/kio/copyjob.cpp:

a very basic (with lots of TODOs for more advanced cases) fix for

which checks for free space before each filecopy process start
REVIEW: 103412

Dawit Alemayehu committed changes in [kwebkitpart] src/kwebkitpart_ext.cpp:

Show the correct information when View->View Document Source is selected.

Peter Penz committed changes in [kde-baseapps] /src/kitemviews:

Turn off animations if they are globally disabled

Respect the graphicseffect level in the system settings. This will disable
all item-animations if the graphicseffect level is "NoEffect".

The smooth scrolling won't be disabled in this case, but the duration has been
made smaller so that it is not recognized as an animation.

FIXED-IN: 4.8.0


Laurent Montel committed changes in [kdepim] messagelist/storagemodel.cpp:

Fix Bug 283108 - Messages without In-Reply-To: header are not properly sorted in thread view

The first reference is the first message of thread and second is the parent of message.

Allen Winter committed changes in [kdepimlibs] /:

Add a bunch of validity checks to avoid crashes.
Now I seem to be ok adding events to KOrganizer without crashing

However, I can still easily crash KOrganizer and plasma-desktop
simply by deleting events from KOrganizer.


Dmitry Kazakov committed changes in [calligra] /plugins/paintops:

Added checks for 'zero'ness of the scale of the brush

When using tablet, the last events coming from it are almost zero,
so the resulting scale is zero as well. Default mask generator will get
crazy if it gets zero scale due to division by zero. So we need to check
in most of the tools whether the scale is not zero.

Boudewijn Rempt committed changes in [calligra] /ui/tool:

Ellipse tool: update a slightly larger part of the canvas

This avoids the garbage that the ellipse tool sometimes leaves on the
screen when moving around really fast.

Marijn Kruisselbrink committed changes in [calligra] /:

handle intersection operators better, there are probably still some cases that are not fully correct, but this at least improves things a lot

This doesn't solve the bug completely yet, since calligra-tables doesn't support the intersection operator, but it at least the odf generated by the xlsx filter now has the correct formula

Sebastian Sauer committed changes in [calligra] tables/Cell.cpp:

Fix picture not displayed when it is set as hyperlink.

Boudewijn Rempt committed changes in [calligra] /:

Show the happy bunny!

Krita's use of KoStore is pretty old-fashioned, and we don't need the
name expansion used by the unfinished, 10-year old filter-in-filter
feature that presumably is the reason for doing weird things to paths
in a store of they start with a digit.

KoStore needs a thorough clean-up, but for now, setting disallowNameExpansion
is enough.

Dmitry Kazakov committed changes in [calligra] /image:

Added recursive setting of graph listener into KisNode::setGraphListener()

Otherwise, the child nodes will get the listener only in case they were
added to the parent *after* the parent is connected to the listener.

Sebastian Sauer committed changes in [calligra] tables/commands/AbstractRegionCommand.cpp:

Try to address the lions that are in this m_sheet==NULL logic.
This closed (but not fixes) bug 252089 cause now we should either run into the assert (in debug-mode) and earn a proper backtrace or just abort the undo-command (in release-mode) and not crash at all.

Sebastian Sauer committed changes in [calligra] filters/tables/excel/sidewinder/chartsubstreamhandler.cpp:

Fix display chart-title in 2000/2003 documents.
This fixes lot of MSOffice 2000/2003 documents where we did not display any chart-title at all.
Tested with cstester. Note that cstester doesn't show the chart-title cause it seems we delay the displaying in the charting-shape. But if the document is loaded direct into the application then the correct chart-titles are displayed.

Gopalakrishna Bhat committed changes in [calligra] /:

Set the initial style for a newly created document. The template is changed to add a invisible character 0x200B after <?opendocument cursor-position?> to the document template. The reason is that
style is not applied for empty paragraphs. See for more explaination.

M +- -- words/templates/Wordprocessing/A4.odt
M +- -- words/templates/Wordprocessing/ProfessionalA4.odt
M +- -- words/templates/Wordprocessing/ProfessionalLetter.odt

Sebastian Sauer committed changes in [calligra] /tables/xlsx:

Fix auto-title in 2007 charts.
The c:autoTitleDeleted is actually defined *after* the c:title what means we cannot use that setting while evaluating the title. So, what we do is to read the title and proper eval the autoTitle only if 1) no title was defined (a defined title always overwrites that setting anyways what we did not proper take into account before too) and 2) only if autoTitleDeleted was explicit defined and set to false we do set the auto-title (the default value is false what means we should not apply any auto-title if autoTitleDeleted was not explicit set to true what was wrong before too).

Sebastian Sauer committed changes in [calligra] tables/StyleStorage.cpp:

Second part of fix crash of Calligra Tables when removing columns.
Follow-up of commit bd5afafa89. Looks as the code and with it the bug was duplicated in some other places in the StyleStorage. This fixes the other places too.


Christian Esken committed changes in /trunk/KDE/kdemultimedia/kmix:
Jean-Baptiste Mardelle committed changes in [kdenlive] /:

Improve feedback when a job fails (needs KDE >= 4.7) using messagewidget that shows the job log

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision dd604e8...
Matěj Laitl committed changes in [amarok/strohel-for-2.6] /:

iPod collection: convert from ReplayGain to Sound Check and vice versa

By popular demand, we now convert ReplayGain values to Sound Check
values when transferring tracks to iPod. We also read Sound Check from
iPod and convert it to ReplayGain on-the-fly when playing a track off
an iPod in Amarok.

On the other hand, when transferring tracks from iPod to Amarok, Sound
Check from iPod is _not_ automatically copied (current limitation of
the ReplayGain implementation in Amarok), but Amarok picks up
ReplayGain information from meta-data stored inside the track. (Does
anyone know whether iTunes save Sound Check somewhere in song

It is currently hard-coded that *track* ReplayGain is used (Sound Check
is not able to differentiate between track and album gains), this could
be configurable in future (but hey, micro-options!) or it could respect
Settings -> Replay Gain Mode (tricky, the setting would be read *only
when the song is being transferred to iPod*)

DIGEST: volume normalization now works between Amarok and iPods

Networking Tools

Andrea Diamantini committed changes in [rekonq] src/sync/syncmanager.cpp:

Get sure synchandler exists before calling it

This should be important just on password sync, cause of code design.
Anyway, checking it everytime shouldn't be a bad idea...

Martin Klapetek committed changes in [telepathy-contact-list] /:

Move contact list view to a separate class

The ContactListWidget is now fully self contained and easily embeddable widget, ie. you can have contact list in your application with minimal effort.

Reviewed-by: Dario Freddi
REVIEW: 103481


Joris Guisson committed changes in [libktorrent] /:

Fix crash at exit when datachecker job is running

Andrea Diamantini committed changes in [rekonq/Branches.0.8] src/opensearch/opensearchmanager.cpp:

Fix OpenSearchEngine crash call

Don't ask me why, as I'm not code author and it seems a bit complicated
for the evening, but following backtrace (bug 289583, Thread 1, #12)
it seems there is a call to a non extant opensearchengine instance.
This check prevents this crashy situation.

Cherry-picked from master


Martin Tobias Holmedahl Sandsmark committed changes in [filelight] /part:

fix wrap-around with partitions over 4 TB by using a 64-bit counter

Filelight uses a divide-by-1024 trick to fit sizes over 4 GB into a
quint32. However, the current code will wrap around again at 4 TB.

Simply switch to quint64 and drop the use of divide-by-1024 trick to get
rid of the 4 TB wrap-around.

The performance penalty on a 32-bit system seems immeasurable. On a
filesystem with 1500000 files (13 TB) the process user time is only 1..5
seconds on i7-960, with quint32/64 having no effect. Most of the
wallclock time (20..500 sec in the above case, depending on cache
state) is spent waiting for I/O anyway.

Note that on 32-bit systems files over 2 GB are still completely ignored
unless built with large file support.

Signed-off-by: Martin T. H. Sandsmark

Diffs: 1, 2, 3, 4, 5 Revision ae73232...
Jan Lepper committed changes in [krusader] /:

FIXED: krusader hangs for some time when opening a bz2(and possibly gzip)-compressed archive

Diffs: 1, 2, 3, 4 Revision b571713...
Sebastian Trueg committed changes in [kdelibs/KDE/4.7] nepomuk/utils/typefacet.cpp:

Do soley rely on the mimetype of video files rather than the rdf type.

Using the combination of both results in search result duplicates.
Using only the rdf type is a problem since libstreamanalyzer fails to
add that type on many video types. While this is now "fixed" by adding
nfo:Video as a type to all files which contain "video" in their mimetype
legacy data is still affected.

Jan Lepper committed changes in [krusader] /:

FIXED: [ 277578 ] Crash on cancelling calculation of occupied space on smb share

Diffs: 1, 2, 3 Revision 08b7350...


Felix Rohrbach committed changes in [gluon] /assets/other:

Fix two errors in {Statistics,Achievements}Asset

REVIEW: 103452
1. The deletion of Achievements/Statistics when calling unload makes
the creator crash. Solution: Don't unload. Most assets don't do that
2. The automatic loading caused an endless recursion, as the gdl parser
checks whether the object already exists in the object tree, which
causes load() to be called again. Solution: mark as loaded earlier.


Development Tools

Martin Gräßlin committed changes in [kdeexamples] /scripts:

KWin script example for autogrouping kopete windows

Done by Max Vorob'jov in the scope of Google Code-In.

Aleix Pol Gonzalez committed changes in [kdevelop] /cmake:

Support scopes in CMake support
Only implemented for functions for the moment.


Jörg Ehrichs committed changes in [wacomtablet] /:

Fix changed button mapping, add more tablets

Newer kernels changed the way the phsyical button numbers er mapped to the X Server numbers
This patch fixes this by adding a mapping section to the wacom_devicelist now such changes can be addressed by
simply changing the config file.

This might mess up mapping for old kernels (before 2.6.38)
see section V for more information regarding this

Diffs: 1, 2, 3, 4, 5 Revision d6c1286...
Gilles Caulier committed changes in [digikam] /:

apply patch to show image title on digiKam SlideShow

KDE Base

Daniele E. Domenichelli committed changes in [ktp-auth-handler] /:

Support X-MESSENGER-OAUTH2 authentication mechanism

Martin Gräßlin committed changes in [kde-workspace] /desktop/runners/plasma-desktop:

Extend Plasma Desktop Runner to start KWin console

Magic runner keyword is "wm console".

Ivan Čukić committed changes in [kdeplasma-addons/ivan/shelf-qml] /shelf:

Initial commit of QML version of Shelf

Diffs: 1, 2, 3, 4 Revision 9762e3f...
Aleix Pol Gonzalez committed changes in [kde-gtk-config] src/gtkconfigkcmodule.cpp:

Improve support for different icon themes.

Martin Gräßlin committed changes in [kde-workspace] /desktop/shell:

Interactive desktop console can control KWin scripts

Uses the DBus interface of KWin scripting to pass the script content
to KWin and connects to output and error messages.

To differentiate PlasmaApp has new DBus methods to start the desktop
console for KWin scripting.

Diffs: 1, 2, 3, 4, 5 Revision af9ff6a...
David Faure committed changes in [akonadi] /akonadictl:

Use fprintf for command-line usage (akonadictl status),

instead of qDebug, so that it shows up in release mode too,
akError for errors (so it gets logged to file in addition),
and akDebug for debug (for consistency, mainly).

Martin Gräßlin committed changes in [kde-workspace] /:

Import of a KCM for KWin scripts

This KCM has been implemented by Tamas Krutk in the scope of
Google Code-In.

It is a simple KCM just listing all available scripts and allowing
to import/export them.

This will be further extended alongside the planned scripting changes
in 4.9.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision bfe7287...
David Faure committed changes in [akonadi] /:

Use akDebug for debug, akError for errors.

The hope is to disable debug output in release builds, so some errors
using qDebug have been fixed.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 18 more) Revision cc74b91...
Sebastian Kügler committed changes in [plasma-mobile/sebas/settingscomponent] /:

bare-bones settings plugin

This doesn't do much yet, but will provide loading settings modules and
a module of available modules as Qt component.

The logic comes from active-settings, which will be doable entirely in
QML if this experiment succeeds.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision d7bccc6...
Martin Gräßlin committed changes in [kde-workspace] /:

KWin scripting goes properties

Dropping the wrapper around Client and just exporting the Client's
properties. This breaks all existing scripts as it's now e.g.:
instead of

But the first one is the more natural one for JavaScript and also
for everyone writing QML as well.

Setters and signals are mostly still missing in client. Other parts
like ClientGroup must be converted to properties, too.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 489c89a...
Martin Gräßlin committed changes in [kde-workspace] /scripting:

Scripting meets D-Bus

Each KWin Script is also exported as a D-Bus object and can be
stopped (destroyed) and started through D-Bus. Output and errors
are emitted as D-Bus signals. That allows external applications
(e.g. Plasma desktop scripting console) to load a script and print
out the output.

The general interface is exported as /Scripting and allows to load
a new script by file. The script is not directly executed but only
loaded. To execute it the run method on the script object has to be


Laurent Montel committed changes in [kdepim] /:

Start to implement thunderbird filter import

Diffs: 1, 2, 3 Revision 1037780...
Shaheed Haque committed changes in /trunk/playground/pim/akonadi/exchange:

1. Optimise the properties fetched for a Contact.

2. Use the results of the previous commit, and the above change
to move MapiNote out into the mail resource.

3. Start to bring the mail resource to life. This is very
rough at present, but the attachment fetching logic is starting
to work in some cases (there is plenty still to do!).

Diffs: 1, 2, 3, 4, 5, 6 Revision 1269962
Laurent Montel committed changes in [kdepim] /core:

Add a new feature : allow to keep filter on quick search when we change


Kevin Krammer committed changes in [akonadi-sugarcrm] /:

I added a new module for SugarCRM leads. I also moved the AccessorPair class from the contactshandler files to it's own files.

Signed-off-by: Kevin Krammer

Diffs: 1, 2, 3, 4, 5, 6 Revision a153e03...
Sergio Luis Martins committed changes in [kdepimlibs/calendaring] akonadi/calendar/history_p.h:

Implement MultiEntry class.

Will allow to undo/redo composite operations.


Guillaume de Bure committed changes in [skrooge/plasma-dashboard] /applet/advice-qml:

Advice widget look is almost complete :)

Next: start implementing interactions...

Adam Pigg committed changes in [calligra] /migration:

Improve aesthetics of table import dialog by using an icon to indicate if the name exists while typing, and automagically guessing a best name.


Jean-Baptiste Mardelle committed changes in [kdenlive] /:

Start implementing a generic clip job framework that can be used
for various clip actions (proxy, stabilize, transcode cut,...)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 94ef978...
Jean-Baptiste Mardelle committed changes in [kdenlive] /:

Update GUI for editing transcoding profiles

Diffs: 1, 2, 3, 4, 5 Revision e74e612...

Networking Tools

Vishesh Handa committed changes in [telepathy-nepomuk-service/dms-port] nepomuk-storage.cpp:

Implement all of the setContact* functions

The contact status and presence are now correctly updated in Nepomuk.
We even have avatars.

We do not have: Groups, and publishesPresenceTo. They seem to complex
to implemented with just the DMS functions. It would be a lot easier
to just use the original Nepomuk::Resource API.

Daniele E. Domenichelli committed changes in [telepathy-filetransfer-handler] /:

Merge branch 'resume_filetransfer'

Reviewed-by: Dario Freddi
REVIEW: 103466

Joris Guisson committed changes in [libktorrent] src/tracker/tracker.cpp:

Allow i2p addresses as a custom ip in tracker announces


Sune Vuorela committed changes in [prison] /:

Implement Code39 barcodes. Code by Geoffry Song

This is done as part of Google Code-In by student Geoffry Song and will
be part of next release of libprison.

Diffs: 1, 2, 3, 4, 5, 6 Revision db527ff...
Sune Vuorela committed changes in [prison] /:

Implement Code93 barcodes. Code by Geoffry Song

This is done as part of Google Code-In by student Geoffry
Song and will be part of next release of libprison.

Diffs: 1, 2, 3, 4, 5, 6 Revision 7cf8aee...
Michel Ludwig committed changes in [kile/livepreview] /:

Add some first live preview-related configuration options to the configuration dialog.

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


Davide Bettio committed changes in /trunk/KDE/kde-wallpapers:

Added new wallpaper from the contest: Flying Field

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


KDE Base

Jekyll Wu committed changes in [kde-workspace] klipper/klipper.cpp:

Remove the code for backwards compatiblity with history data without CRC

That backwards compatibily problem was introduced long time ago. It
should be safe to assume all history data have CRC checksum now. So
remove it.


Matěj Laitl committed changes in [amarok/strohel-for-2.6] /core-impl/collections/mediadevicecollection:

media device collections are never organizable: remove a bunch of cruft

The only media device collection that was organizable was the UMS one
which was rewritten not to use media device collection (thanks, Bart!)
and is safe to assume that no new media device collections will be
organizable (in fact, the whole framework should be labelled

Methods removed from MediaDeviceCollectionLocation we either made
unneeded or had the same implementations as superclass methods.

Copying/deleting tracks to/from iPod still works, BTW. :-)

Diffs: 1, 2, 3, 4 Revision 03b5003...


KDE Base

David Faure committed changes in [kdelibs/frameworks] /:

Port KMimeType to QMimeType, step 2

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


Allen Winter committed changes in [kdepim/KDE/4.8] /:

Remove groupwise+groupware wizard in kresource in the 4.8 release too.
Albert and I discussed this and agreed it would be best.


Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 87 more) Revision b16c8d7...
Dan Vratil committed changes in [akonadi-google/v0.3] /:

Refactor and rename rest of libKGoogle core

- KGoogleAccessManager is now KGoogle::AccessManager
- KGoogleObject is now KGoogle::Object (and objects are in KGoogle::Objects namespace)
- KGoogleService is now KGoogle::Service (and objects are in KGoogle::Services namespace)
- KGoogleRequest is now KGoogle::Request
- KGoogleReply is now KGoogle::Reply

All classes were ported to the new authentication framework, KGoogle::Request now holds
KGoogle::Account which AccessManager then uses to obtain authentication and/or automatically
refresh it's tokens if neccessary.

Networking Tools

Andrea Diamantini committed changes in [rekonq] CMakeLists.txt:

rekonq 0.8.57

"K-mas" development edition :)
Various cleanup, bugfixes and small improvements here.

Have nice holidays, rekonquers!


Dirk Mueller committed changes in /tags/KDE/4.7.95:

KDE 4.8.0 RC1 (4.7.95)

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