Issue 279

17th March 2013 by KDE Commit-Digest Team


Marta Rybczynska
Jürgen Appel

This Week...

Calligra sees improvement in read-only mode handling and initial code for COffice (Calligra for mobile); Fill Tool is ported to strokes KDE-PIM adds an option to limit the item age in Google Calendar; introduces theme manager. Work on Nepomuk Service 2. Wacom tablet management sees large GUI rework and more utility classes. Artikulate adds course skeleton. KDevelop includes updated Branch Manager dialog.


Commits 2706 by 179 developers
Open Bugs 21159
Open Wishes 15867
Bugs Opened 394 in the last 7 days
Bugs Closed 408 in the last 7 days

Commit Summary

Module Commits
Files Developer Commits
Laurent Montel
Alex Fiestas
Roman Paholík
Albert Astals Cid
Jan Kundrát
Pino Toscano
Gilles Caulier
Chetan Khona
Boudewijn Rempt
Xavier Besnard

Internationalization (i18n) Status

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

Bug Killers

Person Bugs Closed
Jekyll Wu
Alex Fiestas
Andrea Diamantini
David Edmundson
Myriam Schweingruber
Jonathan Thomas
Christoph Feck
Albert Astals Cid
Ben Cooksley
Oliver Henshaw

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools

  [] []   


  []    []



KDE Base

[] [] []   []


[] [] []   []


[] [] []   





Networking Tools

[] []    

User Interface







[] []    

There are 67 selections this week

Bug Fixes

KDE Base

Frank Reininghaus committed changes in [kde-baseapps/KDE/4.10] dolphin/src/panels/terminal/terminalpanel.cpp:

Prevent accidental deletion of home directory in Terminal Panel

The protection against unwanted execution of "rm -rf" when changing the
directory while entering the command did not work if there was never any
automatic "cd" command sent to the terminal before.

This patch ensures that Terminal Panel's member m_clearTerminal is
false after the initialization of the panel, such that the protection is
effective after that.

FIXED-IN: 4.10.2
REVIEW: 109431

Christoph Cullmann committed changes in [kate] part/buffer/katetextblock.cpp:

next try to fix crash, better updateRange
will handle remove, too, if needed

Aaron J. Seigo committed changes in [kde-workspace/KDE/4.10] ksmserver/screenlocker/greeter/screensaverwindow.cpp:
Francesco Cecconi committed changes in [konsole] /:

Prevent the opening of two or more "edit profile dialogs" per session.

Fixing the wrong behaviour to open two or more "edit dialog" for
one session/tab with the same profile, and the crash with two or
more "edit dialog", one for different session(tabs) with the same profile.

REVIEW: 107640
FIXED-IN: 4.11

Diffs: 1, 2, 3, 4, 5, 6 Revision c45d076...
David Faure committed changes in [kdelibs/KDE/4.10] /:

Fix KDirWatch to emit dirty on parent dir when watched subdir is deleted

In Inotify mode, there's a special event for the case where a watched
dir is deleted ("IN_DELETESELF"). In the handling of that event, we must
still set the parent directory to dirty, in case another KDirWatch
only cares for the parent.

Excellent unit test by Frank Reininghaus, as usual -- thanks!

FIXED-IN: 4.10.2

Aaron J. Seigo committed changes in [kde-workspace] /desktop/shell:

prevent looping calls to setIcon/setName

Activity no longer sets the activity name, icon, etc. that is the job of kactivitymanagerd,
perhaps via the activities DataEngine.

on activity creation, it was possible to have the icon set by Activity .. which would then call
setIcon on the KAMD activity .. which would then update Activity. which would then call .. etc.

tested creation of new activities, changing icons, etc. and all is well

bug reporters: please confirm

Oliver Henshaw committed changes in [kde-workspace/KDE/4.10] ksmserver/screenlocker/ksldapp.cpp:

Locking active screenlocker should end grace time

For example, when the screenlocker activates on idle (but is not
configured to require a password) and then powerdevil suspends the
computer and is configured to lock screen on resume.

Matches behaviour of the old screensaver code.

REVIEW: 109608

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

Disable animations in Plastik for native or non-compositing

Adding a new property on whether we want animations based on whether we
are on raster or with Compositing. The property is constant as the deco
gets recreated on compositing change state anyway.

