Issue 248

12th August 2012 by KDE Commit-Digest Team


Myriam Schweingruber
Martin Cigorraga
Danny Allen

This Week...

Start of rewriting the Maxima backend in Cantor. It is now possible to pause the background manager in KPhotoAlbum. Refactoring in kdenlive. Implemented Latex plugin and Bugzilla, Youtube filter in Ktp. Action support for author list in KRecipes. Bugfixes in KDevPlatform, Nepomuk, Calligra.


Commits 2405 by 189 developers
Open Bugs 21512
Open Wishes 16917
Bugs Opened 358 in the last 7 days
Bugs Closed 486 in the last 7 days

Commit Summary

Module Commits
Files Developer Commits
Roman Paholík
Marco Martin
Victor Dodon
Sergio Luis Martins
Gilles Caulier
Albert Astals Cid
Xavier Besnard
Burkhard Lück
Wolfgang Rohdewald
Yuri Chornoivan

Internationalization (i18n) Status

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

Bug Killers

Person Bugs Closed
Jarosław Staniek
Jekyll Wu
Albert Astals Cid
Myriam Schweingruber
Frank Reininghaus
Ben Cooksley
Thomas Lübking
Milian Wolff
Vishesh Handa
Christoph Feck

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools

[] [] []   []


[] [] []   


[] [] []   

KDE Base

[] [] []   []


[] [] []   []


[] [] []   []




[] [] []   []

Networking Tools

[] [] []   

User Interface

   []   []


[] [] []   




[]     []

There are 131 selections this week

Bug Fixes

Development Tools

Andreas Pakulat committed changes in [kdevplatform] outputview/outputmodel.cpp:

Restore working prev/next output marker behaviour

This was broken during the refactoring when moving the code from kdevelop
into kdevplatform. The shuffling of code apparently led to the wrong
lists size being appended to the set. The original code appended the size
of the actual lines in the model (not the error-items) to the list, which
is the same as the row-number of the newly-inserted item. This was
transformed into adding the size of the error-items-list, which simply
makes no sense. The code using this list actually expects row-numbers for
the model in the set.

Josef Weidendorfer committed changes in /trunk/KDE/kdesdk/kcachegrind/libcore/cachegrindloader.cpp:

Fix bug in CachegrindLoader

A "fl=..." line provides the filename for following functions
specified. This information got lost if "fi=/fe=" lines
showed up. These specify files related to lines/instructions
of the current function which are different from the file where
the function is defined.

Josef Weidendorfer committed changes in /trunk/KDE/kdesdk/kcachegrind/libviews:

Fix two annoying behaviours of function selection

* switch off autoScroll: otherwise selecting partially
visible function name column resulted in automatic horizonal
scroll, hiding the cost columns
* show tooltip with full function name if truncated in column

Both "worked" correct with Qt3 compat classes...

Milian Wolff committed changes in [kdevelop/4.4] /makebuilder:

Let the OutputView take ownership of the make output delegate.

This is basically the fix for the two bugs below that does not
require any ABI break and can thus be done in the 1.4 branch.


Brian Korbein committed changes in [bookmanager] /:

add the id key to each entry to make it easier to map the displayed entry to the source. The id is stored under the keyRole. This also fixes book removal, using the new keyRole info to ensure the correct entry is deleted.

Diffs: 1, 2, 3, 4 Revision 53b329c...
Frederik Gladhorn committed changes in [rocs] src/Interface/VisualEditor/GraphScene.cpp:

Fix loading of documents with data/pointer of type!=0.

Rocs would only display items of type 0 since only those
were added to the scene.

Andreas Cord-Landwehr committed changes in [rocs] /Plugins/DataStructure/Graph:

Add script accessor functions for nodes/edges of different types.

Fix and extend node/edge script accessor function of Graph data
structure plugin:
* Fix behavior of GraphStructure::list_nodes():
return nodes of all types
* Fix behavior of GraphStructure::list_edges():
return edges of all types
* Add new method GraphStructure::list_nodes(int type):
return only nodes of specified type
* Add new method GraphStructure::list_edges(int type):
return only edges of specified type


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

Fix wrong key name in thumbnails

This prevented Gwenview from sharing thumbnails with Dolphin and other
Thumbnail-spec compliant applications.

Thanks to Benni Hill for pointing this out.

FIXED-IN: 2.9.1

Gilles Caulier committed changes in [libkipi/development/2.0.0] /:

new libkipi plugins config widget layout to group tools by categories for a better readablility

FIXED-IN: 3.0.0

Albert Astals Cid committed changes in [okular] /:

Fix crash when a drag contains the url format but doesn't contain any url data for that format

KUrl::List::canDecode( ev->mimeData() ) doesn't mean KUrl::List::fromMimeData( ev->mimeData() ) will not be empty

FIXED-IN: 4.9.1

KDE Base

Martin Gräßlin committed changes in [kde-workspace/KDE/4.9] kwin/effects/flipswitch/flipswitch.cpp:

Properly calculate the offset between multiple screens in FlipSwitch

The code assumed that screens border to each other. That is the height
of the one screen is the y position of the other screen.

FIXED-IN: 4.9.1
REVIEW: 105958

Martin Gräßlin committed changes in [kde-workspace/KDE/4.9] kwin/effects/dashboard/dashboard.cpp:

Move blur behind setting for dashboard to windowAdded slot

We always want to have blur behind the Dashboard window not
just after the activitation.

FIXED-IN: 4.9.1
REVIEW: 105962

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

Stop preview jobs when closing Dolphin

Patch by Benni Hill. Thanks for the patch!

FIXED-IN: 4.9.1

Simeon Bird committed changes in [nepomuk-core] /fileindexer/indexer:

