Issue 280

24th March 2013 by KDE Commit-Digest Team


Marta Rybczynska
Jürgen Appel

This Week...

KDE-PIM implements scam protection. LightDM adds an ability to install themes. Work on Nepomuk -Controller QML applet and DataEngine. Skrooge gets new "capitalize" function in the "Search & Process" panel. Calligra Coffice sees active development with multiple new features. Print Manager includes more information in the print job view. Wacom tablet support allows the user can now invert the scroll direction of the touch device again.


  Bug Fixes Features Optimization Security Other



Development Tools

[] [] []   





KDE Base

[] []    []


[] []    


[] []    





Networking Tools


User Interface



[] []    




  []   [] []

There are 47 selections this week

Bug Fixes

Development Tools

Kevin Funk committed changes in [kdevplatform/1.5] /grepview:

Fix issue in grepview plugin

It was impossible to replace "\n" with "\n\n" before.

I really don't know what the code path replacing '\\' by '\\\\'
was supposed to do. It replaced characters in the replacement string in
case the input regexp was marked with QRegExp::Wildcard. But I have no
clue why the replacement string should depend on that.

Add tests.

REVIEW: 109554


Gilles Caulier committed changes in [digikam] /:

Initialize MetadataSettings at showfoto startup
Move canvas Exif autorotate handing in applyStandardSettings()

FIXED-IN : 3.2.0

Gilles Caulier committed changes in [digikam] utilities/queuemanager/manager/workflowmanager.cpp:

Fix wrong QVaviant cast when Workflow is restaured from settings XML file

KDE Base

Thomas Lübking committed changes in [kde-workspace] /:

Depend fs layer upon active state, not stackorder

according to NETWM spec implementation notes suggests
"focused windows having state _NET_WM_STATE_FULLSCREEN" to be on the highest layer.
We'll also take the screen into account
The user set stacking (being raised) is not considered by the spec note
This behavior is also suggested by an old comment in activation.cpp, void Workspace::setActiveClient()

REVIEW: 109572
FIXED-IN: 4.11

Simon Paul St James committed changes in [kate] /:

Add some Vim auto-completion tests, and fix a couple of bugs - one especially annoying one is when completion is invoked automatically and we attempt to repeat it via '.' - only the leading portion that we had typed of the completion would be repeated, not the whole thing.

Also, begin work on making the completion list wrap-around: this currently fails as has not yet been committed.

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

Fix unredirected windows not redrawn after display resolution change

REVIEW: 109597

FIXED-IN: 4.10.2

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

Various fixes

