Issue 264

2nd December 2012 by KDE Commit-Digest Team


Jürgen Appel
Aleix Pol
Marta Rybczynska

This Week...

Kate adds "Keep highlighting" next to the close button. KDevplatform optimizes document loading. KDEPIM updates holidays for several countries. libnm-qt implements GSM settings. Muon-backends gets intensive work, including a splits into two. Calligra's Experiment PaintOp now uses highly optimized Displacement option.
Laurent Montels activities in KDEPIM

Laurent Montel has been very active during the recent weeks committing here and there to various areas in KDEPIM - the KDE SC personal information management. It includes an email messenger KMail, a personal organizer named KOrganizer, the newsfeed-reader Akregator, with KAddressbook an address book management capability, the blogging client Blogilo and so much more.

The flurry of commits by Laurent Montel didn't go unnoticed by the digest team - a lot of interesting development probably does - so this is the line of encouragement for ALL of you to contact your Commit Digest Team more often and to use the DIGEST Tag in your commits when appropriate.

Having you motivated, moving on: besides fixing various bugs, Laurent is working on an autoresize feature for KMail:

With the new feature for KMail ‘autoresize image'
  • you will able in KDE SC 4.10 to auto-resize images when you attach them.
  • you can specify maximum/minimum size.
  • it avoids to sending too big image files which can be rejected by smtp.

Apparently Laurent saw room for awesomeness and so he is working on the integration of QtWebKit for HTML composing in KMail and Blogilo. He says:

At the moment I am creating a lib which uses QtWebKit to create a HTML composer for KMail and Blogilo 4.11 called composereditor-ng, but it will not be ready for KDE SC 4.10. It's not finish yet and it's a big chunk of work.

If you are able read French, you can follow Laurent's activities on his blog.

Strigi Changes

Because Strigi - the file indexer used by Nepomuk until KDE SC 4.9 -- caused several problems, it will be replaced in KDE SC 4.10 with a simpler version. Nepomuk maintainer Vishesh Handa already started coding and reports that writing file indexers for Nepomuk is now much easier. A list of already supported formats is kept online. The replacement of Strigi is neither easy nor unquestioned. Vishesh Handa writes:

My solution is argueably inferior to Strigi and I got a lot of heated responses because of it. The new indexer is easier for me to maintain, since Strigi is so huge and no one cares about it.

Writing file indexers now is very simple, and it'll be a great way to get more people involved in KDE.

But I'm fragmenting the code in the process because Strigi is used in KFile* (kio) stuff. For example, when you open up the wallpaper choosing dialog, it shows a lot of images. It also shows some properties of the image like size. Those properties are extracted via Strigi. That's just once of the use cases. The relevant class KFileMetaInfo is used in Lokalize and a couple of other places as well.

These use cases where Strigi is employed cannot be easily replaced with the new file indexer, which will be part of KDE SC 4.10. In later releases, Strigi or parts of it might be implemented in one form or another:

I'm really not sure right now. I have been thinking of rewriting Strigi with Qt, but that would involve throwing away almost all of its code.

We cannot make kdelibs depend on nepomuk-core and strigi is based on streams - which is technologically a lot more superior (though it is also a lot more buggy). This might only get fixed with KDE Frameworks 5 and that would involve porting all the custom strigi analyzers - and that are about 10-20. Porting them is somewhat harder because of the difference between the way strigi and nepomuk present/handle data.

Questioned about the state of the new file indexer in the upcoming KDE SC 4.10 release, Vishesh says:

From a user's point of view, they'll have good indexing of files. Right now I'm missing office document indexing, but I plan to add in time for 4.10, maybe via calligra.

If anything they'll have a much better experience. PDF handling is so much better, so is the handling of audio and video files. For images it is mostly the same. Strigi was good with images, I've just copied their code.

Google Code In started

Google Code-In 2012 has started already. It's a program similar to Google Summer of Code, but aims at younger students and offers tasks longing for solutions in short time frames. KDE is one of the 10 mentoring organizations. If you are between 13 and 17 years old, head over to the Code-In website, search through the KDE tasks, claim one, complete it and earn prizes. The tasks include various opportunities, like testing software, promotional work, coding and much more. Most of the available tasks right now are expected to be completed within 2 to 4 days.

You can read some more details here.


Commits 1852 by 169 developers
Open Bugs 21080
Open Wishes 15776
Bugs Opened 315 in the last 7 days
Bugs Closed 439 in the last 7 days

Commit Summary

Module Commits
Files Developer Commits
Laurent Montel
Milian Wolff
Aleix Pol Gonzalez
Sébastien Renard
David Faure
Sergio Luis Martins
Marco Martin
Yuri Chornoivan
Michael Pyne
Vishesh Handa

Internationalization (i18n) Status

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

Bug Killers

Person Bugs Closed
Myriam Schweingruber
Kevin Funk
Tom Albers
Vishesh Handa
Jekyll Wu
Cristian Oneț
Laurent Montel
Frank Reininghaus
Ben Cooksley
Sergio Luis Martins

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools

[] [] []   


[] []    


[] []    

KDE Base

[] [] []   


[] []    


[] [] []   





Networking Tools

[] []    

User Interface



[] [] []   





There are 106 selections this week

Bug Fixes

Development Tools

Milian Wolff committed changes in [kdevelop] projectmanagers/cmake/tests/cmakeloadprojecttest.cpp:

Fix cmakeloadprojecttest.

Looks like it was broken by 6c6b4fe7f4b62a8c03dcd1cefaa5fda2035f6def.

There are two issues related to that commit:
* "test" target is renamed into "testkde4app" in the
kde4app/CMakeLists.txt and not renamed in the test code.
* Disapeared target "buildtests" is generated only when

KDE4_BUILD_TESTS is False according to the kde4_add_unit_test macro
implementation. Now it set tot True exolicitely to elliminate
dependency on developer environment.

REVIEW: 107453

Morten Volden committed changes in [kdevplatform] /:

Fix some issues with parsing build output from fortran. Most of this patch, including the tests cases, is what was suggested by Peter M. Clausen in a mail at Kdevelop-devel from oct. 15. With the addtion that this should be able to handle the cases where gfortran places error output on multiple lines.

Kevin Funk committed changes in [kdevelop] projectmanagers/cmake/testing/ctestutils.cpp:

CTestUtils: Do not create invalid parse jobs

Some parse jobs indirectly created by CTestUtils::createTestSuites()
still contained the '#[bin_dir]' macro.

Daniel Calviño Sánchez committed changes in [ktutorial] ktutorial-library/tests/view/StepWidgetTest.cpp:

Fix memory leak in test.


Dennis Nienhüser committed changes in [marble] /lib:

Fixing zooming in and out with the mouse wheel during kinetic scrolling

Without this patch it zooms in to the position of the mouse without
noticing the kineticmodel, so it sets back the position in its next
REVIEW: 105356

Diffs: 1, 2, 3 Revision 07575fb...
Pino Toscano committed changes in [marble] /:

aprs: use external QextSerialPort for TTY reading

Instead of embedding an (old) copy of the QextSerialPort library, find for an external one;
only if found enable the reading from TTY, which is otherwise disabled (leaving its configuration tab disabled).

The drop of the internal QextSerialPort should also fix all the portability issues,
since the plugin itself does not use any OS-dependent API, and it is then reenabled unconditionally.

should now be fixed, and
CC, 242039
should not happen anymore.

REVIEW: 107536

Lasse Liehu committed changes in [step] step/worldgraphics.h:

Fix showing of translated names with ObjectClass as context

FIXED-IN: 4.10

Dennis Nienhüser committed changes in [marble/kitchen] src/bindings/python/sip/MarbleWidget.sip:

Fix to Python bindings for addLayer() and removeLayer()

MarbleWidget::addLayer() takes a pointer to a LayerInterface-derived
object as an argument. The pointer is added to an internal list of
layers that are rendered in the Marble widget. When exposing this
function via Python, the /Transfer/ SIP parameter annotation must be
supplied. This notation indicates to SIP that control of the lifetime
of the object passed via addLayer() is placed in the C++ library's
hands. If you don't do this, then Python might decide to
garbage-collect the layer object when it's no longer used on that side.
That is obviously a bad thing if the layer is still being used by the

Likewise, the /TransferBack/ annotation is used to return ownership of
the object back to Python if the removeLayer() function is later called
to remove the layer from the widget. At that time, the object can
safely be garbage-collected since it is no longer used by the widget
C++ library.

REVIEW: 104655

Riccardo Bellini committed changes in [bookmanager/iconbuilder] /:

Fix "no preview" resize bug and make book details available also
on item clicked

Diffs: 1, 2, 3, 4 Revision 6e00a11...


Fabio D'Urso committed changes in [okular] /:

Fix reload of modified documents that take longer to be ready

SlotDoFileDirty tries to reload the file at regular intervals.
This patch fixes it so that it can actually reopen the file even if
it is not ready at the first timer shot.

Benni Hill committed changes in [gwenview] lib/documentview/birdeyeview.cpp:

Fixed bug 301392: "birds-eye view extends to above the window when
viewing a very tall image"

REVIEW: 107538
FIXED-IN: 4.10

Aurélien Gâteau committed changes in [gwenview/KDE/4.9] lib/graphicswidgetfloater.cpp:

Fix video hud sometimes showing half hidden

Kåre Särs committed changes in [skanlite] /:
Luigi Toscano committed changes in [okular/KDE/4.9] generators/dvi/dviRenderer_draw.cpp:

Fix word detection for DVI documents

This patch attempts to restore the functionalities broken by some changes
(maybe the text column selection code, it was broken also in 4.7).

Text search and text selection work (almost) properly again.

