Issue 331

16th March 2014 by KDE Commit-Digest Team

Contributors

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

This Week...

KWallet add support for pam-kwallet in kwalletd. KWin introduces a X-KWin-Internal in kwineffect services. Krita shows rulers in Pixel unit by default (user can change this). Smp4k implements permanent (re)mounting of shares. Choqok adds preview of images from Twitter.

Statistics

Commits 2094 by 158 developers
Open Bugs 21742
Open Wishes 16011
Bugs Opened 265 in the last 7 days
Bugs Closed 237 in the last 7 days

Commit Summary

Module Commits
/trunk/l10n-kde4
182
 
/branches/stable
73
 
/tags/KDE
62
 
/trunk/l10n-support
60
 
/krita/ui
24
 
/trunk/www
23
 
/krita/sketch
21
 
/doc/index.docbook
18
 
/src/pim
16
 
/plasma/generic
16
 
Files Developer Commits
441
 
Laurent Montel
187
 
243
 
Albert Astals Cid
84
 
177
 
Aleix Pol Gonzalez
59
 
141
 
Andreas Cord-Landwehr
49
 
135
 
Harald Sitter
45
 
126
 
Vishesh Handa
43
 
114
 
Arjen Hiemstra
40
 
117
 
Alexander Richardson
39
 
108
 
Martin Klapetek
36
 
102
 
Boudewijn Rempt
36
 

Internationalization (i18n) Status

Language Percentage Complete
German (de)
99%
 
Dutch (nl)
97%
 
French (fr)
97%
 
Bosnian (bs)
94%
 
Estonian (et)
90%
 
Galician (gl)
90%
 
Danish (da)
88%
 
Catalan (ca)
86%
 
Greek (el)
83%
 
Chinese Traditional (zh_TW)
82%
 

Bug Killers

Person Bugs Closed
Jekyll Wu
47
 
Christoph Feck
19
 
Boudewijn Rempt
14
 
Vishesh Handa
12
 
jkt flaska net
10
 
Marco Martin
8
 
Laurent Montel
8
 
Gilles Caulier
7
 
mklapetek kde org
6
 
David Edmundson
5
 

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

Bug Fixes

Graphics

Albert Astals Cid committed changes in [okular/KDE/4.13] core/textdocumentgenerator.cpp:

KDE Base

Alex Fiestas committed changes in [libbluedevil] bluedevil/bluedeviladapter.cpp:

Do not set the Adapter back to powered

This seems to be some code back from the port, an
attemp to save the state.

Imho the library should not do that but rather an external
entity such the bluedevil daemon.

Alexander Richardson committed changes in [kio] src/widgets/kpropertiesdialog.cpp:

Use KUser in KPropertiesDialog

This means no more need for getpwent(), etc -> works on Windows

Andrea Iacovitti committed changes in [kdelibs/KDE/4.12] khtml/ecma/xmlhttprequest.cpp:

Update list of forbidden headers as per spec (section 4.6.2).
Mozilla and Webkit additionally ban "content-transfer-encoding", we do the same.

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

[kwin/aurorae] Default to no close on double click menu button

To increase consistency with other decorations and because it changes
the behavior of the menu button in an unexpected way we default to
double click menu button doesn't close the window.


FIXED-IN: 5.0
REVIEW: 116716

Alex Fiestas committed changes in [bluedevil] /wizard:

[wizard] Better handling when no adapter is usable

Be more careful if at any moment in the Discover page
the Adapter stops being usable.

KDE-PIM

Laurent Montel committed changes in [kdepim/KDE/4.13] libkdepim/widgets/spellchecklineedit.cpp:

Fix Bug 331959 - Multiline paste into subject-field completely strips linebreaks

FIXED-IN: 4.13

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

IMAP: do not leave lingering tasks behind when mailbox syncing fails

When the ObtainSynchronizedMailboxTask failed, the waiting KeepMailboxOpenTask
would not unregister itself from the Parser's maintainingTask, and therefore
further tasks kept getting queued "behind" this KeepMailboxOpenTask which stuck
for all practical purposes.

This does not fix #320713 (no UI popup is shown), but at least it makes sure
that further activity can be resumed. A proper indication should be added,
definitely.

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

