Issue 341

25th May 2014 by KDE Commit-Digest Team


Marta Rybczynska
Alex Fikl
Danny Allen

This Week...

Amarok implements popular demand to restore scroll location when collection filter is cleared; adds a new option to support icon-view large thumb size (over 256x256 px). Plasma desktop streamlines Comment fields of KCMs by applying common language and type-setting to the systemsettings modules in kde-workspace. Kopete adds support for SOCKS5 proxy in ICQ protocol. Umbrello sees work on UML 2.0. Krita adds the indexed color filter. Porting to KF5/Qt5 continues, including massif-visualizer and partitionmanager.


Commits 1292 by 121 developers
Open Bugs 22407
Open Wishes 16080
Bugs Opened 299 in the last 7 days
Bugs Closed 321 in the last 7 days

Commit Summary

Module Commits
Files Developer Commits
Laurent Montel
Marco Martin
Aurélien Gâteau
Sebastian Kügler
Dominik Haumann
Yuri Chornoivan
Martin Gräßlin
Ludovic Grossard
Sayak Banerjee
Dan Leinir Turthra Jensen

Internationalization (i18n) Status

Language Percentage Complete
Swedish (sv)
German (de)
Polish (pl)
Brazilian Portuguese (pt_BR)
Portuguese (pt)
French (fr)
Dutch (nl)
Spanish (es)
Bosnian (bs)
Italian (it)

Bug Killers

Person Bugs Closed
Ivan Čukić
Christoph Feck
chaofeng111 gmail com
luizluca gmail com
Martin Gräßlin
Frank Reininghaus
Gilles Caulier
Marco Martin
Ralf Habacker
sebas kde org

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools

[] []    




[] []    

KDE Base

[] [] [] [] []


[] [] []   []


[] []    





Networking Tools


User Interface



[] [] []   





There are 51 selections this week

Bug Fixes

Development Tools

Denis Steckelmacher committed changes in [kdev-qmljs] duchain/parsesession.cpp:

Don't preprend "file://" to local file names, as this prevents DUChain::chainForDocument from finding the file we are looking for

Without this commit, opening KDevelop with QML modules cached in the DUChain
results in KDevelop continuously reparsing them, because it tries to
find file:///..., but adds /... in the DUChain.


Benjamin Girault committed changes in [kipi-plugins] /ptoparser:

panorama: Bugfix when destroying the pto data

When the parsing fails, some arrays may be uninitialized, hence introducing
erros upon calling free on some other arrays.

Also some realloc calls where not completely checked in the parser.


KDE Base

Jacopo De Simoi committed changes in [plasma-workspace] applets/notifications/package/contents/ui/NotificationPopup.qml:

Preserve pixmap aspect ratio in notifications

This prevents non-square pixmaps (e.g. photos in the new mail
notifier) to be distorted in notifications

Martin Gräßlin committed changes in [plasma-workspace] klipper/klipperpopup.cpp:

[klipper] Call ensurePolished() before native window of menu gets created

It's important to have ensurePolished() being called before the native
XCB window gets created. The widget style (in our case Oxygen) sets the
RGBA hint during that call. Once the native window is created this would

In the case of KlipperPopup the native window gets created by accessing
the winId(), thus the ensurePolished() needs to happen before.

REVIEW: 118199

Martin Gräßlin committed changes in [plasma-workspace] klipper/klipperpopup.cpp:

[klipper] Always show filter widget in klipperpopup

Following HIG recommendations: always show the filter widget in the
popup with a "Search..." click message.

Given that it is no longer hidden the code could be simplified quite
a bit.

REVIEW: 118258

Frank Reininghaus committed changes in [kde-baseapps/KDE/4.13] dolphin/src/panels/places/placesitem.cpp:

Do not lose translation of Places items if a Dolphin window is closed

If the "Places" are updated outside the current Dolphin process,
PlacesItemModel::updateBookmarks() is called, which invokes
PlacesItem::setBookmark(const KBookmark& bookmark) for each item. This
commit ensures that the correct translation is used for system
bookmarks like "Root", "Network", etc.

Without this patch, all Places entries in the remaining Dolphin windows
would switch to US English if one of multiple windows is closed.

See for details.

REVIEW: 118207
FIXED-IN: 4.13.2