Add a new --skip option to nepomukindexer
to allow skipping of strigi plugins.
Shortly to be used for fixing bug 303670.

Diffs: 1, 2, 3 Revision 70b813d...
David Faure committed changes in [kdelibs/frameworks] staging/kde4support/autotests/klibloadertest.cpp:

With the buildsystem changes, the plugins are created in this dir, now.

This fixes klibloadertest with Qt4. Still broken in Qt5 though,
due to Q_EXPORT_PLUGIN[2] being broken on purpose there.

Amandeep Singh committed changes in [kde-baseapps] /src/kitemviews:

Remove reimplementation of functions.

The base class implementations are actually good and without some problems.
Save one pointer's worth of memory by not having m_container.

rect was returning a relative rectangle always.

State was wrongly returning HasInvokeExtension which can lead to crashes.

Simeon Bird committed changes in [nepomuk-core] /fileindexer:

Add the --skip option introduced in the last commit to
the invocation of nepomukindexer from the file indexing service.

Add a configurable option "exclude plugins" (which defaults to the
SHA1 plugin DigestEventAnalyzer) to allow generic plugins to be excluded.

REVIEW: 105986
FIXED-IN: 4.10

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

kinotify: Do not store the paths to be added

kinotify used a QQueue<QByteArray> to store all the directories which
need to be added. Since we use QDirIterator, each path is presented as a
QString which is then encoded to its QByteArray (QFile::encodeName).
This results in *large* chunks of memory being allocated, and then
slowly being deallocated.

Instead, we now use a QDirIterator, and do not store all the directories
which need to be added, we simply iterate over them. This way we do not
allocate large amounts of memory.

There is a large performance improvement as well. On my system, with
38829 directories, adding all the watches now takes only about 10 seconds,
instead of about 65.

Patch possible due to massif output provided by Jure Repinc.
Thanks a lot.

tldr: Use DFS instead of BFS -> Less memory consumption

REVIEW: 105892
DIGEST: Fix massive memory leak in Nepomuk File Monitoring Service

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

Verify QVariant is valid before casting to Client*

If the ClientModel does not contain any Clients, which can
happen if there is no desktop window, accessing the data of a
ModelIndex returns an invalid QVariant. Because of that it
needs to be ensured that the QVariant is valid before trying to
cast it to a Client Pointer.

FIXED-IN: 4.9.1
REVIEW: 105935

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

use virtual screen size when desktop is resized

QDesktopWidget::screenGeometry() fails if there's a panning or overlapping screen setup

REVIEW: 105974

FIXED-IN: 4.9.1

Alex Merry committed changes in [kde-workspace] plasma/generic/dataengines/mpris2/playercontainer.cpp:

MPRIS2: assume the position is 0 when stopped

MPRIS2 does not require the Seeked() signal to be emitted when stopping
a track. It does, however, require it to be emitted if the position is
not 0 when going from Stopped to Playing (or Paused).

So we should assume the position is 0 when Stopped.

This fixes an issue I noticed with gmusicbrowser, where stopping a track
and starting it again would show the wrong time in the Now Playing

FIXED-IN: 4.9.1

Frank Reininghaus committed changes in [kdelibs/KDE/4.9] /util:

Make KModifierKeyInfoProvider inherit QObject, rather than QWidget

This makes crashes like the one I'm closing with this report impossible,
even though the root cause might be somehing else, possibly related to
Qt and particular settings of certain styles.

In any case, that class does not need anything from QWidget any more, so
this change would make sense even without the crash.

Thanks to Aurelién Gâteau and David Faure, both for coming up with the
idea to fix it this way in the first place and for explaining why
deriving the class from QWidget did make sense in the past.

FIXED-IN: 4.9.1
REVIEW: 105920


David Jarvie committed changes in [kdepim] /:

Fix Quit not working in system tray icon context menu


Jarosław Staniek committed changes in [calligra] /:

Fix misplaced validation tip in tableview; show invalid data warnings

Table View:

*Fixed misplaced 'Date/Time data error' validation popup in tableview

*Show warning when invalid date values in tables and forms are rejected

*Clicking validation popup editor is focus again allowing to correct the value
*Use new message widget for validation popups


Friedrich W. H. Kossebau committed changes in [calligra] /:

introduce koIcon

* fixes for the wrong usage of K/QIcon vs. pixmap (from incomplete Qt3->Qt4 porting):
Q/KIcon does not have a real size, it's more kind of a factory for whatever
pixmap size it is asked for, so just loading a certain icon pixmap and setting that
to a KIcon/QIcon is useless, as the widget which takes the icon might request a
different size. So e.g. passing a SmallIcon("icon-foo") to a button which takes a
QIcon can result in badly scaled icons instead of loading the most perfect size
match from the icon-set.
* removes lots of unneeded includes, usually kiconloader.h
* makes the API consistent for some classes, with
"iconName" for a QString-based icon name and
"icon" for a KIcon/QIcon type property
* use consistently "IconSize" everywhere instead of "KIconLoader::global()->currentSize"
* removes unused "KPrFactory::iconLoader()"
* adds a simple script tools/iconcheck/ to find iconnames without existing icons

REVIEW: 105289

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 494 more) Revision 06d1bc8...
Boudewijn Rempt committed changes in [calligra] krita/image/

Don't mirror an image with a width of one pixel or less

Since there's nothing to mirror then. This happens when a layer is empty,
for instance because it's just been created.

Robby Stephenson committed changes in [tellico/2.3] /:

Fix bug with adding fields when importing bibtex

The Bibtex importer was not properly adding new fields when reading
Bibtex files. Be sure to properly merge all fields. A test case is

