Issue 321

5th January 2014 by KDE Commit-Digest Team


Marta Rybczynska
Giacomo Barazzetti
Alex Fikl
Thibaut Gridel

This Week...

Clicking the links Geo URI opens Marble now; Stars plug-in (Moon and Sun) rendering sees improvements. Okular sees improvements in Find and Undo/Redo actions. Kate makes AltGr enabled keyboards work in vim mode. Choqok implements APIs. Knavbattle show enemies ships after the game ends. KDE Frameworks work includes break down the katession.h/.cpp files and unit tests.


Commits 1751 by 143 developers
Open Bugs 21246
Open Wishes 15930
Bugs Opened 216 in the last 7 days
Bugs Closed 324 in the last 7 days

Commit Summary

Module Commits
Files Developer Commits
David Faure
Christoph Cullmann
Boudewijn Rempt
Yuri Chornoivan
Sayak Banerjee
Christophe Giboudeaux
Kevin Funk
Martin Tobias Holmedahl Sandsmark
Dennis Nienhüser
Michal Humpula

Internationalization (i18n) Status

Language Percentage Complete
German (de)
French (fr)
Dutch (nl)
Estonian (et)
Galician (gl)
Italian (it)
Danish (da)
Hungarian (hu)
Catalan (ca)
Chinese Traditional (zh_TW)

Bug Killers

Person Bugs Closed
Michal Humpula
Boudewijn Rempt
Joris Steyn
Christoph Feck
Jekyll Wu
Kristian Karl
Dmitry Kazakov
Dawit Alemayehu
Kevin Funk
Myriam Schweingruber

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools

[] []    


  [] []   


[] [] []   

KDE Base

[] [] []   []


[] [] []   []


[] [] []   []




[] []    

Networking Tools

[] []    

User Interface








There are 62 selections this week

Bug Fixes

Development Tools

Joris Steyn committed changes in [umbrello] umbrello/dialogs/umlattributedialog.cpp:

Fix crash when adding attribute

There was an obscure crash in the code generator triggered by Import_Utils. It
tried to add the attribute to the logical view, explicitly setting ot_Attribute
prevents this behaviour.

Michael Pyne committed changes in [kdesrc-build] /ksb:

Make relative include entries relative to their own rc-file.

As opposed to making them relative to script location, original rc-file,
initial cwd, or similar. This allows for whole directory trees to be
moved around if need be as well as long as the internal links remain

I've tested this on a sample here and also on the provided test case
with the bug and it seems to work well although I have not had time to
run through a whole build, merely the --pretend sequence.


Joris Steyn committed changes in [umbrello] umbrello/dialogs/umlattributedialog.cpp:

Better fix for attribute creation crash

Previous fix was faulty. The problem occurs when an object is looked up with an
empty name. Instead of not finding an object, umldoc can return an arbitrary
association object instead, resulting in problems in Import_Utils.

This change prevents calling Import_Utils with an empty typeName, so when an
attribute is created without specifying a type, the default behaviour of
creating a new class with Object_Factory is triggered - which handles this case


Albert Astals Cid committed changes in [okular/KDE/4.11] part.cpp:

Fix adding and removing bookmarks in the thumbnail panel

Fix adding and removing bookmarks in the thumbnail panel

Add and removal of bookmarks via the thumbnail context menu was acting
on the current viewport instead of the clicked page. This patch checks
whether it should act on the viewport or in the right clicked page.

FIXED-IN: 4.11.5

Teemu Rytilahti committed changes in [digikam] /importui:

Don't block the import UI by waiting for a complete folder listing for the whole device, but build the model gradually.

The new flow goes like this:
1. When a connection to a camera is made, call methods for loading files and subfolders for the root folder.
2. The backend reports via signal about the subfolders in given folder.
3. Request is being made to download file listing for the returned subfolders, and then check for their subfolders.
4. Repeat until finished.


Teemu Rytilahti committed changes in [digikam] utilities/importui/backend/gpcamera.cpp:

Support multiple storages when calculating the available drive space.
Don't discriminate on the filesystem type, it shouldn't matter as long as the free space information is available.
This fixes displaying the free & used space for devices reporting their filesystem different from DCIM, including Nexus7.

Teemu Rytilahti committed changes in [digikam] /importui:

Speed-up the UI, first step to fix 314952.
- Fix caching by using QWriteLocks when the cache is being written. We need to do this, because QCache is not thread-safe.
- Don't request image data from the camera just to get the name of it when requesting a thumbnail, because we have the list already available after getting the file list.