- hack around missing when storing applet geometries (do we
need to reuse the config id? It seems we're fine without)
- improve applet loading: properly parent (we're reparenting twice right
now, but this seems necessary to get the applet rendered.

Applets now kind-of works:
- actions are disabled,
- layering and input seems fine (although some z's are still disabled --
- saving geometries and restoring multiple applets works
- resizing and moving behaves as expected

- fix actions
- Fix backgroundhints,
- verify that we can use translucentbackground
- add busyanimation
- check if immutability works
- try replacing the placeHolder with a shader to see if this is makes it more
- make placeHolder load on-demand
- simplify AppletAppearance
- configdialog is disabled due to a few crashers: move into config.qml
- ToolBox?


Laurent Montel committed changes in [kdepim/KDE/4.10] messageviewer/viewer_p.cpp:

Fix Bug 307818 - Fishing protection: KMail displays title in link not href

FIXED-IN: 4.10.2

always shows url and not title

Lasath Fernando committed changes in [ktp-common-internals] KTp/message-url-filter.cpp:

Make UrlFilter ignore emails

It screws them up anyway because of the '>' at the end. We'll make
a separate filter for emails that deals with them better later.

Sandro Knauß committed changes in [kdepim/KDE/4.10] /:

Fixing newline issue with mailcomposer

Newlines for PGP inline signed/enc+signed mails are wrongly handled.
Newlines are replaced by <CR><LF> before creating the signature. This is
not recommended for inline messages.

FIXED-IN: 4.10.2
REVIEW: 109634

Laurent Montel committed changes in [kdepim/KDE/4.10] kmail/kmmainwidget.cpp:

Fix Bug 314382 - Unable to select multiple emails and then click right and select save attachments to save all attachments

FIXED-IN: 4.10.2

Grégory Oestreicher committed changes in [kdepim-runtime/KDE/4.10] resources/dav/resource/davgroupwareresource.cpp:

Don't add mime types to the root collection

This seem to have many side effects, and the issue
that this was meant to address seems to have been
fixed since.

FIXED-IN: 4.10.2

Laurent Montel committed changes in [kdepim] /:

Fix Bug 57983 - "Suggest automatic display" in the "attach file" dialog

FIXED-IN: 4.11


Dmitry Kazakov committed changes in [calligra/calligra/2.6] /ui:

Fixed the input manager on windows

There are two points there:
1) Windows defers the mouse events generated by the ignored tablet events,
so the former ones arrive reordered.
2) The flow of tablet move events is too high, so there is a special option
"hiResInputEvents" introduced in the action to handle it. All the actions
except painting itself use compressed mouse move events instead.


Alex Merry committed changes in [k3b] src/misc/k3bimagewritingdialog.cpp:

If we cannot read an image file at all, tell the user this

This allows the user to distinguish between the file being corrupt and
the permissions being incorrect.



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

Make sure we don't crash if the application is closed before we process a CUPS request

Jan Lepper committed changes in [krusader] /:

FIXED: [ 189943 ] toolbar position settings are not remembered


Development Tools

Sven Brauch committed changes in [kdevplatform] vcs/vcspluginhelper.cpp:

Toggle annotation bar if the "show annotation" button is clicked twice

Previously, it would just hide and then re-show the annotation bar.
This change is also very useful for the new possibility to add
a shortcut to show the annotation bar.



Akarsh Simha committed changes in [kstars/bleeding-edge] /skyobjects:

+ Adding a bunch of fields for Deep-Sky and generic objects.

+ Changing the way magnitudes are interpreted. The old "Magnitude"
field is now the sortingMagnitude, which is used for determining
whether the object is visible or not, etc. It need not be scientific
/ accurate / reliable data. We could, in principle, use some
"handwavy" guesses for this field. (eg: if the blue magnitude is
available, we may "guess" the visual sorting magnitude by guessing
an appropriate B-V color index. See, eg DeepStarComponent)

The real Magnitudes are now stored in a Hash. Those are the values
that are fit for real display.

The question of StarObject:

StarObject already has support for B and V magnitudes separately. The
question is, should we migrate that to the hash? We have many stars --
not sure if it is optimal to migrate the star magnitudes into the
magnitude hash. Besides, stars are replicated using the placement new
operator, so I'm unsure whether that would lead to any additional

Any ideas from the list?

We could just override mag( band ) in StarObject if necessary.

Diffs: 1, 2, 3 Revision 1774d14...
Akarsh Simha committed changes in [kstars/bleeding-edge] kstars/ksnumbers.cpp:

Initializing the (ecliptic) longitude of perihelion of the earth.
Data is from:
Hopefully, we can believe the GSFC :)

The aberration computation relies on this, because the aberration
ellipse (as I understand it) is a downscaled "copy" of the earth's
orbit. Seemingly, this was never initialized, so the orientation of
the ellipse was off by 103 degrees!

Currently, we set it to the constant value from J2000.0, but it does
change with time, mostly because of perturbations from the gravity of
other planets (most notably Jupiter) and slightly because of general

According to Wikipedia:
the perihelion completes one revolution in 112,000 years, which leads to a value of 11.6 arcseconds / year.
So the orientation of the aberration ellipse is off by about 11.6 arcseconds a year. This is 5.6e-5 radians.

Accordint to Wikipedia on aberration: and according to
ksnumbers.cpp:157, the constant of aberration is about 20.5
arcseconds, and Wikipedia explains that this is the "radius" of the
approximate circle traced by the stars.

The annual correction to the coordinates of a star due to the
precession of earth's perihelion would be, in the worst case (assuming
linear term in a Taylor expansion of the trigonometry involved), about
(5.6e-5)*0.0167*20.5 arcseconds / year = 1.83e-5 arcseconds/year.
(The 0.0167 is the eccentricity of the earth. Any corrections should
be in the worst-case linear in the eccentricity.)

If we want to be accurate for 10,000 years, we may still get away
without accounting for this, but if our order of magnitude estimate
above is incorrect over those longer timescales, it may be comparable
to typical atmospheric seeing.

But this should be fine for now! Unless we can find the algorithm for
this... :D

Should be backported to 4.10 and cherry-picked into master.

KDE Base

Sebastian Kügler committed changes in [plasma-framework] /shell:

logic to load Plasmoids

- add a mousearea to the delegate that calls
- in widgetsexplorer, locate the plasmoid, load it via
Applet::loadPlasmoid(), then add it to the containment
- In showWidgetExplorer, we set the widgetExplorer's containment to the
sender(), if there's no containment set, we can't add the applet. This
way, the widgetexplorer knows which containment the applet should go to

This makes it possible to add Plasmoids via the GUI :-)

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

More improvements

- animate appearance of applets: beautiful how this can be done with
just two lines of code :)
- remove top-level signals, not useful
- correctly set available space when resizing
- show temp icon for runassociated app, until I find out why "maximize"
doesn't load

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

