Issue 337

27th April 2014 by KDE Commit-Digest Team

Contributors

Danny Allen
Alex Fikl
Marta Rybczynska
Giacomo Barazzetti
Jürgen Appel

This Week...

Umbrello adds find text in tree view, current diagram and all diagrams feature. KDE Telepathy can share images over common image sharing networks. Sflphone-kde adds security evaluation framework with GUI. Punctuation data is accessible to Jovie. Initial import of Application Menu aka (Homerun) Kicker. In IMAP-Resource, refactoring of retrieveitemstask introduces multiple improvements. Kexi is on the way to Qt5: Forms ported to Qt4's scroll area.

Statistics

Commits 2254 by 140 developers
Open Bugs 22283
Open Wishes 16091
Bugs Opened 283 in the last 7 days
Bugs Closed 209 in the last 7 days

Commit Summary

Module Commits
/trunk/l10n-kde4
143
 
/trunk/l10n-support
58
 
/branches/stable
47
 
/trunk/www
26
 
/krita/plugins
11
 
/src/part
10
 
/src/CMakeLists.txt
9
 
/kf5/adapt_cmakelists_file.pl
8
 
/trunk/kde-common
7
 
/kde-modules/KDEInstallDirs.cmake
7
 
Files Developer Commits
672
 
Laurent Montel
236
 
564
 
David Faure
190
 
447
 
Alex Merry
149
 
243
 
Kevin Ottens
142
 
192
 
Patrick von Reth
66
 
162
 
Aleix Pol Gonzalez
59
 
162
 
Aurélien Gâteau
54
 
120
 
David Edmundson
50
 
144
 
Ralf Habacker
48
 
117
 
Nicolás Alvarez
39
 

Internationalization (i18n) Status

Language Percentage Complete
Swedish (sv)
99%
 
German (de)
99%
 
Brazilian Portuguese (pt_BR)
99%
 
Portuguese (pt)
99%
 
Polish (pl)
99%
 
French (fr)
97%
 
Dutch (nl)
97%
 
Spanish (es)
96%
 
Bosnian (bs)
93%
 
Italian (it)
91%
 

Bug Killers

Person Bugs Closed
Christoph Feck
31
 
Jekyll Wu
27
 
chaofeng111 gmail com
13
 
bbeschow cs tu-berlin de
11
 
jgrulich redhat com
10
 
David Edmundson
10
 
Vishesh Handa
9
 
Frank Reininghaus
6
 
Thomas Lübking
6
 
mklapetek kde org
6
 

Commit Countries

Commit Demographics

Sex

Age

Contents

  Bug Fixes Features Optimization Security Other

Accessibility

  []    

Development Tools

[] []    

Educational

  []    

Graphics

     

KDE Base

[] [] []   []

KDE-PIM

[] [] []   []

Office

[] []    []

Konqueror

     

Multimedia

[]     

Networking Tools

[] [] []   

User Interface

[] []    []

Utilities

[] []    

Games

     

Other

  []    

There are 65 selections this week

Bug Fixes

Development Tools

Denis Steckelmacher committed changes in [kdev-qmljs] duchain/declarationbuilder.cpp:

Ensure that function declarations are highlighted in the "function" color.

KDE Base

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

Scroll to the right position when going back and show hidden files is enabled.

Instead of emitting the directoryLoadingCompleted signal (via slotCompleted) in
KFileItemModel::setShowHiddenFiles directly, we now call
dispatchPendingItemsToInsert instead.

@Frank: Thanks for your help!

FIXED-IN: 4.13.1

REVIEW: 117021

Marco Martin committed changes in [plasma-framework] /plasmaquick:

change a bit resize logic

Make sure to always execute one between syncToMainItemSize()
and syncMainItemToSize() in a mutually exclusive fashion.
this should (hopefully) fix the dancing dialog problem
and dialogs with content of the wrong size

Vishesh Handa committed changes in [baloo/KDE/4.13] /file:

FileIndexingJob: Pause it when on battery