Mark Gaiser committed changes in [kio] src/core/kfileitem.cpp:

KFileItem can be called without an UDSEntry (when passing a QUrl in the constructor).
When refresh is called we remove most internal data. There we need to re-populate UDSEntry.

This patch ensures that we have a UDSEntry object (if the file exists).

This is preperation work for KFileItem to fetch all it's data from UDSEntry.

Reviewed by: David Faure

Sebastian Kügler committed changes in [plasma-desktop] /kickoff/package/contents/ui:

Simply Kickoff's mouse hover selection

This patch removes the MouseArea behind the listviews, which selected
the current item on hover beyond the listview's bounds. The positioning
in here isn't very reliable, especially when the content scrolls.

Simplify this by moving the margins inside the item and expanding the
listviews to the edges. This keeps the mouse interaction along the edges
intact, gives more expected behavior with the scrollbar, and doesn't
have the subtle positioning problems in finding the item.

This fixes wrongly selected entries in Kickoff when hovering over the
edges of the items, left and right, and fixes scrollbar behaviour.

Sebastian Kügler committed changes in [kwidgetsaddons] src/ktitlewidget.cpp:

Change titlewidget from bold to increased font size

This patch removes the bold weight from KTitleWidget and makes the text
a bit bigger, improving focus. This is more in line with common
expectations of a title, and it's more in line with Plasma 5's

Martin Klapetek committed changes in [plasma-framework] src/declarativeimports/plasmacomponents/qml/Button.qml:

Elide Components' Button label

Otherwise the label can get out of the button boundaries. Tested with
RTL text too, it's elided properly as the elipsis switches to Left on
its own.

Reviewed-by: Marco Martin


Dan Vratil committed changes in [akonadi] /:

Fix handling of tags in AK-APPEND and MERGE commands

The handlers are now able to process tags identified by GID or RID
and will create a new tag, if no such tag exists.

RTag (identifying tag by RID) requires resource context.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 927f54c...
Christian Mollekopf committed changes in [kdepim-runtime] resources/imap/retrieveitemstask.cpp:

IMAP-Resource: Avoid resyncing all flags during every sync.

Without CONDSTORE we end up syncing all flags during every sync,
even if nothing has changed. This patch mitigates, by sacrificing flag updates
when no new messages are available.


Arjen Hiemstra committed changes in [calligra] /sketch:

sketch: Cleanup the Tool panel and tool config pages

It is not too surprising the panel cannot scroll when the container item
has a size of 0. This also cleans up most of the tool config pages that
contained way too many nested things. As a bonus, the RangeInput fields
in the tool panel now work again.

Boudewijn Rempt committed changes in [calligra] /:

Remember the lock state of the dockers

Now we just need some pretty lock/unlock icons of the right size!

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

Make rotation on Linux be consistent with rotation on Windows

Yeah, the two drivers return really different values :) Even the
axes are laid out in opposite directions.

Marijn Kruisselbrink committed changes in [calligra] sheets/Style.cpp:

Save all vertical alignment values in the old kspread file format.

The old file format is still use for clipboard storage, so this bug
meant middle aligned formatting wasn't properly copy/pasted.

Stephane Mankowski committed changes in [skrooge] /:

When doing a transfer, my specification of + or - is ignored

User Interface

Martin Gräßlin committed changes in [kwin] /kwincompositing/qml:

[kcmkwin/compositing] Improve the spacing in the Effects list

Spacing needs to be specified on the ListView instead in the delegate.
This fixes incorrect vertical alignment of the buttons in each row.

In addition a proper background is set on the ScrollView.

REVIEW: 118260

Hugo Pereira Da Costa committed changes in [kde-workspace/KDE/4.11] kwin/clients/oxygen/oxygenclient.cpp:

This fixes the issue with cut off titles for font size around 15 pt and bigger. The correct display of large fonts is neccesary for users with impaired vision.
REVIEW: 118141


Aurélien Gâteau committed changes in [kapidox] /:

Use Jinja the way it is supposed to be used

Old code created the final layout in header.html and footer.html, then
loaded each .html file as a Jinja template for further post-processing.

We now use an empty footer.html and an almost empty header.html
(just contains some vars to capture Doxygen variables), then load a real
Jinja template once and process all files with it.

