Issue 227

18th March 2012 by KDE Commit-Digest Team


Mutlu Inek
Vladislav Blanton
Jaka Kranjc
Marta Rybczynska

This Week...

Akonadi improves Google Applets and Exchange 2003 support. Simon introduces additional "finalize" step for command plugins. KWin now supports live updates for thumbnails in tabbox and a new example script: "demands attention on current desktop," along with many bugfixes. KDevelop adds the ability to store a .kdev4 file in a project directory, opening files at a given line, and includes further work on a new debugger, as well as many bugfixes. Kdesrc-Build introduces support for bzr (libdbusmenu-qt). Tab completion and smart completion implemented across Cantor's backends including Maxima, Qalculate, Sage, Octave and Scilab. Okular introduces improved support for videos in pdf documents. Work in Plasma Active on threaded models and multitouch selecting. Dolphin introduces support for dynamic roles. In Calligra, Krita introduces a texturing paintop option and Karbon improves XFig support, along with many bugfixes throughout it's applications. Much work on Media Center, which now supports loading backends, playing media and storing thumbnails. In Kdenlive, image sequences can now start at an arbitrary frame. Rekonq introduces support for Google Sync Bookmarks along with many bugfixes. Many improvements to the KDE Sprints website. KTorrent adds IPv6 support to DHT (BEP 32) and improves DHT code. Bug fixes in KDE-PIM, Oxygen-GTK, KDE Telepathy, Umbrello, Digikam, Plasma, Muon, and Massif-Visualizer.

Krita 2.4 is dedicated to the memory of Jean Giraud Moebius.


Commits 2587 by 183 developers
Open Bugs 21884
Open Wishes 16921
Bugs Opened 504 in the last 7 days
Bugs Closed 498 in the last 7 days

Commit Summary

Module Commits
Files Developer Commits
Aleix Pol Gonzalez
Gilles Caulier
Milian Wolff
David Faure
Marco Martin
Laszlo Papp
Boudewijn Rempt
Yuri Chornoivan
Ralf Habacker
Jakob Gruber

Internationalization (i18n) Status

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

Bug Killers

Person Bugs Closed
Thomas Lübking
Martin Gräßlin
Jekyll Wu
Christoph Feck
Ben Cooksley
Myriam Schweingruber
Christophe Giboudeaux
Andrea Diamantini
Marcel Wiesweg
Peter Penz

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools

[] [] []   


[] []    


[] [] []   

KDE Base

[] [] []   []


[] []    


[] []    []




[] []    

Networking Tools

[] [] []   []

User Interface



[] []    


[] [] []   



There are 107 selections this week

Bug Fixes

Development Tools

Michael Pyne committed changes in [kdesrc-build] kdesrc-build:

Fix handling of kde_projects.xml on first-run.

Specifically, on first run in --pretend mode, where kdesrc-build has no
existing metadata of any sort downloaded, and no way to make a source
dir to hold incoming metadata.

Instead we just save it in a temp file.

The kde-build-metadata module still doesn't get downloaded though, and
so if you (for whatever reason) run kdesrc-build --pretend as your first
action upon installing kdesrc-build, you would not get 100% accurate
build plans.

Instead of special-casing that I think I would just add a --init or
--setup command line option and then tell the user to use that for
"--pretend in first-use" scenarios.

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

Fix bug 288164: don't crash if GraphViz binary not found

The bug only showed up on Windows, but could have happened
on Linux as well. This actually fixes 2 bugs:
* if it is detected that calling 'dot' fails before data
is written to the child process, a 0-deref SEGFAULT happens.
Now we use a local copy of the QProcess variable which is
not set to zero on error.
* with first bug fixed, we could show wrong message, as
the timer about warning on long layouting eventually
is started only after the error message is shown. This
error therefore soon is overwritting by misleading warning.

Ralf Habacker committed changes in /trunk/KDE/kdesdk/umbrello/umbrello/layouts/state-export.desktop:

Use filled junction state widget on state diagram dot export.

Ralf Habacker committed changes in /trunk/KDE/kdesdk/umbrello/umbrello/layouts/state-export.desktop:

Use neato generator for state diagram dot export and auto layout, which
gives better layouts.

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

