Issue 302

25th August 2013 by KDE Commit-Digest Team


Marta Rybczynska
Giacomo Barazzetti
Alex Fikl

This Week...

Kleopatra implements session restore. Umbrello adds visual feedback if widget has documentation. In KDE Frameworks 5, Konsole is ported to KF5/Qt5. GSoC work in Digikam, Nepomuk, khipu.


Commits 1531 by 163 developers
Open Bugs 21224
Open Wishes 15955
Bugs Opened 312 in the last 7 days
Bugs Closed 239 in the last 7 days

Commit Summary

Module Commits
Files Developer Commits
Boudewijn Rempt
Sven Brauch
Gilles Caulier
Marco Martin
Burkhard Lück
Kevin Ottens
David Edmundson
Rajko Albrecht
Aleix Pol Gonzalez
Yuri Chornoivan

Internationalization (i18n) Status

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

Bug Killers

Person Bugs Closed
Jekyll Wu
Thomas Lübking
Christoph Feck
Myriam Schweingruber
Frank Reininghaus
Dawit Alemayehu
Dan Vratil
Hrvoje Senjan
Mark Kretschmann
Jarosław Staniek

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools

[] []    


[] []    


[] []    []

KDE Base

[] [] []   []


[] [] []   


[] []    





Networking Tools

[] []    

User Interface



[] []    


[]     []



There are 68 selections this week

Bug Fixes

Development Tools

Ralf Habacker committed changes in [umbrello/KDE/4.11] /:

Add visual feedback if widget has documentation.

This patch add a graphical indicator to widget painting, which is useful
to get a quick overview what is documentated and what not.

As graphical indicator a triangle in the lower left corner of the widget
is used, because it is still visible in lowest zoom level.

Widgets not derived from UMLWidget are not supported yet. MessageWidget
do not work because it do not have any documentation property.




Dennis Nienhüser committed changes in [marble] src/plugins/runner/open-source-routing-machine/OSRMRunner.cpp:
Bernhard Beschow committed changes in [marble/KDE/4.11] /lib:

fix: focus on file passed via command line

* if multiple files are passed, Marble now focuses on the combined bbox of all files

(cherry picked from commits af3118ed95df864ad58abec1ebd8aef146992701 and a8ac8cf46505a841e83efede9eee615d9035d8f9)

Bernhard Beschow committed changes in [marble] /lib:

fix: focus on file passed via command line

* if multiple files are passed, Marble now focuses on the combined bbox of all files


Johannes Zarl committed changes in [kphotoalbum] main.cpp:

Apply workaround for current crash-on-exit problem.

Fabio D'Urso committed changes in [okular/KDE/4.11] active/app/package/contents/ui/FullScreenDelegate.qml:

okular active: Do not position pages on non-exact pixel boundaries

Round page position to the nearest pixel, because at some zoom levels on
my laptop okular active tries to draw page pixmaps at non-exact pixel
boundaries, resulting in almost unreadable text.

REVIEW: 111782

KDE Base

Emmanuel Pescosta committed changes in [kde-baseapps/KDE/4.11] /src/kitemviews:

Adjust the size and position of the selection toggle on icon
resize (when changing the zoomlevel).

REVIEW: 112250
FIXED-IN: 4.11.1

Harald Hvaal committed changes in [kde-workspace] krunner/interfaces/default/interface.cpp:

Add the full name of completion matches to history

This will fill the history combo box with the actual hit you executed, instead
of half-complete strings that don't make sense until you actually select them.

Dominik Haumann committed changes in [kate] ktexteditor/sessionconfiginterface.h:

note about SkipFolding for KDE 5

TextFolding is now implemented in the KTextEditor::View. However,
the ParameterizedSessionConfig interfaces is only per document.

The solution for KDE 5 will be to also add a parameter to the
readSessionConfig and writeSessionConfig to the View.

Meanwhile, saving / loading folding past Kate sessions simply does
not work.