This is less error prone and much faster (postprocessing kdelibs4support now
takes 1 second instead of 18 before)

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


Development Tools

Arnold Dumas committed changes in [massif-visualizer] /:

Add logic to control legend position and font size.

REVIEW: 118248

Diffs: 1, 2, 3, 4, 5 Revision e2154b7...
Denis Steckelmacher committed changes in [kdev-qmljs] /:

Minimal support for exported QML components

REVIEW: 118225

Diffs: 1, 2, 3 Revision fa3f518...
Dan Vratil committed changes in [kcrash] src/kcrash.cpp:

Allow specifying drkonqi executable path via LIBEXEC_PATH

Since drkonqi can be installed in a different prefix than the framework,
we need a way to specify where KCrash should look for the drkonqi exec.

This is now possible by specifiying LIBEXEC_PATH env variable, which is
analogous to PATH or LD_LIBRARY_PATH

Review: 117016

Denis Steckelmacher committed changes in [kdev-qmljs] /:

Find the type of array keys and use it to support enumeration values in plugin.qmltypes files

REVIEW: 118168

Diffs: 1, 2, 3, 4 Revision 68a544c...
Arnold Dumas committed changes in [massif-visualizer/frameworks] /:

Initial port to KF5/Qt5.

REVIEW: 118184

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


Jasem Mutlaq committed changes in [kstars] /:

Adding option to send fits files as jpeg to online astrometry service

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


Gilles Caulier committed changes in [digikam] /:

Add new option to support icon-view large thumb size (over 256x256 px)
If you use large screen resolution, as WQHD or 4K monitor, you can now use until 512x512 px size for thumbnails.
When this option is turned on/off from setings panel, user need to restart digiKam to take effect, and thumbnails
need to be rebuild over collection through MAntenance tool, to update digiKam thumbs database.

FIXED-IN : 4.1.0

KDE Base

Marco Martin committed changes in [plasma-desktop] kcms/desktoptheme/thememodel.cpp:
Sebastian Kügler committed changes in [plasma-desktop] /:

Streamline Comment fields of KCMs

This patch applies a common language and type-setting to the
systemsettings modules in kde-workspace.

- The comment field might repeat the name, or give more detail about the
specific settings on this page, this makes sense with how
systemsettings and kcmshell present it
- Mentioning the words settings, configure, options, etc. is avoided --
it is clear from the context that these are settings and options.
- Title-case throughout in line with human interface guidelines, see
- The comment ends up being the title, so the
- tech slang is avoided as much as possible, but left in where really
necessary (hi Phonon), there were a few mentions of ~"KDE Settings",
which don't make sense in a properly branded universe.
- I've left the Name field "mostly untouched", as that one is key for
the user to find the right module in systemsettings' icon view and in
the sidebars

The same treatment needs to be done for a bunch of other KCMs that we
end up installing from other repos. This is a good start, however.


Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 19 more) Revision 7128a3a...
Sebastian Kügler committed changes in [plasma-workspace] /batterymonitor/contents/ui:

Clean up Battery Monitor

This patch simplifies the battery's ui, and brings spacing in line with
Plasma 5 standards.

In detail:

- removing the selection item on batteries: it's already visible by the
text shown that the battery is selected. It also doesn't need the
selection semantics across the ui, because -- for what?
- remove separator lines, in Plasma 5, we use spacing for this case
- Improve HighDPI by removign hard-coded layout hints, use units.gridUnit
- Fix batteryitem's status: it would show the wrong icon and time label,
because AC Adapter can be empty. Checking charging is semantically
correct here, since it uses the charge state, not the adapter state.
- remove a bunch of SVGs that were used internally to get margins -- use
gridUnit for layout internal margins instead
- fix slider's right alignment, this would jump based on the percentage
label's width, which varies per item. We know the rough length of the
percentage label from the context, and can align the labels to that.

Thanks everybody for the reviews!


Diffs: 1, 2, 3, 4 Revision 75fe56a...
Martin Klapetek committed changes in [plasma-workspace] /:

Turn the free space notification into StatusNotifierItem

Currently it's done purely as a notification, which doesn't make much
sense. This patch turns it into a regular SNI. The actions were moved
from the notification popup to the SNI menu.