Fix a bug with generator ranges

The implementation of this really, really sucks... but I don't know of a better one. :(

Milian Wolff committed changes in [massif-visualizer] massifdata/parserprivate.cpp:

fix crash when loading multiple files in parallel

QRegExp is not thread safe, hence don't share it between
threads by making it static.

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

Fix a crash bug related to alias declarations

Niko Sams committed changes in [kdevplatform] /:

when frames don't contain filename and linenumber skip them and set the first with debug info as current

this happens when stopping inside a library without debug symbols


Martin Küttler committed changes in [cantor] /:

All backends have completion again, plus minor bugfix.

- Completion works for R and KAlgebra, but it currently cannot find out the
identifier type in these two backends, so there are no automatic parentheses
or similiar. Adding this feature for KAlgebra should be easy, I just don't
know the library. Maybe I'll look into this.
In R one could use the function is.function to identify functions, but maybe
the RServer can do better? Again I havn't had a close look at the code.

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


Marcel Wiesweg committed changes in [digikam] /imageeditor/editor:

Handle moving sidecar files alongside main file when renaming the temp files in image editor

Marcel Wiesweg committed changes in [digikam] /:

Check for null pointer

Benjamin Girault committed changes in [kipi-plugins] jpeglossless/plugin/actionthread.cpp:

JPEGLossLess: bugfix ThreadWeaver Jobs

Marcel Wiesweg committed changes in [digikam] /:

Rewrite addToGroup to handle more cases, especially grouping image b on a where a
is currently grouped on b

KDE Base

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

Use Show desktop item instead of empty text in TabBox

If there are no windows for Alt+Tab the Show Desktop entry
is shown. This works better with both layouts and effects.
Before this change effects were not activated at all but
a fallback to the layouts was used. Concerning the layouts
some looked rather bad. E.g. Thumbnails did not show a
thumbnail but a legacy text had been shown.

When a window gets added to the empty list, the show desktop
window is removed and consequently when the last window goes
away the show desktop entry is added again.

There is a not considered corner case: if there is no desktop
window, the show desktop functionality is not available and
the behavior is unfortunately undefined. It is a corner case
as we can expect that there is always a desktop window when
using KWin. E.g. there is either Plasma Desktop or Netbook
and on PA there is always at least one window.

FIXED-IN: 4.9.0
REVIEW: 104379

Dawit Alemayehu committed changes in [kwebkitpart] src/kwebkitpart_ext.cpp:

Meant to use QPointer not QScopedPointer.

Note that the crash reported in the bug # below was supposed to be addressed by
the original commit db0ee97f. However, QScopedPointer causes the same problems
as using a plain pointer or creating the print dialog on the stack. For further
detailsi details, read

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

special case keepAbove Docks

This can be used by (autohiding) panels to get the panel above other keepAbove windows
Since the activation still impact the stacking order, the panel should still use
QWidget::raise() or eventually KWindowSystem::raiseWindow(WId win) to (forcefully) get the panel on top.

NOTICE: latter is actually a call for tools like pagers and taskbars, don't abuse it but
preferably use QWidget::raise() instead. Unless the user doesn't type into the keepAbove window while
activating the panel at the same time, this *should* be sufficient.

REVIEW: 104279

Thomas Lübking committed changes in [kde-workspace] kwin/events.cpp:
Martin Gräßlin committed changes in [kde-workspace] kwin/main.cpp:

Drop workaround for

Workaround for a Qt4.4RC1 redrawing bug is no longer needed.

REVIEW: 104300

Dominik Haumann committed changes in [kate] part/syntax/katecodefolding.cpp:

fix crash: no double deletion any more

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

Don't highlight windows w/o mouse

REVIEW: 104264

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

remove overzealous maxmode_restore

there's no point in changing the behavior of the maximize button

Dominik Haumann committed changes in [kate/KDE/4.8] part/syntax/katecodefolding.cpp:

fix crash: no double deletion any more

Ignat Semenov committed changes in [kde-baseapps] plasma/applets/folderview/folderview.cpp:

scale correctly when placed in a panel

1)Use setPreferredSize instead of setMinimumSize
2)Set the size policy to QSizePolicy::Minimum

