Issue 327

16th February 2014 by KDE Commit-Digest Team

Contributors

Marta Rybczynska
Alex Fikl
Giacomo Barazzetti
Jürgen Appel

This Week...

Amarok merges advanced track statistics importers GSoC project. KDevelop allows language plugins to provide styles to formatters. Konsole stores terminal size in the profile, each profile can now set desired column and row size; allows users to specify css file for tab bar style (this can be used to set minimum width of the tabs, distinguish active tab, etc). Kwallet replaces SHA with PBKDF2-SHA512+Salt. Porting to Qt5 and Frameworks 5 continues, we have initial ports of kfind and konq.

Statistics

Commits 1665 by 139 developers
Open Bugs 21563
Open Wishes 15982
Bugs Opened 232 in the last 7 days
Bugs Closed 171 in the last 7 days

Commit Summary

Module Commits
/trunk/l10n-kde4
204
 
/branches/stable
138
 
/trunk/l10n-support
53
 
/plasma/generic
38
 
/plasma/desktop
34
 
/trunk/www
27
 
/generic/wallpapers
16
 
/krita/ui
14
 
/file/kcm
12
 
/pimcommon/storageservice
12
 
Files Developer Commits
468
 
Iñigo Salvador Azurmendi
156
 
450
 
Laurent Montel
156
 
156
 
Marco Martin
56
 
156
 
Kevin Funk
55
 
147
 
Sebastian Kügler
51
 
153
 
Burkhard Lück
51
 
144
 
Vishesh Handa
48
 
144
 
Boudewijn Rempt
48
 
123
 
David Edmundson
41
 
120
 
Christian Mollekopf
41
 

Internationalization (i18n) Status

Language Percentage Complete
Brazilian Portuguese (pt_BR)
99%
 
French (fr)
97%
 
Dutch (nl)
97%
 
Bosnian (bs)
95%
 
Estonian (et)
90%
 
Hungarian (hu)
90%
 
Galician (gl)
90%
 
Danish (da)
88%
 
Catalan (ca)
85%
 
Greek (el)
82%
 

Bug Killers

Person Bugs Closed
Christoph Feck
25
 
Boudewijn Rempt
22
 
Jekyll Wu
21
 
Jarosław Staniek
15
 
Ralf Habacker
12
 
Thomas Lübking
5
 
Kurt Hindenburg
5
 
Albert Astals Cid
4
 
Laurent Montel
4
 
Kevin Funk
3
 

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 47 selections this week

Bug Fixes

Development Tools

Ralf Habacker committed changes in [umbrello/KDE/4.12] umbrello/widgets/floatingtextwidget.cpp:

Fix vertical jump of floating text widget after loading from file.

When moving the text of a sequence diagram message the first time after
loading from file, it jumps temporary vertical above the object widget.


(cherry picked from commit 3c05ef3ed875ec72fb2307e3cdc1a1aba0fb8520)

Joris Steyn committed changes in [umbrello] /:

Fix issues with sequence diagram UR and clipboard

This was regression introduced in the recent UR changes (c4e71ef).

Summary of fixed issues:
* crash when pasting sequence diagram
* crash and other misbehaviour on UR message/object widget actions
* pasted widgets were added to the document twice (duplicate widget elements
in saved XMI) - happened with all diagram types
* extra: undo removing an object widget did not restore the connected messages
* precondition widgets were never included when pasting a sequence diagram

Milian Wolff committed changes in [kdevplatform] /duchain:

Fix crashes due to Problem serialization.

This is a major refactoring of the initial problem serialization
code as introduced by 0c2eb5c70c1.

We now add "proper" support for serializing data items which inherit
QSharedData in the top context file, i.e. TopDUContextDynamicData.

Shared data items are special, as in order to keep the expected
invariants we deviate from other items behavior when serializing:

1) When an item is serialized, we do not change the d_ptr of the
Item, i.e. the data will still point to the dynamic data and never
to the constant serialized data.

2) When deserializing, similar to above, we make the item dynamic
instantly such that the Item is not pointing to the constant data.

This is required in order to prevent double deletions or crashes
due to use-after-free when a shared data pointer outlives the
"parent" TopDUContext. When that one is deleted, or saved to disk,
we previously deleted items (as we assumed to have ownership), and
unmapped the data - thus shared data pointers must never point to
the mmapped data regions.