REVIEW: 109456

FIXED-IN: 4.10.2

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

Repository: Never set the parent to 0

Use a dummy model instead. Setting the parent to 0 can cause a crash
when some other threads are using the model.

FIXED-IN: 4.10.2


Martin Klapetek committed changes in [ktp-desktop-applets] /src:

Don't block Plasma while showing join chat room dialog

Reviewed-by: David Edmundson

FIXED-IN: 0.6.0

David Edmundson committed changes in [ktp-desktop-applets] presence/src/presence-applet.cpp:

Fix Join Chat Room Dialog from presence applet context menu

Join Channel Widget filters by chatroom capabilities, caps weren't included
in the AccountFactory so it didn't work.

REVIEW: 109405


Boudewijn Rempt committed changes in [calligra] krita/image/kis_pixel_selection.cpp:
Boudewijn Rempt committed changes in [calligra] krita/image/kis_node.cpp:

Networking Tools

Martin Klapetek committed changes in [ktp-kded-module] /:

Store avatar tokens to use them when contact is offline

Workarounds a Tp bug/feature that returns an empty avatarToken for
offline users, so we can't display proper avatars for offline contacts
when (any) contact list is started.

REVIEW: 109432

FIXED-IN: 0.6.0

Andrea Diamantini committed changes in [rekonq] /webtab:

Guess if url is on target blank and show different contextual actions

I would not re-enable the "describing" icon part because it is NOT
really working here. I'm having troubles when I show the icon and
switch pages.
Hope this is enough

Christoph Feck committed changes in /trunk/KDE/kdenetwork/kopete/kopete/chatwindow/kopetechatwindow.cpp:

Fix crash when dragging outside of tabbar

FIXED-IN: 4.10.2

Roman Nazarenko committed changes in [ktp-text-ui] lib/chat-text-edit.cpp:

Excluded KeypadModifier from Send Message action shortcut comparison.
This fix will allow using keypad keys for message sending.

REVIEW: 109458


Alexander Richardson committed changes in [okteta] /controllers:

structures: allow custom string representations of values + unit test

Also install a script that allows creating UUID/GUID structures with
such a custom to string function. It can be used by writing this:

var x = importScript('uuid.js')
var myUUID = x.UUID()
var myGUID = x.GUID()


Alexander Maret-Huskinson committed changes in [wacomtablet] /:

Bugfixes and better rotation handling.

* Fixed global shortcuts which were broken with the last commit.
* Fixed and improved auto-rotation which now uses the current screen rotation on startup to determine the correct tablet orientation.
* All rotation settings are now handled by the "Rotate" property.
* Tablet area selection should now work properly.
* Deprecated a lot of properties which are probably no longer necessary and which will be removed soon.
* Tablet area mapping is now handled by the Area property and no longer by the TabletArea property.

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


Development Tools

Kevin Funk committed changes in [kdevplatform] /dvcs/ui:

Prettify Branch Manager dialog

* Double click now checks out the branch instead of starting a rename
* Add extra button for the rename action
* Add icons to the buttons
* Set window title

REVIEW: 109532

Diffs: 1, 2, 3 Revision 2b1e2d6...
Sven Brauch committed changes in [kdev-python/ghns] docfilekcm/docfilemanagerwidget.cpp:

Use gzip compression for archives