Also, remove update() from constraintesEvent() as per the docs.


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

raise window during shade hover

REVIEW: 104280

Thomas Lübking committed changes in [kde-workspace] kwin/geometry.cpp:
Ignat Semenov committed changes in [kde-baseapps] plasma/applets/folderview/folderview.cpp:

do not crash when passing a url in the ctor

Do not call setUrl in the ctor since m_dirLister does not exist yet.
Instead, assign m_url and call setUrl later in init().


Sergio Luis Martins committed changes in [kdepim/enterprise/e3] kresources/kolab/kcal/conflictpreventer.cpp:

Fix detection of false, false positive conflicts.

revision isn't a kolab xml field, it gets lost, so my assumption
that after each modification, we would get a different incidence
was wrong.

Fixes a data loss bug.

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

Merge duplicate statements in the ResourceMerger

This happens in cases where two resources identifiy to the same resource and
their statements are resolved in the ResourceMerger. During the cardinality
checks, there exist identical duplicates (because of the merge) of certain
properties which result in cardinality errors.

Also added a unit test.

This should fix the problem with PIM Email Indexing

Diffs: 1, 2, 3, 4, 5 Revision d732592...
Dan Vratil committed changes in [akonadi-google/wip-v0.3] libkgoogle/services/calendar.cpp:

Recurrent events: "Missing time zone definition for start time" (bug #296111)


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

Fix deep copying of KexiDB query schema and ORDER BY structures

*Fix deep copying of query schema and ORDER BY structures
**This removes crashes related, e.g. in reports based on queries with joins

FIXED-IN: Kexi 2.4.0 (Calligra 2.4.0)

Brijesh Patel committed changes in [calligra] /chartshape:

FIX : Changing chart type from pie/ring chart to bar chart or vice versa ,doesn't works as expected

i) checks whether the dataDirection is vertical or horizontal and then returns the brush
ii) ensures that axis are saved no matter what be the chart type

Allan Anderson committed changes in [kmymoney] /plugins/csvimport:

Fixes for problems on changing field delimiter.

Fix for problem in CSVDialog::processQifLine() when importing a checking file
which contains debit and credit columns rather than an amount column, when both
fields are empty. This resulted in the previous value being used again.

Matus Uzak committed changes in [calligra] /:

libmsooxml: Don't process a blip in case Target="NULL" in relationships file.

ECMA-376 Office Open XML File Formats – Part 2
The Target attribute shall be a URI reference pointing to a
target resource. The URI reference shall be a URI or a relative

The test file attached to the bug seems odd, so I did not add the
condition to all places where embedded objects are processed.

Friedrich W. H. Kossebau committed changes in [calligra/filters-karbon-xfig-recreate201] filters/karbon/xfig/xfigparser.cpp:

Fixed: drop XFig polylines/polygones/splines with point number < 1

Friedrich W. H. Kossebau committed changes in [calligra/filters-karbon-xfig-recreate201] filters/karbon/xfig/xfigodgwriter.cpp:

Fixes: write points of polylines and polygones with-in a svg:viewBox

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

Fix deep copying of KexiDB query schema and ORDER BY structures

*Fix deep copying of query schema and ORDER BY structures
**This removes crashes related, e.g. in reports based on queries with joins

FIXED-IN: Kexi 2.4.0 (Calligra 2.4.0)

Friedrich W. H. Kossebau committed changes in [calligra/filters-karbon-xfig-recreate201] /karbon/xfig:

Fixed: properly read XFig papersize (and drop ledger as being landscape tabloid)

Diffs: 1, 2, 3 Revision 862d989...
Jarosław Staniek committed changes in [calligra] /:

Fixed displaying international characters in calculated values

*Fixed bug: setting a field's data source to a calculated value, results international characters not displaying correctly


Christian Esken committed changes in /branches/KDE/4.8/kdemultimedia/kmix/core:

ControlPool class. Provides better concurrency handling, required for asynchronous Backends (Pulseaudio, MPRIS2).

Bug 290742:
0 days
Diffs: 1, 2 Revision 1285261
Sam Lade committed changes in [amarok] /:

Prevent occasional corruption on multi-byte characters in tags

