Issue 271

20th January 2013 by KDE Commit-Digest Team


Marta Rybczynska
Jürgen Appel
Thibaut Gridel
Danny Allen
Jos Poortvliet

This Week...

Marble adds Link and NetworkLink tag handing and geodata backends. KWin introduces a dedicated borders element in Aurorae. Ktp makes it possible to have some pinned contacts, merges big model refactor. Calligra visualizes variables and other inline objects, adds "Fit Text Width" zoom mode. KDE-PIM moves all folder options into one Properties dialog.


Commits 2800 by 178 developers
Open Bugs 21024
Open Wishes 15772
Bugs Opened 338 in the last 7 days
Bugs Closed 375 in the last 7 days

Commit Summary

Module Commits
Files Developer Commits
Laurent Montel
Chetan Khona
Burkhard Lück
Alex Fiestas
Friedrich W. H. Kossebau
Friedrich Karl Tilman Pülz
René Küttner
Marco Martin
Marcelino Villarino Aguiar
Albert Astals Cid

Internationalization (i18n) Status

Language Percentage Complete
Portuguese (pt)
Ukrainian (uk)
Swedish (sv)
Estonian (et)
Polish (pl)
Spanish (es)
Dutch (nl)
German (de)
French (fr)
Italian (it)

Bug Killers

Person Bugs Closed
Martin Gräßlin
Jekyll Wu
Christoph Feck
David Edmundson
Vishesh Handa
Laurent Montel
Andrea Diamantini
Myriam Schweingruber
Thomas Lübking
Dominik Haumann

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools



[] [] []   []



KDE Base

[] [] []   []


[] [] []   []


[] [] []   []





Networking Tools

[] []    

User Interface



[] []    





There are 58 selections this week

Bug Fixes


Akarsh Simha committed changes in [kstars] /:

Check if raster image export succeeded and report if there are any errors.

For some strange reason, there seems to be no way to check if the SVG
export succeeded or not.


Aurélien Gâteau committed changes in [gwenview/KDE/4.10] /:

Do not get fooled by wrong filename extensions

KDE Base

Dawit Alemayehu committed changes in [kdelibs/KDE/4.10] kioslave/http/kcookiejar/kcookiejar.cpp:

Initialise the mCrossDomain member variable in the cookies

For several months now, all my cookies would be forgotten after a kded
restart. After debugging the problem, turns out that mCrossDomain was
of value 127, which makes no sense for a boolean.

This variable has been present since 2002, which means that the
"reject cross domain cookies" feature has been broken for 10 years and
8 months.

FIXED-IN: 4.10

(cherry picked from commit 794b14b8af5b610fc3eed6945f93f0c69dd49a9a)

Jekyll Wu committed changes in [kde-runtime] /:

Use a more meaning name for the uploaded attachment

It doesn't feel good when you want to save all attachments within one
report and find they are all named as "drkonqireport.txt". Now make it
use the same filename as suggested when saving the report locallly.

Diffs: 1, 2, 3, 4 Revision 3d3baaa...
Thomas Lübking committed changes in [kde-workspace] ksmserver/screenlocker/greeter/screensaverwindow.cpp:
Jon Severinsson committed changes in [kdelibs/frameworks] kpty/tests/kptyprocesstest.cpp:

Reduce risk of timeout and race condition in KPtyProcessTest

Increase timeout, and sleep a while after waitForReadyRead() returns,
as it only guarantees that *some* data is available to read, while
the test assumes that a full line of data is available to read...

This reduces failure rate from 10% to 2% on my setup.

REVIEW: 108385

Alex Merry committed changes in [kde-workspace/KDE/4.10] plasma/generic/dataengines/mpris2/playercontainer.cpp:

Fix handling of encoded URIs in mpris2 engine

A couple of entries in the metadata property of the MPRIS2 interface are
sent as encoded URIs. We decode these in the mpris2 engine, replacing
the QStrings with QUrls that can be used easily by the consumer of the

This fixes the display of album artwork in the Now Playing widget when
mpris:artUrl contains %-encoded non-ASCII characters.

FIXED-IN: 4.10

Simeon Bird committed changes in [kde-baseapps/KDE/4.10] dolphin/src/views/versioncontrol/versioncontrolobserver.cpp:

A crash occurs if updateItemStates runs between the
UpdateItemStatesThread finishing and the finished() signal being

