Issue 331

16th March 2014 by KDE Commit-Digest Team


Jürgen Appel
Marta Rybczynska
Giacomo Barazzetti
Alex Fikl
Danny Allen

This Week...

KWallet add support for pam-kwallet in kwalletd. KWin introduces a X-KWin-Internal in kwineffect services. Krita shows rulers in Pixel unit by default (user can change this). Smp4k implements permanent (re)mounting of shares. Choqok adds preview of images from Twitter.


Commits 2094 by 158 developers
Open Bugs 21742
Open Wishes 16011
Bugs Opened 265 in the last 7 days
Bugs Closed 237 in the last 7 days

Commit Summary

Module Commits
Files Developer Commits
Laurent Montel
Albert Astals Cid
Aleix Pol Gonzalez
Andreas Cord-Landwehr
Harald Sitter
Vishesh Handa
Arjen Hiemstra
Alexander Richardson
Martin Klapetek
Boudewijn Rempt

Internationalization (i18n) Status

Language Percentage Complete
German (de)
Dutch (nl)
French (fr)
Bosnian (bs)
Estonian (et)
Galician (gl)
Danish (da)
Catalan (ca)
Greek (el)
Chinese Traditional (zh_TW)

Bug Killers

Person Bugs Closed
Jekyll Wu
Christoph Feck
Boudewijn Rempt
Vishesh Handa
Jan Kundrát
Marco Martin
Laurent Montel
Gilles Caulier
Martin Klapetek
David Edmundson

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools



  []    []



KDE Base

[] [] []   []


[] [] []   


[] []    []




  []    []

Networking Tools

[] []    

User Interface








There are 42 selections this week

Bug Fixes


Albert Astals Cid committed changes in [okular/KDE/4.13] core/textdocumentgenerator.cpp:

KDE Base

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

[kwin/aurorae] Default to no close on double click menu button

To increase consistency with other decorations and because it changes
the behavior of the menu button in an unexpected way we default to
double click menu button doesn't close the window.

REVIEW: 116716

Alex Fiestas committed changes in [libbluedevil] bluedevil/bluedeviladapter.cpp:

Do not set the Adapter back to powered

This seems to be some code back from the port, an
attemp to save the state.

Imho the library should not do that but rather an external
entity such the bluedevil daemon.

Alex Fiestas committed changes in [bluedevil] /wizard:

[wizard] Better handling when no adapter is usable

Be more careful if at any moment in the Discover page
the Adapter stops being usable.

Alexander Richardson committed changes in [kio] src/widgets/kpropertiesdialog.cpp:

Use KUser in KPropertiesDialog

This means no more need for getpwent(), etc -> works on Windows

Andrea Iacovitti committed changes in [kdelibs/KDE/4.12] khtml/ecma/xmlhttprequest.cpp:

Update list of forbidden headers as per spec (section 4.6.2).
Mozilla and Webkit additionally ban "content-transfer-encoding", we do the same.


Laurent Montel committed changes in [kdepim/KDE/4.13] libkdepim/widgets/spellchecklineedit.cpp:

Fix Bug 331959 - Multiline paste into subject-field completely strips linebreaks

FIXED-IN: 4.13

Jan Kundrát committed changes in [trojita] /:

Make it possible to work even when system claims there's no network

Guess what kinds of features Trojita gains when I'm travelling on a place.

REVIEW: 116832

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 3c4dc63...
Jan Kundrát committed changes in [trojita] /:

IMAP: do not leave lingering tasks behind when mailbox syncing fails

When the ObtainSynchronizedMailboxTask failed, the waiting KeepMailboxOpenTask
would not unregister itself from the Parser's maintainingTask, and therefore
further tasks kept getting queued "behind" this KeepMailboxOpenTask which stuck
for all practical purposes.

This does not fix #320713 (no UI popup is shown), but at least it makes sure
that further activity can be resumed. A proper indication should be added,


Dmitry Kazakov committed changes in [calligra] krita/ui/input/kis_input_manager.cpp:

Fix tablet support on MacOS

We have not got our own tablet support on MacOS, so there is no need
to block Qt's input events when the tablet is in proximity