While complicated and big, I think this patch is cleaner than my
initial implementation. And since the previously added test now
passes, I'm confident this is an improvement. Memory is also still
cleaned up as before.

Educational

Amarvir Singh committed changes in [parley] /practice:

Fix grade computation and box highlighting

Fixes three issues in 3-right-answers mode:
1. Alternative learning mode: the next grade box lighted up, even though the
question hasn't been answered correctly thrice consecutively
2. For yet unlearned words: if user answers correctly the first time, the grade
should increase from 0 to 2. Reasoning: 0 to 1 for having learned the word,
and 1 to 2 for correctly answered.
3. Grade from 0 to 1 was not increased correctly when user answered it correctly.
In case the word is answered correctly once, the next occurrence of the same
word doesn't have the grade 1 box lit up. Starting a new session without
answering thrice or answering wrong, results in the word being marked as
unseen.


REVIEW: 115754

KDE Base

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

Deafult for not executing kwalletmanager once a wallet is open

Given that in 4.13 we want people to use pam to open the wallet it
makes little sense to execute the wallet automatically.

Other commits changing the default have been pushed to kwallet and
kwalletmanager

REVIEW: 115726

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

set highlightwindows inactive while screen locked


FIXED-IN: 4.11.7

Martin Gräßlin committed changes in [kio] src/core/kprotocolmanager.cpp:

Use Q_OS_UNIX instead of HAVE_X11 to determine the platform we are on

We cannot properly determine the windowing system platform on unix
like systems in kprotocolmanager as it's not linking gui. Thus we
don't know whether we are on X11 or Wayland and there is no proper
way to figure it out, because both DISPLAY and WAYLAND_DISPLAY could
be defined.

As a solution we just force the platform to be always X11 when we
are on unix like systems (modulo mac).

REVIEW: 115723

Kurt Hindenburg committed changes in [konsole] src/Screen.cpp:

Fix wrong rendering at the end of line when drawing colored whitespaces

Previous code just deleted the end characters; new code puts in spaces
with current attributes at the end of the line.

Thanks to Igor Kostromin for bug, research + patch

See bko for test code + more info

FIXED-IN: 2.13

Vishesh Handa committed changes in [baloo] /file:

KCM: Remove the mimetype filtering and filename exclude patterns

This is going to be slightly controversial since it is removing features
which Nepomuk had, but the normal users don't care about most of these
"advanced" features.

I have kept an "Enable Developer Mode" option though. That controls if
source code should be indexed.

In the future we can create a special Baloo index tweaking application
which showcases allows advanced users to configure parts of the indexer.
The backend code still supports it, so that shouldn't be a problem.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 486cf81...
Kai Uwe Broulik committed changes in [kde-workspace/KDE/4.11] plasma/generic/applets/batterymonitor/contents/ui/batterymonitor.qml:

Try to fix battery detection at runtime

REVIEW: 115409

FIXED-IN: 4.11.7

Kurt Hindenburg committed changes in [konsole/KDE/4.12] src/Application.cpp:

When dragging and dropping tabs, move new window to cursor positon

This fixes multiple monitor issues - dnd window will be moved to where
user dropped the window.


FIXED-IN: 2.13
(cherry picked from commit e6dcc8d6b8e635d5f7f718e7adfadbca5c3b14b8)

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

Make some X-specific KCMs to only show on platform xcb

If the code is too X-specific it just crashes when systemsettings
is run on platform wayland. Thus it's better to just hide them from
systemsettings. This first round is:

* Accessibility (strong usage of Xkblib)
* Bell (depends on XKeyboardControl)
* Mouse (depends on XGetPointerMapping and friends)
* Keyboard (depends on XKBlib)

Some of the KCMs should get a Wayland backend in future or be rewritten
to be of better generic use.

Diffs: 1, 2, 3, 4 Revision 8ca08f3...

Office

Boudewijn Rempt committed changes in [calligra] krita/ui/tool/strokes/kis_filter_stroke_strategy.cpp:

Do not crash when filtering a mask

If there's no selection, we shouldn't try to access its bounds.

Boudewijn Rempt committed changes in [calligra] krita/ui/canvas/kis_tool_proxy.cpp:

Don't crash on shutdown

We shouldn't try to switch to a tool that's 0.

Boudewijn Rempt committed changes in [calligra] /:

Save multi-sensor configuration correctly