KDE Base

Michal Humpula committed changes in [kate] /app:

disable quick session menu if there is no session

REVIEW: 114769

FIXED-IN: 4.13

Michal Humpula committed changes in [kate] /:

don't forget to truncate file if we are overwriting

REVIEW: 114724

Michal Humpula committed changes in [kate] kate/app/katesavemodifieddialog.cpp:
Michal Humpula committed changes in [kate] part/search/katesearchbar.cpp:

make find previous button in searchbar in vi-mode work

REVIEW: 114763

Frank Reininghaus committed changes in [kde-baseapps/KDE/4.12] /src/views:

Disable the "Create folder" action in read-only directories

The action can be triggered, e.g., by pressing F10.

FIXED-IN: 4.12.1
REVIEW: 114560


Martin Klapetek committed changes in [libkpeople] src/personsmodel.cpp:

Insert contacts only inside beginInsertRows/endInsertRows calls

The original idea of inserting the contact first, getting the index and
then just emitting the proper signals causes the view/proxy model to add
one ghost contact entry because the beginInsertRows call makes the
view/proxy model to reserve one new entry, but that empty spot is never
filled as the contact has already been inserted before the call.

So now we always just append it at the end. Fixes the ghost contact

Reviewed-by: David Edmundson

Christophe Giboudeaux committed changes in [kdepimlibs/KDE/4.11] /:

Fix Bug 314799 - Author information is missing in some Atom articles

According to RFC 4287 [4.2.1]:

If an atom:entry element does not contain atom:author elements, then
the atom:author elements of the contained atom:source element are
considered to apply. In an Atom Feed Document, the atom:author
elements of the containing atom:feed element are considered to apply
to the entry if there are no atom:author elements in the locations
described above.

REVIEW: 108878

FIXED-IN: 4.12.1

Allen Winter committed changes in [kdepim/KDE/4.12] korganizer/printing/calprintpluginbase.cpp:

fix printing sub to-dos
thanks for the patch Przemysław!

FIXED-IN: 4.12.1


Dmitry Kazakov committed changes in [calligra] plugins/defaultTools/defaulttool/ShapeResizeStrategy.cpp:

Fix a too-small shape bug in the Default Tool

The shape resizing tool should not be able to make the shape have
zero size. So now the new size of the shape is limited by 1px of view

Boudewijn Rempt committed changes in [calligra] /ui:
Dmitry Kazakov committed changes in [calligra] libs/pigment/KoCompositeOp.cpp:

Fix memory corruption issue caused by memcpy'ing of a QBitArray

Dmitry Kazakov committed changes in [calligra/calligra/2.8] /ui/input/wintab:

Fix the mapping between tablet buttons on Windows

Now we convert the tablet button using the data configured by the
Wacom driver, which is updated on every WT_PROXIMITY event.

Dmitry Kazakov committed changes in [calligra] /:

Fixed the irritating outline blinking in hovering mode

Now KisPaintInformation can tell the sensors whether it was created
for hovering mode or for a usual painting mode. The sersors can decide
how to behave basing on this info. For example, Fuzzy sensor will return
unit value in non-painting mode.

Boudewijn Rempt committed changes in [calligra] krita/plugins/formats/psd/psd_image_data.cpp:

PSD: fix saving a single layer image where the layer is larger than the image

The background layer in photoshop cannot be larger than the image itself.

Boudewijn Rempt committed changes in [calligra] krita/plugins/filters/pixelizefilter/kis_pixelize_filter.cpp:

Disable threading and filter layers/masks for the pixelize filter

The pixelize filter needs the update rects to be aligned by the values
in configuration object, and we cannot do that.

The preview will always be wrong therefore, but applying the filter will
now be correct.


Shubham Chaudhary committed changes in [juk] coverdialog.cpp:

Fix: segfault by clicking empty area in Cover Manager

This patch fixes the segmentation fault crash caused by clicking on an
empty area in the cover manager.