Thanks rustem IRC user for pointing this out!

Boudewijn Rempt committed changes in [calligra] krita/image/kis_pixel_selection.cpp:

Do not let the selection grow bigger than the image on invert

Patch by Matthias, thanks!

Dmitry Kazakov committed changes in [calligra] krita/plugins/formats/psd/psd_layer_record.cpp:

Fixed loading of multilayered PSD files (including 16-bit ones)

This patch does two things:

1) Fixes the order of the saved channel planes. The indexes of the
planes array should be calculated separately, not just use

2) Fixes the the bug when loading 16-bit data. KoBgrU16Traits::alpha_pos
is *not* the offset of the alpha channel :) Now all the offset
calculations are done by the compiler in the templated code. At least
for RGB color spaces. We need to do the same for Lab, CMYK and Gray

Radosław Wicik committed changes in [calligra] kexi/widget/navigator/KexiProjectModel.cpp:

Sort part items also when just one part was loaded

This fixes sorting tables in the CSV import dialog.


Dmitry Kazakov committed changes in [calligra] /:

Make the Wrap-tool handles less obstructive

A small circle + a cross

Networking Tools

Martin Klapetek committed changes in [ktp-text-ui] app/chat-window.cpp:

Set a chat tab tooltip so long names can be seen when elided

Reviewed-by: David Edmundson

FIXED-IN: 0.8.0


Development Tools

Denis Steckelmacher committed changes in [kdev-qmljs] kdevqmljsplugin.cpp:

Detect colors in the "#aarrggbb" format

Detect strings like "#aarrggbb" as being colors so that a nice color
picker can be displayed for them.

REVIEW: 116671

Sven Brauch committed changes in [kdevplatform] /:

Change the assistant to re-use one widget instead of re-creating it

This saves us from instantiating all the QDeclarativeFoo stuff each time
an assistant is opened, and should make things less performance hungry.
There is now only one assistant instance over the whole lifetime of
KDevelop, which is fed the actions each time they change.
This change also makes some painting-related optimizations possible,
which means we can achieve a similarly low amount of flickering with less
disableUpdates calls (which are very expensive).

Diffs: 1, 2, 3, 4, 5, 6 Revision f43432f...
Denis Steckelmacher committed changes in [kdev-qmljs] navigation/propertypreviewwidget.cpp:

Display the distance property editor for all the anchor margins

This commit adds two features to the property preview widget :

- If a property "" is not found in the dictionary of
supported properties, then "property" is also tried. This is useful
because some users may want to type
"some.long { property: foo, property2: bar}".
- margins, topMargin, bottomMargin, leftMargin and rightMargin are added.
Due to the first point, they match "anchors.margins" and
"anchors { topMargin: 2, bottomMargin: 4 }".

REVIEW: 116673


Dennis Nienhüser committed changes in [marble] src/lib/marble/TinyWebBrowser.cpp:

Different user-agent strings for mobile and desktop devices

REVIEW: 116624

KDE Base

Martin Gräßlin committed changes in [kwin-compositing-kcm] model.cpp:

Improve the sorting of the effects list

Sort by:
* category
** exclusive group
*** name

Thus we have an alphabetic order of all categories, in the categories
we have again an alphabetic order of all effects in the same group and
the effects in one group are listed at the bottom of the category.

REVIEW: 116753

Alex Fiestas committed changes in [kde-runtime/KDE/4.13] /:

Add support for pam-kwallet in kwalletd

This patch adds support for pam-kwallet
(in my scratch right now, to be released soon).

This is how the new pam works, and why this patch is needed:

In order to open the wallet in a secure way we have to try hard
to not send the hash on an insecure manner
This is how we achieve that:

-pam_kwallet creates a pipe.
-pam_kwallet opens a local socket listening somewhere
(/tmp/foo.socket for example).
-pam_kwallet forks+execv kwallet, passing via arguments
the sockets (pipe and local socket).
-pam_kwallet sends the hash via the pipe.
-kwalletd gets the hash and waits for the environment.
-startkde uses "socat" to send the environment to kwalletd.
-kwalletd setups the environment before any Qt code is executed.
-kwalletd resumes execution.