Big rewrite & cleanup of the sensors/libpaintop code...

The KisDynamicSensorList class is gone and KisCurveOption now tracks
all sensors. The KisMultiSensorModel doesn't own the data it is a model
for anymore everything is tracked by KisCurveOption.

Conflicts:
krita/plugins/paintops/spray/kis_spray_paintop_settings_widget.cpp
krita/plugins/paintops/spray/kis_sprayop_option.cpp
krita/plugins/paintops/spray/spray_brush.cpp
krita/plugins/paintops/spray/spray_brush.h

Boudewijn Rempt committed changes in [calligra] karbon/plugins/tools/KarbonGradientTool.cpp:

Don't pass a zero gradient to the gradient editor option widget

if m_gradient is 0, we shouldn't pass *m_gradient as a const QGradient&
parameter.

The mixing of pointers and references when using QGradients in flake
and karbon is something that needs a thorough overhault, though.

Boudewijn Rempt committed changes in [calligra] krita/ui/input/config/kis_edit_profiles_dialog.cpp:

Disable remove profile button if there is only one profile

Games

Wolfgang Rohdewald committed changes in [kajongg/KDE/4.11] /:

Fix a bug where the next hand could not be started

this happened for me by doing:
- wait for prompt "ready for next hand?"
- use CTRL-T to show the scoring table. It must appear below the prompt.
- click in the scoring table
- click on the OK button of the prompt

this happens only if using PyKDE4 and a modal prompt. The KPushButton does get
the events MouseButtonPress and MouseButtonRelease, but the KDialog emits
neither buttonClicked nor clicked

Fix: When using PyKDE4, use a modal dialog here. This has the disadvantage
that it might be useful to open the scoring table at this point which is not
possible with this modal dialog (unless a specific button is added to the
dialog)


FIXED-IN: 4.11.7

Features

Development Tools

Kevin Funk committed changes in [kdev-clang] clangparsejob.cpp:

Add support for custom include paths

Partially ported from kdevcppsupport plugin

REVIEW: 115479

Sven Brauch committed changes in [kdevplatform] /:

Allow language plugins to provide styles to formatters

REVIEW:115590
This is a binary-incompatible change; relink kdevelop and all
language plugins or you will get crashes.
The basic is to shift the philosophy of source formatters a bit: instead
of providing integration with one fixed tool with many slightly
different configurations, a Source Formatter plugin can provide an
engine for source formatters which can do very different things
depending on the configuration. For many languages (I obviously have
python in mind) tools already exist which re-format source code and just
need to be called. Writing a new formatter plugin for each of those
would basically duplicate the existing functionality (especially from
the customscript formatter) for each language.

Thus, this patch provides a new virtual function in ILanguageSupport
which allows language plugins to return any amount of formatting
configurations for any source formatter plugin (the formatter plugin
choses which of the items it accepts based on a name).

To make this useful, the mime type and language, and -- optionally -- a
text sample different from the default are now stored inside the
formatting configuration items. The list of displayed configurations is
filtered by language. Only formatting engines which support at least one
configuration for a selected language are shown (as before), but this is
now "dynamic" and depends on the loaded language plugins (it's no longer
hardcoded in the .desktop file).

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

KDE Base

Martin Klapetek committed changes in [kde-workspace] /:

[kwin] Make KWin place the OSD

REVIEW: 115334

Kurt Hindenburg committed changes in [konsole] /:

Allow users to specify css file for tab bar style

Currently, the default stylesheet for the tab bar just sets the min
and max width. Now the user can load a .css file. It is up to the
user to generate the css file to their liking. Handbook documentation
and examples will follow.

This can be used to set minimum width of the tabs, distinguish active
tab, etc...



FEATURE:
REVIEW: 115554
FIXED-IN: 2.13

Alexander Neundorf committed changes in [kate] /kate/katebuild-plugin:

build plugin: make "Build previous target" always build the previous target again

Before, only targets which had been selected explicitely, i.e. via
the selection-dialog or from the list, were considered.
I.e. if the default target or the clean target were built, these
were ignored when building the "previous target".
This was intended as a feature, so you could select the targets
you want and build them again using "build previous target",
and "make all" and "make clean" did not interfere with them.
But Kare considered it a bug, and actually I tend to agree,
so now also when building the default target, the next time
"build previous target again" is used, it will build the default
target (since this was the target which was built before).