Thanks to Arjun Ak for the bugfix (you've been marked as the author),
and André Marcelo Alvarenga for reporting the bug

REVIEW: 114635

Networking Tools

Jan Grulich committed changes in [plasma-nm] lib/editor/security802-1x.cpp:

Add missing terminating character to certificate name
Thanks to Marcello Pogliani

Jan Grulich committed changes in [plasma-nm] applet/declarative/contents/ui/CompactRepresentation.qml:

Properly scale applet icon when the applet is in panel

Andrea Scarpino committed changes in [choqok] plugins/shorteners/yourls/yourls.cpp:


Development Tools

Milian Wolff committed changes in [kdevplatform] shell/plugincontroller.cpp:

Add KDEV_DISABLE_PLUGINS environment variable.

This can contain a list of semicolon-separated plugin names which
are then considered to be disabled.

This is helpful for developing the clang plugin, as it otherwise
interfers with the existing C++ language plugin.

To use it, run kdevelop with

KDEV_DISABLE_PLUGINS=kdevcppsupport kdevelop -s ...


David Narváez committed changes in [kig] /:

File Loading Based on MIME Types

Besides the fact that it loads the files based on their MIME types,
these changes also modernize the loading of the Kig part by using
KService, and querying the KService for the supported MIME types to load

REVIEW: 114745
GUI: File extensions no longer show in the filters in the Open dialog

Diffs: 1, 2, 3, 4, 5 Revision 985cbc9...
Illya Kovalevskyy committed changes in [marble] /plugins/render/stars:

Mercury and Saturn added to Stars Plugin

Planets added, rendering + UI support

REVIEW: 114774

Diffs: 1, 2, 3 Revision ed90d83...
Illya Kovalevskyy committed changes in [marble] /plugins/render/stars:

Mars and Jupiter added, StarsPlugin refactoring

Approach of pixmap creation has been optimized, planets are having
different render pixmaps, depends on the magnitude.

Happy New 2014 Year, Marble! :)

REVIEW: 114762

Diffs: 1, 2, 3 Revision f54fc74...
Torsten Rahn committed changes in [marble] /lib/marble:

Refactor SunLocator to use astrolib instead of homebrewn code.
This links libmarblewidget against astrolib directly.
Formerly we just got sunshading for earth and an approximation for the
moon. No we got phases for all planets and moons in the solar system!

Tested for Earth, the Moon and Mars (by comparing against the software
Mars24 which shows exactly the same phases).

Levente Kurusa committed changes in [marble] /:

Open Geo URIs with Marble

REVIEW: 114819

FIXED-IN: 4.13.0
DIGEST: clicking the links in opens Marble now.

Illya Kovalevskyy committed changes in [marble] /:

Stars plug-in (Moon and Sun) rendering improvements

* Sun pixmap updated
* The size of the sun is rendered the same way as we render the moon right now including diameter calculation and magnifying mode
* The backdrop-glow is rendered separately before rendering the sun
* The moon is rendered after the sun has been rendered (so that it can eclipse the sun during eclipses)
* Labels added
* The functionality provided is synced with the settings dialog.

REVIEW: 114728

Thibaut Gridel committed changes in [marble] /maps/earth:

VectorComposer deprecation

The following patches remove the legacy drawing code used by so-called
vector map themes, which use data sets as their base for display.
Now, all rendering is done with the unified geodata framework.

REVIEW: 110005

Illya Kovalevskyy committed changes in [marble] src/plugins/render/stars/StarsPlugin.cpp:

Lunar phases added (Moon support)

Phases are supported, darken side is black with opacity 75%.

REVIEW: 114722

M +- -- data/svg/moon.png


Teemu Rytilahti committed changes in [digikam] /importui/main:

ImportUI: If there's no default album selected, preselect the last used album for downloading.


Albert Astals Cid committed changes in [okular] /:

Viewport transition refinements for Find and Undo/Redo actions

REVIEW: 114060

This patch introduces viewport transitions for undo/redo actions on annotations and forms. When an annotation/form action is undone/redone but the associated annotation/form is not currently visible, the viewport is updated to center on the undo/redo action. If the annotation/form is visible, the viewport is not updated.

The viewport transitions for the Find action have also been updated to this same algorithm. Previously the viewport was moved to center on each matching search term even if the search term was already visible in the viewport. This lead to unnecessary viewport transitions if the search term matched several items in a single paragraph for example.

These proposed changes to the viewport transition behavior are consistent with the find and undo behavior of many existing applications including Kate, Open Office, and Foxit PDF Reader.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 43246c5...

KDE Base

Michal Humpula committed changes in [kate] part/search/katesearchbar.cpp:

display message when wrapping in search

REVIEW: 114806

FIXED-IN: 4.13

Vishesh Handa committed changes in [baloo] src/tools/baloosearch/main.cpp:

BalooSearch: Add command line options