With this way of executing kwallet we get:
-pam_kwallet knows to who it is sending the hash (its on child).
-hash is never revealed on shared memory (dbus), since pipes
are private to the apps.
-ptrace is usually disabled so only root can see the hash on
the app memory
-no Qt code is executed without the proper environment
(same as startkde)
-if kwalletd is executed normally (not from pam_kwallet) then it is
business as usual.

The patch also comes with integration tests that simulate how
kwalletd is executed in the pam module.

REVIEW: 116555

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

[kwin] Introduce a X-KWin-Internal in kwineffect services

X-KWin-Internal should be used for effects which are either internal
to KWin and are configured at a different location in KWin. Examples
* CoverSwitch - configured in WindowSwitcher KCM, but not FlipSwitch
as that one has a non WindowSwitcher mode
* window geometry - configured in moving

And it should also be used for helper effects to the overall
kde-workspace module. Examples are:
* Dashboard - required by Plasma
* KScreen - required for KScreen
* Screenshot - required by KSnapshot

Why a new category and not the already existing NoShow property?
The idea is to just filter on the effects in the list. Thus it should
be possible to show them. But NoShow is clearly intended to not be
shown at all.

REVIEW: 116754

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 4a5ad55...
Alex Fiestas committed changes in [bluedevil] src/monolithic/monolithic.cpp:

Show always the KStatusNotifier (Status == Active)

The KDED will kill the monolithic in case there are no
adapters so in that case we won't polute the systemtray
with the Bluetooth icon.

In the case there there are Adapters but they are not
powered we want to show the systemtray so it can be
powered on again.

Martin Gräßlin committed changes in [kwin-compositing-kcm] /:

Improve layout of Effect View

* use frame in the scroll area
* remove needless anchoring for an Effect
* use one RowLayout for one Effect row
* add a left and right padding using the normal spacing
* Use a ColumnLayout for the center element consisting of
** name
** description
** (info)
** (video)
* Video moved into an own component
* Animations removed

REVIEW: 116693

Diffs: 1, 2, 3 Revision 6753ae6...


Jan Kundrát committed changes in [trojita] /Imap:

tasks: Better propagation of the reason why this task failed