XML from scan was buffered as a QString, which might occasionally be fed
part of a multi-byte character, causing invalid UTF characters. Buffer
as a QByteArray instead and convert only complete sections to QStrings
to avoid this.
Thanks to Alexey Neyman for the patch!


Diffs: 1, 2, 3 Revision 711b585...

Networking Tools

Andrea Diamantini committed changes in [rekonq] /:

Get sure urlbar(s) are deleted when related webtab is

Heinz, Paul. Please test actual master before backporting this to
0.9 series. Many thanks for your help and for this bug report.
I'm crossing fingers to hear good news from your tests ;)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision f6cc2c5...
Daniele E. Domenichelli committed changes in [ktp-text-ui] lib/chat-window-style-manager.cpp:

Do not fail installing on optional files


Martin Klapetek committed changes in [ktp-contact-list] /:

Always hide the overlay buttons when mouse leaves the widget

This makes sure that the presence message is always shown for contacts
when you don't hover over them

Reviewed-by: Dominik Cermak
REVIEW: 104184

Joris Guisson committed changes in [libktorrent] /:

Fix deadlock in webseeding code

Martin Klapetek committed changes in [ktp-contact-list] global-presence-chooser.cpp:

Don't crash when pressing enter on the presence chooser

Reviewed-by: Daniele E. Domenichelli

Pali Rohár committed changes in /trunk/KDE/kdenetwork/kopete/libkopete/kopetecontact.cpp:

Do not emit Kopete Contact signal statusMessageChanged when status message and status title was changed to same strings

This fixing problem that Kopete sometimes show notification that user changed status message or title which is not true

Joris Guisson committed changes in [libktorrent] /:

Fix individual download speed limit not working

User Interface

Hugo Pereira Da Costa committed changes in [oxygen-gtk] /:

moved settings of x/ypadding for GtkComboBox buttons from gtkrc to Oxygen::QtSettings.
used different settings for XUL applications.


Jonathan Michael Thomas committed changes in [muon] /:

Remember to remove failed fetch jobs from our temporary records, or else we crash when trying to clean up already-deleted jobs later.


Michel Ludwig committed changes in [kile] /:

Correctly insert '\c{c}' for the cedilla character


Albert Astals Cid committed changes in /branches/KDE/4.8/kdegames/klines/scene.cpp:

Dirk branched 2 hours before my commit and thus the fix was only available in the KDE 4.9 branch

FIXED-IN: 4.8.2



Peter Grasch committed changes in [simon] /:

Introducing additional "finalize" step for command plugins

If a plugin needs to perform cleanup that changes the scenario during
de-initalization it previously had to do that in the destructor as no
special method was available.
If the necessary cleanup required the scenario to be saved (serialized)
again, that lead to the problem that other command plugins of the same
scenario might have already been deleted. They would either not
serialize properly (resulting in a corupted / incomplete scenario) or
crash simon.
A separate finalize() method has now been implemented that can be
overwritten to provide a save way to do cleanup during de-
Existing plugins were changed to take advantage of that where necessary
(AI and AT-SPI).

BUG: 296151

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

Development Tools

Martin Gräßlin committed changes in [kdeexamples] /scripts/demandsattentioncurrentdesktop:

New KWin example script: demands attention on current desktop

The rational behind this script is to have only windows on current
desktop as demanding attention. Restricting the demands attention
state to the current desktop means for example that the tasks applet
won't show windows started on different desktops.

The script keeps track of the windows where it removed demands
attention and restores the state when the window's desktop becomes

Milian Wolff committed changes in [kdevplatform] /:

make it possible to open files at a given line via quickopen

quickopen now can parse strings like "some/file:123".
When a ProjectFileData item is executed, the file "some/file" will
be opened and the cursor position set to line "123".

REVIEW: 101054

Thanks to Dmitry Risenberg for the patch!

Milian Wolff committed changes in [kdevelop] /:

make include-path resolution using make optional on a per-project basis

Make can be invoked by the background parser if some include paths are
unresolved. However some projects do not use make for building and this
potentially induces an overhead for large projects. This patch adds a
project-wide option to disable this behavior.