Add options to configure type, limit and offset. Additionally add a -e
option for searching through emails.

REVIEW: 114687

Michal Humpula committed changes in [kate] /:
Michal Humpula committed changes in [kate/frameworks] /:


Allen Winter committed changes in [kdepim] ktimetracker/historydialog.cpp:

use task summary when parent summary is null
thanks for the patch Pascal!

FIXED-IN: 4.12.1
REVIEW: 114778


Jeremy Paul Whiting committed changes in [kmymoney] /wizards/newloanwizard:

Add ability to modify loan institution attribute.

Add a new choice to editselectionwizardpage to modify only loan attributes.
Add a new loanattributes page to modify just institution for now, will add other attributes next.


Boudewijn Rempt committed changes in [calligra] krita/plugins/paintops/hairy/hairy_brush.cpp:

Correctly initialize the pressure for the hairy brush

To get a nice effect, we need to start with a pressure of 1.0 instead
of 0.0.


Sudhendu Kumar committed changes in [plasma-mediacenter] /:

Added a feature that shows duration of youtube video.

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

Networking Tools

Andrea Scarpino committed changes in [choqok] /:

Implement APIs

At the moment this supports:
* OAuth authentication
* main activity, favorites, outbox and inbox timelines
* post sending; sent to Public by default
* private post sending; a post sent with custom To/CC fields
* medium upload (I tried with images, but should work with any supported type)
* images previews
* like/unlike any post
* reshare any post
* deletion of a post the user wrote
* show post replies in a separate widget


Jaime Torres Amate committed changes in [knavalbattle] /:

Show not shunk ships when the game finishes

This patch includes the work done by Roney in the show-ships branch
but I still do not know how to merge out of date branches.
My work is only the two phase end of game of the network part.

How does it accomplishes its purpose?
* The end game has now two phases, first send/receive the ships in the
GameOverMessage, then the end game part.
* All the entities include a reference to the SeaView to be able to show
the ships (included in the parent class Entity)
* The shoots are drawn over the ships
* Instead of a parameter, the flag of adjacent ships is now a member
(grabbed from the multiple ships patch).
* The ships have now the coordinates where they are.
* The GameOverMessage was already ready to send/receive ships
(with a little bug off_by_1 fixed).
* Changed the name of a variable from a confusing name m_sea to a more
clear m_seaview
* There are now two lists of ships (for both entities to be able to
interchange the ships)

* It does not include configuration for this functionality, I think
everybody expects this behavior from this kind of game.

FIXED-IN: 4.12
REVIEW: 114620

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 18 more) Revision 5bf99b7...
Alexander Schuch committed changes in [konquest] /:

Center board vertically if required.

The board is centered horizontally already in case the board is tall. If
it is wide however, it still is aligned to the top leaving empty space
just at the bottom. This patch vertically centers a wide board.

Remove a work-around for Qt 4.6; Qt 4.8 is required and there is no
visible difference without that work-around.

The element "screen" had a transparent bar at the upper edge and
adjustments were done in the code to hide it. As the element has been
fixed, the adjustments can be removed.

REVIEW: 114851

Diffs: 1, 2, 3 Revision 068ae9d...



Illya Kovalevskyy committed changes in [marble] src/plugins/render/stars/StarsPlugin.cpp:

Performance optimization for Stars plugin

We saved few ms on rendering by optimizing rendering cases

REVIEW: 114844


Teemu Rytilahti committed changes in [digikam] /importui:

Add previewPossible field to CamItemInfo that is used to decide whether the thumbnail is being queried from the backend.
This speeds up loading of thumbnails as it'll just use the mimetype icon when the backend says the thumbnails are not supported.
This is especially crucial for gphoto2 backend as it'll otherwise throw a lot of errors and slows down remarkably. Also probably speeds the UMS backend too as we don't try to parse the unsupported files.

Note, that CamItemInfo's operators were not changed except the debugging one.


KDE Base

Alex Turbov committed changes in [kate] /app:

REVIEW: 114749

Even more quick way to switch to a previous document: show opened docs
list (project files) only if user holds a `Ctrl` for awhile (~200ms),
otherwise just quick-quick-switch to a previous document w/o flikering
w/ widgets...

inspired by this

Michal Humpula committed changes in [kate] /:

reduce loading time of multiple files

REVIEW: 114770

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


Christian Mollekopf committed changes in [kdepimlibs] /:

Separated referencing of collections from the selection in FavoriteCollectionsModel.