Make it possible to work even when system claims there's no network

Guess what kinds of features Trojita gains when I'm travelling on a place.

REVIEW: 116832

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

Office

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

Do not let the selection grow bigger than the image on invert

Patch by Matthias, thanks!

Dmitry Kazakov committed changes in [calligra] krita/plugins/formats/psd/psd_layer_record.cpp:

Fixed loading of multilayered PSD files (including 16-bit ones)

This patch does two things:

1) Fixes the order of the saved channel planes. The indexes of the
planes array should be calculated separately, not just use
displayPosition().

2) Fixes the the bug when loading 16-bit data. KoBgrU16Traits::alpha_pos
is *not* the offset of the alpha channel :) Now all the offset
calculations are done by the compiler in the templated code. At least
for RGB color spaces. We need to do the same for Lab, CMYK and Gray
spaces.

Radosław Wicik committed changes in [calligra] kexi/widget/navigator/KexiProjectModel.cpp:

Sort part items also when just one part was loaded

This fixes sorting tables in the CSV import dialog.


REVIEW:116683

Dmitry Kazakov committed changes in [calligra] /:

Make the Wrap-tool handles less obstructive

A small circle + a cross

Dmitry Kazakov committed changes in [calligra] krita/ui/input/kis_input_manager.cpp:

Fix tablet support on MacOS

We have not got our own tablet support on MacOS, so there is no need
to block Qt's input events when the tablet is in proximity

Thanks rustem IRC user for pointing this out!

Networking Tools

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

Set a chat tab tooltip so long names can be seen when elided

Reviewed-by: David Edmundson


FIXED-IN: 0.8.0

Features

Development Tools

Denis Steckelmacher committed changes in [kdev-qmljs] navigation/propertypreviewwidget.cpp:

Display the distance property editor for all the anchor margins

This commit adds two features to the property preview widget :

- If a property "some.long.property" is not found in the dictionary of
supported properties, then "property" is also tried. This is useful
because some users may want to type
"some.long { property: foo, property2: bar}".
- margins, topMargin, bottomMargin, leftMargin and rightMargin are added.
Due to the first point, they match "anchors.margins" and
"anchors { topMargin: 2, bottomMargin: 4 }".

REVIEW: 116673

Sven Brauch committed changes in [kdevplatform] /:

Change the assistant to re-use one widget instead of re-creating it

This saves us from instantiating all the QDeclarativeFoo stuff each time
an assistant is opened, and should make things less performance hungry.
There is now only one assistant instance over the whole lifetime of
KDevelop, which is fed the actions each time they change.
This change also makes some painting-related optimizations possible,
which means we can achieve a similarly low amount of flickering with less
disableUpdates calls (which are very expensive).

Diffs: 1, 2, 3, 4, 5, 6 Revision f43432f...
Denis Steckelmacher committed changes in [kdev-qmljs] kdevqmljsplugin.cpp:

Detect colors in the "#aarrggbb" format

Detect strings like "#aarrggbb" as being colors so that a nice color
picker can be displayed for them.

REVIEW: 116671

Educational

Dennis Nienhüser committed changes in [marble] src/lib/marble/TinyWebBrowser.cpp:

Different user-agent strings for mobile and desktop devices

REVIEW: 116624

KDE Base

Alex Fiestas committed changes in [bluedevil] src/monolithic/monolithic.cpp:

Show always the KStatusNotifier (Status == Active)

The KDED will kill the monolithic in case there are no
adapters so in that case we won't polute the systemtray
with the Bluetooth icon.

In the case there there are Adapters but they are not
powered we want to show the systemtray so it can be
powered on again.

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

[kwin] Introduce a X-KWin-Internal in kwineffect services

X-KWin-Internal should be used for effects which are either internal
to KWin and are configured at a different location in KWin. Examples
are:
* CoverSwitch - configured in WindowSwitcher KCM, but not FlipSwitch
as that one has a non WindowSwitcher mode
* window geometry - configured in moving

And it should also be used for helper effects to the overall
kde-workspace module. Examples are:
* Dashboard - required by Plasma
* KScreen - required for KScreen
* Screenshot - required by KSnapshot