In this case, a new thread was not created, because the old thread
still existed. However, pendingItemStatesUpdate was not set, because the
thread was not running. Instead, the old thread was restarted.

This meant that the finished() signal from the first run could be delivered
while the thread was running for a second time, causing the thread to be
deleted while still running and thus a crash.

Solution: set pendingItemStatesUpdate if the thread is non-null,
even if it is not running, knowing that slotThreadFinished has not yet run,
and will call updateItemStates itself.

FIXED-IN: 4.10
REVIEW: 107656

Jekyll Wu committed changes in [kde-runtime] /:

Make the BugzillaManager constructor requiring explicit URL parameter

It doesn't feel good to use a hidden default for and
require a second setCustomBugtrackerUrl() call to set a different
bugtracker address. That even doesn't take into consideration
the fact that the curent implementation of setCustomBugtrackerUrl() is
just broken: it just change the url, while the rpc connectin is still
for the old address.

In general, I think it is better to see and use BugzillaManager as
something dedicate to one tracker once it has been created. That is
especially true if we want to make it fetching and rememering more
information from the bug tracker: product information, supported
keywords, supported seveirty values, etc. It is better to create another
instance for another bug tracker instead of reusing one existing instance.

Diffs: 1, 2, 3, 4 Revision cde0c00...
Oliver Henshaw committed changes in [kde-workspace/KDE/4.10] ksmserver/screenlocker/ksldapp.cpp:

Stop grace period on unlock

It was safe to leak the grace timer when it was in the lock process,
since it was killed on unlock. Now it is not.

A password should always be required if the screenlocker is explicitly
triggered; but a screenlocker invoked while the grace timer from a
previous invocation is still active can be dismissed without a password,
at least for a short while. This also meant that the screenlocker
keyboard shortcut would not work until the grace timer expired.

REVIEW: 108425

FIXED-IN: 4.10.1


Allen Winter committed changes in [kdepim-runtime/KDE/4.10] /:

make parentless KPasswordDialogs modal, with the hope the user
will be less likely to miss them now.

FIXED-IN: 4.10


Arjen Hiemstra committed changes in [calligra/krita-sketch-rempt] libs/flake/KoToolProxy.cpp:

Fix touch event handling so painting works in sketch.

Pierre Stirnweiss committed changes in [calligra/textshape-stylesWidget-PierreSt] libs/kotext/KoTextEditor_format.cpp:

Fix merge style to caret without selection

The style was not properly merged to the caret if there was no selected

REVIEW: 108379

Dmitry Kazakov committed changes in [calligra/krita-fixed-transform-kazakov] /image:

Fixed a 10s freeze after every transform in the transform tool

Actually, the perspective worker shouldn't do anything when the matrix
is identity

Thanks David Revoy for reporting this bug!

Diffs: 1, 2, 3 Revision 5e8c66c...

Networking Tools

Andrea Diamantini committed changes in [rekonq] /:

Reimplement (in 2.x way) the ability to edit toolbar

Daniele E. Domenichelli committed changes in [ktp-text-ui/kde-telepathy-0.5] /:

Split backslash and escape filters

The backslash filter is now executed after that every other plugin has
This fixes a weird bug that allows to write as the conversation partner
if the emoticon set installed has an emoticon associated to a string
ending in "\".

Reviewed-by: David Edmundson

FIXED-IN: 0.5.3


Daniel Nicoletti committed changes in [print-manager/KDE/4.10] /:

Rely on cupsAdminGetServerSettings() return value to know if the request went fine since it might just read the local file

Daniel Nicoletti committed changes in [print-manager/KDE/4.10] /:

Fixed regression due to the lack of browsing queues that system-config-printer had


Development Tools

Michael Pyne committed changes in /trunk/KDE/kdesdk/scripts/optimizegraphics:

optimizegraphics: Add support for pngout and AdvanceCOMP.

The work and testing leading to this patch were created and graciously improved
after review by Bruno George Moraes. It adds several things:

- Usage of the pngout tool, written by the author of the Duke Nukem 3D game
engine. (pngout is free to download the binary of, but is non-Free software).
- Usage of the AdvanceCOMP tool, which is similar to OptiPNG, but uses the 7z
library (so it optimizes not just PNG but also things like .svgz and .mng).
- Parallel execution of these tools to recursively optimize a subdirectory of