It's probably worth it, since they contain only python scripts,
which are usually nicely compressible.
(Also, the mimetype detection doesn't work for .tar for some reason)

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

Add UI for the docfile KCM.

It currently consists of a tree view with selectable files,
a wizard, upload, and download buttons.
The up- and download buttons open the GHNS dialogs, the wizard button
is not implemented yet.

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


Andreas Cord-Landwehr committed changes in [artikulate] /:

Prepare course skeleton.

Skeletons will help to create and maintain basic language courses
that can be directly shipped with Artikulate. The idea is as follows:
Artikulate will provide one course skeleton that can be used as base
for translators/teachers to create specific courses for their languages.
The so created courses are associated with the skeleton and by this
can by synced whenever the skeleton is extended.

Diffs: 1, 2, 3, 4 Revision 7fd81d5...


Albert Astals Cid committed changes in [okular] /:

Open print dialog from command line

REVIEW: 109096
FIXED-IN: 4.11.0

Yuri Chornoivan committed changes in [okular] doc/index.docbook:

Add figures to illustrate the enhancement methods (courtesy of Thomas Freitag)

A +- -- doc/enhance-lowcontrast.png
A +- -- doc/enhance-shape.png
A +- -- doc/enhance-solid.png
A +- -- doc/enhance-thinline.png

KDE Base

Xuetian Weng committed changes in [kde-baseapps/KDE/4.10] dolphin/src/panels/information/informationpanelcontent.cpp:
Luigi Toscano committed changes in [kde-runtime] /fundamentals:

Fix usage of &kappname; (aka &kde-sc;) vs &kde; and related fixes

Some instances of &kappname;(&kde-sc;) were used to refer to generic
functionality of any KDE applications, and on the other side few &kde;
instances were used instead of &kappname;.
Also the description of the content of "About KDE" has been fixed.

REVIEW: 109401

Diffs: 1, 2, 3, 4 Revision ee75488...
Sven Brauch committed changes in [kdelibs/KDE/4.10] /knewstuff3:

Support custom providers for the upload dialog.

The download dialog correctly takes a custom providers .xml file,
as can be specified in the .knsrc file, into account; however the
upload dialog just ignored this option until now.


Diffs: 1, 2, 3, 4 Revision c93f1e3...
Vishesh Handa committed changes in [nepomuk-core/feature/service2] /:

Introduce Nepomuk Service 2

Nepomuk Service version 2 unlike the old services are not launched by
the nepomukservicestub process. Instead they each have their own
process, which they install.

Nepomuk Service2 are implemented by deriving from the Service2 base
class. The derived class needs to provide its own main function as well.

This patch implements the following -

* Nepomuk::Service2 implementation
* Port the nepomukserver to support both Service and Service2
* Port all the services to Service2
--- Storage (nepomukstorage)
--- File Indexer (nepomukfileindexer)
--- File Watch (nepomukfilewatch)

These Service2 classes are much lighter as some of them can be
QCoreApplications instead of a KApplication with a ui (The FileIndexer
requires a UI for KIdleTime)

Additionally, this makes debugging a lot simpler as we will no longer
get reports that "nepomukservicestub" crash or is acting up. We will
always know which service is at fault.

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


Laurent Montel committed changes in [kdepim] /:

Start to implement save message display format

It will save if we force to see in html or remote image

Laurent Montel committed changes in [kdepim] /:

Add a theme manager

Diffs: 1, 2, 3 Revision 8fd48d8...
Dan Vratil committed changes in [kdepim-runtime] /google/calendar:

Age limit option for items in Google Calendar

Fetch only events that occur after a specified date. The default
time span is three years. This filter does not take in account
recurrent events that have started before the set date (they
will be included nontheless).

FIXED-IN: 4.11

Jan Kundrát committed changes in [trojita] src/Imap/Model/PrettyMailboxModel.cpp:

Show the number of recent messages in the mailbox list

See the patch for a discussion why it's done like it's done and not in a more
clever way. Quick summary: one cannot ask for a number of messages with \Recent
and without \Seen on a non-selected mailbox.

fixes #610

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

GUI: toggle between showing "From" and "To" columns based on whether we're showing the "Sent" mailbox

This feature was suggested by "serpentine" on IRC. I've always wanted to do that :).

Diffs: 1, 2, 3, 4 Revision 7d93083...
Jan Kundrát committed changes in [trojita] /Gui:

GUI: use shortcuts from the configurable shortcut handler

refs #565

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

GUI: improve the attachments widget

- Add a nice icon from the Oxygen theme
- Make it multiline to conserve space on loooooong MIME types like the
- Make it possible to select the attachment filename by mouse for copy-paste

Daniele E. Domenichelli committed changes in [ktp-common-internals] /Models:

Add a method to filter contacts that are only from a specific account.

Use case: Text-ui has a dialog to invite contacts to chat, I only want
to show people from the same account.

Reviewed-by: Aleix Pol Gonzalez
Reviewed-by: Andrea Scarpino
REVIEW: 109472

Laurent Montel committed changes in [kdepim] /:

Add kcm module

Diffs: 1, 2, 3, 4, 5, 6 Revision 24d759a...
David Edmundson committed changes in [ktp-common-internals] KTp/message-processor.cpp:

Sort filtering plugins by X-KDE-PluginInfo-Weight

REVIEW: 109383


Sebastian Sauer committed changes in [calligra/coffice] /:

Improve Android support

Milestone 2 reached. Now COffice runs successful
on Android and displays ODT documents :)