Hrvoje Senjan committed changes in [kde-workspace/KDE/4.11] plasma/desktop/shell/data/plasma-desktop.desktop:

Partially revert commit 83d3018

Somehow unique made ksplash quit too soon and/or plasma start
too late

REVIEW: 112073

FIXED-IN: 4.11.1

Simeon Bird committed changes in [nepomuk-core/KDE/4.11] services/fileindexer/indexer/office2007extractor.cpp:

Office2007 Extractor: fix possible infinite loop.

The Qt documentation says that when QXmlStreamReader.readNext() reports
an error, atEnd() should be true, but it seems to be lying.
Check for QXmlStreamReader.hasError() separately and break out of the
reader loop.

FIXED-IN: 4.11.1

Jeremy Paul Whiting committed changes in [kde-runtime] plasma/tools/plasmapkg/main.cpp:

Fix plasmapkg -t theme -r packagefilename to work when the package archive has been formatted correctly.
Note Helium on from the bug report is not formatted correctly, but has it's contents within a Helium folder.
REVIEW: 112128

Christoph Feck committed changes in [kde-baseapps/KDE/4.11] dolphin/src/panels/places/placesitem.cpp:

Fix crash when failing to get audio CD block device

REVIEW: 112117

Christoph Feck committed changes in [kde-workspace/KDE/4.11] kcontrol/dateandtime/dtime.cpp:

Respect user's 12 hour clock preference

FIXED-IN: 4.11.1
REVIEW: 112122

Kurt Hindenburg committed changes in [konsole] /:

Start to fix selection issue when part of line/word is off-screen

This is from rb 111441- however that patch is so big it is difficult
to follow. I'm breaking it up into smaller parts. This commit is
just for findLineStart/End and only for extending the selection.

Thanks to Yichao Yu

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

Delay the deletion of the role editor as long as possible

This should prevent crashes that can be caused if the view is closed in
a nested event loop that is run from the role editor.

FIXED-IN: 4.11.1
REVIEW: 111988

Emmanuel Pescosta committed changes in [kde-baseapps/KDE/4.11] dolphin/src/kitemviews/kfileitemmodel.cpp:

Make use of the "resort all items timer" in KFileItemModel::slotRefreshItems
to avoid too much expensive resorting calls, in case of many refresh items signals.

Followup to patch 111146

FIXED-IN: 4.11.1
REVIEW: 111195

Dan Vratil committed changes in [libkscreen] /xrandr:

Initialize member variables in XRandrX11Helper

Prevents showing bogus XRandR version in debug output when XRandR is
not available and fixes a crash when unloading an invalid backend

Thomas Lübking committed changes in [kde-workspace/KDE/4.11] kwin/effects/diminactive/diminactive_config.ui:
Eike Hein committed changes in [plasma-framework] src/declarativeimports/qtextracomponents/mouseeventlistener.cpp:

Ignore child event types we're not explicitly interested in.

MouseEventListener listens to both child events and events passing
through itself; child events are recorded so the handler for the
latter can perform a comparison and avoid emitting signals for the
same event again. However, this comparison could fail because the
member used to record the last child event would also be updated
for events we were not actually interested in.

A real-world example of this is opening a popup menu in repsonse to
a Press event. This causes an Ungrab event on the child, which would
cause the comparison to fail and mousePressEvent to announce the same
press yet again.

Dawit Alemayehu committed changes in [kde-runtime/KDE/4.11] kioslave/trash/discspaceutil.cpp:

Don't prevent users from deleting symlinks that point to very large files and folders.

REVIEW: 112173
FIXED-IN: 4.11.1

Gerald Senarclens de Grancy committed changes in [kate] /:

fixed issue in Python indenter (static unindent on return)

added new tests for the fix; all tests now pass


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

GUI: update mailbox contents whenever clicking through messages or mailboxes

The IMAP code is currently multiplexing a single connection among many
mailboxes. There are situations where a parallel action might switch away from
the "currently selected" mailbox, at least as shown in the UI, to some other
place. An example of such action is when the composer wants to make a message
with the \Answered flag.