I've further improved it to meet coding style, remove a needless bash-ism, fix
some of the math code, and quiet the output a bit. Additionally it will use any
tools you have available instead of requiring you to run non-Free software to
work at all.

With parallel execution it is important to limit the number of simultaneous
processes xargs will run, we try grepping in /proc/cpu using Bruno's code, but
I limit it further to 4 tasks if that fails.

Thanks to Bruno for the patch and his patience, I figure this will probably be
one of the last SVN commits to kdesdk ever before we convert to git.



Mohammed Nafees committed changes in [marble] tools/stars/stars.cpp:

Marble Sky: Colorful stars

REVIEW: 108410

Mohammed Nafees committed changes in [marble] /dso2kml:

Marble Sky: new tool to parse DSOs to KML

REVIEW: 108387

Thibaut Gridel committed changes in [marble] /plugins/render/osmannotate:

OsmAnnotate: use a real GeoDataDocument

Akarsh Simha committed changes in [kstars] /:

Render stars as vectors whenever possible, when exporting sky image.

Stars are not drawn as vectors while rendering the SkyMap, for
efficiency. Bitmap stars render faster on the SkyMap.

Stars are also not drawn as vectors when using the "Real Colors" mode,
because it is harder to render those stars as vectors, although not
impossible. This is a future feature idea.


Diffs: 1, 2, 3 Revision 386e1a9...
Thibaut Gridel committed changes in [marble] src/plugins/render/osmannotate/OsmAnnotatePlugin.cpp:

OsmAnnotate: save from annotation document

Torsten Rahn committed changes in [marble] /:

- Improve the Astro-Coordinate Grid (Right Ascension / Declination)

- Don't show the Meridian
- Support dynamic grid with gridlines for hours, minutes, seconds
- Fast rendering
- Proper lonToString for Right Ascension
- Activate Astro Notation/Grid automatically with sky map themes.

Thibaut Gridel committed changes in [marble] src/plugins/render/osmannotate/OsmAnnotatePlugin.cpp:

OsmAnnotate: put the document into the treemodel

Dennis Nienhüser committed changes in [marble] /:

Link and NetworkLink tag handler, geodata backends and test case.

REVIEW: 108339
REVIEW: 108366

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 22 more) Revision 8ee5889...
Mohammed Nafees committed changes in [marble] tools/constellations2kml/constellations2kml.cpp:

Marble Sky: Constellation Labels

REVIEW: 108384

KDE Base

Andrea Scarpino committed changes in [kde-baseapps/KDE/4.10] dolphin/src/settings/startup/startupsettingspage.cpp:
Shaheed Haque committed changes in [kate] /plugins/pate/src/plugins/gid:

Get running on Python3

Adapt to semantics changes in Python3. Now works on both Python3 and 2!

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

Introduce a dedicated borders element in Aurorae

The Borders element provides the four properties:
* left
* right
* top
* bottom

And is used directly in Decoration for all the different kind of settings
following this pattern:
* normal borders
* maximized borders
* padding
* extended borders

These properties replace the existing used borderLeft & co. This makes
the code in the C++ side easier as the various border elements can now be
read with a shared implementation.

The Borders provide some convenient methods to set the sizes of the
borders. E.g. it's possible to just set the side borders to a specific
value. This should simplify the implementation of the no-side-borders
feature in new decoration.

The aurorae qml and plastik are adjusted to use the new way. Existing
3rd party decorations would break, but there's a good reason why there's
no documentation for QML based decorations ;-)

REVIEW: 108436

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

Use translucent/dialogs/background elements where possible

In effects it's obvious that compositing is enabled, so specifying the
translucent element is no problem.

In tabbox a context property "compositing" is injected which decides
whether "translucent" or "opaque" elements should be used. Here the
translucent elements are only used if the Blur effect is available - for
this a new Effect::Feature Blur is introduced and in addition it is
tested whether the theme provides the translucent element.

Also the masking is adjusted to ensure that only the shadow is not

Reason for this change is that Plasma theme seems not always to pick up
whether compositing is used when used from inside KWin. It does not cover
the Desktop Change OSD which uses PlasmaCore.Dialog and there we cannot
(yet) inject that we use compositing.

Overall I'm quite unhappy with this patch and I do hope we can fix it in
the proper place in the lifetime of 4.10 and revert this patch.