FIXED-IN: 2.3.7

Thorsten Zachmann committed changes in [calligra] /:

fix regression when loading vector shapes generated by OO/LO/MSO

In the commit 9efb4e33f2729080b1f1f24bb18970499a21f2b9 unfortunately a regression was
introduced so that loading of vector shapes generated by OO/LO/MSO and our filters no
longer work. Unfortunately this commit is also in the 2.5 release. This can be seen
e.g. with the following documents:

but much much more of our test documents are effected. There is also a crash in the
last document due to which I noticed the problem and started investigating.

The problem is that our filters and the other apps create mimetypes that se no longer
load with the above mentioned commit.

This patch fixes the filter to use the new mimetypes when converting files and adding
other mimetypes that are written be e.g. OO or guessed by the mimetype guesser of some
of the files.

Additionally fixed by this patch is to not load the first child element twice as when
the first loading failed it makes no sense to try it a second time.
It also fixes a problem that the formula shape and the chart shape tried to load every
embedded document even if it had the wrong mimetype.

REVIEW: 105873
(cherry picked from commit 4687aaf3dc93038f368f39b091ab75a40f899a07)

Diffs: 1, 2, 3, 4, 5, 6 Revision 9dbe127...
Thorsten Zachmann committed changes in [calligra] /:

Fix mixup of canvas and document resource

When investigating the reason for crash for bug 304674 I found out that a very a bug had sneeked in during some refactor of the KoDocumentResourceProvider and KoCanvasResourceProvider. The problem there was that the canvas resource current page had changed and that triggered a repaint which resulted in a crash (Crash fixed by a better fix). However the reason there was a repaint was that the signal for changing the current page resource triggered in KoPathTool::resourceChanged the trigger for HandleRadius as both resource providers did trigger the same slot with oververlapping resources :-(. Seems like this was not the only place where this was done. I have fixed that by adding a second slot for the documentResourceChanged and now the different slots are used for the different resources to no longer mix stuff there. I tried my best to find all occurrences of the problem.

Will wait one week before I backport to 2.5 as asked by boemann.

REVIEW: 105896

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


Ralf Engels committed changes in [amarok] /statusbar:

Fix crash when closing Amarok with running CoverFetcher

childBarFinished was called with invalid m_progressDetailsWidget
However also the m_progressMap needs protection. The CompoundProgressBar
needs to be thread safe.

Tests: Change is verified by me to fix the problem.

REVIEW: 105942

Ralf Engels committed changes in [amarok] /:

Fix some more playlist related problems.

The assumption was that a playlist always contains valid tracks.
However that does not seem to be the case.

Scenario: Tracks are deleted from collection but not from playlist.

So, when handling playlist tracks, make sure that there is an actual
track object behind it.


Harald Sitter committed changes in [phonon-vlc] src/video/videowidget.cpp:

fix opengl surface painting

with opengl as viewport qpainter refuses to draw the same qimage twice
so we create a new image for every paint call, which is cheap because
all the data is in the plane QBA anyway

now gwenview should be working as expected

Robert Riemann committed changes in [kubeplayer] /:

add ruby flag to support utf8 queries

This bug was reported by Dimitrios. Thank you very much!

Martin Tobias Holmedahl Sandsmark committed changes in [kmix] /:

Fix master channel selection via kmix main window issue and fix no global master found issue.

Fixes the issue where changing the master control in the KMix main
window doesn't change the master control in tray.

It also solves a problem with the dock icon appearing blank due to the
mixer not able to find any global master. The device id returns
something like "alsa_output.pci-0000_04_00.0.analog-surround-51" for 5.1
and "alsa_output.pci-0000_04_00.0.analog-stereo" for analog stereo and
hence the issue.

Patch by Prasad Murthy.

REVIEW: 105422

Ralf Engels committed changes in [amarok] /:

Prevent crash in case of non-working sql collection

Add some validity checks for the case where a collection is


Harald Sitter committed changes in [dragon] src/mpris2/mediaplayer2player.cpp:

add missing qreal()

on ARM qreal != double so a qbound with qreal,double,qreal will on
arm be a qbound on float,double,float which defeats the exercise
of making them qreal to begin with.

Networking Tools

Rohan Garg committed changes in [ktp-call-ui] /:

Fix as per review request

* Drop enableHoldButton, hold button now enabled via setStatus
* d->holdAction transitioned from KToggleAction to KAction
* Rename operationFinished to holdOperationFinished
* Make sure strings are translated in the ui
* Better debug string
* Better strings for the ui
* Treat Tp::LocalHoldStateReasonResourceNotAvailable for call unholding
as a uknown error.

Diffs: 1, 2, 3 Revision 6de1dd5...
Andrea Diamantini committed changes in [rekonq] /:

Fix the tab preview ratio. We want the web page ratio, not the window ratio.

Joris Guisson committed changes in [ktorrent/4.3] ktorrent/dialogs/fileselectdlg.cpp:

Fix size after download calculation in FileSelectDlg when file already exists


Andrey Matveyakin committed changes in [krusader] krusader/VFS/vfs.cpp:

fix bug in calculating total number of files over network

This function seems not to work properly due to problems in interaction
with KIO, but this is still definitely a bug.
Fixes -Wunused-value warning.


Andre Heinecke committed changes in [emerge/emerge-without-versions] /:

Clarify some docstrings, rename remInstalled

remInstalled did not do any removal but just returned the package

Diffs: 1, 2, 3 Revision 5554f2c...


Development Tools

Andreas Pakulat committed changes in [kdev-custom-buildsystem/ui-rework] /:

Add a simple app that shows the kcm-widget for testing purposes

This is a prototype-like app showing the config widget, its purpose is
to make it easier to test ui-changes in the widget on some dummy project
without going through kdevelop.

Vishesh Handa committed changes in [kdeexamples] /:

Nepomuk: Add a simple application called nepomuk-test

The application does nothing, but it sets up everything required to
start writing a simple application in Nepomuk.

Diffs: 1, 2, 3, 4 Revision 80a322a...
Josef Weidendorfer committed changes in /trunk/KDE/kdesdk/kcachegrind:

QCachegrind: allow building both with Qt4 and Qt5

This also fixes a bug with the custom, KDE-compatible
moc generation: do not just use "moc", but $$QMAKE_MOC.
This went wrong whenever a non-default Qt4 installation
was used.

Diffs: 1, 2, 3, 4 Revision 1309828


Alexander Rieder committed changes in [cantor/rewrite_maxima] /:

start rewriting the maxima backend

start initial work on a new maxima backend. It makes better use of the
hooks provided by maxima to structure its output and make parsing easier.
It also drops the need for a second maxima process to do the conversion
of output to latex code. Instead the display2d function of maxima is
modified to also deliver the TeX-ified version of the output.
Setting up the maxima session and basic interaction is already working.

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


Jesper Pedersen committed changes in [kphotoalbum] /:

make it possible to pause the background manager
Read my words: I will regret this feature over and over again :-)

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision c73a36a...
Mailson Menezes committed changes in [okular/tiled-rendering] ui/pageview.cpp:

Pre-render nearby tiles

Pre-render tiles that are nearby the current viewport and also the last
tiles of the previous page and the first tiles of the next page.

Gilles Caulier committed changes in [libkipi/development/2.0.0] /:

add new method to extract kipi-plugins version from common kipiplugins.desktop file
Print libkipi and kipi-plugins version on plugins config widget

KDE Base

Amandeep Singh committed changes in [kde-baseapps] /src/kitemviews:

Focus-tracking for widgets in Dolphin View now works.

Added the calls to updateAccessibility, for DragDrop & Focus scenarios

Diffs: 1, 2, 3, 4, 5 Revision 1246c5b...
Christoph Cullmann committed changes in [kate] /:

all plugin manager functions for interfaces implemented ;)

Jörg Ehrichs committed changes in [nepomuk-metadata-extractor] /:

Add support for music files and MusicBrainz python fetcher

Parse music files via TagLib, existing nepomuk info (filename analyzer currently missing)

MusicBrainz plugin added, but seems to use outdated python module. needs a better solution

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 9f2fddd...
Konstantinos Smanis committed changes in [kde-workspace/KDE/4.8] /:

Add support for GRUB2 submenus.

Properly parse the 'submenu' directive in GRUB's configuration file
and provide the user with an appropriate menu interface when choosing
which entry to reboot into.

Limitations: Internally we make use of the " >> " separator (hardcoded
in both kdm and ksmserver). An occurence of the separator in a menu
title (be it menuentry or submenu) will baffle our parser. Moreover,
we only support multi-line statements: one-liners, although supported
by GRUB, will fail to be parsed. Lastly, only up to 5 nesting levels
are supported. The above limits are more than enough for all but a
handful of cases.

REVIEW: 105563

Alex Merry committed changes in [kdeplasma-addons] /nowplaying/package/contents:

Allow disabling cover, artist and album display

Add a configuration panel that allows users to prevent album covers,
album name and/or artist name being displayed.

FIXED-IN: 4.10

Kurt Hindenburg committed changes in [konsole] /:

Add the "Send Signals" menus from KDE 3.5

This reintroduces the "Send Signals" from KDE 3.5.

Patch by Kasper Laudrup

FIXED-IN: 4.10

Vishesh Handa committed changes in [nepomuk-core/feature/backup] /storage:

Backup: Implement Simple Backup of Nepomuk

Modified the BackupGenerationJob to simply query for all the statements
it wishes to save (all graphs but nrl:DiscardableInstanceBase), which is
then serialized into a file and gzipped. The statements are serialized
into the standard NQuads format.

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


Sergio Luis Martins committed changes in [kdepim/calendaring] /:

Port to IncidenceChanger.

- Invitation stuff now comes for free.
- Redo/Undo of incidences changed my the editor is now supported.
- Transparent handling of recurring incidences planed for the future.

Diffs: 1, 2, 3, 4 Revision b8bef3b...
Volker Krause committed changes in [kdepimlibs] /:

Support the new database upgrading state of the Akonadi server.

This allows us to show a wait screen when the Akonadi server is performing
a database upgrade that might take a bit longer.

Diffs: 1, 2, 3 Revision 9ca4e22...


José Luis Vergara committed changes in [calligra] /plugins/tools/selectiontools:

Add new auto feather and growth options to Fill Contiguous Selection tool

Arjen Hiemstra committed changes in [calligra/krita-sketch-rempt] krita/sketch/qml/panels/Panel.qml:

Add support for proper drag-and-drop for moving the panel.

José Luis Vergara committed changes in [calligra] /pigment:

Add the new Behind composite Op


Jean-Baptiste Mardelle committed changes in [kdenlive/refactoring] /:

* Some progress on the bin (user can switch between icon view and tree view)
* Add improved seeking marker to monitor ruler (same as Shotcut)

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

Networking Tools

David Edmundson committed changes in [ktp-text-ui/filters] /:

Implement basic substitution plugin

As a plugin this is quite reasonable. However, there's currently
no graphical way of configuring this as of yet.

I'll probably build a KCM for it sometime soon.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 3a7d272...
David Edmundson committed changes in [ktp-text-ui] /:

Run backlog through message processor

Message now supports construction from both Tp::Message and
Tpl::Message, this is now used by the message processor.