Typically, the mailbox is automatically switched when the user opens a message --
either because of the request to have it marked as read, or because some of the
parts are not available form the cache. However, if the message being opened was
already cached and marked as read, no IMAP traffic was actually required, and
therefore there was no reason for issuing a SELECT, either.

This might or might not be the best fix -- from the user's point of view, it
makes a lot of sense to receive updates about mailbox state as often as
possible, and having the mailbox opened (with the usual IDLE or NOP polling) is
the usual way to go. On the other hand, this might result in slightly bigger
IMAP traffic, especially on servers which do not support CONDSTORE/QRESYNC.

The ideal fix for the future is to switch to multiple connections, but that
opens a whole new can of worms. In the meanwhile, let's just fulfil the naive
expectation that clicking on any message in a mailbox (or any mailbox, for that
matter) will at least refresh the current view.

REVIEW: 112158

Lindsay Mathieson committed changes in [kdepim] /:

Fix bug in Window Position & Size save/restore

Fixes issue with using client coordinates instead of frame coordinates
for window geometry save/restore, which was causing the MainWindow to
travel North West on successive hide/shows.

REVIEW: 112240
REVIEWED-BY: mathieson

Jan Kundrát committed changes in [trojita] src/Gui/LineEdit.cpp:

GUI: fix segfault due to uninitialized variable

LineEdit has two constructors and one of them was missing a proper
initialization of the m_historyEnabled. This broke an assumption that a
(m_historyEnabled being true) implies (completer() != 0). One could trigger this
by opening the composer, attempting to send a mail with an empty subject with
cursor in the recipients widget, and pressing Esc twice which led to calling
QCompleter::completionMode with "this" set to nullptr.

Dan Vratil committed changes in [kdepimlibs] /:

Avoid starting a database transaction in CollectionSync when no updates are needed

Unconditionally starting a transaction on every collection sync
as an high overhead on disk activity since transaction bookkeping
on the database requires writing to disk. Most often collection sync
are unnecessary since collection are rarely modified, so we end up
causing a write to disk on an operation which would be read-only.

The proposed solution is two run the collection sync in 2 phases:

1) Without starting a transaction, the currently known local collections
are loaded and are compared against the received remote ones. If no
difference is found update is stopped right away

2) If there are differences a transaction is started, local collections
are loaded again to guarantee consistency and the update is applied
inside the transaction

REVIEW: 111885

FIXED-IN: 4.12

Thomas Lübking committed changes in [trojita] /Gui:

do not intercept linked header clicks for resizes

and shuffles

REVIEW: 112190


Dmitry Kazakov committed changes in [calligra] /:

Fixed a weird Favorite Composite Ops bug

The model of the categorized list is completely refactored. Now there are
at least three classes involved into the creation of the list:

1) KisCategoriesMapper --- stores a list of the items of the list and
controls their internal state.

2) KisCategorizedListModel --- the model that works on the basis of the
categories mapper.

3) KisSortedCategorizedListModel --- a wrapper for a categorized model that
handles the sorting of the list into categories and items.

Adam Pigg committed changes in [calligra/calligra/2.7] kexi/kexidb/drivers/pqxx/pqxxdriver.cpp:

Fixed postgresql escaping

properly escape the ' character with \'
re-ordered the escape order so that \' isnt double escaped to \\'
tested with the following strings
\o/ hi \o/
\' \'

Jarosław Staniek committed changes in [calligra] libs/db/tableviewdata.h:

Fix bug: Table Designer does not display properties in Kexi 2.7.x

Cause: TableView data was moved into the namespace in commit b9e664c9

Somsubhra Bairi committed changes in [calligra/animator-plugin-somsubhra] /ui:

Frame loading does work but without background

Diffs: 1, 2, 3, 4 Revision 0351b4c...