REVIEW: 118205

Marco Martin committed changes in [plasma-framework] /declarativeimports/plasmacomponents/qml:

add support for tooltips

use qwidget tooltips, not plasma ones

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

Keep the "free space" information updated in all visible views

The old code would watch the free space on a mount point, i.e.,
determine the free space again, in 10-second intervals, only until the
view became invisible once (even if it was invisible only for a very
short moment, i.e., while splitting the view).

This commit ensures that the mount point is watched again as soon as
the corresponding view becomes visible again.

Moreover, the object that watches the free space for a mount point is
shared among all views that show URLs that belong to this mount point.
To achieve this, there is a central cache which can be used to obtain
an existing MountPointObserver for a certain path. If necessary, a new
MountPointObserver is created and added to the cache.

The MountPointObserver is removed from the cache and destroyed only if
no views use it any more, and no new users appear until the next update
(which happens every 10 seconds). This prevents that the free space is
measured repeatedly when changing the current directory on the same
mount point.

Many thanks to Emmanuel Pescosta for the initial ideas to factor out
the "free space" code and to establish a central storage for the
"observer" objects, and for providing many good suggestions how to
improve the code!

REVIEW: 118208
FIXED-IN: 4.14.0

Laurent Montel committed changes in [baloo/KDE/4.13] /pim:

Calendar event needs to be indexed too. Start to implement it

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


Pali Rohár committed changes in [kopete] /oscar:

Add support for SOCKS5 proxy in ICQ protocol

Pali Rohár committed changes in [kopete] /oscar:

Add support for system proxy settings via KProtocolManager in ICQ protocol

Laurent Montel committed changes in [kdepim] /:

Restart to implement followupreminderagent

Diffs: 1, 2, 3, 4, 5 Revision 0a6fd92...


Boudewijn Rempt committed changes in [calligra] /plugins/formats/exr:

Add another exr mimetype

With a bunch of 3rd party commercial proprietary apps installed, an extra
mimetype gets installed "x-application/x-extension-exr", which apparently
takes precedence and confuses the filter system.

Let's add that one as well, even though now there are two options to export
to exr...

Oliver Kellogg committed changes in [umbrello] /:

(In reply to comment #9)
> On component diagrams:
> * Ports (on component edges)

Here is a first stab at ports.

umbrello/pics/sources/port.svg, umbrello/pics/port.png,
- Port icon temporarily copied from node.{svg,png}, still to be reworked
for proper port symbol.

umbrello/port.{h,cpp}, umbrello/widgets/portwidget.{h,cpp}
- Implementation for new UML object Port and its PortWidget.
Known issues:
1) The PortWidget is saved but is not restored on reloading the XMI file.
2) On dragging a port on the diagram, the PortWidget should be made to
snap to the nearest edge of the nearest ComponentWidget, i.e. the
port should "stick" to a component on moving.

- Add widgets/portwidget.cpp to libwidgets_SRCS.
- Add port.cpp to libumbrello_SRCS.

- At end of enum ObjectType, add value ot_Port.

- At enum ListViewType, insert value lvt_Port before end-of-enum mark.

- In functions slotEditFinished() and toString(), handle case lvt_Port.

- At enum IconType add value it_Port.

In function toString(IconType type), handle case it_Port.

- At enum MenuType add value mt_Port.

- In constructor
ListPopupMenu(QWidget*, UMLListViewItem::ListViewType, UMLObject*)
handle case UMLListViewItem::lvt_Port.
- In function insertSingleSelectionMenu() handle case WidgetBase::wt_Port.
- In functions insert() and insertSubMenuNew() handle case mt_Component.
- In functions insertSubMenuNew() and setupMenu() handle case mt_Port.

- In struct GeneralState add member bool uml2.

- In group "General Options" add entry "uml2" for enabling UML2 notation.

- In functions saveOptions() and readOptionState() handle new
optionState.generalState member uml2.