The FileIndexingJob normally just takes one iteration, except in the few
exceptional cases when there is an offending file. In those cases, we
try to call the extractor again with half those files, and keep
splitting until we find the offending file.

Normally, the file indexer is never run when on battery, so this patch
just makes sure the error detection code is not run when on battery and
the file indexer was already running.

Emmanuel Pescosta committed changes in [kde-baseapps/KDE/4.13] dolphin/src/views/versioncontrol/updateitemstatesthread.cpp:

Fix memory leak with Dropbox version control plugin.

In the current version we only call endRetrieval when
beginRetrieval was successfully in UpdateItemStatesThread::run().
This causes some problems with version control plugins (like Dropbox plugin),
which have to do cleanups in endRetrieval.

Now we always call endRetrieval after beginRetrieval when updating the version states.

FIXED-IN: 4.13.1
REVIEW: 117753

Davide Bettio committed changes in [kdeplasma-addons/frameworks] applets/calculator/package/contents/ui/calculator.qml:

Calculator plasmoid: use the right decimal seprator according to user locale

Signed-off-by: Davide Bettio

Laurent Montel committed changes in [baloo/KDE/4.13] /pim:

Bug 333566 - Quick filter in KMail 4.13 stops working with non-Latin characters (Cyrillic Russian Unicode) - search empty result

FIXED-IN: 4.13.1

We need to update database

Davide Bettio committed changes in [kdeplasma-addons/frameworks] applets/calculator/package/contents/ui/calculator.qml:

Calculator plasmoid: fix decimal point which was not working

Signed-off-by: Davide Bettio

Frank Reininghaus committed changes in [kde-baseapps/KDE/4.13] /src:

Do not change the selection when re-sorting the view

If a range of items has been selected by Shift-clicking or by pressing
Shift+Arrow, then each of them is added individually to the selection
before the items are re-sorted.

Before this commit, the first and the last item in the range were
moved, and all items between them were selected, even though these were
not necessarily the items which had been selected before the
re-sorting.


REVIEW: 117603
FIXED-IN: 4.13.1

Emmanuel Pescosta committed changes in [kde-baseapps/KDE/4.13] dolphin/src/dolphinmainwindow.cpp:

Enable the previous and next tab toolbar buttons
when multiple tabs are opened. Disable them again
when there is only one remaining tab.

Additionally set the default state to disabled.


FIXED-IN: 4.13.1
REVIEW: 117778

Wolfgang Bauer committed changes in [kde-workspace/KDE/4.11] /screenlocker:

Force the screen locker's greeter to show the password input field in
case of immediateLock

If the screen locker is set to not require a password to unlock, it will
not show the password input field even when the powermanagement settings
suspend the system and are set to require a password after resume (when
it was already running at that point).
This locks people out of their system.

This patch adds a signal handler for SIGUSR1 that switches the running
greeter to immediateLock mode. The locker sends that signal to make sure
the greeter shows the password input field when necessary.



FIXED-IN: 4.11.9
REVIEW: 117091

Wolfgang Bauer committed changes in [plasma-workspace] /screenlocker:

Force the screen locker's greeter to show the password input field in
case of immediateLock

If the screen locker is set to not require a password to unlock, it will
not show the password input field even when the powermanagement settings
suspend the system and are set to require a password after resume (when
it was already running at that point).
This locks people out of their system.

This patch adds a signal handler for SIGUSR1 that switches the running
greeter to immediateLock mode. The locker sends that signal to make sure
the greeter shows the password input field when necessary.



REVIEW: 117091

Kai Uwe Broulik committed changes in [kde-workspace/KDE/4.11] /generic/applets/batterymonitor/contents:

Prevent popup from closing when changing brightness battery monitor is hidden in system tray

Touching the plasmoid status causes the popup to close. This patch does not touch the status
as long as the popup is open and defers that to when the popup closes.

REVIEW: 117533

FIXED-IN: 4.11.9