Why a new category and not the already existing NoShow property?
The idea is to just filter on the effects in the list. Thus it should
be possible to show them. But NoShow is clearly intended to not be
shown at all.

REVIEW: 116754

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 4a5ad55...
Martin Gräßlin committed changes in [kwin-compositing-kcm] /:

Improve layout of Effect View

* use frame in the scroll area
* remove needless anchoring for an Effect
* use one RowLayout for one Effect row
* add a left and right padding using the normal spacing
* Use a ColumnLayout for the center element consisting of
** name
** description
** (info)
** (video)
* Video moved into an own component
* Animations removed

REVIEW: 116693

Diffs: 1, 2, 3 Revision 6753ae6...
Martin Gräßlin committed changes in [kwin-compositing-kcm] model.cpp:

Improve the sorting of the effects list

Sort by:
* category
** exclusive group
*** name

Thus we have an alphabetic order of all categories, in the categories
we have again an alphabetic order of all effects in the same group and
the effects in one group are listed at the bottom of the category.

REVIEW: 116753

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

Add support for pam-kwallet in kwalletd

This patch adds support for pam-kwallet
(in my scratch right now, to be released soon).

This is how the new pam works, and why this patch is needed:

In order to open the wallet in a secure way we have to try hard
to not send the hash on an insecure manner
This is how we achieve that:

-pam_kwallet creates a pipe.
-pam_kwallet opens a local socket listening somewhere
(/tmp/foo.socket for example).
-pam_kwallet forks+execv kwallet, passing via arguments
the sockets (pipe and local socket).
-pam_kwallet sends the hash via the pipe.
-kwalletd gets the hash and waits for the environment.
-startkde uses "socat" to send the environment to kwalletd.
-kwalletd setups the environment before any Qt code is executed.
-kwalletd resumes execution.

With this way of executing kwallet we get:
-pam_kwallet knows to who it is sending the hash (its on child).
-hash is never revealed on shared memory (dbus), since pipes
are private to the apps.
-ptrace is usually disabled so only root can see the hash on
the app memory
-no Qt code is executed without the proper environment
(same as startkde)
-if kwalletd is executed normally (not from pam_kwallet) then it is
business as usual.

The patch also comes with integration tests that simulate how
kwalletd is executed in the pam module.

REVIEW: 116555

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

KDE-PIM

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

tasks: Better propagation of the reason why this task failed