REVIEW: 108438

Martin Gräßlin committed changes in [kde-workspace/KDE/4.10] kwin/scripting/scripting.cpp:

Support arrays in callDBus method of KWin Scripting

Thanks to Jan Palus for providing the patch.

FIXED-IN: 4.10

Jekyll Wu committed changes in [kde-runtime] /:

DrKonqi now makes use of the new "drkonqi" keyword on

That makes it easier to identify and search for reports created by
DrKonqi. That should be helpful for developers to collect statistics and

REVIEW: 280145

FIXED-IN: 4.11.0

Alex Fiestas committed changes in [kscreen] CMakeLists.txt:

Added console from libkscreen

We are going to use it as a tool to debug the kscreen project
instead of debugging only libkscreen. Once libkscreen is ready for
prime time we'll create another tool for it.


Laurent Montel committed changes in [kdepim] messagecomposer/imagescaling/imagescalingwidget.ui:

Start to implement rename resized image

Aleix Pol Gonzalez committed changes in [ktp-common-internals] /:

Make it possible to have some pinned contacts

Provide the tools to make it possible to have a list of favorite contacts
to chat with in the plasmoid for more fluid conversations.

REVIEW: 108401

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 8379844...
Andre Heinecke committed changes in [kdepim/enterprise/e3] /:

Make it optional to remove own identites from replytoAll

While the default behavior will stay the same it is now
optional to remove all your identities when using reply to all.

If the option is unchecked only the identity that is initially
set as the reply identity is removed from the recipient list.


Diffs: 1, 2, 3, 4 Revision 1765dd3...
Dan Vratil committed changes in [libkgapi/LibKGAPI/0.4] libkgapi/services/contacts.cpp:

Display gContact$userDefinedField in KAddressbook

FIXED-IN: 0.4.5


C. Boemann committed changes in [calligra] /:

Visualize variables and other inline objects (aka forms)

Can be turned on and off via it's own entry in view menu


Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision e992d10...
C. Boemann committed changes in [calligra] /:

Introduce a "Fit Text Width" zoom mode

This also changes how the other "fit" modes work: We now zoom in to the fit the
max pagesize of the currently shown pages. Previously we zoomed in to the max
pagesize of the entire document.

The page counter in the lower left of Words' window now show the scroll position
and not the cursorposition. Previously it was a weird mix

The page counter also now shows ranges so that if pages 3,4,5 are shown, the counter
says "3-5 of 47"

REVIEW: 108420

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 8958e26...
Mojtaba Shahi committed changes in [calligra/text-annotations-ingwa] /:

Write annotation content into main document, it is just for first step, we should can use TextTool
to edit annotaion content. For now we have a simple ui to write annotation content and we can save it.

Diffs: 1, 2, 3, 4, 5 Revision 605c101...
Cristian Oneț committed changes in [kmymoney] /:

Allow to retrieve an account trough the statement interface using
the account's KVP and not only the KVP in the 'ONLINEBANKING'
node. Also added some extra comments vs. the review.

This enables importers that can access the IBAN from the external
source to automatically import the data in the correct account if
the user did fill in the IBAN field in kmymoney.

REVIEW: 103244

Networking Tools

Dan Vratil committed changes in [ktp-contact-list] /:

Copy or move contacts between groups by dragging

When user holds Shift on drag start, no popup menu appears and
contact is moved from source to target group.
When user holds Ctrl on drag start, no popup menu appears and
contact is copied to target group.
When user holds no modifier on drag start, a popup menu appears
when contact is dropped, allowing user to choose whether to
move or copy contact to target group.

REVIEW: 108432

David Edmundson committed changes in [ktp-text-ui] /:

Show icon in channel contacts list when a user is typing in a group chat

REVIEW: 108486


Daniel Nicoletti committed changes in [apper] /:

Add a feature to tell the user to refresh his cache after a repo change

Diffs: 1, 2, 3, 4 Revision 7a63389...
Friedrich Karl Tilman Pülz committed changes in [publictransport] /:

Add busy/error widget for route data, fix height of news

Show a busy widget while loading route data as additional data.
Show an error label on errors while loading route data.
Store provider features in the PublicTransportModel to know
whether or not route data may be loaded as additional data.
Allow more height for journey news text.