Wolfgang Bauer committed changes in [kde-workspace/KDE/4.11] /screenlocker:

screenlocker: don't leave behind screensaver processes

Currently the screen locker just kills the greeter (kscreenlocker_greet)
when the screen is unlocked by the user during the grace time.
But apparently this can leave behind running screensaver processes
launched by the greeter, see the bug report (which has the highest
number of votes of all open bugs AFAICS).

This patch changes this to only terminate the greeter, and adds a signal
handler to the greeter to exit gracefully in this case.
The signal handler exits with return code 1, so that it is not possible
to circumvent the password input by just sending a SIGTERM. (the screen
locker restarts the greeter in case it doesn't quit with exit code 0)


FIXED-IN: 4.11.9
REVIEW: 117644

KDE-PIM

Lindsay Mathieson committed changes in [kdepim/KDE/4.13] messageviewer/viewer/mailwebview_webkit.cpp:

Fixes MailWebView::scrollToAnchor

The DOM code in MailWebView::scrollToAnchor no longer seems to work.
However there is a QT api call in QWebFrame::scrollToAnchor()
introduced in QT 4.7 that implements the functionality needed.


REVIEW: 117642

Dan Vratil committed changes in [akonadi/1.12] server/src/storage/dbupdater.cpp:

Remove the invalid GID part from PartTable before starting PartTable migration

More people than we expected have invalid 'GID' part in their PartTable,
which breaks migration to schema 25, because it expects all part types
to have a valid name.

To work around this fact, we DELETE all parts with name 'GID' from PartTable
before starting the actual migration. This will not fix the migration for
people with other invalid parts, but I haven't heard of any such. To make
this completely bullet-proof, we would need to iterate through all entries,
which would be massively slower than current INSERT INTO ... SELECT FROM approach.

Distributions, this is a good choice for backporting into 1.12.1 ;-)


FIXED-IN: 1.12.2

Office

Stuart Dickson committed changes in [calligra/steam-247500_247566] krita/plugins/extensions/gmic/kis_gmic_simple_convertor.cpp:

GMIC: Fix crash when filter is applied to the layer which was moved

- the computation of tile width was buggy
- scaling pixels to float color-space in temporary tile
did not take into account the posibility that the source
tile is read only partially (when you e.g. selection)

- there is still some corruption when bitblting
gmic result to layer

Thomas Fischer committed changes in [kbibtex] src/gui/bibtex/bibtexeditor.cpp:

Mapping through sort/filter proxy to get selection

The editor component did not consider the filter/sorting proxy when
determining/updating the current selection of elements.
This bug caused issues in other places such as when assigning a value
from the value list to selected items. See GNA bug 21870 [1] for
details.

[1] http://gna.org/bugs/?21870

Lukáš Tvrdý committed changes in [calligra] krita/plugins/extensions/gmic/kis_gmic_simple_convertor.cpp:

GMIC: Fix crash when filter is applied to the layer which was moved

- the computation of tile width was buggy
- scaling pixels to float color-space in temporary tile
did not take into account the posibility that the source
tile is read only partially (when you e.g. selection)

- there is still some corruption when bitblting
gmic result to layer

Multimedia

Shantanu Tushar Jha committed changes in [plasma-mediacenter] libs/mediacenter/medialibrary.cpp:

Delay before starting media sources

The MediaLibrary waits for some time before emitting newMedia, newAlbum
etc so that it can batch multiple items together. Due to this, we have
to make sure that the first time we populate the library, we give
enough time to consumers to update themselves before we start possibly
resource hungry media sources.

Networking Tools

David Edmundson committed changes in [ktp-contact-list/kde-telepathy-0.8] /:

Fix for a bug that caused the contacts list to not expand some groups on opening and filtering