It uses a bit of heuristics to identify the end of a word and merge the
boxes which enclose each character of a word (so that
It also tries to recognize if there is a newline ("after_space") after
that a space is found.

REVIEW: 107429
FIXED-IN: 4.9.4

KDE Base

David Faure committed changes in [kdelibs/KDE/4.9] /:

Fix KDirLister forgetting to watch a directory after listing it from the cache.

Many many thanks to Frank Reininghaus for the unittest that finally made
this issue reproduceable, based on feedback from users in the bug report.

The issue: whether to watch a directory with KDirWatch is refcounted.
Each lister showing the dir counts as one, the cache itself can add one,
and does so initially. If a dir is modified while it's only in the cache,
we mark it as dirty, stop watching, and we'll simply update the directory
when showing it to the user again later. At that point we need to start
watching it again. The old code would do decr+incr, I "optimized" this in
7b9cafaaf6af (oct 2010) to fix the bug that (with an initial refcount of 1),
decr would lead to 0 temporarily.
However if the item wasn't watched anymore (initial refcount of 0), the decr
would do nothing (if (c<0) c=0), and the incr would start the watching.
With 7b9cafaaf6af this all went away (I thought decr+incr==noop), so no watching.
The proper solution is obviously incr+decr_if_not_done_before_already
(when the cache stops watching the dir because a change happened).

FIXED-IN: 4.9.4

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

queue all menu caused window ops

REVIEW: 107462
FIXED-IN: 4.10

David Faure committed changes in [kdelibs/frameworks] /:

Fix build after bad merge, by restoring these files to their frameworks version.

Aseigo told me to use "git checkout --theirs applet.h" in order to
"take the 4.10 version of the changes where there were conflicts",
but it turns out that this was very bad advice: it loses ALL the changes
ever made to the file in the frameworks branch.

Diffs: 1, 2, 3 Revision d478be8...
Dan Vratil committed changes in [kdeplasma-addons/KDE/4.9] containments/groupingdesktop/lib/groups/flowgroup.cpp:

Save and restore position of widgets in vertical FlowGroup

Fixes a bug when widgets were all piled at (0,0) in a vertically-
oriented Grouping Panel after Plasma restart

REVIEW: 107477

David Faure committed changes in [kdelibs/KDE/4.9] kio/kio/kprotocolmanager.cpp:

Also check parent mimetypes in protocolForArchiveMimetype().

This fixes opening of JAR archives with the zip ioslave.

REVIEW: 101455

FIXED-IN: 4.9.4

Cedric Bellegarde committed changes in [kde-workspace] /:

Fix importers cache management

David Faure committed changes in [kde-baseapps/KDE/4.9] konqueror/src/konqmainwindow.cpp:

Fix konqueror 'nepomuksearch:/?query=Coldplay', the query was stripped.

The code in nameFilter was confusing this with /tmp/?foo which can be used
as a name filter (for "afoo"). If the typed URL does exist, then we don't
want to strip the query, only if it gets turned into a name filter.

Vishesh Handa committed changes in [nepomuk-core] services/filewatch/kinotify.cpp:

FileWatch: Avoid calling the addWatch function recursively

A watch needs to be added for each directory. If we try to add the
watches recursively, then at each level a new string is allocated which
consumes memory. This memory is eventually freed, but that doesn't
decrease the filewatch service's memory footprint.

Additionally, this extra memory can be quite large depending on how your
directory is structed. For me it makes a memory difference of about
50mb, but bug reports indicate that it can go as high as 2gb.

_k_addWatches() now only adds one watch and then calls itself. It
additionally traverses the file system tree in a depth first manner in
order to avoid extra memory allocations. (Breadth first costs more

REVIEW: 107529


Laurent Montel committed changes in [kdepim] messagecore/attachmentpropertiesdialog.cpp:

Fix Bug 310817 - Give attachment properties dialog a title

FIXED-IN: 4.10

Laurent Montel committed changes in [kdepim] /core:

Fix Bug 197597 - In KMail, message sorting does not work with

"Important" column

FIXED-IN: 4.10
But it will work directly with new user but when theme is already stored
we must clone theme and assign order to column.

Laurent Montel committed changes in [kdepim] templateparser/ui/customtemplates_base.ui:

Fix Bug 310883 - Wrong hover for Duplicate Custom Templates

FIXED-IN: 4.10

Sergio Luis Martins committed changes in [kdepim/new_todo_model] korganizer/views/todoview/incidencetreemodel.cpp:

Fix crash.

We don't have a one to one mapping between proxy and source,
because the proxy only shows to-dos.

Ignore dataChanged() regarding events and journals.

Andras Mantia committed changes in [kdepimlibs/KDE/4.9] /:

Honour the online/offline setting requested by a client application in every case.
Previously it could happen that the resources were set to offline mode, but due to an event,
like resume from suspend, or network reconnect, the resource went online.
This had bad side-effects, like downloading mails while KMail was in offline mode.

Yes, it is a bug, that was there even in KMail1 times. :)
I CC to other bugs about offline mode, although I'm not confident it fixes those problems.
Feel free to report success/failure for those cases.

FIXED-IN: 4.9.4

(cherry picked from commit 75a744dd473e57285e417456a2295400b95f9ac2)


Laurent Montel committed changes in [kdepim/KDE/4.9] calendarsupport/mailclient.cpp:

Fix 310706 New: korganizer doesn't send outlook compatible invitations

Thanks Jon Moon for debugging it.

FIXED-IN: 4.9.4

Christian Mollekopf committed changes in [kdepimlibs/KDE/4.10] /:


CREATED is the creation-date of the icalendar object, and not the time of serialization.
DTSTAMP is the last-modification-date without METHOD, and the time of serialization with a METHOD.

This patch fixes the following problems:
* dtstamp and created exchanged when writing any ical object
* created date is not preserved
* last-modification-date is not preserved
* vFreebusy iTip messages contain a created date (but must not)

Backwardscompatibility is ensured by only applying the fix for ical
objects which have been written using the new implementation.

For this X-KDE-IMPLEMENTATION-VERSION has been introduced to track the
implementation version which makes it possible to provide proper
backwards compatiblity.

REVIEW: 107480
FIXED-IN: 4.9.5

David Faure committed changes in [kdepimlibs/KDE/4.9] kimap/sessionthread.cpp:

Fix deadlock on socket error

Christophe Giboudeaux committed changes in [kdepim/KDE/4.9] akregator/src/akregator_part.rc:

Allow sending by mail directly from the context menu

FIXED-IN: 4.9.4


Cristian Oneț committed changes in [kmymoney/4.6] kmymoney/plugins/ofximport/dialogs/konlinebankingsetupwizard.cpp:

Fix a possible crash while mapping an OFX account.

The possibility occurred because the event loop is running
while the https request is performed. To avoid the crash
disable the back button.

(cherry picked from commit 62c62948cad0841dc585146a7ad55ee533d86097)

Boudewijn Rempt committed changes in [calligra] /colorengines/lcms2:
Cristian Oneț committed changes in [kmymoney] /:

When KWallet is opened synchronously do it in a safe way.

REVIEW: 107507


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

PlaylistActions: fix sloppy "stop playing after" API and friends clean-up some EngineController <-> PlaylistActions interaction
and remove some hackiness like frequent calls to ::repaingPlaylist()

First, I wanted to merge the
- but the patch just opened my eyes to a greater flaw in the design of
"stop playing after"... So thanks, V. A. Amarnath - you triggered me
studying the code.

REVIEW: 107457

Networking Tools

Lamarque Souza committed changes in [networkmanagement/nm09] applet/networkmanager.cpp:

Set configuration dialog size when opening it via systray icon's right menu.

(cherry picked from commit 40f0772d6cb61010be23e995674d0b37393d62fe)


Daniel Nicoletti committed changes in [colord-kde] /:

This fixes a bug that made the color profile not to be applied on
startup and also left the device-id empty, due to a call that
only got cached values from X which on session startup didn't had
the EDID data for the outputs set.
It also fixes a bug that failed to emit output changed when
an external monitor was plugged in.

Jonathan Michael Thomas committed changes in [muon/muon-backends] /:

Better fix for actions-crash-on-startup:
- Move the initial enabling of actions until after the QApt Backend is initialized.
- Properly return from QAptActions::setActionsEnabled() after disabling everything when enabled == false

Diffs: 1, 2, 3 Revision 7ec4c9f...
Aleix Pol Gonzalez committed changes in [muon] libmuon/ApplicationBackend/Application.cpp:

Fix crash when checking the executables for some resources

Make sure we only read .desktop files
Check that the service pointer is not null

Jonathan Michael Thomas committed changes in [muon/muon-backends] /:

Fix crashes on startup with MPM and MUM.

Diffs: 1, 2, 3 Revision fd3f36c...


Development Tools

Ralf Habacker committed changes in /trunk/KDE/kdesdk/umbrello/umbrello/widgets:

Made QGraphicsObject a common base class of WidgetBase and UMLWidget.

Milian Wolff committed changes in [kdevplatform/sharedurls] /:

Rename URL to Path since that's what it is - only a subset of a URL.

While the path can point to remote or local files, it does not support
many URL features like fragments, queries and the like thus renaming
it to Path should prevent any confusion.

While at it, this change also adapts the project model API to use Path
wherever possible. The old KUrl API is still in there but now marked
as deprecated.

Diffs: 1, 2, 3, 4, 5, 6 Revision 1cab5e4...
Milian Wolff committed changes in [kdevplatform] /filetemplates:

Add licenses: (L)GPL v2+ and higher as approved by KDE e.V.

Diffs: 1, 2, 3 Revision e8f45e2...
Michael Pyne committed changes in [kdesrc-build/modularize] kdesrc-build:

modularize: Add code to find kdesrc-build modules.

This is the lead-in to work which will eventually split out kdesrc-build
into component Perl modules and complete the modularization process.

This commit makes it possible for Perl to locate kdesrc-build modules
that are located in the XDG app-data directory (in case kdesrc-build is
installed), with a fallback to the kdesrc-build script directory (in
case kdesrc-build is run from a git checkout).

Although I am "modularizing" kdesrc-build, this is not an attempt to
split into CPAN-quality modules, rather we're just splitting into
separate files modules that are already conceptually separate
internally. At this point kdesrc-build will still be a single package
using as few dependencies as possible. However this will make it
possible to clone useful Perl modules if needed and will continue on the
path of de-cluttering the main script.

Aleix Pol Gonzalez committed changes in [kdevplatform] /:

Delay initialization of TextEditorWidget

This patch reduces the initialization of the loading a text document view
by delaying the initialization.
This is useful because when we change areas we close all the opened views
and then we reopen the new ones. The loading of document views was one of
the most expensive calls that happened there. This is now delayed to the
event loop so the view creation now is trivial by creating only an empty
widget that will be instantiated afterwards.

I'm not closing the bug for the moment, but it would be interesting to know
how it went, so feedback is welcome!

Milian Wolff committed changes in [kdevplatform/sharedurls] /:

Add Path::relativePath and Path::isParentOf

While I would have liked to reuse KUrl::relativePath I found its
return values very odd. I got e.g. for '/foo' and '/foo/bar' a
relative path './bar' while I would like to have 'bar'. KUrl would
even return './' for relativeUrl when an argument is invalid - odd.

Anyways, the custom implementations of both should also be faster.

Diffs: 1, 2, 3 Revision b605c8e...
Aleix Pol Gonzalez committed changes in [kdevplatform] sublime/ideal.cpp:

Don't resize the vertical IdealButtonBarWidget when it's empty

This greatly reduces the flickering on area switching. What was happening
is that when changing areas all buttons were removed and re-added. In this
process the button bar would shrink when empty and that would trigger a
re-layout of the whole GUI. Now we keep the width of the buttons we've

This won't be a regression given that my previous commit improves the
behavior when there are no buttons on the button bar, so we won't get
a big gray area.

Now all the flickering when changing area should be gone.

Milian Wolff committed changes in [kdevplatform/tabbed-filetemplate-preview] /:

Create a singleton TemplateEngine that owns the Grantlee engine.

Grantlee tries to unload plugins when the engine is unloaded which
is hazardous and can lead to random crashes.

This also makes more sense from the API point of view since the
engine should not have a 1to1 relationship to a Grantle::Context.
Instead, that should be a 1toN relationship.

I have a bad feeling though: The ArchiveTemplateLoader, which get
registered to the Engine, store a raw KArchiveDirectory* pointer
which will probably be invalid as soon as the KArchive gets destroyed.
This just begs to break down eventually, yet I do not see a way to
unload a template loader from Grantlee. Probably we should refactor
the ArchiveTemplateLoader to reflect its temporary nature. I think
a RAII pattern should work, paired with a single ArchiveLoader in
the engine that supports multiple archives registered by the RAII

Anyhow even without the above this patch seems to resolve the crahes
in the new tabbed file template preview. Many thanks to Olivier JG
for investigating this issue!

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


Sebastian Gottfried committed changes in [ktouch] /:

resource editor: fix edititing of key character positions

May old way of registering custom edit delegate stopped working for
some obscure reason. Now I'm reimplementing QStyledItemDelegate
directly to overcome that issue.


Anders Lund committed changes in [marble/kitchen] /plugins/render/opencachingcom:

Initial commit of plugin
This plugin provides support for showing geocaches on the map.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision da55fd4...
Aleix Pol Gonzalez committed changes in [analitza] /:

Make it possible to compile Analitza without OpenGL

Since some time ago, Analitza master required OpenGL for building
Analitza completely. This commit makes OpenGL a conditional dependency
and some parts of AnalitzaPlot will be left out if OpenGL is not found,
more specifically plotsview3d.cpp and plotter3d.cpp.

Riccardo Bellini committed changes in [bookmanager/iconbuilder] /:

Added a widget to display a larger preview and the summary
on mouse hover

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


Kåre Särs committed changes in [skanlite] src/skanlite.cpp:

Save sequence number across sessions

Fabio D'Urso committed changes in [okular] ui/pageview.cpp:

Two changes in PageView's zoom combobox

- Removed useless document->supportsTiles() check in setupBaseActions()
setupBaseActions() is called only once, before a document is opened,
therefore supportsTiles() always returns false
- Show the 400% entry even when tiled rendering is not available, so
that the last entry always corresponds to the maximum allowed zoom
level (i.e. 1600% or 400% according to whether tiled rendering is
available or not)

KDE Base

Vishesh Handa committed changes in [kde-runtime] /kioslaves/tags:

Tags KioSlave: Enable copying files in tag directories

If one tries to cut + paste a file, one will get a error, which is more
acceptable than the file being deleted.

Also added loads of debug statements.

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

Create the decoration listing after the KCModule has been shown

If the decoration listing gets initialized directly in the ctor as it
used to be, there is the chance of the list being not rendered in case
that there are multiple KCMs in one container and one has to switch to
the decoration KCM. This is the case for e.g. opening the KWin
configuration through the Alt+F3 menu. But that never happened when
going through Systemsettings as there (at least with English) it is
listed as the first module.

FIXED-IN: 4.10

David Faure committed changes in [kdelibs/frameworks] /:

Move KManagerSelection to kwindowsystem framework

Marco Martin committed changes in [kde-workspace] /screenlocker/greeter:

use plasma theme colors

set the plasma theme text color in the qpalette of the unlocker proxy widget

Marco Martin committed changes in [kde-runtime] /:

icon for edit-delete

A +- -- desktoptheme/air/toolbar-icons/edit.svgz

Marco Martin committed changes in [kde-runtime] /declarativeimports:

remove the kdialog based querydialog

Dialogs are always plasma-themed, and if possible are inline.
only if there is not enough space (like in a panel) they get moved in a separate window
this removes quite some c++ usage and hopefully solves some layouting problems in dialogs

M +- -- desktoptheme/air/widgets/background.svgz

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 02586fb...
Vishesh Handa committed changes in [nepomuk-core] libnepomukcore/resource/nepomukmainmodel.cpp:

NepomukMainModel: Never reset the localSocketModel

We now never create a new LocalSocketModel on reconnecting. Instead we
continue using the old one. This way we do not leak memory, as we could
not delete the old model (open iterators).

This is only possibly cause of the recent changes in Soprano which never
delete the inner ClientConnection which is shared between the model and
the LocalSocketClient. Before that commit the ClientConnection was
deleted which would result in the old model becoming invalid.

REVIEW: 107533

Vishesh Handa committed changes in [kde-runtime] nepomuk/kioslaves/search/queryutils.h:

NepomukSearch: the file size is stored in nfo:fileSize not nie:contentSize!

This incorrect property resulted in our query not fetching the
properties when fetching the results, which resulted in us having to
stat the file in order to fetch these properties.

This way is a lot faster.

Martin Klapetek committed changes in [ktp-presence-applet] src/presenceapplet.cpp:

Added plasma-themeability to the presence applet.

The presence applet is now plasma-themeable: if a file
icons/presence-applet.{svg,svgz} exists, and it has the correct icon
in it (user-<state>-plasma, like user-offline-plasma), then it will
use that SVG icon instead of the default.

Reviewed-by: Martin Klapetek

David Edmundson committed changes in [lightdm/v0.3] greeter/faceimageprovider.cpp:

Manually search for .face.icon files

This is a workaround for AccountService reporting the wrong path for the face icon

REVIEW: 107528

Vishesh Handa committed changes in [kde-runtime] /kioslaves:

Nepomuk kioslaves: Avoid showing urls which cannot be stated

If a url cannot be stated, there is probably invalid data in the Nepomuk
datatabase. In that case instead of showing that invalid data to the
user, we just silently hide it.

Gives a better user experience.

Vishesh Handa committed changes in [kde-runtime] /kioslaves/nepomuk:

Nepomuk KIO Slave: Clear up all this mess

The Nepomuk KIO Slave is an incredibly simple kio slave that just
redirects to other kio slaves. For such a simple slave it was
unbelievably complex.

It included code from the 4.4 days and had special code for the old
removeable media handling. This commit cleans up most of the code, and
leaves a much simpler easier kio slave.

I don't think I have lost any functionality.

Milian Wolff committed changes in [kate] /:

make it possible to disable the folding bar via the config interface

Marco Martin committed changes in [plasma-mobile/pa4/alarms] applets/alarms/plasmoid/contents/ui/AlarmEdit.qml:

button to delete alarms

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

Introduce a templated animationTime overload for the KConfigXT case

This method can be used to get the animationTime in case a configuration
class generated through KConfigXT is used. In general the configuration
stores the magic value 0 for a property "duration". This magic value
indicates that a hard-coded default value should be used.

So the common logic to test the stored value for 0 and then either pass
the stored value or the default value to animationTime is encapsulated
in this method in a generic way.

A MyEffect can use it in the following way:

FIXED-IN: 4.10
REVIEW: 107460

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 2468220...
Vishesh Handa committed changes in [nepomuk-core] cleaner/cleaningjobs.cpp:

CleaningJob: Clear InvalidFileResources

Due to certain bugs in the Resource class, it is quite common to have a
large number of nfo:FileDataObjects which do not have a nie:url. They
serve no purpose and just lie there.

This job deletes them.

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

Use correct value for autostart setting of Service-nepomukfileindexer

Fixes the problem that the "Recently accessed" entries in the Places
Panel might not be shown when using the default setup.

FIXED-IN: 4.10 Beta 2
REVIEW: 107464

Vishesh Handa committed changes in [kde-runtime] nepomuk/kioslaves/search/searchfolder.cpp:

NepomukSearch KIO Slave: Set a proper UDS_NAME for non local files

The Nepomuk Search KIO Slave lists all the entires which have a nie:url,
and have a corresponding kioslave for the protocol. Eg - Akonadi. In
that case the urls might or might not have a file. So, we use
Resource::genericLabel instead.

This allows emails to be listed in the search results. It is kinda cool.

Vishesh Handa committed changes in [kde-runtime] /kioslaves/search:

NepomukSearch: Use proper URLs

We never used to set the UDS_URL as we loose certain amount of context
information such as browsing query results in kde applications (when you
open the file). However, setting the UDS_URL makes stuff a lot easier.
And the context information was rarely used.

We can avoid setting a unique UDS_NAME, and set it as the filename
instead, cause we have a unique UDS_URL. This has the benfit of not
showing an ugly 'nepomuk_res_234-dsafdf' name when looking at the
properties of the file.

Also cleaned up the code in uds entry generation.

Dominik Haumann committed changes in [kate] /:

add option to show keep search&replace highlights

Now that we have an interactive message for seach&replace notification,
add another button "Keep highlighting", that keeps the search&replace
highlightings. As always, Escape hides the highlights, as before.

DIGEST: add "Keep highlighting" next to close button

Diffs: 1, 2, 3 Revision 66957da...


Sergio Luis Martins committed changes in [kdepim/new_todo_model] /views/todoview:

Honour dataChanged() signals that change the relatedTo field.

If a to-do's relatedTo field changes, we can't simply emit
dataChanged(). It's parent changed, we must move model rows.

DnD to-dos onto a parent now works again.

Sergio Luis Martins committed changes in [kdepim/new_todo_model] /views/todoview:

korganizer/todoview: Save tree expansion state between restarts.

TODO: Right now we have to delay the call to saver.restoreState()
because ETM takes a while to populate. In theory we shouldn't
need this, but KViewStateSaver doesn't handle rowsMoved()/layoutChanged()

David Narváez committed changes in [kdepimlibs/KDE/4.9] kholidays/holidays/plan2/holiday_fi_fi:

Updating Finnish holidays

FIXED-IN: 4.9.4

Grégory Oestreicher committed changes in [kdepim-runtime/KDE/4.9] resources/dav/resource/davgroupwareresource.cpp:

Always report deletion errors

FIXED-IN: 4.9.4

David Narváez committed changes in [kdepimlibs/KDE/4.9] /holidays/plan2:

Adding holidays for Kazakhstan Republic

FIXED-IN: 4.9.4

Laurent Montel committed changes in [kdepim/akregator_port] akregator2/src/akregator2_part.rc:

Apply patch from master:

Allow sending by mail directly from the context menu

FIXED-IN: 4.9.4

Sergio Luis Martins committed changes in [kdepim/new_todo_model] /views/todoview:

korg/todoview: Use a QToolButton for fullview.

It's now consistent with monthview, which also uses the
fullscreen and restore icons.

David Narváez committed changes in [kdepimlibs/KDE/4.9] /holidays/plan2:

Adding holidays for Algeria

FIXED-IN: 4.9.4


Dan Leinir Turthra Jensen committed changes in [calligra/krita-sketch-rempt] /sketch:

Add a default panel layout, to avoid scaring our users on first start ;)