Animate removal of applets

We delay triggering the action until we're done animating, then trigger
the action which removes the applet. Simple, elegant, works. :)

Vishesh Handa committed changes in [nepomuk-core] /:

New Tool: NepomukCmd

This NepomukCmd tool is very similar to the sopranocmd tool execept for
the fact that it currently only supports the query command. Also,
inference is disabled by default. It can be enabled with the --inference

We can later extend this tool to provide basic data management functions
as well.

Diffs: 1, 2, 3 Revision 067de75...
Ignacio Serantes committed changes in [nepomuk-core] services/fileindexer/indexer/taglibextractor.cpp:

Added support to multiple artist and genre frames in MP3, Ogg and FLAC audio files.
REVIEW: 109398

Jörg Ehrichs committed changes in [kde-workspace/nepomukcontroller-qml] /generic:

Add Nepomuk-Controller QML applet and DataEngine

The Nepomuk DataEngine allows to start/stop/suspend/resume/configure
the nepomuk indexer services and retuen some basic information about

The QMl applet is ment to replace the current systray controller to
allow the user to see what nepomuk is doing in general. This helps
each user to understand why nepomuk is working and also to suspend
all tasks if the user needs his cpu resources at the moment.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 9 more) Revision f4e98a8...
David Edmundson committed changes in [lightdm] /:

Add ability to install themes

Add a button in the UI "install theme"
This uses KAuth to install Plasma Packages to a system install dir

Also ammended ThemesModel to search all paths

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision d96034c...
Sebastian Kügler committed changes in [plasma-framework] /shell:

Widgetexplorer - wiring up

- add explorer subdirectory to shellpackge, add widgetexplorer filedefinition
- hook up containment added with a connection to showing the widget
- memory management for widget explorer: create on demand, delete after
close: Maybe we want to cache it? For now, go for reduced memory
consumption rather than quick opening, and see how slow this might
- add QQuickView for widget explorer in desktopcorona

With this patch, I can open a widget explorer window from the QML
containment. Of course, the widget explorer is just a pink window right

Diffs: 1, 2, 3 Revision 94d14ac...


Grégory Oestreicher committed changes in [kdepim-runtime/KDE/4.10] resources/dav/common/davutils.cpp:

Convert VCard to UTF-8

FIXED-IN: 4.10.2

Laurent Montel committed changes in [kdepim] /:

Implement scam detection. Now we have a warning when we detect that

a message can be a scam.
(for the moment we detect if an anchor has a title and it shows an url
which is not the url define in href)

We will improve it.

Sandro Knauß committed changes in [kdepim/KDE/4.10] messageviewer/objecttreeparser.cpp:

Reply to decrypted mail quotes encrypted text

Replying messages with have the decrypted test in body and not the
encrypted message.

FIXED-IN: 4.10.2
REVIEW: 109575

Alex Fiestas committed changes in [kdepim-runtime/kde-accounts-410] /dav/resource:

Initial support of dav resource for Accounts

Since we do not want to port the whole resource to Accounts I have
taken the following approach:

When the configuration is reloaded:
-Remove any remoteUrl that belong to a disabled service
-Create new remoteUrl for newly enabled services

Those urls that belong to Accounts have $accounts$ as the username so
we will be able to continue having the same functionality we had until
now, plus Accounts.

In the future I'd like to port the resource completely but future me
will take care of that.
(cherry picked from commit f0d34c90a03a9d6b165cfd1f4befdae0e97f6f5c)


Diffs: 1, 2, 3, 4, 5 Revision ed80192...
Laurent Montel committed changes in [kdepim] /:

Start to implement a scam detection

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 66b209a...
Frank Osterfeld committed changes in [kdepim-runtime/akregator_port] /:

Start TinyTinyRSS resource

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


Dmitry Kazakov committed changes in [calligra/krita-testing-kazakov] /:

Added an ability to pick colors from the Color To Alpha filter

This patch makes several quite significant changes:
1) KisToolPickColor now saves (!) its configuration to the disk! So you'll
have your options loaded on the next run of Krita
2) KisToolPickColor now has two sets of settings: for temporary activation
(the one used in filters) and for usual activation. They both are
3) The KoToolManager's methods for temporary switching of the tool are now
made public. I guess, they were made private initially, because there was
no usecase for it those days.

So the interaction with the color2alpha filter is the following:

1) You open a filter
2) The filter activates the picker tool
3) You can pick colors and change options of the tool: these changes will
not affect your normal settings
4) When you press Ok/Cancel the original tool is reactivated

Known bugs:
Color Picking doesn't work with Adj. Layers and Filter Masks :(