My original idea at the time this code was written was (IIRC, it's been ages)
roughly something like "well, whatever, use specific signals for propagating
each and every possible error". This was never implemented, of course.

Now, some errors arguably deserve a dedicated signal, but in other circumstances
the fact that something failed is enough; the remedy is usually the same anyway
-- either give up and tell the user that she's got bad luck, or try again later.
Now, it is still useful to at least show the reason to the user. What is missing
here is a piece of code which will let the user know that his mail won't load
because the mailbox couldn't be synced. This will have to come later.

In the meanwhile, let's keep track of the error message so it isn't lost. My
current motivation for this is that the communication between the KeepMailboxOpenTask
and the ObtainSynchronizedMailboxTask uses the standard Tasks API, i.e.
signalling failure via the failed() signal. Instead of extending the API to be
"magic", better add the message to the existing channels.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 0e8c37d...


Dmitry Kazakov committed changes in [calligra] /:

Make Krita show rulers in Pixel unit (now activated by default)

You can always switch to other units by right-clicking on the ruler

Boudewijn Rempt committed changes in [calligra] /plugins/paintops/colorsmudge:

Add a smudge radius option

Patch by Mohit Goyal


Sinny Kumari committed changes in [plasma-mediacenter] /:

Displaying time duration for All Music

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

Networking Tools

Alexander Reinholdt committed changes in [smb4k] /:

Implement permanent (re)mounting of shares. This closes SF ticket #33.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision a59f766...
Daniel Kreuter committed changes in [choqok] /:

Preview of images from Twitter

Added preview of images postet via Twitter.


KDE Base

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

[kwin] Add isEffectSupported method to Effects DBus interface

EffectsHandlerImpl::isEffectsSupported performs the check whether the
effect with the given name is supported by the current compositor.

The check is the following:
* if effect is already loaded, it is supported
* if the effect cannot be found, it is not supported
* if it's a scripted effect, it's always supported
* if it's a built-in effect, we ask BuiltInEffects::supported
* for all other effects we resolve the library and the supported

The idea behind providing this functionality in the DBus interface is
to allow filtering in the effects KCM for the effects which are
supported by the current compositor.

In addition a areEffectsSupported method is added which takes a
list of names and returns a list of bools.

REVIEW: 116665

Diffs: 1, 2, 3 Revision 8ca8a53...
Kai Uwe Broulik committed changes in [kde-workspace] kwin/effects/scalein/package/contents/code/main.js:

Make scalein effect (feel) quicker

Inspired by the recent slidingpopups patch this aims to make the scalein effect feel a lot quicker.
It only scales the window from 0.75 to 1. Animation duraton is shortened to match the separate "fade" effect.

REVIEW: 115763


Vishesh Handa committed changes in [baloo/KDE/4.13] src/pim/agent/agent.cpp:

PIM Agent itemChanged: Ignore part identifiers which are not the payload

This reduces the number of times the item is re-indexed drastically


Pino Toscano committed changes in [poxml] parser.cpp:

parser: small optimizations to the string/char ops

- cache string.length() when used in loops (or more than once)
- use QLatin1String/QString::fromLatin1/QLatin1Char/QChar::fromLatin1
- pass more than one string in .arg(...)
- use QStringRef when comparing parts of strings
- use string.indexOf(char) instead of cycles like: while ( != char) index++
- merge some string concatenations
- use string.chop()



Anne-Marie Mahfouf committed changes in [klettres] /:

New "Aqua" background theme by Anindya Sen

Aqua svg theme + patch to support it, thanks to Anindya Sen!

CCMAIL: anindyasen007@gmail.c

Diffs: 1, 2, 3, 4 Revision 689129a...
Aleix Pol Gonzalez committed changes in [kalgebra] /:

Stop depending on QtMMLWidget

It was a nice idea, sadly it was not maintained (AFAIK) and it ended up
deeply breaking KAlgebra startup. Not worth it, so long. :/

KDE Base

Denis Steckelmacher committed changes in [baloo/queryparser] /core:

Initial port of the Nepomuk query parser to Baloo

The test suite shows that all the features work, but Baloo lacks some properties
that were available in the Nepomuk ontologies. There is also no official way of
matching regular expression.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 26 more) Revision 6a2be39...
Sebastian Kügler committed changes in [kde-runtime/frameworks] solid-networkstatus/kded/CMakeLists.txt:

Disable QNtrack support

QNtrack isn't ported to Qt5, but apparently compatible enough to be
built against using Qt5. When running the code, this blows up
spectacularly, as the Qt4 library is loaded into kded5.

Porting QNtrack probably isn't hard, but as long as that hasn't
happened, let's rather not crash kded5.

Vishesh Handa committed changes in [baloo/KDE/4.13] src/file/basicindexingjob.cpp:
Sebastian Kügler committed changes in [kde-workspace] plasma-workspace/wallpapers/image/imagepackage/contents/ui/config.qml:

3 wallpapers per row

Martin Gräßlin wants three-in-a-row, Marco finds 3 golden and magic and
unicorns dancing on rainbows.

How could I not concur?


Arjen Hiemstra committed changes in [calligra/krita-sketch_theming-ahiemstra] krita/sketch/themes/default/theme.qml:

sketch: Add images to the default theme

A +- -- krita/sketch/themes/default/images/busyindicator.png
A +- -- krita/sketch/themes/default/images/divider.png
A +- -- krita/sketch/themes/default/images/header_krita_sketch.png
A +- -- krita/sketch/themes/default/images/header_krita_sketch_light.png
A +- -- krita/sketch/themes/default/images/kritasketch.png
A +- -- krita/sketch/themes/default/images/shadow.png


Martin Tobias Holmedahl Sandsmark committed changes in [kdenlive] /:

Remove support for non-OpenGL main monitor.

Every machine capable of doing video editing these days should have OpenGL,
so remove the legacy support.

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