Mojtaba Shahi committed changes in [calligra/mobi-export-fixes-moji] /words/mobi:

Support foot notes and end notes.

Cristian Oneț committed changes in [kmymoney] /mymoney:

Make sure that all transactions have a valid post date when
a consistency check is run.

Also make sure that MyMoneyReport::validDateRange returns a valid
date range no matter what data is in the file. This avoids having
a run-away kmymoney process when opening reports.

Networking Tools

Andrea Diamantini committed changes in [rekonq/first-half-rekonq2-to-master] /webtab:

Restoring inspector, part 3

Added a splitter to let inspector widget be resizable
Following my wife hint, it seems it is better to let it
be in the right part.

Let's see what people has to comment about...

Lamarque Souza committed changes in [networkmanagement] /:

Use correct default password mode.

Diffs: 1, 2, 3, 4 Revision aa08f99...
David Edmundson committed changes in [ktp-text-ui/kde-telepathy-0.5] lib/chat-widget.cpp:

Correctly emit notifications for messages recieved in an active chat

Fixed-In: 0.5.2

Andrea Diamantini committed changes in [rekonq/first-half-rekonq2-to-master] /:

Improve suggestions, step 2

Every change here is given to trade-off suggestions performance (p) and
relevancy (r).

- just check bookmarks for relevance if no history entries found (p)