This patch checks the setting thread safe when the IncludePathComputer
is created, which is always done in the main thread. An additional
assertion is put into place to make sure this continues to work as

REVIEW: 102883

Based on the patch by Alexandre Courbot, many thanks!

Diffs: 1, 2, 3, 4 Revision ff1744b...
Milian Wolff committed changes in [kdevplatform] plugins/appwizard/appwizardplugin.cpp:

Loop through the new project directory and try to detect the first .kdev4 file.

If one is found this file will be used. So .kdev4 file can be stored in any
subdirectory and the project templates can be more complex.

REVIEW: 101853

Many thanks to Bastian Schmidt for this patch!

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

The debugger plugin loads and supports the debug launch method.

Diffs: 1, 2, 3, 4, 5 Revision a59bc2d...
Michael Pyne committed changes in [kdesrc-build] /:

Add support for bzr (to support libdbusmenu-qt).

Aurélien Gâteau has informed me that libdbusmenu-qt has shifted
development awhile ago to be hosted on Canonical's Launchpad, which uses
the bzr SCM. He also informed me that the repository which
kdesrc-build had been recommending is no longer maintained, and very
politely requested help with having kdesrc-build support bzr.

On the one hand I really don't think it's necessary at this point to
allow for building bleeding-edge libdbusmenu-qt (I would be surprised if
kdelibs depended on a libdbusmenu-qt that hasn't been packaged for

But on the other hand if it does become necessary we will be ready, and
this fits in well with the idea of building Qt and all of the
"kdesupport"-style libs in between Qt and kdelibs.

Unfortunately this shows I still have further to go in my
refactoring/documentation efforts since I still had to end up
implementing the support. But, it was certainly a much easier job than
it would have been before I had started fixing the codebase. This patch
was coded over no more than probably an hour or so (if that time were
consecutive... ;) and Aurélien tested overnight and after fixing my one
mistake reported that it worked swimmingly.

After installing bzr today I can report this works for myself as well,
and without having to insert "hacks" throughout the code to make it

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


Martin Küttler committed changes in [cantor] /:

Identifier type is fetched asynchronously, no crash for Sage

- CompletionObject looks to be in a good shape, with everything potentially
time consuming being done asynchronously.
- The appropriate versions of mayIdentifierContain() and -BeginWith() are
now called at the construction of CompletionObject.
- (Popup-) Completion seems to behave nicely for Maxima and Qalculate. In
the other backends everything seems to be working at least as good as it
used to.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 3f3f453...
Martin Küttler committed changes in [cantor] /:

Further improvements; smart completion for functions in two backends

- Common code for smart completion, and backend specific code for Maxima and
Qalculate. Code for the other backends (as far as I can write it) is to be
added after a minor design change.
- Syntax help after every completion, with better recognition of identifiers.
- minor improvements/fixes
- Replace virtual completeLine with virtual identifierType, moving move
common code to Cantor::CompletionObject.
- Move the syntax information in mayIdentifierContain and
mayIdentifierBeginWith out of CompletionObject? Currently backend-specific
versions of these are not called, because they are used from within the
constructor of CompletionObject. But they do not belong into this class,
- Make the completion popup update, not vanish, when a new character is
- Implement code to identify variables, functions, and keywords in additional
- Improve mayIdentifierContain and mayIdentifierBeginWith for some backends?

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 25d34cc...
Martin Küttler committed changes in [cantor] /backends/sage:

Added missing files + improved completion in Sage

- Added sagekeyword.cpp and sagekeyword.h. Sorry for forgetting those...
- Made completion understand member functions ins Sage.

Diffs: 1, 2, 3 Revision 0648dd0...
Martin Küttler committed changes in [cantor] /backends:

Completion now works for Sage and Scilab.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 1150992...
Martin Küttler committed changes in [cantor] /:

Smart completion for Octave added.

- Minor design change in CompletionObject, allowing for better results for
tabs after closing parens

Diffs: 1, 2, 3, 4, 5 Revision b1dfe1b...
Martin Küttler committed changes in [cantor] src/commandentry.cpp:

Tab completion seems to be working well now, for two backends.

- For Maxima and Qalculate everything is rather nice, though the code
in CommandEntry could be structered better. For other backends the
longer time needed for fetchCompletions could be a problem, when user
input comes in between.
- This is not the only problem though: A quick test shows that completion
in Sage does not work anymore, because Cantor crashes whenever a completion
is selected. Apparently some expression is deleted too early. Also this
backend (and probably others as well) are not prepared for the reuse of


Tobias Koenig committed changes in [okular] /:

Make video player behave similar to Adobe Acroread

Hide the video player initially until the user has clicked on
the annotation area. This ensures that an available 'first-frame' image
is always visible. Also change the appearance of the mouse cursor when
the annotation area is entered.


Diffs: 1, 2, 3, 4, 5 Revision 486df96...

KDE Base

Peter Penz committed changes in [kde-baseapps] /src:

First step to introduce dynamic roles

Currently Dolphin is only capable of showing a fixed number of
roles (e.g. name, size, date, owner, ...). Dolphin 2.1 should
support also other roles like rating, tags, comments or other
meta-information of images or audio-files.

To support this the sorting-type and additional-type from
DolphinView has been replaced by a role-type represented as

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 3176142...
Jekyll Wu committed changes in [konsole] /:

Support showing the context menu by pressing the "Menu" key

REVIEW: 104190

Marco Martin committed changes in [plasma-mobile/mart/pinchSelectMultipleFi] applications/filebrowser/package/contents/ui/Browser.qml:

very experimental attempt at multitouch selecting

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

Repaint Thumbnail Item on window damage

Allows to have live updates for thumbnails in tabbox.

FIXED-IN: 4.9.0
REVIEW: 104301

Marco Martin committed changes in [plasma-mobile/mart/threadedmodel] /metadatamodel:

threaded model completely working

but still too crashy to be actually used

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


Till Adam committed changes in [kdepim] /:

Framework for looking up contacts directly in nepomuk in addition to going through Akonadi and LDAP.

The results are added to the end, as a new section called "Contacts
found in your data", after any hits that come in through akonadi,
from addressbooks or from LDAP. They are relatively noisy, but still
useful in situations where you are trying to find someone you don't have
in your address books but have had dealings with in the past. In a
brighter future we might replace the whole completion thing with one
based on pimo:person, once we have meta contact merging and such in
place. For now, this is a first step.

REVIEW: 104404

Diffs: 1, 2, 3 Revision b91f3b9...
Jan Grulich committed changes in [akonadi-google-applets] /src:

Add initial support for fetching events

Diffs: 1, 2, 3, 4, 5, 6 Revision c5689d8...
Jan Grulich committed changes in [akonadi-google-applets] /src:

Display events in agenda widget

Diffs: 1, 2, 3 Revision 99ab1d6...
Shaheed Haque committed changes in /trunk/playground/pim/akonadi/exchange/calendar:

Now that we can work with openchange-1.0, we can get the complete
AppointmentRecurrenceType even from Exchange 2003. That in turn

1. We can get exception information.

2. We need to migrate from KCal::Recurrence to KCalCore.

So, we now parse the information provided by Exchange. For now,
actually adding the exception rule is commented out
pending testing.


Friedrich W. H. Kossebau committed changes in [calligra/filters-karbon-xfig-recreate201] /karbon/xfig:

Added: write XFig object and document comments to odg

Friedrich W. H. Kossebau committed changes in [calligra/filters-karbon-xfig-recreate201] /karbon/xfig:

Added: XFigStreamLineReader which cares for reading line by line from the xfig stream

Diffs: 1, 2, 3, 4, 5, 6 Revision 59c8511...
Boudewijn Rempt committed changes in [calligra/krita-texturizer_option-rempt] /plugins/paintops:

Start working on a texturing paintop option

For now, it can load and save the pattern and the other settings that
david revoy proposed. Next, the gui. And then the real code, that does
the texturing.

I've also added a provisional option to apply texture on other than
the alpha channel, since I want to play with texturing lightness and
so on.

Diffs: 1, 2, 3, 4, 5, 6 Revision 4f8fa1e...
Friedrich W. H. Kossebau committed changes in [calligra/filters-karbon-xfig-recreate201] filters/karbon/xfig/xfigodgwriter.cpp:

Fixed: calculate ODG text base point by alignment, support rotation

Matus Uzak committed changes in [calligra] /words/msword-odf:

doc: Improved processing of SHD and cvAuto colors in CHPs.

* There was a bug in SHD interpretation so a few solid shadings were missed.
* Changed the order of properties processing in case of named styles to:
PAP -> CHP to improve automatic colors support.
* The same order should apply for text chunks, but that's a bit complicated
at the moment so the background-color from PAP or parent's PAP is obtained
before any chunks are processed.

> Use the background-color from CHP of a named text style if applicable
on the text chunk level.


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

Image sequences can now start at an arbitrary frame, just select the first one in slideshow dialog:

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

Load backends from C++
Play media
Use thumbs from metadatamodel

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

Networking Tools

David Edmundson committed changes in [ktp-contact-applet] /:

Working sorting + filtering

Diffs: 1, 2, 3 Revision 83c9106...
Joris Guisson committed changes in [libktorrent] /:

Implement BEP 32, IPv6 DHT

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 26 more) Revision 10fffff...
Andrea Diamantini committed changes in [rekonq] /:

Add loadUrl API to mainwindow

- Get rid of unused NewBackTab enum
- move loading url code to MainWindow class
- Remove ThreadWeaver API. (And take it easy...)
- Changed logic: calculate url BEFORE creating a tab...


Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 2fcbe68...
Dominik Cermak committed changes in [ktp-contact-list] /:

Handle favorites in JoinChatroomDialog

Now one can maintain a list of favorite chatrooms.
Each account has it's own favorites.

REVIEW: 104173

Andrea Diamantini committed changes in [rekonq/GoogleBookmarkSync] /:

Google Sync Bookmarks support, first bits

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision bb07367...
David Edmundson committed changes in [ktp-contact-applet] /:

Ability to start chats

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

Check if user has a default search engine set and eventually
show a messagewidget to inform and let him set it.


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


Konstantinos Smanis committed changes in [kcm-grub2] /:

*ADDED: Install on the boot sector of a partition instead of the MBR.

An advanced option which allows installing the bootloader on the boot
sector of a partition, instead of the Master Boot Record. Use with care.

Diffs: 1, 2, 3 Revision 68c03ec...


Jakob Gruber committed changes in [picmi] /:

Basic save states

Board states can be saved and restored. Saved states are basically
pointers into the undo queue. Saving a state pushes the current undo
queue's size. Restoring a state pops the saved state stack and
repeatedly calls undo() until the undo queue's size equals the popped
size. Passing a save state through undo() deletes that saved state.