LogManager is updated to run messages through the message processor

REVIEW: 105943

Diffs: 1, 2, 3, 4, 5 Revision 36fe15d...
David Edmundson committed changes in [ktp-text-ui/filters] /:

Implement Latex plugin

BAM! That's right, all in one commit!

(Well, I stole a significant chunk of the code from Kopete)

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 6351bed...
David Edmundson committed changes in [ktp-text-ui/filters] /:

Implement Bugzilla Filter

I tried to use the bugzilla API to show some useful information,
but KIO doesn't let me do any of network requests synchronously.

So, for now this is going to be just embed a link to the bugzilla
page. I'll come back and make it nice when I have an asynchronous
plugin system.

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


Jonathan Michael Thomas committed changes in [muon] /:

Muon Software Center now supports KNSBackend \o/

Diffs: 1, 2, 3 Revision fe79101...
José Manuel Santamaría Lema committed changes in [krecipes] /:

Actions support for author list.

This allows the user to create, modify and delete authors using the keyboard,
the context menu or the create/remove buttons in the authors dialog.

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

Add a popup MarbleWidget to StopLineEdit

- The popup functionality is implemented in PopupHandler
- PublicTransportLayer is used to show positions of suggested stops
in a MarbleWidget, it also shows some selected stop names
in annotations and allows to hover/select stops
- PublicTransportMapWidget derives from MarbleWidget and uses
PublicTransportLayer, provides additional functions/signals,
implements the hovering
- The use of Marble can be disabled completely at compile time using
the BUILD_MARBLE_MAP cmake option
- Add coordinates to the Stop class and a boolean
hasValidCoordinates, the map can only show stops when this is true
- Add comparison operator to Stop for automatic sorting of stops
to a good order for drawing (in the QMap)

TODO: There is currently no provider in GIT that supports this,
I'll commit one soon.

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


Development Tools

Aleix Pol Gonzalez committed changes in [kdevelop] app/welcomepage/main.qml:

Simplify the code that loads the main dashboard item.

Use a Loader instead of hacking it around.

Aleix Pol Gonzalez committed changes in [kdevplatform] /reviewboard:

Improve usability of the ReviewBoard plugin

Remember the various dialog fields. Now the only that won't be remembered
is the password, we should use KWallet there, but we can do that another day :).

Diffs: 1, 2, 3 Revision bff599b...
Milian Wolff committed changes in [kdevplatform/1.4] /:

When a job gets deleted, ensure we update the runcontroller.

This can happen when a job gets deleted, i.e. via QObject inheritance.
Then apparently it does *not* emit finished() and thus we could end up
with invalid pointers in the RunController leading to strange crashes
in e.g. dynamic_cast.

Milian Wolff committed changes in [kdevplatform/1.4] /reviewboard:

Disable the "OK" button of the review board export-dialog if no repository is selected.

Otherwise the user could submit the dialog which would lead to a crash
when we try to read the repository.

David Nolden committed changes in [kdevplatform] /:

Greatly improve usability of the project filter.

* Hide directories which don't contain any of the filtered items
* Show how many items were hidden in each directory through a "... X filtered" entry
* By clicking that entry, allow expanding and unexpanding the filtered items

Diffs: 1, 2, 3 Revision 91da122...
Ivan Shapovalov committed changes in [kdevplatform] /projectmanagerview:

Get rid of BuildItemBuilderJob in Project Manager View plugin.

The whole and only purpose of that class is to convert KDevelop::BuildItem to

Refactor ProjectManagerViewPlugin slightly in order to separate
targets collection and job creation into different functions, and
incorporate the mentioned conversion into one of the functions.
This allows us to remove that class completely.

REVIEW: 106459

Diffs: 1, 2, 3, 4, 5 Revision 6681fcc...


Bernhard Beschow committed changes in [marble] /lib:

explicitly pass a GeoSceneTexture to TileLoader::scaledLowerLevelTile()

Passing a GeoSceneTexture to scaledLowerLevelTile() makes findTextureLayer() superfluous, which in turn makes m_textureLayers superfluous, which in turn makes setTextureLayers() superfluous.

Diffs: 1, 2, 3, 4 Revision 9f25c87...
Frederik Gladhorn committed changes in [rocs] /Interface:

Simplify add data/pointer type dialogs.

When adding a new type just focus the name edit,
instead of having a line edit just for pre-setting its name.

Remove QWidgets as layout elements (use layouts instead).

Set buddies in the ui files.

Diffs: 1, 2, 3, 4 Revision d282bc1...
Alexander Rieder committed changes in [cantor/rewrite_maxima] src/backends/maxima/maximaexpression.cpp:

optimize memory usage during parsing

previously the code consisted of lots of str+=char like constructs,
causing a lot of memory allocation. Replace constructs like the above
with doing calculations with indexes and using QStringRef for temporary


Dominic Lyons committed changes in [kipi-plugins/development/3.0.0] /:

* Access Photivos ID mapping file
* Map Original DocumentID to the file
* Show some XmpMM details
* Add class XmpIDMap
* Tidy up class XmpInfo

Signed-off-by: Dominic Lyons

Diffs: 1, 2, 3, 4, 5, 6 Revision 79eacea...
Martin Koller committed changes in [kolourpaint] mainWindow/kpMainWindow_File.cpp:

improve error message when no scanner dialog plugin was found

FIXED-IN: 4.10

KDE Base

David Faure committed changes in [kdelibs/frameworks] staging/kwidgets/autotests/kglobalsettingstest.cpp:

Skip this test with Qt4, it got broken by the port to Qt5 native event filters.

Can't have it both ways :-)

Frederik Gladhorn committed changes in [kate] part/view/kateviewaccessible.h:

Improve accessible interface.

Instead of re-implementing isValid, use the much better existing implementation
in QAccessibleWidget. Also make use of the "object" variable.

Vishesh Handa committed changes in [nepomuk-core/KDE/4.9] server/nepomukserver.cpp:

NepomukServer: When disabling Nepomuk do not call quit()

Calling quit() results in the application quitting immediately without
properly shutting down all the services. Instead, we wait till all the
services have shut down and then quit.

Reviewed By: Sebastian Trueg

Martin Tobias Holmedahl Sandsmark committed changes in [kde-baseapps] dolphin/src/panels/information/informationpanelcontent.cpp:

Use a saner check for multimedia files in infopanel.

Don't rely on the reported supported mimetypes from Phonon,
Phonon supports more than just video and audio, but if it is
video or audio there's a very good chance Phonon supports it.

(If the mime type isn't in the list returned by Phonon there's
still a good chance it supports it, because mime types are stupid.)

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

Effects can provide support information through properties

The supportInformation is extended to also read the properties
on all effects. In addition each effect can be queried just for
itself through D-Bus, e.g.:
qdbus org.kde.kwin /KWin supportInformationForEffect kwin4_effect_blur

All effects are extended to provide their configured and read
settings through properties. In some cases also important
runtime information is exposed.

REVIEW: 105977

FIXED-IN: 4.9.1

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

a central place to enable/disable mouseover

and eventually other things
this in the future should become something that can change dynamically in theme, but for now can already avoid quite some code duplication

Aleix Pol Gonzalez committed changes in [kde-runtime] plasma/declarativeimports/plasmacomponents/qml/ListItem.qml:

Reduce opacity of the ListItem's background decoration on hovering.

It improves the GUI feedback when using the components with a mouse.

REVIEW: 105939

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

ResourceWatcher: add *count() methods for resources, properties and types

These count methods are faster than returning the full list and then
counting the number of items in the list.

This also fixes an infinite loop where a temporary Resource is created
when querying for the number of resources being watched. The temporary
Resource is deleted, which results in ResourceData::resetAll being
callled which again called ResourceWatcher::resources(), and the cycle

REVIEW: 105927

Christoph Cullmann committed changes in [kate] /plugins/project:

handle project loading more automatic
instead of loading projects manually, kate will search the best matching project for a opened file by walking up and looking for a .kateproject file
this is very nice, as you don't need to care for your project files but kate will just auto open the right ones
still bit rough, as the toolview doesn't scale well

R +0 -0 .kateproject [from: kate.kateproject - 100% similarity]

Diffs: 1, 2, 3, 4, 5 Revision ee83572...
Michael Zanetti committed changes in [kde-workspace] /daemon:

Make the brightness OSD adjust its size to the used DPIs.

This makes the OSD look nice on high resolution screens (e.g Retina Displays) and aligns it with the Volume OSD.

Albert Astals Cid committed changes in [kdelibs/KDE/4.9] kdeui/dialogs/kaboutapplicationdialog.cpp:

Fix Warning messages when closing About popup

There is a too agressive check in KWidgetItemDelegateEventListener that complains about
"User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!"
when closing an about dialog.

I tried making it less agressive but since i could not, i'm just deleting things in a different order in the destruction of KAboutApplicationDialog so that the warning is not triggered and our users get angry
REVIEW: 105627

FIXED-IN: 4.9.1

Amandeep Singh committed changes in [kde-baseapps] /src/kitemviews:

Accessibility: Implement rect for cells and view.

Remove comparison of QAccessibleInterfaces - these are pointers that get
instantiated again and again, so they cannot be compared. Use the object()
function in QAI instead for comparison.

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

Remove outdated options from TabBoxConfig

Since the QML port the LayoutMode had been hardcoded to vertical
layout making it a completely useless code-path.

MinWidth/Height are nowadays completely controlled by the QML
theme. They were not read anywhere except in the kcm, but there
not even bound to a ui element.

The selectedItemLayoutName is also not used anymore with the
new themes.

Diffs: 1, 2, 3, 4, 5, 6 Revision c4db45b...
David Faure committed changes in [kdelibs/frameworks] kdecore/util/kexportplugin.h:

This makes K_EXPORT_PLUGIN work with Qt5 again.

In other words, we provide more backwards compatibility than Qt5 does
itself (where Q_EXPORT_PLUGIN just breaks compilation)...

I'm not actually sure why Qt5 does that, it's easy to support to old
macro for compatibility, as proven here (the unittests pass, i.e. the
loading actually works).

This doesn't prevent porting our plugins (and loader, for incremental
migration) to "pure qt5 plugins" though, of course.


Martin Koller committed changes in [kde-workspace] plasma/generic/applets/notifications/core/notification.cpp:

auto-deletion only triggered by manager

the auto-deletion timer shall only be started from one single place, which is
the notificationmanager, which starts the timer only if there is user activity on the desktop so that a notification
which arrives while the user is not at his desk does not get deleted unseen.
We agreed on reducing the timeout to 10 minutes

REVIEW: 105893

Aleix Pol Gonzalez committed changes in [kde-runtime] plasma/declarativeimports/plasmacomponents/qml/ProgressBar.qml:

Fix some ProgressBar visual glitches

Make sure the visualization takes all the available space
Update the visualization elements whenever the background and the value change

REVIEW: 105966

Patrick Spendrin committed changes in [kdelibs/pvonreth/solid-win-backend] /solid:

Start to replace parts of the wmi backend with a new faster backend

The Wmi interface is to slow to be used in the way solid needs it.
For now I'll try to replace the Storage part.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision c976183...
Marco Martin committed changes in [plasma-mobile/mart/alarms] /alarms:

delay expired cyclical items, kill normal ones

Diffs: 1, 2, 3 Revision cd0a950...
Frank Reininghaus committed changes in [kde-baseapps/KDE/4.9] dolphin/src/panels/places/placesitem.cpp:

Use a better icon for recently accessed items in the Places Panel

The problem with the icon "package_utility_time" that has been used
before was that it is not available on all distros. The new icon
"actions/chronometer" should be available on every KDE install.

Thanks to Elias Probst for suggesting the new icon - I'm not that
familiar with the icons provided by KDE myself.

FIXED-IN: 4.9.1


Sergio Luis Martins committed changes in [kdepimlibs/calendaring] /calendar:

Remove KCalPrefs dependency.

Some of the util methods of KCalPrefs are now in utils_p.h, they
will go away soon because we can use KPIMIdentities directly.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 8441cd8...
Sergio Luis Martins committed changes in [kdepimlibs/calendaring] /calendar:

Split invitation handler into two.

InvitationHandler is huge and I only want to export a small part
of the API.

InvitationHandler and InvitationHandlerHelper.

InvitationHandler will be called by KMail to process invitations
and will be public API with only one method.

InvitationHandlerHelper is private and will be used by
IncidenceChanger to send invitations whenever we modify, create
or delete incidence. It has lots of methods and we don't know how
to expose them with a clean API yet, so it stays private.

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


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

Show the QML files in Qt Creator (and visual studio if needed)

"Hack" described in a couple of places - makes CMake know about the
files, but ignore them for any practical purposes except for listing
the actual files.

Boudewijn Rempt committed changes in [calligra] /:

Make marble, ICU and SQLite optional

Once the textshape starts using calligradb,
it'll have to be disabled if we cannot build
calligradb because of a missing icu, but there
is no reason to stop people from building the
other parts of calligra.

The previous way of disabling was done with a
IF(CREATIVEONLY) block, but that hides the variables
and makes everything fail in creativeonly mode.

Inge Wallin committed changes in [calligra] /words/epub:

Improve breaking into chapters.

- Also break for <h>, not just <p>, with fo:break-before
- Propagate this attribute up the inheritance chain.

Diffs: 1, 2, 3, 4 Revision 09bfc44...
Gopalakrishna Bhat committed changes in [calligra] /:

Add support for templates in table.

LO saves a invalid ODF attribute text:style-name for table:table-template element, so created a workaround for that while loading

REVIEW: 105771

Arjen Hiemstra committed changes in [calligra/krita-sketch-rempt] krita/sketch/qml/panels/PanelBar.qml:

Pretty heavy overhaul of the panel layouting code.

It is now based on a whole bunch of drop areas that anchor objects to
them. This allows us to rearrange collapsed panels and have a far nicer
way of expanding panels.


Harald Sitter committed changes in [phonon-vlc] /:

simplify ticking logic

upon further review of the qtphonon documentation it is not really
clear how ticking is supposed to behave precisely, however it seems
to be closest when time stamps are not duplicated, so timer ticking is
out of the question as that can potentially do that since we have no
control over VLC's time stamp resolution (and I also found no way to
actually get any value of the resolution thus actually rendering us
partially incompatible with the documentation's requirements \o/).

Instead of time ticking we simply take whatever VLC gives us and check
the delta to the last tick we emitted if it is >interval we emit a new tick
otherwise we ignore the time change.

Wolfgang Rohdewald committed changes in [kde-ruleset] /:

common-kdegames-init / end define svn2git rules common for
all games. Using this greatly reduces the size of the game
specific rules.

Shantanu Tushar Jha committed changes in [plasma-mediacenter] /:

Improvements to browser layouts, error handling for music model.
Patch by Fabian Riethmayer
Welcome to Plasma and KDE dev :)

REVIEW: 105816

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

Networking Tools

Andrea Diamantini committed changes in [rekonq] /:

* Split updateTabBar() into two separate methods
- updateTabBarVisibility(): used to react only on "alwaysShowTabBar" settings
- updateAddTabButton(): used to react only on tabbar changes

* Improve handling of the add tab button. updateAddTabButton() is now called on any
tab layout changed instead of being called in any function which manipulate tabs.

* Use a tab height computed with KTabBar instead of the add tab button height with a magical number.
It fixes some issues with the Bespin theme.

Martin Klapetek committed changes in [ktp-text-ui] /:

Handle connection states and print a service message when it changes

Until now we print "Connected" and "Connection closed" strings when the channel is connected or invalidated. This patch watches for channel connection and prints the corresponding presence as a service message, ie. "You are now offline" and "You are now marked as %1" instead of those "Connected"/"Connection closed" strings.

Reviewed-by: David Edmundson


David Edmundson committed changes in [ktp-text-ui] plasmoid/org.kde.ktp-chatplasmoid/contents/ui/main.qml:

Don't allow the awful mobile style touch scrolling on the plasmoid base

Lamarque Souza committed changes in [networkmanagement/arthur] /qml:

Always show the complete interface list instead of using scrollbar.
The number of interfaces are usually low so there is not much harm
in showing them all.

David Edmundson committed changes in [ktp-text-ui/filters] /:

Implementt Youtube Filter

Currently, it embeds it using HTML5. This won't work with the chat
plasmoid, but it appears to ignore it gracefully, so I'll let it be.

And besides, I think it's better that way, because giving a preview
of a video that you can't play would probably only strive to anger

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 8d5a3d1...
David Edmundson committed changes in [ktp-accounts-kcm] /:

Async wallet usage, using wallet-utils from common internals

Also fix some pointless code when deleting accounts which used to proxy via a model.
This should hopefully fix the crash when removing accounts