The FavoritCollectionsModel used an internal selection model (that isn't used in any GUI),
to reuse the referencing of the Akonadi::SelectionProxyModel that corresponds to the current selection.
However, the selection is frequently cleared and restored during
layoutChanged signals, resulting in the collections frequently getting
dereferenced and rereferenced.
Since this happens for each favorite collection, this resultet in the
complete buffer getting cleared on every layoutChanged result, essentially
killing the buffering
(if 10 favorite collections get dereferenced, each of them ends up in the
buffer pushing other buffered collections out of the buffer).

Since a QSortProxyModel that filters dynamically translates each dataChanged
signal into a layoutChanged, the buffer was more or less constantly cleared.

We could try to avoid clearing the selection on layoutChanged signals in KSelectionProxyModel,
but not relying on the internal selection in the first place seem much more
robust and straightforward. The FavoriteCollectionsModel remains a subclass
of SelectionProxyModel for binary compatibility only, and should eventually be
turned into a KRecursiveFilterModel.

REVIEW: 114629

Diffs: 1, 2, 3, 4 Revision b335be0...
Benjamin Kaiser committed changes in [baloo] /file:

Optimize Baloo file indexing

REVIEW: 114816

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


Timothée Giet committed changes in [calligra] /:

tweak FX_blur_light preset

tweak FX_blur_light preset to make it faster.

M +- -- krita/data/paintoppresets/FX_blur_light.kpp


KDE Base

Alexander Neundorf committed changes in [kate] /kate/project:

project plugin: first try at documenting the json file format

This patch adds a kateproject.example file, which tries to
document the json file format using pseudo-C++ and some examples.
The file is installed into share/, so users can actually read it.


Michal Humpula committed changes in [kate/frameworks] /:

break down the katession.h/.cpp files


One class per file. Code is now testable (almost) independently from
the app, so adding bunch of unit tests.

* simple container
* remove read/writeConfig() in favour of config()
* move rename method to manager
* decouple name from filename (manager does the coupling now)
* hide constructor in favour of factories returning KateSession::Ptr
* not dependent on KateSessionManager anymore
* add sorting functions
* add timestamp (last time the session was saved)

* add activeSession(QString, bool, bool, bool)
* add activeAnonymousSession()
* change internal storage from QList to QHash (faster lookups)
* remove sorting from sessionList() to callers
* use KDirWatch to monitor session dir (this removes the constant
updates of m_sessions)

* add possibility to depency-inject the KateSessionManager
* sort by modification time (desc)
* limit to ten items
* disable action, when there are no sessions

* guarantee that selectedSession() will be valid, when result is resultOpen or
resultCopy. This simplifies the KateSessionManager workflow.



Allen Winter committed changes in [kdepimlibs/KDE/4.12] /:

Move Ascension Day to 39 days after Easter
Move Trinity Sunday to 8 weeks after Easter

FIXED-IN: 4.12.1


Boudewijn Rempt committed changes in [calligra] krita/plugins/extensions/dockers/lut/lutdocker_dock.cpp:
Boudewijn Rempt committed changes in [calligra] /:

Add first version of the new layerbox icons

Thanks to Jens Reuterberg (

Diffs: 1, 2, 3 Revision ad66ed3...
Boudewijn Rempt committed changes in [calligra] /palettes:

Replace palettes with the ones created by David Revoy

Thanks to David!
And also to Tim from Concept-cookie!

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


Alex Merry committed changes in [extra-cmake-modules] kde-modules/KDECompilerSettings.cmake:

Remove custom build types

KDECompilerSettings.cmake no longer alters CMake's built-in build types
or adds its own. The "debug" build type therefore simply sets -g with
no additional flags (rather than -O2 and, depending on the compiler,
some no-inline/no-reorder flags as previously), the "release" build
types no longer set -DQT_NO_DEBUG and the "debugfull", "profile" and
"coverage" build types no longer exist.

QT_NO_DEBUG is set by Qt's CMake scripts depending on the build type of
Qt itself. "debugfull" mostly set -g3, allowing macro expansion when
debugging; users can set this flag using environment variables if they
wish. "RelWithDebugInfo" should be used instead of "profile" (according
to dfaure); -fprofile-arcs and -ftest-coverage are easy enough to add to
$CXX_FLAGS if they are required (formerly set by "profile" and

You should now use
cmake -DCMAKE_BUILD_TYPE=debug
instead of
cmake -DCMAKE_BUILD_TYPE=debugfull

REVIEW: 114885