- In function dragEnterEvent(), set bAccept = true for `ot' value ot_Port.

- In function isCloneable() handle case WidgetBase::wt_Port.
- In functions uniqObjectName(), guessContainer(), convert_OT_LVT(), and
convert_OT_MT(), handle case UMLObject::ot_Port.
- In functions typeIsCanvasWidget(), typeIsAllowedInType(), convert_LVT_IT()
handle case UMLListViewItem::lvt_Port.

- In function createNewUMLObject() handle case UMLObject::ot_Port.
- In function makeObjectFromXMI handle case UMLDoc::tagEq(xmiTag, "Port").

- In function slotMenuSelection() handle case ListPopupMenu::mt_Port.
- In function connectNewObjectsSlots() handle case UMLObject::ot_Port.
- In functions findUMLObjectInFolder(), moveObject(), determineParentItem(),
isUnique(), loadChildrenFromXMI(), handle case UMLListViewItem::lvt_Port.
- In function slotMenuSelection() handle case ListPopupMenu::mt_Port.

- At AssocRules::m_AssocRules[] add rules for Association and UniAssociation
from wt_Port to wt_Interface.

- At end of enum WidgetType, add value wt_Port.

- In function slotMenuSelection(), at case ListPopupMenu::mt_Properties,
admit `wt' value wt_Port to call of showPropertiesDialog().

- In function widgetHasUMLObject(), return true for `type' value wt_Port.

- In function createWidget(), add case for ot_Port setting newWidget to
a new PortWidget.

- In ClassGeneralPage constructor setup of `name', handle case ot_Port.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 19 more) Revision d22ed2f...
Ralf Habacker committed changes in [umbrello] /:

Add zargo file import support (reading of embedded xmi file).

Boudewijn Rempt committed changes in [calligra] /:

Add the indexed color filter

Thanks to Manuel Riecke!


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


Matěj Laitl committed changes in [amarok] /:

Collection Browser: restore scroll location when the filter is cleared

* Collection Browser scrolls back to its original position when the
filter is cleared.

FIXED-IN: 2.8.1
DIGEST: Amarok implements popular demand to restore scroll location
when collection filter is cleared

Networking Tools

Alexander Reinholdt committed changes in [smb4k] /:

Add the ability to lookup the IP addresses of the hosts with the 'net'
command. You can choose to either use the 'nmblookup' command or the
'net' command on the 'Network' configuration page.

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


Andrius Štikonas committed changes in [partitionmanager/frameworks] /:

Initial port to KDE Frameworks 5.

The port is mostly complete:
* A few unported items are marked with FIXME: port KF5.
* KCFG configuration for QGroupBox is not working yet.

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


KDE Base

Sebastian Kügler committed changes in [plasma-desktop] applets/kickoff/package/contents/ui/KickoffItem.qml:

Don't animate opacity of subtext in kickoff's items

This brings the appearance in line with the highlight, which also pops
in without animation. This is needed behaviour to avoid lagging

It's quite amazing how much more responsive quick mouse interaction is
with this one-line-removal. Performance++, eeh.


Christian Mollekopf committed changes in [baloo/dev/scheduler] src/pim/agent/scheduler.cpp:

Only schedule the collections that changed, to avoid needlessly running full sync jobs.


Rolf Eike Beer committed changes in [kgpg] /:

put the list of keyservers in a model

This simplifies the handling a lot, especially marking one of them as the
default one.



KDE Base

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

[screenlocker] Pass grace time as command line argument to greeter

Instead of having the greeter read the settings of the KSLD, KSLD passes
the required values to the greeter as command line arguments. This
ensures that the greeter doesn't show a lock UI while the KSLD is still
in grace time and vice versa.

Two command line options are added:
--graceTime <milliseconds>

The option --graceTime starts the timer to show the lock ui on timeout.
The option --nolock is for the case that the KSLD never locks the

REVIEW: 118214

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


Martin Klapetek committed changes in [plasma-workspace] krunner/view.cpp:

Change default KRunner shortcut to Alt+Space

Alt+F2 stays as secondary shortcut

As discussed on plasma-devel


Dan Vratil committed changes in [akonadi] server/src/connection.cpp:

Merge branch 'handlers-unittests'

This introduces complete infrastructure for unit-testing handlers and
other parts of Akonadi server without having to start up the akonadiserver

Currently only tests for LINK and X-AKAPPEND handlers are available, more
will follow (volunteers are welcomed)

Pali Rohár committed changes in [kopete] /jabber/googletalk/libjingle:

Allow to build libjingle on unknown architectures

Thanks Pino Toscano for patch!