I've fixed the 325506 bug by creating a decision upon the validity of the inserted item's parent. If it is valid, it works as before, considering it is a top-level element we want to collapse/expand. If it is invalid, the inserted item itself is probably the top-level node (hence the invalid parent - there's none), so we get it in another way.

I don't think the second validity check is strictly needed, but I thought it was safer to keep it anyway.

REVIEW: 117791

David Edmundson committed changes in [ktp-text-ui] app/chat-window.cpp:

Text-UI breaks "Per window" keyboard layout switching

This bug happens when the user has switched the keyboard layout of a chat tab and then switched to another application with another language, And he received a message or an "is typing" chat status, the language is then changed to the language of the Chat Tab that he was previously in, which is of course is an annoying behavior.

The reason of this behavior is that the restoreKeyboardLayout method is called inside the onCurrentIndexChanged without making sure that the Chat Window is active.

REVIEW: 117729

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

Automatically strip spaces for DNS servers and domains



Conflicts:
libs/editor/settings/ipv4widget.cpp
libs/editor/settings/ipv6widget.cpp

User Interface

Martin Gräßlin committed changes in [kwin] /:

Keep timestamp of last syncRequest and update with xTime on each sync

The sync protocol with e.g. Qt 4 windows is broken if our app time is
older than the one of the last sync alarm event. Thus we keep a timestamp
in the syncRequest struct of the last sent sync request. If the timestamp
is newer than our xTime when sending the next request, we update the
xTime to ensure that we have a new timestamp again.


REVIEW: 117734

Utilities

Harald Sitter committed changes in [libqapt/2.2] /:

Prevent crashes on source entries that contain a line like "##"

Simply ensure that while we are stripping # the string retains the
QString::at(i) requirement of i being a valid index (which requires the
size() to be greater than 0 for us).

Random note: while size>0 is equal to !isEmpty, the ::at() documentation
specifically ties the validity of index to size, so for clarity's sake I am
using size>0 rather than !isEmpty.

FIXED-IN: 2.2.1

Features

Accessibility

Jeremy Paul Whiting committed changes in [jovie] /:

Punctuation feature of speech-dispatcher exposed to Jovie.

Added punctuation attribute to voices in talkercode, talkerlistmodel
and talkerwidget.
Support setting punctuation type based on punctuation attribute of
talkers and talkercodes.
Patch submitted by Ajay Singh

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

Development Tools

Sergey Kalinichev committed changes in [kdev-clang] /:

Make the clang plugin use Includes and Defines interface.

Now it's possible to add includes/defines through GUI.

REVIEW: 117763

Sven Brauch committed changes in [kdevplatform] /git:

Ask user for confirmation before git checkout -- <path>

Since this discards all local changes irreversibly, it's too easy
to fat-finger in that clumsy menu and needs a confirmation.

Educational

Inge Wallin committed changes in [libkdeedu] /:

Implement new fields: pregrade and interval

This patch implements two new fields in a kvtml file:
- pregrade, which is equal to grade but used in the interval 0-1 days
as opposed to grade which is used for intervals 1 day and up.
- interval, which is used to indicate how long since a word was last
trained it is due for training again.

This is prerequisite to the implementation in Parley of the initial
training. The reason for implementing these two fields instead of
changing old ones is that it will still be backward compatible. I
think this is important, especially in the light of the ktouch issue
that we saw on the mailing list a few days ago.

REVIEW: 117730

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

KDE Base

Vishesh Handa committed changes in [plasma-workspace] /:

Add a System Monitor

This monitor is launched on pressing Ctrl + Esc, and closed when Ctrl +
Esc is called again. A kded module is responsible for keeping this global
shortcut.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision ee41ecc...
Emmanuel Pescosta committed changes in [kde-baseapps/KDE/4.13] dolphin/src/panels/places/placespanel.cpp:

Mount partitions when you open them in a new tab.

Instead of just emitting the slotItemMiddleClicked signal in
PlacesPanel::slotItemContextMenuRequested we now use triggerItem with
Qt::MiddleButton, which does set up the storage first and emit
the slotItemMiddleClicked signal afterwards.


FIXED-IN: 4.13.1
REVIEW: 117755

Mark Gaiser committed changes in [kio] /filewidgets:

Added viewMode getter method to KDirOperator to allow getting the current view mode.
Added setViewMode to allow setting a view mode. The QPA for QFileDialog is usong this method to implement QFileDialog::setViewMode.

Reviewed by: David Faure

Diffs: 1, 2, 3, 4 Revision c3abc29...
Davide Bettio committed changes in [kdeplasma-addons/frameworks] /:

Timer plasmoid:
* Stop when timer expires.
* Install it correctly
Signed-off-by: Davide Bettio

David Edmundson committed changes in [plasma-framework] /declarativeimports/plasmacomponents/qml:

Add a ComboBox to PlasmaComponents

REVIEW: 117798

Diffs: 1, 2, 3 Revision 97d6ba2...
Davide Bettio committed changes in [kdeplasma-addons/frameworks] applets/timer/package/contents/ui/timer.qml:

Timer plasmoid:
* Blinking when countdown is suspended
* Added Start, Stop, Reset to applet contextual menu

Signed-off-by: Davide Bettio

Eike Hein committed changes in [plasma-desktop] /:

Initial import of Application Menu aka (Homerun) Kicker.

This version is a mostly-from-scratch reimplementation of
the Plasma 1 version.

Some minor-in-scope loose ends are left, both external and
internal to the code; check TODO for whether your issue is
already known.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 42 more) Revision 0570fe1...
Vishesh Handa committed changes in [baloo/KDE/4.13] /file/kcm:

Add an explicit disable checkbox for Baloo

This adds a new string "Enable Desktop Search"


FIXED-IN: 4.13.1

Milian Wolff committed changes in [kate] /syntax/data:

For syntax highlighting, allow .js-files to start with a shebang.

When writing node.js scripts it is common to include a shebang at the
top, like `#!/usr/bin/env node`, and save it in a .js-file. However,
the syntax highlighter for JavaScript does not understand the shebang,
and tries to highlight it as JavaScript.

It is understood as two literal regular expressions (/usr/bin and /env
node), the last of which is not closed, meaning that the rest of the
file is attempted understood as part of the last regular expression.

This defeats syntax highlighting for .js-files that start with a
shebang.

This patch allows .js files to start with a shebang.


REVIEW: 117571

Vishesh Handa committed changes in [plasma-workspace] lookandfeel/contents/runcommand/RunCommand.qml:

KRunner: start the timer if it is not running

This way one does not need to stop typing in order for results to start
showing up.

KDE-PIM

Dan Vratil committed changes in [akonadi/item-merge] /:

Implement MERGE command handler

MERGE command allows merging new item into an existing one based on
GID and/or RID match. If no such item exists a new one is created.
If it exists, the new item is merged into the existing one, overwriting
conflicting flags, and parts.

Merging is restricted to parent collection and mime type, to minimize
potential RID/GID conflicts, since they are not guaranteed to be unique.

Syntax of MERGE command is equivalent to syntax of X-AKAPPEND command,
except for the command ("MERGE") is followed by parenthesized list of
attributes to merge by (currently supported values are "REMOTEID" and
"GID").

Implementation-wise, Merge handler is a subclass of AkAppend handler,
which allows reusing all the existing code for insertion of a new item
(in case no candidate for merging is found) and only implements merging.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 70a3bef...
Christian Mollekopf committed changes in [kdepimlibs] /:

CollectionSync: allow to keep the local changes.

This new property allows resources to indicate whether the CollectionSync
should overwrite the locally stored changes.
This ensures that the CollectionSync doesn't overwrite existing attributes
with the default values provided by the resource on every sync.

REVIEW: 117697

Diffs: 1, 2, 3, 4, 5 Revision b92a515...
Christian Mollekopf committed changes in [kdepim-runtime] /imap:

IMAP-Resource: Refactoring of retrieveitemstask

