Issue 296

14th July 2013 by KDE Commit-Digest Team


Alex Fikl
Marta Rybczynska
Danny Allen
Howard Chan

This Week...

Simon adds support for continuous recognition with SPHINX. KDevelop adds Github plugin. KAlgebra makes it possible to export 3D plots to PDF. KDE workspace implements keyboard navigation for battery monitor. Network Management gains import/export of VPN plugins configuration. Skrooge sees new features related to limits on accounts. Rekonq adds a simple ssh sync handler. Optimizations in KDE-Base and KDE-PIM.


Commits 2243 by 159 developers
Open Bugs 21021
Open Wishes 15882
Bugs Opened 246 in the last 7 days
Bugs Closed 214 in the last 7 days

Commit Summary

Module Commits
Files Developer Commits
Laurent Montel
Volkan Gezer
Ingo Malchow
Aaron J. Seigo
Yuri Chornoivan
Simon Paul St James
David Faure
Sairan Kikkarin
Sebastian Kügler
Sébastien Renard

Internationalization (i18n) Status

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

Bug Killers

Person Bugs Closed
Christoph Feck
Jekyll Wu
Mathieu Jobin
Sergio Luis Martins
Thomas Lübking
David Edmundson
Martin Klapetek
Kai Uwe Broulik
Frank Reininghaus
Hrvoje Senjan

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools

[] []    




[] []    []

KDE Base

[] [] []   


[] [] []   


  [] []   





Networking Tools

[] []    []

User Interface



[]   []   




[] []    

There are 76 selections this week

Bug Fixes

Development Tools

Kevin Funk committed changes in [kdevelop/4.5] file_templates/common/cpp_header.h:

cpp_header.h: Conditionally add license header

If no license text is given, don't add any comment at all.
I'm not adding "None" or similar to the combo box, because I think that
just clutters the box with another redundant item.

If you don't want a license, select "Other" and leave the text edit empty.

Milian Wolff committed changes in [kdevplatform] project/projectutils.cpp:

Cleanup and fixup ProjectUtils to not leak and not trigger crashes.

The most important part of this patch is the change to use a dynamic
allocated QMenu which is then _not_ run synchronously via exec() but
rather allocate it on the heap and use QObject/QWidget parentship
to handle the deallocation eventually.

This also fixes the memory leak of the populator objects.

And it fixes a crash since QMenu::exec applies a nested event loop
which apparently does not work nicely together with KXMLGUI. One
could also fix that by delaying (i.e. Qt::QueuedConnection) the
handling of _all_ QMenu actions - but that won't work of course.

So yeah, I think this is the best option to handle this crash.

Maybe one should even investigate whether we can/should deprecate
the usage of QMenu::exec in our codebase...

Vlas Puhov committed changes in [kdevplatform] /:

FramestackWidget: Make keyboard navigation useful

REVIEW: 110960


Ananta Palani committed changes in [digikam] /:

Fixes hang in in-painting tool and segfault caused by leaking threads each iteration of cimg tool use.

FIXED-IN: 3.3.0

KDE Base

Thomas Lübking committed changes in [kde-workspace] kwin/scene_xrender.cpp:

use configured xrender filter

that's why it's configured

REVIEW: 111428

FIXED-IN: 4.11

Eike Hein committed changes in [kde-workspace/KDE/4.11] plasma/desktop/applets/tasks/package/contents/ui/GroupDialog.qml:

Don't keep a stale model index around.

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

ignore unredirection configuration on intel

the only thing it does on these systems is cause users
trouble because usually when there's a client where
unredirection makes sense, that uses OpenGL - and then
things break in the driver.

REVIEW: 111476

Alex Turbov committed changes in [kate] /kate/close-except-like:

Observe the `view created' event and subscribe to a document close and name/URL change, so the plugin's menu will be updated.
Also this would fix a bug w/ menu update after closing a document in a usual way (via Ctrl+W).

David Narváez committed changes in [kdeplasma-addons] dataengines/microblog/koauthwebhelper.cpp:

Avoid Double Delete of Cookie Jar

The old cookie jar is deleted internally in setCookieJar if appropiate

FIXED-IN: 4.11 RC1

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

Office Extractor: Do not store empty resources

This used to make encryped document files give an error during indexing,
because a SimpleResource with just a uri would be pushed, and that is

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

Load unknown icons for items just before showing items in the view

Rather than loading many icons (without full mime type determination)
in advance, we make sure that an item has an icon just before it is
shown in the view. This makes sure that no "unknown" icons are shown
unnecessarily, and saves some resources.

REVIEW: 111396

Diffs: 1, 2, 3, 4 Revision 3c6d331...
Kåre Särs committed changes in [kate] part/view/kateviewhelpers.cpp:

Minimap: Top align the minimap in stead of center-align


Dawit Alemayehu committed changes in [kdelibs/KDE/4.11] /:

Do not show multiple dialogs when KIO sends error messsages or confirmation requests.
This fix resolves one of the oldest known issues in KIO.

REVIEW: 111335
FIXED-IN: 4.11

Thomas Lübking committed changes in [kde-workspace/KDE/4.11] kwin/lanczosfilter.cpp:

rather omit lanczos than capping windows

capping shadows is seen as bug (and is ugly and
because of the non lanczos transition causes visual
flicker) so if the window+shadows extends the buffer,
lanczos is simply not possible.

FIXED-IN: 4.11
REVIEW: 111425

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

Fix modulation in Invert effect

Thanks to Kevin for spotting and providing a fix.

FIXED-IN: 4.11

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

Looks like there was a bit of a misunderstanding about how either Kate Ranges, or just selections, actually work: the end of the selectionRange appears to be one space ahead of where I expected. Fix earlier test, and add test for bug 309191, which was the motivating example for this.


Frank Sebastian Roscher committed changes in [kdepim-runtime] resources/maildir/libmaildir/maildir.cpp:

Maildir resource: Fix handling of whitespace-only header lines

Previously, affected mails' headers would be parsed only in part,
resulting in (for example) seemingly empty subject lines.

FIXED-IN: 4.11
REVIEW: 111307

David Edmundson committed changes in [ktp-common-internals] /:

Upgrade the Tp::Connection to upgrade FeatureRoster inside GlobalContactManager

GlobalContactManager is useless without FeatureRoster so it makes sense
that if one instantiates this class, we upgrade the connection.

This will allow apps that only occasionally need a full contact list
such as contact-applet and text-ui to not rely on FeatureRoster and thus
will can a connection object without loading details on every contact ever.

This is an important step towards a singleton AccountManager, in addition
text-ui will load substantially faster.

REVIEW: 111440

Diffs: 1, 2, 3 Revision 9cc7ea5...
Pali Rohár committed changes in [trojita] src/Streams/3rdparty/rfc1951.cpp:

rfc1951: Fix deleting buffer in destructor

Array _buffer is allocated by new char[chunkSize], so must be freed by delete[] operator instead delete.

REVIEW: 111490

Allen Winter committed changes in [kdepim] korganizer/korganizer_part.cpp:

in the ctor, be careful when setting the toplevelwidget

FIXED-IN: 4.12
REVIEW: 111412

Frank Sebastian Roscher committed changes in [kdepim/KDE/4.11] korganizer/korgac/koalarmclient.cpp:

korgac: Read "ShowReminderDaemon" setting from correct config group

Before, the daemon would be shown in the tray no matter what the user
had selected in the configuration dialog.

FIXED-IN: 4.11

Sergio Luis Martins committed changes in [kdepimlibs] /:

Fix data loss bug.

MemoryCalendar::deleteAllEvents() clears the in-memory containers,
but it's virtual so it actually does whatever the sub-classes mean
by "delete", which in case of akonadi calendars, is a ItemDeleteJob.

Fixed by calling the non virtual method.

Lots of API cleanup to do in KCalCore/Calendar.h for KDE5.

Dan Vratil committed changes in [kdepimlibs/KDE/4.11] akonadi/entitycache_p.h:

Fix high CPU usage caused by EntityCache

Reviewed-By: Sergio Martins

Laurent Montel committed changes in [kdepim/KDE/4.11] mailimporter/filter_oe.cpp:

Fix Bug 322303 - Kmailcvt fails to import Outlook Express mailbox with error "failed to read temporary file"

FIXED-IN: 4.11

Sergio Luis Martins committed changes in [kdepimlibs] akonadi/calendar/etmcalendar.cpp:

Don't crash after receiving a dataChanged() about unknown item.

The item isn't in the map because it was ignored, for example
because of not having a DTSTART.

Laurent Montel committed changes in [kdepim-runtime] /imap:

Fix Bug 316249 - kmail does not remember sieve user & password

FIXED-IN: 4.12

Martin Klapetek committed changes in [ktp-nepomuk-service] nepomuk-storage.cpp:

Set the nco:nickname() on nco:PersonContact too when alias updates

Reviewed-by: David Edmundson

FIXED-IN: 0.7.0

Charles Samuels committed changes in [kopete] /:

replace the "override user formatting" options with a single one. Make it actually work.

The only times it does not work is when The LaTeX plugin is enabled AND actually
doing something, or on history messages.

This situation is better than the previous, in which it never worked

bug #277508

my first commit in years! :O

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


Mark Kretschmann committed changes in [amarok] /:

Always specify ColorGroup when fetching color from QPalette.

This commit fixes a huge number of color inconsistencies that existed
between the inital colors of widgets at Amarok startup, and the colors
that resulted from switching to the same theme at runtime.

It is *crucially important* when using QPalette::color() to always
specify the ColorGroup too, not just the ColorRole. Otherwise whatever
is the currently active group will be used.

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

Networking Tools

Andrea Diamantini committed changes in [rekonq] /:

Review ssl widget generation code.

This also seems to fix some way problem about multiple widget creations

What about you, guys?

David Edmundson committed changes in [ktp-contact-list] contact-list-widget.cpp:

Check validity of a contact based on RowTypeRole not whether parent is valid

This makes us able to start chats whilst filtered

David Edmundson committed changes in [ktp-text-ui/kde-telepathy-0.6] app/chat-window.cpp:

Add a guard that the current tab exists on a window activated event

This fixes a crash

Fixed-in: 0.6.3
Reviewed-by: Sven Brauch

Mehrdad Momeny committed changes in [choqok] /twitter:

Fetching list of twitter Lists that the requested user owns, fixed!
The trick here was that You should pass the base URL to TwitterApiMicroBlog::authorizationHeader() funtion to make OAuth signature based on that! (without parameters!)

David Edmundson committed changes in [ktp-text-ui/kde-telepathy-0.6] config/appearance-config.ui:

Avoid clipping in group chat tab in config


Martin Bříza committed changes in [polkit-qt-1] agent/polkitqtlistener.cpp:

Fixed GCancellable handling in PolkitQtListener

There was a race condition happening on two simultanneous requests to the agent, causing it to crash.

Evan Teran committed changes in [kcalc] knumber/knumber_float.cpp:

fix for bug #320803 and building on OSX


Anton Kreuzkamp committed changes in [qmlweb] /:

Fix Animations.

This commit includes two fixes:
1. Writing "property: 'x'" in a NumberAnimation caused a syntax error because it
was handled as a property definition.
2. Animations didn't get their properties applied properly, because this had the
wrong value in the animations init().



Peter Grasch committed changes in [simon/dictation] /:

SPHINX: support for continuous recognition

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

Development Tools

Miquel Sabaté committed changes in [kdevelop] /:

Added the Github plugin in the providers directory.

REVIEW: 111477

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 17 more) Revision 5418281...
Vlas Puhov committed changes in [kdevelop] /gdb:

Multiple breakpoints.

For multiple breakpoints show not all breakpoints with location
like: "Your GDB is too old" even though gdb is the latest one, but the
parent one with normal location. Add
unit test for it.

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


Aleix Pol Gonzalez committed changes in [kalgebra] src/kalgebra.cpp:

Make it possible to export 3D plots to PDF


Ananta Palani committed changes in [kipi-plugins] /:

Remove ASCII input restrictions for XMP byline and identifiers fields.

FIXED-IN: 3.3.0

KDE Base

Lukáš Tinkl committed changes in [plasma-nm] /:

import/export VPN plugins config

WIP, no GUI yet

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision f4d4fd1...
Yuen Hoe Lim committed changes in [nepomuk-webminer] /:

Adding more default filename parsing/cleaning rules specifically to help the anime usecase.
Minor modifications and additions to fileanalyzer unit tests to support these.

REVIEW: 111245

Adrián Chaves Fernández committed changes in [kate] part/syntax/data/jira.xml:

[Jira Syntax Highlighting] Finished implementing support for text effect syntax (bold, quotes, color, and more).

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

Implement indented paste (]p and [p).

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

This is a pretty ugly one :/ Essentially, we want "/" and "?" to be usable as motions so that we can do e.g. d3/bar<enter> to delete up to the third occurrence of bar. We also want them to be usable in Visual Mode.

Firstly: get rid of the "/" and "?" commands - they're not really commands, plus if they are they make us exit Visual Mode whenever we press them. Make them motions instead.

Problem: we don't have the m_commandRange for the motion until the user has interacted with the search bar and dismissed it. So we need to special case "/" and "?" by manually invoking the search bar when they are pressed, then exiting the key handler. The user will then choose the search term and press Enter or whatever, so we can now deduce the m_commandRange and execute the command with the search motion. We trigger this execution by (ugh) having the search bar send a synthetic keypress back round the Vi keypress handler that either aborts the current command (if we aborted the search bar) or completes the motion, allowing us to execute the command. This is very ugly (especially as this synthetic keypress must not be logged for replay via "."!) but it's tough to think of an alternative.

This commit also makes searches countable.

Some more of the KateViVisualMode::goToPos code had to be removed to get this working when using "?" with no wraparound in Visual Mode, but I think this part of the code (which resets the whole selection to m_commandRange under certain conditions e.g. pressing "iB" when we have already moved around in Visual Mode) has been broken for a while :/ I'm going to try a different approach to fixing this.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision cd060f7...
Jan Grulich committed changes in [plasma-nm] /editor:

Add option (Automatic - only addresses) to IPv4/IPv6 setting

Use enum for better manipulation with indexes

Kai Uwe Broulik committed changes in [kde-workspace] /generic/applets/batterymonitor/contents/ui:

Implement keyboard navigation for battery monitor

When opening the popup the brightness slider has focus so you can immediately adjust brightness
using left/right arrow keys. Tab moves you to the keyboard brightness slider, then to the PM
checkbox which you can toggle using Return/Space, then to the battery list through which you
navigate using arrow up/down and expand/collapse using Return/Space/Arrow left/right.

FIXED-IN: 4.10.95

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

Big chunk of work on incorporating ":" (i.e. running commands) in KateViEmulatedCommandBar. Includes basic running of commands (of course); display of output of commands; and completion of commands, along with the other advantages of KateViEmulatedCommandBar. Also includes a bunch of refactorings.

In practice, I'm finding this a bit clunky, usability-wise: for example, one requires *two* presses of Enter to run the command: the first clears the completion box, the second actually runs the command. This really needs to be changed to be more like the way Kate currently does things, which I'll do in due course.

Diffs: 1, 2, 3, 4, 5 Revision 52333d6...
Vishesh Handa committed changes in [nepomuk-core] /:

Storage: Export the port number in the nepomukserverrc config file

This way clients can lookup the port number and connect to that specific
port. Before this patch one could not run multiple nepomuk sessions in
parallel as they would not always connect to the correct virtuoso

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

kwin: Make PaintRedirector work without NPOT texture support


Laurent Montel committed changes in [kdepim] /:

Add new widget for settings time/date

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

Start to implement generate script sieve from kmail filter

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 8df403f...
Laurent Montel committed changes in [kdepim] /:

Start to implement settings for enable/disable agents (as sendlateragent/mailnotifier etc.).

For the moment we can do it with dbus interface.

Diffs: 1, 2, 3 Revision 71689b7...
Pali Rohár committed changes in [trojita] src/Gui/SettingsDialog.cpp:

Gui: SettingsDialog: For SMTP and SSMTP methods enable Save Outgoing Mail checkbox

When user click on IMAP SENDMAIL method, Trojita automatically check
Save Outgoing Mail checkbox and disable it. When user again select SMTP
method Trojita should re-enable this checkbox and allow user to uncheck
this checkbox.

REVIEW: 111495


Filipe Saraiva committed changes in [cantor/python-backend] /backends/python:

Changes in python backend behaviour to his works like python interactive mode and no python script mode. Tab complet using xml file implemented.

Diffs: 1, 2, 3, 4, 5, 6 Revision a677d6b...
Stephane Mankowski committed changes in [skrooge] /:

Better and new advices based on limits of accounts

Diffs: 1, 2, 3, 4 Revision ad55faa...
Stephane Mankowski committed changes in [skrooge] /:

feature: Max and min limits on accounts
feature: Better advices based on limits of accounts

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision bb5a635...
Timothée Giet committed changes in [calligra] krita/pics/CMakeLists.txt:

New icons for palette docker

Add 2 icons for the new palette docker. Icons sources by deevad.

Networking Tools

Mehrdad Momeny committed changes in [choqok] /ui:

New line support for submitting(Shift+Enter) and showing tweets [Patch by Ahmed Ibrahim]

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

%time Variable to get the current UTC time in the away message

To make this option visible I've changed the tool tip (I think the first thing a user would do if he wants no away message is to remove the message text [if there is one, which isn't by default], so this double information can be replaced).

Adding an extra widget for drag n drop like in now playing would be too much for this I think. It would blow up the UI if I add this under every lineedit (as more stuff is visible on the first sight for the user as more complicated it looks) and it would be confusing if I add it only once in a central place, so I decided to just inform the user through a tool tip (it's also not a important feature, so it's ok if it's a little bit hidden).

FIXED-IN: 0.7.0
REVIEW: 110334

Eike Hein committed changes in [konversation/1.5] src/notificationhandler.cpp:

Ignore context ChatWindow's notification setting in NotificationHandler::nick(On|Off)line.

Watched Nicks coming online or offline is connection-global, not
specific to any particular ChatWindow, so checking whether the one
passed as context (in practice the call sites use the StatusPanel,
and the notification handler only cares to get the corresponding
Server) has notifications enabled or not makes no sense here.

As "parking" on a status tab before switching away from the app is
a common behavior, as is switching off its notifications to avoid
certain highlights during connect, this is the likely cause of in-
termittent reports of this KNotify event not working reliably.

Andrea Diamantini committed changes in [rekonq] /:

Add a simple ssh sync handler


Many thanks, Radu! And sorry for the late merge ;)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision d71d059...
Lukáš Tinkl committed changes in [plasma-nm] /:

finish import/export VPN connection

trello feature:

Diffs: 1, 2, 3, 4 Revision 3494479...
Emmanuel Lepage Vallee committed changes in [sflphone-kde] /:

[ #25405 ] Implement a new transfer dialog (view only)

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


Zack Rusin committed changes in [bodega-server] server/lib/db/assetinfo.js:

Implement showing asset info for incoming assets.


KDE Base

Vishesh Handa committed changes in [nepomuk-widgets] ui/resourceloader.cpp:

ResourceLoader: Load all the associated properties as well

When using the FileMetadataWidget, the MetadatFilter class is used which
internally uses Types::Property. This Property class is unfortunately
synchronous and can block for a bit. Therefore we load all the
properties in this separate thread so that they are always there in the

This never used to be a problem earlier because connecting to the
Nepomuk Server used to be quite fast. Since now we connect directly to
virtuoso, it can take some time and block.

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

Major re-working of how [s and ]s are made (or not made) literals when converting from vim to Qt regex's, with motivating examples.

Vishesh Handa committed changes in [nepomuk-core] libnepomukcore/query/queryparser.cpp:

DesktopQueryParser: Map commonly used keywords to their properties

Otherwise hasTag maps to both pimo:hasTag and nao:hasTag
rating maps to 3 different ratings
mimetype maps to 2 different properties

For these common keywords the user doesn't expect the other properties
to be searched. Additionally, we're just slowing down the queries by
searching through those extra properties.


Sergio Luis Martins committed changes in [kdepim-runtime] /maildir:

Don't use 1.5 GB when importing a big maildir.

The code was creating 70k ItemCreateJobs first, and then starting them all.
That makes mem usage reach a peak of 1.5GB here.
It does have code to do one event loop iteration every 20 e-mails,
but that only makes it fire one ItemCreateJob, so they pile up anyway.

Solution is to throttle ItemCreationJob creation.

CPU-wise, this solution and the old one are equivalent,
they are both equally fast.

REVIEW: 111469

Dan Vratil committed changes in [kdepim-runtime/dirresources] /:

Add file monitoring to iCalDir and vCardDir resources and move common code to shrade base class

Similarily to iCal and vCard resources, the iCalDir and vCardDir resources
are essentially identical. This patch moves all the code to a template-based
DirResource class, making VCardDirResource and ICalDirResource specializations
of the DirResource class, implementing only loading and saving of payload
from/to file. QObject-related stuff is implemented in DirResourceBase class.

The shared code now also supports watching the directory (via KDirWatch)
for changes and will automatically add, update or remove entries from
Akonadi when a file is added, changed or removed in the resource's data

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


Boudewijn Rempt committed changes in [calligra] krita/ui/forms/wdgnewimage.ui:

Rearrange image-from-clipboard page

So it doesn't take so much space.


Aleix Pol Gonzalez committed changes in [muon] libmuon/resources/ResourcesModel.cpp:

Optimize default ResourcesModel roles retrieval

Reduce calls to indexOfProperty by one
Tells the compiler our branching priorities



Pino Toscano committed changes in [libkdcraw/external-libraw] /:

Switch to an external LibRaw

Instead of using an embedded copy of LibRaw, look for an external LibRaw
as mandatory dependency with a new CMake module and using its variables.

Considering some LibRaw versions seem to be underlinked and not linking
to OpenMP, link it manually in libkdcraw to overcome such lack.

Switch back to the MAKE_KDCRAW_LIB define (i.e. the default set by
KDE4_ADD_LIBRARY) as the one used to check whether it is being built,
as otherwise LIBRAW_BUILDLIB would conflict with LibRaw.

See review #110962

Networking Tools

David Edmundson committed changes in [ktp-text-ui] app/main.cpp:

Remove FeatureRoster from ConnectionFeatures

Now that GlobalContactManager will upgrade the connection object
when we request a full contact roster (in the "invite contact" dialog)
we don't need to fetch the whole roster on load.

This should result in faster load times.