Mark Kretschmann committed changes in [amarok] src/widgets/FilenameLayoutWidget.cpp:

Bug 313504: Check validity of i18n calls

Check validity of i18n calls

Check validity of i18n calls [i18ncheckarg]...OOPS! 4 issues found!

src/widgets/FilenameLayoutWidget.cpp: wrong argument count, have 1 need 0 line# 93 (1)

The other issues reported in that section are false positives.
src/playlistgenerator/constraints/Checkpoint.cpp: wrong argument count, have 0 need 1 line# 170 (1)
src/playlistgenerator/constraints/TagMatch.cpp: wrong argument count, have 0 need 1 line# 184 (1)
src/playlistgenerator/constraints/TagMatch.cpp: wrong argument count, have 0 need 4 line# 170 (1)

REVIEW: 112141

Mark Kretschmann committed changes in [amarok] /:

Don't allow adding Analyzer applet when not supported.

Also now shows an error message explaining why it can't be used.

Mark Kretschmann committed changes in [amarok] /:

Bug 313504: style: prefer QString.clear over a null-assign

style: prefer QString.clear over a null-assign

Check for assignments to QString::null [nullstrassign]...OOPS! 6 issues found!

src/services/amazon/AmazonStore.cpp: line# 116 (1)
src/dialogs/TagDialog.cpp: line# 835 (1)
src/browsers/playlistbrowser/PlaylistBrowserCategory.cpp: line# 261 (1)
src/core-impl/collections/db/sql/SqlMeta.cpp: line# 904,1737,1886 (3)

REVIEW: 112139

Mark Kretschmann committed changes in [amarok] data/amarok_homerc:

Don't add the analyzer applet when Phonon doesn't support it.

Stupid... I forgot about that file.


Mark Kretschmann committed changes in [amarok] /:

Ctrl-C works again when there is text selected in Amarok.

Amarok now checks if the clipboard content is owned by Amarok itself.
In this case Ctrl-C will work just like expected, copying the selection
to the clipboard. If it's not owned by Amarok, the currently playing
artist and album is copied to the clipboard.


Networking Tools

Urs Wolfer committed changes in [krdc/KDE/4.11] rdp/rdpview.cpp:

fix RDP password requests

- xfreerdp may request password on command line (when NLA auth is activated)
- always request username and password before connecting

FIXED-IN: 4.11.1

Dan Vratil committed changes in [ktp-accounts-kcm/kde-telepathy-0.6] src/kcm-telepathy-accounts.cpp:

Don't stop logs import on error

Documentation to KTp::LogsImporter clearly states that when error() signal,
the import can still continue importing further logs, so we should not
quit in onError() slot.

REVIEW: 112189

FIXED-IN: 0.6.4

Urs Wolfer committed changes in [krdc/KDE/4.11] /:

fix RDP keyboad layout setting

- got broken due to rdesktop to xfreerdp migration
- just support already supported layouts from rdesktop (due to message freeze in stable branch)

FIXED-IN: 4.11.1

Urs Wolfer committed changes in [krdc/KDE/4.11] /:

fix broken menu bar after changing settings

- after editing, it displayed text 'No text' and some standard actions got lost
- simplify code (thanks a lot to Albert Astals Cid for fixing this bug the correct way)

FIXED-IN: 4.11.1


Sven Brauch committed changes in [kte-collaborative] common/document.cpp:

Save the document in case of failure instead of clearing it


Wolfgang Rohdewald committed changes in [kajongg/KDE/4.11] src/

fix resuming a game when the previous hand did not make winds rotate

FIXED-IN: 4.11.1


Development Tools

Sven Brauch committed changes in [kdev-python] /:

support "from . import Foo", "from .. import Bar" and the like



Bernhard Beschow committed changes in [marble/KDE/4.11] /:

load multiple files in one instance

A file manager would create 20 Marble instances if 20 files were selected for loading in Marble.
The new behavior is to create just one instance where the 20 files are loaded.