Alex

Kurt Hindenburg committed changes in [konsole] /:

Allow transparency to work when using images as backgrounds.

Previously when using an image as the background, the opacity was
ignored. This patch corrects that.

Many thanks for patch to Wolfgang Brehm wolfgang brehm gmail com


FIXED-IN: 2.13

Vishesh Handa committed changes in [kfilemetadata] src/extractors/taglibextractor.cpp:

TagLibExtractor: Add musepack support

REVIEW: 114441

Kurt Hindenburg committed changes in [konsole] /:

Allow konsole to store terminal size in the profile.

This removes the profile setting to 'Save window size upon exit'. Now
it is in the Konsole settings; each profile can now set desired column
and row size.

Konsole Settings->Configure Konsole->General->Use current window size
on next startup:
Enabled - ignores all profile size settings - uses previous window size
Disabled - profile size settings are used - set via Edit Current
Profile 1st tab

Only new windows will use "new" col/row/size settings.


REVIEW: 115628
FIXED-IN: 2.13

Vishesh Handa committed changes in [baloo-widgets/KDE/4.13] src/filemetadataprovider.cpp:

FileMetaDataWidget: Support realtime indexing of files which are not indexed

I seem to have forgotten to push this.

Marco Martin committed changes in [kde-workspace] plasma/desktop/containments/panel/contents/ui/main.qml:

event compress layout size update and orientation

event compressing both the resize of the panel and the change of the formfactor update in the layout, makes it way faster and reliable.
before due to the non deterministic order of signal/slot invocation, sometimes the shell got blocked for minutes (or even forever) at 100% cpu.
this doesn't seem to happen anymore

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

Ensure that KItemListViewLayouter always has a size hint resolver

KItemListViewLayouter uses a KItemListSizeHintResolver to find out how
much space the items will need in the view.

Before this commit, the size hint resolver object could be changed at
runtime, and it could also be null. However, we never made use of these
possibilities, so all the code that checks if m_sizeHintResolver is
null is actually not needed at all.

Diffs: 1, 2, 3 Revision cba1533...
Martin Tobias Holmedahl Sandsmark committed changes in [ktexteditor] src/syntax/data/replicode.xml:

Add syntax highlighting for Replicode

Marco Martin committed changes in [kde-workspace] /generic/wallpapers/image:

some machinery to do slideshows

Diffs: 1, 2, 3, 4, 5 Revision 1fb9402...
Martin Gräßlin committed changes in [kservice] /services:

Introduce a showOnCurrentPlatform method to KService

This is inspired by showInKDE to easily exclude modules which doesn't
make any sense on the current platform. E.g. in systemsettings we
do not want services which are X11 specific if systemsettings is
executed on Wayland.

REVIEW: 115653

KDE-PIM

David Edmundson committed changes in [ktp-common-internals] /:

Load KTp Contacts from a cache

This is so we can display contacts with avatars in kpeople usages
even if we are offline.

This data is then updated with data directly from the connection manager
once it loads/exists.

REVIEW: 115609

Vishesh Handa committed changes in [kdepimlibs] /:

Akonadi ItemFetchJob: Add customizable delivery options

One can now configure how the ItemFetchJob should return the results -
in batches, individually, or via the getter functions.

This is especially useful when fetching very large collections for
indexing since we can keep indexing them and dropping them. Otherwise
they would all be stored internally in the ItemFetchJob and would
consume a lot more memory.

REVIEW: 114505

Laurent Montel committed changes in [kdepim] /core:

Start to improve quicksearchline

Office

Boudewijn Rempt committed changes in [calligra] krita/ui/input/kis_input_profile_manager.cpp:

Multimedia

Konrad Zemek committed changes in [amarok] ChangeLog:

Merge branch 'gsoc-importers'

This commit merges my work on advanced statistic importers built on
StatSyncing framework. More user-oriented details can be found on my
blog: http://konradzemek.com/category/gsoc/" target="_blank">http://konradzemek.com/category/gsoc/

The commit also includes changes to the ChangeLog file.

FEATURES:
* Statistics synchronization between Amarok collections and
Amarok 1.4, Amarok 2.x, Apple iTunes, Banshee, Clementine, and
Rhythmbox track databases.