Diffs: 1, 2, 3, 4, 5 Revision 57e89eb...
Friedrich Karl Tilman Pülz committed changes in [publictransport] /script:

Use global timeout for network requests and script execution

Do not poll while waiting, simply wait for the signal.
A global and longer timeout of 60 seconds is now used for both
asynchronous network requests and script execution, which may
also include synchronous network requests. Properly set an
error message if the timeout expires.

This makes the engine also usable with very slow web servers
or internet connections (previously the timeout was around 15s).

Do not lock the mutex while the script gets evaluated in
ScriptJob::loadScript(). Access the request object of script
jobs only with locked mutex.



Akarsh Simha committed changes in [kstars] /:

Separating the image export dialog from the image exporting backend.

Most of the code was just reused from class ExportImageDialog to
create class ImageExporter

The backend was separated so that the exporting of images can be
scripted via DBus without any user intervention necessary

No regressions were observed.

Diffs: 1, 2, 3, 4, 5, 6 Revision c216ad1...

KDE Base

Sebastian Kügler committed changes in [kde-workspace/plasma/sebas/desktop-qml] /desktop/containments/desktop-qml/package/contents/ui:

Big cleanup

Remove unneeded objects, properties, rename a few ones to better reflect
the latest changes. 200+ lines down. :)

Diffs: 1, 2, 3, 4 Revision d75236f...
Sebastian Kügler committed changes in [kde-workspace/plasma/sebas/desktop-qml] /desktop/containments/desktop-qml/package/contents/ui:

Sizing improvements

- make handlewidth adjust to iconsize
- less magic numbers
- applethandle buttons now animate with growing handle
- coding style here and there
- shorter move duration (75msec)
- use hover svg item instead of rounded rect for halo -> Way spiffier
- halo opacity is configurable
- immutable means: item doesn't grow

Diffs: 1, 2, 3, 4 Revision b2559b8...


David Edmundson committed changes in [ktp-common-internals] KTp/CMakeLists.txt:

Merge big model refactor.

Replace all the models used to power KTp

Subclass of Tp::Contact (KTp::Contact) to power the model
Create a list of contacts ContactListModel
Which can be grouped into AccountsTreeProxyModel or GroupsTreeProxyModel

REVIEW: 107377
REVIEW: 107629



Dmitry Kazakov committed changes in [calligra/krita-fixed-transform-kazakov] /plugins/tools/tool_transform2:

A bit of splitting to the transform tool

It makes the file about 100 lines smaller and fixes rounding bugs.



Illya Kovalevskyy committed changes in [marble] examples/cpp/vehicletracking/vehicletracking.cpp:

Vehicle Tracking Example is here!

REVIEW: 108357

KDE Base

Jekyll Wu committed changes in [kde-runtime] drkonqi/reportassistantdialog.cpp:

Add a hidden option for skipping the introduction in reporting assistant

That introduction page is not really useful/needed for users and
developers who have used drkonqi for enough times.

No GUI change involved, so it is now a hidden option in drkonqirc:


REVIEW: 108454

FIXED-IN: 4.11.0


Jonathan Marten committed changes in [kdepim] /:

Embed "Expiry" into "Folder Properties"

The original "Expire" actions (in the "Folder" menu bar menu and
folder list popup) remain present, they open the "Folder Properties"
dialogue at the appropriate tab.

As noted in comments in KMMainWidget::setupActions(), there is
still inconstency between the wording of the action and what it does.

Hooray, a seven year old wish finally implemented!


Jonathan Marten committed changes in [kdepim] /:

Embed "Assign Shortcut" into "Folder Properties"

The original actions (in the "Folder" menu bar menu and folder
list popup) remain present, they open the "Folder Properties"
dialogue at the appropriate tab.



C. Boemann committed changes in [calligra] /:

Change KoTextAnchor into three new classes
KoShapeAnchor - which in theory should be moved to flake later
KoAnchorInlineObject - which is the kotext part responsible for being an inline (asChar) object
KoAnchorTextRange - which is the kotext part resposible for toChar and toParagraph anchoring

Now the user no longer have to contend with invisible characters acting as anchors. These kinds
of anchors are now placed at a cursor position instead (using KoTextRange)

This also has the benefit that we can support toParagraph anchoring a bit better, as it's no
longer possible to move the anchor character away from the paragraphs first position.

REVIEW: 108459

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