FIXED-IN: 4.11.1
REVIEW: 112165
(cherry picked from commit 9f017f275c99bc424273bd290980649be46680c1)


Johannes Zarl committed changes in [kphotoalbum] /:
Albert Astals Cid committed changes in [okular] /:

Auto-fit zoom

REVIEW: 110003

KDE Base

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

Implement "@@" ("replay last played macro").

Diffs: 1, 2, 3 Revision 9cbb82b...
Alex Turbov committed changes in [kate] kate/app/kateviewspace.cpp:

add total lines count to a status bar


Lindsay Mathieson committed changes in [kdepim] /:

Implements session restore

- Session restore
- Saving of MainWindow geometry and visible state
- Toggling of visibility by clicking SysTrayIcon.
- Splash screen is not shown when restoring session.

Internal behaviour change. To enable preservation of state when the
session is being saved, the MainWindow is no longer closed and deleted
when minimising to the system tray, rather it is hidden.

REVIEW: 112130
REVIEWED-BY: mathieson

Sergio Luis Martins committed changes in [kdepim] calendarviews/todo/todoview.cpp:

When adding a new to-do, select it.

This feature was disabled during the akonadi port and never ported
to the async nature of akonadi.

Dan Vratil committed changes in [kdepimlibs/KDE/4.11] /:

Load KIMAP translations catalog

REVIEW: 112153

FIXED-IN: 4.11.1

David Edmundson committed changes in [ktp-desktop-applets] /src:

Add custom status to plasmoid context menu in systray

FIXED-IN: 0.7.0
REVIEW: 112097

Andre Heinecke committed changes in [kdepim/KDE/4.11] kleopatra/newcertificatewizard/newcertificatewizard.cpp:

Allow 4096 bit RSA / ELG keys

While still a bit long, this opion has been requested
repeadedly and gnupg offers it in the default gen-key
menu nowadays.

FIXED-IN: 4.11.1

Pali Rohár committed changes in [trojita] /:

Add Windows NSIS Installer

* using Modern UI 2 interface
* using named mutex to allow run only one installer instance
* support both 32 and 64 bit systems, show error message when 64 bit installer is started on 32 bit machine
* support upgrading via removing previous installation
* optionally can create startup and desktop shortcuts
* creating uninstaller and adding it to add/remove programs menu registry

* only trojita executable (without any DLL libraries) is included in installer

REVIEW: 112224


Inge Wallin committed changes in [calligra/filters-libodfreader-ingwa] /libodfreader:

Implement very basic support for tables

Diffs: 1, 2, 3, 4 Revision 83111e6...
Inge Wallin committed changes in [calligra/filters-libodfreader-ingwa] /libodfreader:

Add support for table header rows.

Also do some nicer formatting of some comments

Diffs: 1, 2, 3, 4, 5 Revision 35a7e16...

Networking Tools

Jan Grulich committed changes in [plasma-nm/active] /setting/package/contents/ui:

Add widget for basic wireless configuration

Jan Grulich committed changes in [plasma-nm] /:

Add BluetoothMonitor class for creating bluetooth connections

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


Sven Brauch committed changes in [kte-collaborative] kte-plugin/kobbypluginview.cpp:

Suggest the original URL of the document in the "save copy" dialog

hi apol


Raphael Kubo da Costa committed changes in [extra-cmake-modules] kde-modules/KDECompilerSettings.cmake:

CompilerSettings: Add a separate block for clang definitions.

Sharing compiler settings between GCC and clang does not always work: there
are flags (such as "-fno-check-new" or "-fno-reorder-blocks") that are
specific to GCC, and nothing stops these incompatibilities from becoming
bigger in the future.

Conversely, a separate clang block allows us to pass some additional flags
to clang that would have required yet another if() in the GCC block. For
now, this amounts to "-fdelayed-template-parsing".

(For KDE4, we also need -Wno-return-type-c-linkage because kdepim's
ktexteditorkabcbridge.cpp exports a function that returns a QString with C
linkage, but I hope this can be solved in a different way for kdepim5).