CHANGES:
* "Import" button under Configure Amarok -> Local Collection no longer
serves to import statistics from Amarok 1.4 and iTunes, and has been
renamed to "Import batch file" to reflect the change.
* Configure Amarok -> Metadata tab includes new buttons to add and
reconfigure synchronization targets.

REVIEW: 113272
REVIEW: 113275
REVIEW: 113277
REVIEW: 113278
GUI: Added StatSyncing provider creation and modification dialogs. Old
importers' dialog changed to only support batch file importing.
New buttons added to the Metadata configuration tab.
DIGEST: Amarok advanced track statistics importers GSoC project merged.
Please see http://konradzemek.com/category/gsoc/" target="_blank">http://konradzemek.com/category/gsoc/ for more info and
screenshots.

Utilities

Elvis Angelaccio committed changes in [kronometer] /:

FEATURE: laps export in CSV format

Games

Ian Wadham committed changes in [palapeli] /:

Add basic actions and methods to transfer pieces in and out of holders.

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

Optimization

Development Tools

Olivier Jean de Gaalon committed changes in [kdev-clang] /:

Cleanup and slightly optimize type creation.

Identified types can be created directly without looking at the
actual type of their declarations. Now we specialize for all
declarations which declare new IdentifiedTypes, bypassing the
makeType path.
The makeType path now can be sure that the optimized cases are not
benig passed to it, and can always findDeclaration as needed.

KDE-PIM

Dan Vratil committed changes in [akonadi] /src/search:

Don't send search queries to offline agents

It slows down the search, because we have to wait for all offline
resources to time out (so at least 60 seconds). Just skipping them
is much better, because we won't get any results from them anyway.

Office

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

Performance optimization of the mymoney object container.

The MyMoneyObjectContainer::account(QString) was the most costly
method of this class. Mainly due to the calls to dynamic_cast
needed to obtain the cached MyMoneyObject with it's proper type.

Improved this by:
1. implementing a per object type cache.
2. using QHash instead of QMap which provides faster lookups
3. replace macro method implementation with template methods

REVIEW: 115680

Security

KDE Base

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

Replace SHA with PBKDF2-SHA512+Salt

Uses the MINOR_VERSION (which until now it was 0) to upgrade the hash
from SHA to PBKDF2-SHA512+salt.
I would have loved to completely replace it once the wallet is ported
to the new hashing but because of kwalletd code that is not possible
without a bigger rewrite.

There are 2 reasons for this patch:
1-We avoid using our own implementation of SHA
2-We use a modern hashing technique

I'm cooking more patches to use the system user password to open the
wallet, we want that password to be hashed using PBKDF2_SHA512
for security reasons.

REVIEW: 115497

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

Other

Martin Gräßlin committed changes in [kde-baseapps/frameworks] /konq:

[lib/konq] Initial port to Qt5 and frameworks 5

This is an initial port to frameworks which still makes strong use
of kde4support. No guarantee from my side that the code works, I'm
not familiar with the code base!

The port excludes konq_nameandurlinputdialog.cpp as it's deprecated
and isn't needed. Also konq_sound is not yet ported.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 2e0567f...
Vishesh Handa committed changes in [baloo] /file:

Make sure baloo_file is just about searching

In the Nepomuk days one could enable/disable Nepomuk independent of the
file indexer. With Baloo, baloo is just about searching. The extra file
metadata which is stored is saved in the extended attributes of the file
and does not require baloo_file to be running.

This patch drops support for running only the file indexer part of
Baloo. It's now all or nothing. Additionally -

* FileWatcher - Only install watches in the indexed directories instead
of the entire home directory.

* KCM - Remove the concept of enabling/disabling Baloo. If everything is
excluded from indexing then baloo_file will not run.

Diffs: 1, 2, 3, 4, 5, 6 Revision 30e70c9...
Martin Gräßlin committed changes in [kio] /widgets:

Reduce usage of HAVE_X11 in KRun and make it usable on non-X11

The diversion for some methods by having a KStartupInfoId is removed.
As KStartupInfoId is not an X11 specific class we do not need the
ifdefs anymore.

In addition the code which uses X11 specific functionality is adjusted
to be only used if we are on platform X11. For other platforms the
same fallback is used as already present through the ifdef diversion.

REVIEW: 115721

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

[kfind] Initial port of kfind to Qt5 and frameworks 5

Still depends on kde4support. May not be fully functional, not
everything is tested and at least the browse button is known to
crash. Otherwise it works: it finds files.

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