- remove bookmarks item duplicates from history (r)
- just do it is user typed more than 1 char (p)

- order history entries just if user typed more than 1 char (p)
- (reverse) order by visit count (most visited first) (r)

Diffs: 1, 2, 3 Revision f9781fb...
Jan Grulich committed changes in [libnm-qt/settings] /:

Implement GSM setting

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 64f40d1...
Xuetian Weng committed changes in [ktp-common-internals] /Models:

Make AccountsFilterModel can be filtered by Id, fix globalFilterString

REVIEW: 107500

Andrea Diamantini committed changes in [rekonq/first-half-rekonq2-to-master] /urlbar:

Improve suggestions, step 1

- fast response on kde short url type
- fix secondary url load
- let resolved urls typed (eg: being first result

User Interface

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

Extend window border to the masked rounded corners in non compositing mode


Friedrich Karl Tilman Pülz committed changes in [publictransport] /:

Rename maxCount to count

Found in data source names as parameter, TimetableDataSource,
AbstractTimetableItemRequest and in scripts.
It refers to the number of timetable items to request,
but less or (some) more items can be returned. A higher 'count'
value can result in more timetable items being found, calling
this parameter 'maxCount' is misleading.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 1ea674f...
Jan Kundrát committed changes in [trojita] /Gui:

Gui: make it possible to copy the link target to clipboard

And because we want to do this only in case there's actually a link below the
cursor, this requires reimplementing the context menu.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 1f110a2...
Aleix Pol Gonzalez committed changes in [muon/muon-backends] /:

Split muon-backends in two

On one side we have the libmuonapt and on the other we have libmuon.
Now libmuon shouldn't have any QApt dependency

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 19 more) Revision 3ae3029...
Friedrich Karl Tilman Pülz committed changes in [publictransport] /:

Dynamically update the applet on provider changes

Store last received data for the currently used provider,
instead of requesting the provider data again when it might
have changed. The data engine automatically pushes updated data
for the connected provider data source (since the last commit).
Two new states providerReady/NotReady have been added to the
state machine.
This way the applet can react dynamically to changes on the
installed providers, simply copy the updated provider files to
the provider installation directory. For example when a provider
becomes invalid/not ready, the applet directly shows the error
or status message. Recovery from error with a provider that was
erroneous and then became valid and ready now also works.

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


Development Tools

Milian Wolff committed changes in [kdevplatform/sharedurls] project/tests/sharedurl.cpp:

Implement OptimizedUrl::isLocalFile and support file:// URLs properly.

We now use KUrl as a url parser and store the url prefix separately.
This should allow us to support any kind of URLs as long as they do
not contain sub urls, or fragments or any other more esoteric feature.
These should not be used in file managers anyways imo, thus this
should be OK I hope.

Milian Wolff committed changes in [kdevplatform/sharedurls] /quickopen:

Preliminary port of project file quick open data provider to Path.

While this shows some regressions in the benchmark (which can be
resolved later), the memory consumption is much better now since
we do not duplicate the string data of the file paths anymore.

Opening the Qt 4 source tree in KDevelop now only uses 134MB on my
machine, compared to 192MB with current master.