Last but not least, checks for bad GCC allocators or support for some flags
which are always present in clang can be avoided altogether when we know the
compiler we are using.

REVIEW: 112136


KDE Base

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

Completely re-work how we deal with mappings and macros: we now instantiate a new KateViKeyMapper and add it to a stack each time we expand a macro and pop it when we've expanded that macro. This way, we can still expand mappings in macros where the macro occurred due to the expansion of a mapping(!), but the whole thing is much less brittle (example of brittleness: pressing "capslock" in Insert Mode would crash(!), because the old method relied on m_doNotMapKeypressesCountDown, and KateViewInternal is structured in such a way that if a kepress is not handled by either of Vi mode or KateView itself - like capslock - it will be sent to Vi mode *twice*, which obviously interferes with m_doNotMapKeypressesCountDown. This is probably a bug in KateViewInternal itself, I suppose, but a generally harmless one).

I've removed the lengthy (and now obsolete) comment from KateViKeyMapper::handleKeypress(...).

This actually exposed a secondary bug where, if we played a macro while recording a macro (e.g. qb@aq), both the "@a" and the keypresses resulting from "@a" were both stored in macro b, leading to duplicated changes - I've fixed this via a m_isReplayingMacro flag (I did have an automated test for this, but it passed "by coincidence", as it were).

Diffs: 1, 2, 3, 4, 5 Revision cdde3d4...
Frank Reininghaus committed changes in [kde-baseapps/KDE/4.11] dolphin/src/kitemviews/kfileitemmodel.cpp:

Make determining the mime type faster for folders

KFileItem::determineMimeType() not only determines the mime type, but
also the icon. For folders, it looks for a .directory file inside the
folder, where a custom icon might be stored. This can take quite a bit
of time and cause the problem that some folder's type still appears to
be "unknown" when the view is shown.

We can work around this problem by caching the folder mime type in a
static QString and applying to to all folders, which can be identified
easily with KFileItem::isDir(),

FIXED-IN: 4.11.1
REVIEW: 111830


Christian Mollekopf committed changes in [akonadi/1.10] server/src/utils.cpp:

Use the target of the symlink instead as socket directory.

Socket paths must be shorter than 108 characters, and the symlink is quickly beyond that.
By using the actual directory this can be avoided.

This results in the socket used to start the mysql database, as well as
the socket in akonadiconnectionrc being set to the /tmp/ path.

REVIEW: 112152



Gilles Caulier committed changes in [digikam/development/gsoc2013-imgqsort] /:

add new qualitysorter manager and task ready to be used.
Patch Maintenance dialog to show quality sorter option
TODO : patsh imgqtask to call Quality analyser backend in multithread section, to be able to scan image and register quality in Pick Label fromDB.
In Maintenance dialog, Quality settings is dumy and must be patched accordingly with Quality analyser settings.
Gowtham, please review all FIXME comments publish in this code.

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

KDE Base

Alexander Richardson committed changes in [konsole/frameworks] /:

Port to KF5/Qt5

TerminalDisplayAccessible is disabled for Qt5 currently since I don't
have any experience with accessible stuff and it is more complicated
than just changing a few includes

REVIEW: 111937

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 23 more) Revision a83db71...
Denis Steckelmacher committed changes in [nepomuk-core/gsoc2013] libnepomukcore/queryparser/patternmatcher.cpp:

Provide user-friendly patterns with completion proposals

Allow translators to use regular expressions to match terms (this greatly eases
the task for highly declined languages), but hide them to the user.

If the user enters "moDified", the completion proposal will not be "modified at|on",
but "moDified at". When words are separated by pipes, only the first one is shown
to the user.

Kevin Ottens committed changes in [kdelibs/frameworks] /:

Remove kdeui and kdecore

Bye bye old friends

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


Punit Mehta committed changes in [khipu/gsoc2013] /:

Added the feature of random coloring in creating the plots.