Stephane Mankowski committed changes in [skrooge/Feature] /:

feature: New "capitalize" function in "Search & Process" panel

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision f26418d...
Sebastian Sauer committed changes in [calligra/coffice] /:

Land milestone 2.96

* Fix crash on reload
* Made pinch-to-zoom working as expected
* Render pages only once they become visible
* Use proper QML UI for fileopen rather then QWidgets based QFileDialog
* Lot of improvements to the QML UI
* Introduce Settings as future backend for QML+KConfig
* Added PathShape and VectorShape plugins
* Made Variables plugins proper register/display
* Added progressbar
* Android API-level is 7 now what means it works on Android >=2.1

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

Networking Tools

Tony Murray committed changes in /trunk/KDE/kdenetwork/krdc/rdp/rdppreferences.ui:

Allow for 32-bit color. Which is 24-bit color with an alpha channel.

David Edmundson committed changes in [ktp-kded-module] /:


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

Add a column to show the hostname which originated the print job


Ashwin Rajeev committed changes in [knetwalk] /:

Port KNetWalk to KgSound

Port KNetWalk sounds to the KgSound class of the KDE Games library.
Also add option to enable/disable play sounds.

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


Alexander Maret-Huskinson committed changes in [wacomtablet] /:

Adds support to invert the scroll direction of the touch device.

The user can now invert the scroll direction of the touch device again.

Alex Fiestas committed changes in [web-accounts] src/daemon/daemon.cpp:

Look for the serviceType instead of service Name

This makes it waaaay easier to specify supported services in the
resources since instead of having to add one mimetype for service it
will be enough to add one with the serviceType. For example:


Using mimetypes for this is still hackish but it will do for now.


Development Tools

Sven Brauch committed changes in [kdev-python] duchain/expressionvisitor.cpp:

Fix a performance issue with multiple calls in a chain

see unit test from previous commit for an example.

The cause for the issue was calling the parent visitor in the Expression
Visitor *plus* creating an extra expression visitor. Creating the
extra visitor is bad enough (n**2 compexity) but additionally calling
AstDefaultVisitor::visit... will blow it up to exp(n).



Sven Brauch committed changes in [attica] /:

Do HTTP basic authentication the right way

Until now, attica wrote the credentials into the URL and into the header
on every request as soon as the user had entered them.
This could lead to warning dialogs from the HTTP kioslave about
possible address spoofing, since credentials must only be sent if the
server requests them explicitly. The QNetworkAccessManager class
being used by the libary anyways provides an easy way to do this:
it emits a signal when the server asks for username/password, and
all you have to do is connect to that signal and fill out the credentials
in the argument it gets.
To keep this change as local as possible, the credentials are stored in
the User attribute fields of the QNetworkRequest, because then they
can be both set and read in one central place.

Diffs: 1, 2, 3 Revision 4562307...


KDE Base

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

KDecorationBridge becomes private again

With 4933f08ae49328e36e2654434d28917310882ee5 the KDecorationBridge
interface became public to allow Compiz to easily implement the class.

>From a KWin perspective this change did not make much sense. The Bridge
is meant to be the interface towards KWin. It is an internal interface
and exporting it doesn't change the fact that it is internal.

The change got introduced in a time when it was still common to use
Compiz in the kde-workspaces. This has changed. None of the top ten
distributions on distrowatch are shipping the integration parts of Compiz
in an up to date version. Most distros are still on Compiz 0.8, which
requires manual patching to keep up with changes in the decoration API.
Distros on Compiz 0.9 are not shipping the KDE integration - this
includes Ubuntu.

Given this development it is no longer justified to have additional work
on KWin side and because of that the API which should be internal is
marked as internal again.

In case Compiz is still interested in providing the kde-window-decorator
the header file can easily be pulled from our repository. In addition
this patch includes a method
int decoration_bridge_version()
which returns the current bridge API version. Kde-window-decorator can
resolve this method and verify that the version is not higher than what
is supported. The version number is provided in kdecoration.h by the
define KWIN_DECORATION_BRIDGE_API_VERSION. We will increate the version
number once per release in case the bridge changed. 4.11 will have the
version number 1.

This change in behavior has been discussed and agreed in [1].

The change also unexports KDecorationBridgeUnstable. This class should
have never been exported, it was incorrect and the parent class had not
been exported anyway. This is just a note to indicate that it is not an
ABI break and there is no reason to increase the so number.


REVIEW: 109536

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


Marco Martin committed changes in [bodega-client] activeclient/package/contents/ui/components/SimplePage.qml:

new logo

M +- -- activeclient/package/contents/images/makeplaylive.png
A +- -- activeclient/package/contents/images/makeplaylive.svgz