REVIEW: 105926

Rohan Garg committed changes in [ktp-call-ui] /:

Use ximagesink as a fallback option when xvimagesink is not available

When the necessary drivers are not available, xvimagesink cannot be used
which causes ktp-call-ui to fail. By using ximagesink we use software
rendering to render the video. But, ximagesink does not support hardware
videoscaling, hence we must insert a videoscale element into the

Diffs: 1, 2, 3 Revision 2b7cf28...
Martin Klapetek committed changes in [ktp-contact-list] global-presence-chooser.cpp:

Don't remove and insert a temp presence, but only update it if it exists

Inserting the temp presence first and then removing it afterwards causes indexes shift, which in turn can cause problems, like accidental "now playing..." presence being selected and activated and then being deactivated right away when the old temp presence was removed and indexes were shifted again.
This is a clearer approach, which only updates the temp presence if it is already being used.

Reviewed-by: David Edmundson

User Interface

Ivan Čukić committed changes in [kactivities] /:

Using Nepomuk Core (aka Nepomuk 2) instead of old one

Based on Marco's 'Nepomuk2 port of Kactivities'

Pushed a few header fixes as well

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


Jonathan Michael Thomas committed changes in [muon] libmuon/Application.cpp:

Use package origin as the cursory check when checking for packages.
The check using controlField is very expensive as behind the scenes it has to iterate through all the package's metadata.

This improves startup performance in MSC and Muon Discover by 10%

Jonathan Michael Thomas committed changes in [muon] /ApplicationModel:

Some improvements to ApplicationUpdates:
- Assign m_aptBackend in ApplicationUpdates::setBackend(), before it just always remained null.
- Only listen for QApt signals when the update starts. Due to design deficiencies in LibQApt it can be dangerous to listen for signals when we aren't expecting them.
- On that note, don't handle worker events or errors at all. The ApplicationBackend already handles errors/events, so we'll just be stepping over ApplicationBackend when it tries to handle them.

A combination of the last two items was causing a crash in muon-installer when commits finished, even though muon-installer wasn't directly using ApplicationUpdates. :P


Development Tools

Milian Wolff committed changes in [kdevplatform/1.4] /standardoutputview:

Protect access of QAbstractItemDelegate pointer using a QWeakPointer.

The standard output view allows plugins to provide delegates and
also allows them to keep the ownership of them. While powerful, this
seems to be buggy and can lead to crashes in some cases.

Now we should properly detect the cases where we try to access an
invalid item delegate and output a warning instead of crashing.

It would still be interesting to know which plugin is responsible
for this bug.

Milian Wolff committed changes in [kdevplatform] /:

Let the OutputView take ownership of a job's model and delegate.

This is required to ensure proper functionality of the views
when e.g. a plugin gets unloaded. Previously, this would trigger
crashes due to access of invalid model or delegate pointers.

Now the view will stay functioning even if e.g. the MakeBuilder
gets plugin gets unloaded after a project was compiled, or even
if you close a project while it is being built.

It is still safe to access both, the model and the delegate,
from inside a job as long as the job is running. When a view
gets closed, the job gets cancelled anyways.

Sadly, this is an ABI break and thus cannot be backported to
the KDevplatform 1.4 branch...

KDE Base

Jörg Ehrichs committed changes in [nepomuk-metadata-extractor] /:

initart commit for the Chrome plugin

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision f2d8250...
Kurt Hindenburg committed changes in [konsole] tests/signaltests.c:

Add program to test signals

Vishesh Handa committed changes in [nepomuk-core/query/ProperTesting] /lib:

TestLibrary: Write a Data Generator

It can be used to push false data into Nepomuk for the purpose of
testing. The API might not be the most brilliant in the world, but it
works, and it can always be changed.

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


Volker Krause committed changes in [akonadi] /:

Indicate on D-Bus when performing database updates.

This will allow clients to show a wait screen while this happens. While
didn't really have long-running database upgrades so far, this is a
prerequisite to finally merge the part table optimization branch.

Diffs: 1, 2, 3, 4, 5 Revision f53ad67...
Allen Winter committed changes in [kdepim/pimprint] /calendar:

making a lot of progress now. almost links for day printing

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


Boudewijn Rempt committed changes in [emerge/kde-4.9] /testing/calligra:

restore one of the testing patches

R +0 -0 portage/kdeapps/calligra/0001-make-it-possible-to-find-openjpeg-on-windows.patch [from: portage/testing/calligra/0001-make-it-possible-to-find-openjpeg-on-windows.patch - 100% similarity]

Boudewijn Rempt committed changes in [emerge/kde-4.8] /testing/calligra:

restore one of the testing patches

R +0 -0 portage/kdeapps/calligra/0001-make-it-possible-to-find-openjpeg-on-windows.patch [from: portage/testing/calligra/0001-make-it-possible-to-find-openjpeg-on-windows.patch - 100% similarity]


Jean-Baptiste Mardelle committed changes in [kdenlive/refactoring] /plugins/cliptypes:

Add basic support for loading video clips in project

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

User Interface

Patrick Spendrin committed changes in [kdewin] /:

add a cmake config file for kdewin

this makes it possible to search for kdewin without using a FindKDEWin.cmake script
Tools are still missing, but they haven't been provided by the old find script as well.

Diffs: 1, 2, 3, 4, 5 Revision 70fec46...


Albert Astals Cid committed changes in /trunk/kde-common/release:

Remove these setup-kde* they are not needed anymore

Something similar might be needed in the future for kdegames, kdesdk, etc if they split in the middle of a release, remember to come here and have a look to see if we can reuse stuff

Diffs: 1, 2, 3, 4, 5 Revision 1310155