My original idea at the time this code was written was (IIRC, it's been ages)
roughly something like "well, whatever, use specific signals for propagating
each and every possible error". This was never implemented, of course.

Now, some errors arguably deserve a dedicated signal, but in other circumstances
the fact that something failed is enough; the remedy is usually the same anyway
-- either give up and tell the user that she's got bad luck, or try again later.
Now, it is still useful to at least show the reason to the user. What is missing
here is a piece of code which will let the user know that his mail won't load
because the mailbox couldn't be synced. This will have to come later.

In the meanwhile, let's keep track of the error message so it isn't lost. My
current motivation for this is that the communication between the KeepMailboxOpenTask
and the ObtainSynchronizedMailboxTask uses the standard Tasks API, i.e.
signalling failure via the failed() signal. Instead of extending the API to be
"magic", better add the message to the existing channels.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 0e8c37d...

Office

Boudewijn Rempt committed changes in [calligra] /plugins/paintops/colorsmudge:

Add a smudge radius option

Patch by Mohit Goyal

Dmitry Kazakov committed changes in [calligra] /:

Make Krita show rulers in Pixel unit (now activated by default)

You can always switch to other units by right-clicking on the ruler

Multimedia

Sinny Kumari committed changes in [plasma-mediacenter] /:

Displaying time duration for All Music

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

Networking Tools

Daniel Kreuter committed changes in [choqok] /:

Preview of images from Twitter

Added preview of images postet via Twitter.

Alexander Reinholdt committed changes in [smb4k] /:

Implement permanent (re)mounting of shares. This closes SF ticket #33.

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

Optimization

KDE Base

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

[kwin] Add isEffectSupported method to Effects DBus interface

EffectsHandlerImpl::isEffectsSupported performs the check whether the
effect with the given name is supported by the current compositor.

The check is the following:
* if effect is already loaded, it is supported
* if the effect cannot be found, it is not supported
* if it's a scripted effect, it's always supported
* if it's a built-in effect, we ask BuiltInEffects::supported
* for all other effects we resolve the library and the supported
method

The idea behind providing this functionality in the DBus interface is
to allow filtering in the effects KCM for the effects which are
supported by the current compositor.

In addition a areEffectsSupported method is added which takes a
list of names and returns a list of bools.

REVIEW: 116665

Diffs: 1, 2, 3 Revision 8ca8a53...
Kai Uwe Broulik committed changes in [kde-workspace] kwin/effects/scalein/package/contents/code/main.js:

Make scalein effect (feel) quicker

Inspired by the recent slidingpopups patch this aims to make the scalein effect feel a lot quicker.
It only scales the window from 0.75 to 1. Animation duraton is shortened to match the separate "fade" effect.

REVIEW: 115763

KDE-PIM

Vishesh Handa committed changes in [baloo/KDE/4.13] src/pim/agent/agent.cpp:

PIM Agent itemChanged: Ignore part identifiers which are not the payload

This reduces the number of times the item is re-indexed drastically

Utilities

Pino Toscano committed changes in [poxml] parser.cpp:

parser: small optimizations to the string/char ops

- cache string.length() when used in loops (or more than once)
- use QLatin1String/QString::fromLatin1/QLatin1Char/QChar::fromLatin1
- pass more than one string in .arg(...)
- use QStringRef when comparing parts of strings
- use string.indexOf(char) instead of cycles like: while (string.at(index) != char) index++
- merge some string concatenations
- use string.chop()

Other

Educational

Anne-Marie Mahfouf committed changes in [klettres] /:

New "Aqua" background theme by Anindya Sen

Aqua svg theme + patch to support it, thanks to Anindya Sen!

CCMAIL: anindyasen007@gmail.c

Diffs: 1, 2, 3, 4 Revision 689129a...
Aleix Pol Gonzalez committed changes in [kalgebra] /:

Stop depending on QtMMLWidget

It was a nice idea, sadly it was not maintained (AFAIK) and it ended up
deeply breaking KAlgebra startup. Not worth it, so long. :/

KDE Base

Sebastian Kügler committed changes in [kde-runtime/frameworks] solid-networkstatus/kded/CMakeLists.txt:

Disable QNtrack support

QNtrack isn't ported to Qt5, but apparently compatible enough to be
built against using Qt5. When running the code, this blows up
spectacularly, as the Qt4 library is loaded into kded5.

Porting QNtrack probably isn't hard, but as long as that hasn't
happened, let's rather not crash kded5.

Vishesh Handa committed changes in [baloo/KDE/4.13] src/file/basicindexingjob.cpp:
Denis Steckelmacher committed changes in [baloo/queryparser] /core:

Initial port of the Nepomuk query parser to Baloo

The test suite shows that all the features work, but Baloo lacks some properties
that were available in the Nepomuk ontologies. There is also no official way of
matching regular expression.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 26 more) Revision 6a2be39...
Sebastian Kügler committed changes in [kde-workspace] plasma-workspace/wallpapers/image/imagepackage/contents/ui/config.qml:

3 wallpapers per row

Martin Gräßlin wants three-in-a-row, Marco finds 3 golden and magic and
unicorns dancing on rainbows.

How could I not concur?

Office

Arjen Hiemstra committed changes in [calligra/krita-sketch_theming-ahiemstra] krita/sketch/themes/default/theme.qml:

sketch: Add images to the default theme

A +- -- krita/sketch/themes/default/images/busyindicator.png
A +- -- krita/sketch/themes/default/images/divider.png
A +- -- krita/sketch/themes/default/images/header_krita_sketch.png
A +- -- krita/sketch/themes/default/images/header_krita_sketch_light.png
A +- -- krita/sketch/themes/default/images/kritasketch.png
A +- -- krita/sketch/themes/default/images/shadow.png

Multimedia

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

Remove support for non-OpenGL main monitor.

Every machine capable of doing video editing these days should have OpenGL,
so remove the legacy support.

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