This introduces the following changes:
* Batch wise fetch to not overload akonadi
* Proper progress reporting through setTotalItems
* Make it clear that incremental/non-incremental is a mode of the task that
cannot be changed.
* Removed the processed mailbox hack
* Introduced a check for inconsistent local cache state (since we rely on this to be correct)
* Made sure the local collection is actually cleared when empty on the server
* Made sure changesince is only used in inremental mode
* Some minor refactorings for code clarity
* Fixed "retrieve items without body" mode, which just worked by chance
and would delete all your local mail if it once didn't end up in
incremental model.
* Disabled "retrieve items without body" mode. This should be called
explicitly by the resource when required. It's very expensive and certainly
shouldn't be executed on every sync. The only reason it's still in the
same job is for codesharing (it's really entirely unrelated otherwise).

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

Office

Ralf Habacker committed changes in [umbrello] /:

Add find text in tree view, current diagram and all diagrams feature.

The implementation adds menu entries and keyboard shortcuts for 'find', 'find next' and
'find previous' functions.

On start of a find operation a dialog will be opened, which allows to set the find filter
and a simple search text. Depending on the selected filter all tree view elements or elements
from the current or all diagrams are compared case insensitive against the search text.
The results are stored for later access and the first result will be displayed as described below.

Running 'find next' or 'find previous' using the 'tree view' filter will select the related search result,

Running 'find next' or 'find previous' with current diagram or all diagrams filter set, shows the related
view and selects the requested widget, which is positioned in the center of the view with a 100% zoom.
If a related tree view item is present, it will also be selected.

The implementation is undo/redo proof, because it stores scene/object/widget id's instead of pointers.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 12 more) Revision e13d4c3...
Inge Wallin committed changes in [calligra] /libodf2:

libodf2: Add support for header/footer properties and page layout properties.

This is in preparation for support for page layout.

Diffs: 1, 2, 3, 4, 5, 6 Revision b152337...
Inge Wallin committed changes in [calligra] /:

OdfTextReader: Add support for text annotations

This change also includes an enhancements to the KoXmlStreamReader
that was already published in the .h file but not implemented in the
.cpp.

Diffs: 1, 2, 3, 4, 5 Revision 97c262a...
Boudewijn Rempt committed changes in [calligra] /plugins/filters:

Add posterize filter

Thanks to Manuel Riecke!

Diffs: 1, 2, 3, 4, 5 Revision 1a1c0da...
Dmitry Kazakov committed changes in [calligra] krita/plugins/filters/colors/kis_color_to_alpha.cpp:

Allow Color to Alpha filter work in Adjustment Layers

Thanks Beast to the patch! :)

Arjen Hiemstra committed changes in [calligra] /:

gemini: Enable save incremental after saving a new file.

Caption isn't updated properly yet, but I could not really figure out
how to do that properly.

Networking Tools

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

Share images over common image sharing networks

When dragging and dropping images over the text-ui
allow uploading to popular services such as imgur.
This is useful when on networks that do not support
file transfer

REVIEW: 117573

FIXED-IN: 0.9.0

Emmanuel Lepage Vallee committed changes in [sflphone-kde] /:

[ #37142 ] Complete the security validation GUI

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 345e26d...
Emmanuel Lepage Vallee committed changes in [sflphone-kde] /:

[ #37142 ] Add a security evaluation framework

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

User Interface

Martin Gräßlin committed changes in [kwin] /:

Introduce config option for OpenGLPlatformInterface

A new config option "GLPlatformInterface" is added to the Compositing
settings group. Valid values are "glx" and "egl". This config option is
honored by the Scene to decide which backend to create.

The setting gets sanitized by the operation mode (egl for Wayland),
the environment variable KWIN_OPENGL_INTERFACE and the compile time
support. These switches are removed from the Scene to not have them
duplicated.

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

Utilities

Matthias Klumpp committed changes in [ark] /:

Provide AppStream metadata file

REVIEW: 117609
This commit will add an AppStream AppData file to Ark so it can show up
in modern AppStream-aware software-centers.
For more information on AppStream metadata, check out this wiki page:

Other

Mark Gaiser committed changes in [frameworkintegration] /:

Implement support for QFileDialog::setViewMode.
A unittest has also been added but commented out for now due to a bug in Qt: https://codereview.qt-project.org/#change,84137

Reviewed by: David Edmundson

Diffs: 1, 2, 3 Revision 520cebe...

Optimization

KDE Base

Vishesh Handa committed changes in [baloo/KDE/4.13] src/file/cleaner/main.cpp:

Cleaner: Remove the database file on disabling

Instead of manually cleaning every file which would consume a lot of
time and cpu.

KDE-PIM

David Edmundson committed changes in [libkpeople/soo_much_faster] src/personsmodel.cpp:

Make PersonModel faster

Instead of performing a hash lookup each time in data() store
MetaContacts in the list and instead use the hash to the index only
for insertion/deletion.

Networking Tools

David Edmundson committed changes in [ktp-common-internals/kde-telepathy-0.8] /Models:

Remove internal countContacts function

This method counted the contacts in a group every time a contact in that
group changed. This meant on every insertion we would loop through the
entire set of contacts to make the new count.

Assuming all contacts come online we end up making contacts^2 calls to
data() which is obviously really slow. On my system KPeople::data()
showed over 300,000 calls on load

Instead strip this code and re-insert a simple filter at the contact
list level (see patch to contact list)

Other

KDE Base

Davide Bettio committed changes in [plasma-workspace] /weather/ions:

Weather DataEngine/ion library: Port to Plasma2/Qt5 ++

Signed-off-by: Davide Bettio

Alex Fiestas committed changes in [kde-runtime/frameworks] /:

Remove solid-device-automounter

This should be ported to systemd so any automount happens within
systemd user session startup and we do not depend on kded being started.

Also, The current code is not working well, it keeps mounting things
after you remove the item from the list, it mounts things twice making
it bad for encrypted disks (you get the dialog twice), the model gets
fucked up etc.

So, for the time being lets just remove it, and restore it the moment
we have a maintainer and somebody to make this rock.

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

KDE-PIM

Dan Vratil committed changes in [akonadi] /src:

MERGE: Only emit itemChanged if the item is actually modified by the merge

This adds a new optional argument to PartHelper::storeStreamedParts() that will
be set to true if the part data have changed, or a new part was created. The
code always compares data sizes first and will fall back to comparing the actual
data only when the 'changed' argument is set by caller and when part sizes are
the same.

Diffs: 1, 2, 3 Revision 1d1969c...
Christian Mollekopf committed changes in [kdepim-runtime] /imap:

Imap-Resource: Refactored to be subclassable.

Subclasses can inject a derived ResourceState and override all necessary
methods.

Diffs: 1, 2, 3, 4, 5, 6 Revision 28cb04b...

Office

Inge Wallin committed changes in [calligra] /libodf2:

libodf2: Create a base class for KoOdfStyle

This will make it possible for the style manager to handle all
different style types in the future. Currently it can handle
style:style, but in the future it will also be able to handle
style:page-layout, text:list-style and all the number: style types.

Diffs: 1, 2, 3, 4 Revision 907f090...
Jarosław Staniek committed changes in [calligra] /:

Port Kexi Forms to Qt4's scroll area

This is a milestone leading to Qt5-based Kexi.

Temporarily wrapped TableView in order to keep it functional.

REVIEW:117687
DIGEST:Kexi on the way to Qt5: Forms ported to Qt4's scroll area
FIXED-IN:2.9.0

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

User Interface

Hugo Pereira Da Costa committed changes in [oxygen] CMakeLists.txt:

made kdecorations dependency optional to be able to compile oxygen style (and not window decoration) outside of kwin.

Martin Gräßlin committed changes in [kwindowsystem] /:

Fully port KXMessages to XCB

* use xcb to resolve the intern atoms
* use xcb event structure for sending the client message
* add xcb overload for KXMessages::broadcastMessageX
* deprecate XLib variant
* extend test to verify all three variants of sending messages

REVIEW: 117733

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