R +3 -3 coffice/android/AndroidManifest.xml [from: coffice/coffice/android/AndroidManifest.xml - 086% similarity]
R +1 -1 coffice/android/build.xml [from: coffice/coffice/android/build.xml - 098% similarity]
R +0 -0 coffice/android/ [from: coffice/coffice/android/ - 100% similarity]
R +0 -0 coffice/android/proguard-project.txt [from: coffice/coffice/android/proguard-project.txt - 100% similarity]
R +1 -1 coffice/android/ [from: coffice/coffice/android/ - 096% similarity]
A +- -- coffice/android/res/drawable-hdpi/icon.png
A +- -- coffice/android/res/drawable-ldpi/icon.png
A +- -- coffice/android/res/drawable-mdpi/icon.png
A +- -- coffice/android/res/drawable/icon.png
R +- -- coffice/android/res/drawable/logo.png [from: coffice/coffice/android/res/drawable/logo.png - 100% similarity]
R +0 -0 coffice/android/res/layout/splash.xml [from: coffice/coffice/android/res/layout/splash.xml - 100% similarity]
R +0 -0 coffice/android/res/values-de/strings.xml [from: coffice/coffice/android/res/values-de/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-el/strings.xml [from: coffice/coffice/android/res/values-el/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-es/strings.xml [from: coffice/coffice/android/res/values-es/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-et/strings.xml [from: coffice/coffice/android/res/values-et/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-fa/strings.xml [from: coffice/coffice/android/res/values-fa/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-fr/strings.xml [from: coffice/coffice/android/res/values-fr/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-id/strings.xml [from: coffice/coffice/android/res/values-id/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-it/strings.xml [from: coffice/coffice/android/res/values-it/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-ja/strings.xml [from: coffice/coffice/android/res/values-ja/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-ms/strings.xml [from: coffice/coffice/android/res/values-ms/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-nb/strings.xml [from: coffice/coffice/android/res/values-nb/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-nl/strings.xml [from: coffice/coffice/android/res/values-nl/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-pl/strings.xml [from: coffice/coffice/android/res/values-pl/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-pt-rBR/strings.xml [from: coffice/coffice/android/res/values-pt-rBR/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-ro/strings.xml [from: coffice/coffice/android/res/values-ro/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-rs/strings.xml [from: coffice/coffice/android/res/values-rs/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-ru/strings.xml [from: coffice/coffice/android/res/values-ru/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-zh-rCN/strings.xml [from: coffice/coffice/android/res/values-zh-rCN/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-zh-rTW/strings.xml [from: coffice/coffice/android/res/values-zh-rTW/strings.xml - 100% similarity]
R +7 -1 coffice/android/res/values/libs.xml [from: coffice/coffice/android/res/values/libs.xml - 067% similarity]
R +1 -1 coffice/android/res/values/strings.xml [from: coffice/coffice/android/res/values/strings.xml - 088% similarity]
R +0 -0 coffice/android/src/org/kde/necessitas/ministro/IMinistro.aidl [from: coffice/coffice/android/bin/aidl/org/kde/necessitas/ministro/IMinistro.aidl - 100% similarity]
R +0 -0 coffice/android/src/org/kde/necessitas/ministro/IMinistroCallback.aidl [from: coffice/coffice/android/bin/aidl/org/kde/necessitas/ministro/IMinistroCallback.aidl - 100% similarity]
R +26 -26 coffice/android/src/org/kde/necessitas/origo/ [from: coffice/coffice/android/src/org/kde/necessitas/origo/ - 097% similarity]
R +0 -0 coffice/android/src/org/kde/necessitas/origo/ [from: coffice/coffice/android/src/org/kde/necessitas/origo/ - 100% similarity]
R +0 -0 coffice/android/version.xml [from: coffice/coffice/android/version.xml - 100% similarity]

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 23 more) Revision 525a0fe...
Robby Stephenson committed changes in [tellico/2.3] /:

Fix regexp in Google Scholar fetcher

The regexp for submitting the form to set the Bibtex cookie was bad.
How did it ever work?

FIXED-IN: 2.3.8

Sebastian Sauer committed changes in [calligra/coffice] /:

Made plugins work

This makes kparts/kplugins proper use QPluginLoader.
Currently only static plugins are supported (means
tested and work) what means external dynamic loaded
plugins are not a target yet.

With this commit all Calligra plugins (textshape,
pictureshape and variables) and the Words and
Author KPart's are proper registered as static
QPluginLoader plugins. It works and we can query
instances from the factories now at runtime.

Next step is to proper query such instances, inject
them the proper Calligra factory's/registry's and
continue fix bugs/crashers on the way to load and
display ODT documents.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 9d246b8...
Jarosław Staniek committed changes in [calligra] /:

Improved handling of the read-only mode

Main Window
*Improved messages when opening read-only projects
*Fixed opening projects as read-only
*Added proposing opening read-only for projects that cannot be open read-write
*Added "(read only)" string to the window title to indicate read-only mode


Diffs: 1, 2, 3, 4, 5 Revision a99146a...
Sebastian Sauer committed changes in [calligra/coffice] /:

Initial code for COffice

COffice is a trimmed down Calligra Suite with focus on mobile.
That name is a working name and may change.
This is work in progress and NOT ready or even usuable yet. Its the first step towards a goal.

The goals are:
* This introduces a new directory named calligra/coffice.
* Within taht directory happens all the related work on COffice.
* Buildsystem is qmake rather then cmake.
* This introduces the coffice/fake lib that allows COffice to be qt-only (no kde or other dependencies).
* Focus is atm on Calligra Words.

Work done:
* Most of Calligra libs (flake, koplugin, kotext, koundo2, maim, odf, textlayout, widgets, widgetsutils) compiles and links on Desktop and Android.
* Some plugins (textshape, variables, pictureshape) compile and link on Desktop and Android.
* All of Words compiles and links on Desktop and Android.
* Starting the (non functional) app works (no crashes). Not more yet.

Work to do:
* KDE Plugins. For that I will work next on a QPluginLoader based impl.
* Fixing all the problems that will show up while making the simple viewer-app proper render a ODT document.
* The current app is only used for testing. Plan is to investigate the possibility to put all of the app(s) into an own thread that pushes to a render thread (Qt4, in Qt5 QtQuick2 gives the render-thread out of the box) and to look if Calligra Active can be extended/reused/used as app.

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

Networking Tools

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

Support Activities

Open links in new tab only if there is a window
in the current activity/on the current desktop

This code has been written by Jonathan Verner and reviewed (a bit)
by me. Hope everyone will be happy now...


Joris Guisson committed changes in [ktorrent] /:

Use file contents to figure out which type of blocklist we are dealing with in IP filter

David Edmundson committed changes in [ktp-call-ui] src/dialout/dialout-widget.cpp:
Lamarque Souza committed changes in [networkmanagement/nm09] /:

Show icon in systray when mobile's access technology and signal quality are
(cherry picked from commit 91ef78c1a5e1a700b242e2d0a24cf0069fa8c07a)


Jaime Torres Amate committed changes in [knavalbattle] /:

implement the possibility of non adjacent ships

Before, the only game option was to play with adjacent ships.
Now it is possible to choose between the two options, adjacent or not,
including the network games.
The game mode can not be changed in the middle of a battle.
The local user settings are not affected by a network game. Both
players will play the same game type, but after that, the local options
will apply for new local games.

FIXED-IN: 11.0
REVIEW: 106772
GUI: There is a new settings menu entry (Adjacent ships)


Michał Dutkiewicz committed changes in /trunk/kdereview/plasma/applets/adjustableclock:

Update to 3.2:
- added Train Clock, based on design by Nuno Pinheiro;
- added beClock theme, inspired by clock by Thomas Luebking;
- added Binary Clock;
- show placeholder category in title in rich text editor;
- enable Apply button when configuration values are changed;
- added Edit button to trigger clipboard action editor;
- moved custom themes to separate, shared data file;
- some other improvements and fixes.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 1343615
Alex Fiestas committed changes in [web-accounts/kded] /:

First code drop of Accounts KDED

This KDED will be in charge of enabling/disabling KDE services such
akonadi, perhaps Telapathy etc.

One of the things it will do (for example) is to create a PlavesView
when an ownCloud account is configured.

ATM it kinda works for Akonadi though I'm pushing this so mck182 can do
some testing.

Diffs: 1, 2, 3, 4, 5 Revision 37190eb...
Alexander Maret-Huskinson committed changes in [wacomtablet] /:

The tablet can now have different mappings for each screen.

The user can now select a tablet area for each screen independently.
However the data is only saved in the profile and not used yet. The
tablet handler has to be updated to make use of the new settings.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision a59371b...
Alexander Maret-Huskinson committed changes in [wacomtablet] /:

Large GUI rework and more utility classes.

Reworked large parts of the KCM GUI:

* Merged TabletArea and ScreenArea widgets into a more flexible AreaSelectionWdiget, to get rid of a lot of code duplication.
* Changed GUI to merge the KCM tabs for pad mapping, touch mapping and the touch settings into one tab.
* Created TabletPageWidget class which holds the new tablet tab page for all the changed GUI elements.
* Created widgets ScreenAreaSelectionWidget and TabletAreaSelectionWidget and the corresponding dialog classes, which allow the user to map tablet <-> screen.
* Removed some obsolete GUI classes which were never used anyway.

Utility classes:

* Added X11Info which contains helper methods to query the X11 window system.
* Added X11Wacom which contains helper methods to query wacom tablets using Xinput.
* Moved the X11Input classes back to the common code as the KCM module needs them as well.
* Fixed a memory leak in the X11InputDevice class.

Beware! This commit breaks some features! Most notably the global shortcuts
for screen toggling and the tablet <-> screen mappings. These will be
fixed when the property cleanup is done.

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


Development Tools

Ralf Habacker committed changes in [umbrello/KDE/4.10] /codeimpwizard:

Speed up c++ code import by hiding the list view dock window.

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

Refactor threaded parsing, use long lived worker pattern.

Not only is the code much cleaner, we also have the added advantage
of not spinning up new threads whenever we parse a new file.

Furthermore the signals have been cleaned up to remove the unsafe
accessal of the old ParseThread once it has finished parsing.

KDE Base

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

FileIndexer: Only clean invalid items when idle

We always used to run the cleaner before indexing anything. This is not
required, we can continue with the basic indexing without cleaning the
old data. The cleaner is now only run when idle.

This decreases the initial virtuoso load when starting Nepomuk.

REVIEW: 109482

Diffs: 1, 2, 3, 4 Revision 61767ad...


Jan Kundrát committed changes in [trojita] src/Composer/PlainTextFormatter.cpp:

HTML: scan the input using a single regular expression

This improves speed "a lot" -- previously, each pattern was tried until the end
of the input string after each and every match. This could easily lead to O(n^2)
complexity because it was easy to feed this with an input which e.g. matched
simple HTTP links all the time, but the whole rest of the input was repeatedly
scanned for a regexp matching an e-mail address all the time.

I haven't bothered with measurements (the old version did not finish in 30
minutes under callgrind when fed with a particularly malicious input).

Also make sure that all special metacharacters are properly escaped, that we
don't use locale-aware matching too much, and switch to RegExp2 for better Qt5

Vishesh Handa committed changes in [kdepim-runtime/vhanda/feeder] /nepomukfeeder:

Nepomuk Feeder: Siplify the concept of the ItemQueue

The ItemQueue is this slightly convuluted class that served as queue
whose function would be different in different circumstances.

It originally contained a list of items (mItemPipeline) which still needed
to be fetched from Akonadi, a list of fetched items - mFetchedItemList
and a few other lists - mItemFetchList and mTempFetchList (not really
required). The class's main function processItem would perform
differents functions -

* If an indexing operation is going on - nothing
* If it mItemFetchList does not contain enough items, it would move one
item from the mItemPipeline to the mItemFetch list
* If the mItemFetchList was long enough, it would fetch all those items
from AKonadi and store them in the mFetchedItemList and start
processing them, one batch at a time untill mFetchedItemList is empty

Overall, it was quite confusing. I think I might have even missed a case
or two in the description above.

With this patch the entire concept of the ItemQueue has been simplified,
and its functions have now been renamed, and unnecessary variables have
been removed.

The ItemQueue is now just responsible for the following functions -
* Fetching Akonadi Items when required in mFetchSize multiples
* Indexing those fetched Akonadi Items in mBatchSize multiples

Each call to processBatch (previously called processItem), will send one
batch for indexing. That's it. If it doesn't have enough items in its
queue, it will fetch mFetchSize items from Akonadi and then send them

Because of this simplification, we had to remove the concept of
indexingDelay between batches. Each call now just processes one batch,
it is the callers responsibility to schedule them properly.

All the functions now also return sane return values. Earlier the
concept of true/false was little shaky.

Also added proper documentation to the class so that it is evident what
this is class is supposed to do.

Diffs: 1, 2, 3, 4 Revision 8f31884...
Volker Krause committed changes in [kdepim] mailcommon/foldercollectionmonitor.cpp:

KMail doesn't use the item modification time, so don't fetch it.

5% less transfer volume, ~10% faster response from the server, and also
saving some CPU on the client side since date/time handling is expensive.

Vishesh Handa committed changes in [libkpeople] /:

Simplify the Nepomuk data extraction Code

Instead of using the Nepomuk property URIs as keys in ContactItem we now
use the roles instead. This simplifies the data extraction part from the
model as we can keep a direct mapping in the query (Binding Name => Role)

Additionally, the ContactItem class could also load the data on its own
by using the Nepomuk Resource class. It now uses the same query as the
PersonsModel and fetches all the data in one go. This is much faster and
simpler. Though, it results in a little bit of code duplication.

And finally, the ResourceWatcher now reloads the contacts which are
modified instead of just changing those specific properties. This is
done because in many cases such as - ImAccounts, Emails, Photos, and
ContactGroups, one needs to query the Nepomuk DB in order to fetch more

REVIEW: 109481

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 52840e5...
David Faure committed changes in [kdepim/KDE/4.10] messagelist/pane.cpp:

Deselect before select, so that we clear the message list before filling it again.

This makes it much faster to switch folders in kmail, the messagelist
can clear up immediately rather than inserting (while showing greyed out
items to the user) before deleting the old ones.

Volker Krause committed changes in [kdepim-runtime] resources/imap/retrieveitemstask.cpp:

The body checker doesn't use the item modification time either.

Saves about 25% server response time and transfer volume.

David Faure committed changes in [kdepim/KDE/4.10] /core:

Major speedup when switching folders (part 2/2)

Implement a "fast path" which clears everything when the storage model
emits rowsRemoved(0, count-1), rather than removing rows one by one.
(which was not very slow in general, but could get very slow when
it had to shuffle the current index around every time)

This fix is dedicated to the jazz trio Niels Lan Doky, since I mostly wrote
it between the two sets of their concert in Copenhagen.


Dmitry Kazakov committed changes in [calligra] /:

Ported Fill Tool to strokes

This patch does 3 major things:
1) Ports the tool to strokes framework

2) Adds KisSimpleProcessingVisitor class which makes creation of new
processings easier (Lukas can use it now in his branch).

3) Adds lazy fetching of the "initial" image set for the qimage-based
tests. Now this set is shared by all the unittests, so there is no
need to store copies of it.



Alexander Wolf committed changes in [kstars] /:

updated icons for supernovae

M +- -- kstars/icons/hi22-action-kstars_supernovae.png
M +- -- kstars/icons/hi32-action-kstars_supernovae.png
M +- -- kstars/icons/hi48-action-kstars_supernovae.png
M +- -- kstars/icons/hi64-action-kstars_supernovae.png

KDE Base

Alex Fiestas committed changes in [kdelibs/KDE/4.10] solid/solid/CMakeLists.txt:

Make it so you have to explicitly enable hupnp support

This efectively disables upnp backend :/ I hope we can find somebody
that continues this great work soon :/


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

Google drops Google Reader and so do we

Google announced that by July 1 the Google Reader service
will be shut down, therefore there's no point in developing
and maintaining the Akonadi resource anymore. Let's focus
on other things now. *le sigh*

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