Currently, these actions are triggered by Ctrl + L and Ctrl + S.

Also, the current implementation very inefficiently recalculates the box
count and streaks after every single undo().

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


Emil Sedgh committed changes in [websites/sprint-kde-org] /:

Allow editing all items using text fields.

Emil Sedgh committed changes in [websites/sprint-kde-org] protected/views/sprint/view.php:

Option for coordinators to add users manually


Development Tools

Milian Wolff committed changes in [massif-visualizer] /:

optimize: drastically reduce memory footprint by using QByteArray instead of QString

we only convert to QString on demand when we actually display a string
to the user. most often, this is just a small subset of the data
we have lying around in total.

the memory consumption gain is esp. noticeable for big data files,
where it reduces the memory consumption by ~40%

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 11a5f32...
Milian Wolff committed changes in [kdev-qmake] /:

simplify and optimize QMakeFile::resolvefileName & resolveShellGlobbing

the speedup over 100 iterations of the globbing benchmark
shows a speedup of nearly 30% (ca. 63ms vs. 88ms on my machine)

Milian Wolff committed changes in [massif-visualizer] /:

optimize: leverage implitic QByteArray sharing to further reduce memory consumption

store labels on first encounter in a QHash and reuse copies of
the labels there, which are just shallow, implicitly shared copies.

further decreases the memory consumption considerably for my test case,
where the consumption goes down by about 50%.

Many thanks to André Wöbbeking for the suggestion.


Gilles Caulier committed changes in [digikam] libs/widgets/common/filtershistorywidget.cpp:

Fix memory leak. Thanks Mr Valgrind:

=14218== 40 bytes in 1 blocks are definitely lost in loss record 6,093 of 10,393
==14218== at 0x4C251D7: operator new(unsigned long) (in /usr/lib64/valgrind/
==14218== by 0x4BE52D: Digikam::FiltersHistoryWidget::FiltersHistoryWidget(QWidget*) (filtershistorywidget.cpp:77)
==14218== by 0x4B798A: Digikam::ImagePropertiesVersionsTab::ImagePropertiesVersionsTab(QWidget*) (imagepropertiesversionstab.cpp:87)
==14218== by 0x4A07AD: Digikam::ImagePropertiesSideBarDB::ImagePropertiesSideBarDB(QWidget*, Digikam::SidebarSplitter*, KMultiTabBar::KMultiTabBarPosition, bool) (imagepropertiessidebardb.cpp:100)
==14218== by 0x50CCE6: Digikam::LightTableWindow::setupUserArea() (lighttablewindow.cpp:256)
==14218== by 0x50BED3: Digikam::LightTableWindow::LightTableWindow() (lighttablewindow.cpp:132)
==14218== by 0x50B91A: Digikam::LightTableWindow::lightTableWindow() (lighttablewindow.cpp:96)
==14218== by 0x5A544C: Digikam::DigikamApp::preloadWindows() (digikamapp.cpp:2546)
==14218== by 0x59014C: Digikam::DigikamApp::DigikamApp() (digikamapp.cpp:289)
==14218== by 0x6CB5D2: main (main.cpp:188)

KDE Base

Marco Martin committed changes in [plasma-mobile] components/metadatamodel/metadatamodel.cpp:

moving GenericClassName out of data() makes another big speed improvement

Networking Tools

Joris Guisson committed changes in [libktorrent] /:

Revamp DHT code and follow spec more closely on routing table

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


Ian Wadham committed changes in /trunk/KDE/kdegames/ksudoku/src/gui/serializer.cpp:

Use high-level SKGraph structures to shorten and simplify the file contents when saving and loading puzzles.


KDE Base

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

Port KConfig away from KStandardDirs:

* use QStandardPaths enum instead of resource name in the API, and

* Modify KAutostart to use the xdg config autostart subdir, rather than
the KStandardDirs-only "autostart" resource (which contained both KDE
and XDG dirs). This removes the KDE-specific autostart dir, which will
help simplifying the KCM.

* These API changes also propagate into KDesktopFile and KSharedConfig.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 14 more) Revision 770786f...
David Faure committed changes in [kdelibs/frameworks] kdecore/config/kconfig.cpp:

KToolInvocation -> QProcess. Possibly a tad slower, though.

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

Port KDED to new KConfig API, which requires quite some internal changes.

No more "resource names" (except in the databaseChanged signal), so everything
has to work with "subdirs of XDG_DATA_DIRS (GenericDataLocation)" internally.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 8a24821...
Stephen Kelly committed changes in [kdelibs/frameworks] /tests:

Port to Qt5 removeRecursively API.

Diffs: 1, 2, 3 Revision ed2d369...
David Faure committed changes in [kdelibs/frameworks] /:

Port from KUrl to QUrl

Dario Freddi committed changes in [kdelibs/frameworks] /kauth/src:

kauth-api-changes: Allow only asynchronous execution, remove ActionWatcher, and introduce the new ExecuteJob.

With these changes, now only async executions are allowed with a KJob-style asynchronous operation.
This relieves the pain from the backends to handle different methods (one can always suppose we're in an asynchronous realm),
and at the same time "hides" ActionReply from the client implementation.

Now all the relevant information for the client are advertised through the Job itself. ActionReply is still here to stay
since its serialization features are vital for the helper, and because we don't want to break the API too much.

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


Boudewijn Rempt committed changes in [calligra/2.4] krita/ui/kis_aboutdata.h:

Dedicate Krita 2.4 to the memory of Moebius

Three people on #krita had the same idea at the same time -- to dedicate
Krita to Moebius, so let's just do that. It adds one translated string
to 2.4.

Networking Tools

Vishesh Handa committed changes in [ktp-nepomuk-service] /:

nepomuk:/myself is now nepomuk:/me