Diffs: 1, 2, 3 Revision 6ef6cf0...

KDE Base

Lukáš Tinkl committed changes in [kdelibs/KDE/4.10] /solid/backends/udisks2:

make use of a private connection to the system bus

not to block the main thread when running the Solid queries

Should fix, together with other optimizations in Dolphin and kfile,

patch by Dan Vrátil, reviewed by me

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision d6f8d6d...
Vishesh Handa committed changes in [kde-runtime] nepomuk/kioslaves/search/searchfolder.cpp:

Nepomuk Search KIO Slave: Use KDE_stat to stat local files

Instead of KIO::stat. It is just faster. We still use KIO::stat for non
local files.

David Faure committed changes in [kdelibs/frameworks] staging/kwidgets/src/icons/kiconengine.cpp:

Remove QMenu/QToolbar casts. Never used anymore.

I tried hard, but it just never gets triggered.
The code dates all the way back to c1b55284 (2006), when KIconEngine was
created, but menus and toolbars don't actually call paint(), they call
pixmap(), which hardcodes Desktop, but the size is 22x22 anyway.

Marco Martin committed changes in [kdeplasma-addons] /comic/package/contents/ui:

remove pixel based sizes from toolbar

also, use the toolbar element and fix the appear/disappear animation

Vishesh Handa committed changes in [nepomuk-core/KDE/4.9] /query:

QueryEngine: Avoid using rdfs:label in comparison/literal term

Virtuoso does not seem to be able to infer subPropertyOf relations. This
renders the LiteralTerm completely useless.

Instead we just use a generic variable for now. It might slightly
slower, but it is better than it not working. Everthing hinges on

Virtuoso bug -


Dmitry Kazakov committed changes in [calligra] /:

Highly optimized Displacement option for the Experiment PaintOp

This patch re-enables the Displacement option for the Experiment
PaintOp as was requested by Lukas. The new implementation has two
kinds of optimizations:
1) It updates big shapes (128+ pixes) using diffs of paths. It means
that the whole shape is not rendered every time. Only the changed
part of it is rendered. This gives up to 2 times better performance
for huge shapes of 2000+ px in size.
2) The path is incrementally simplified. That is the elements smaller
than 1% of the shape are truncated to a single line.

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


Matthias Klumpp committed changes in [apper] /:

Adjust layout of Apper settings page

The layout is now more in line with the general Apper design,
it also doesn't look too different compared with other KDE

Diffs: 1, 2, 3, 4, 5, 6 Revision 4c04e7b...