Issue 319

22nd December 2013 by KDE Commit-Digest Team

Contributors

Marta Rybczynska
Giacomo Barazzetti
Alex Fikl
Jürgen Appel

This Week...

KStars adds support to online plate solving using astrometry.net web services API, optimizes memory usage. Umbrello adds duplication of diagrams. KWin adds and option in oxygenrc to disable window background. Krita supports kra and ora files. Numerous bug fixes in KMix.

Statistics

Commits 2223 by 128 developers
Open Bugs 21225
Open Wishes 15929
Bugs Opened 253 in the last 7 days
Bugs Closed 258 in the last 7 days

Commit Summary

Module Commits
/trunk/l10n-kde4
151
 
/trunk/l10n-support
70
 
/branches/stable
58
 
/trunk/www
36
 
/krita/ui
28
 
/src/monolithic
18
 
/libksieve/ksieveui
17
 
/language/duchain
14
 
/portage/win32libs
13
 
/libs/widgets
12
 
Files Developer Commits
528
 
Laurent Montel
182
 
237
 
Alex Fiestas
79
 
225
 
Michal Humpula
76
 
222
 
Boudewijn Rempt
74
 
216
 
Aurélien Gâteau
73
 
198
 
Alex Merry
67
 
168
 
Milian Wolff
58
 
114
 
Sayak Banerjee
54
 
138
 
Hugo Pereira Da Costa
50
 
147
 
Patrick von Reth
49
 

Internationalization (i18n) Status

Language Percentage Complete
German (de)
99%
 
French (fr)
99%
 
Dutch (nl)
97%
 
Estonian (et)
92%
 
Galician (gl)
92%
 
Italian (it)
90%
 
Danish (da)
89%
 
Hungarian (hu)
88%
 
Catalan (ca)
85%
 
Chinese Traditional (zh_TW)
83%
 

Bug Killers

Person Bugs Closed
Jekyll Wu
48
 
Christian Esken
23
 
Christoph Feck
22
 
Gilles Caulier
14
 
Boudewijn Rempt
13
 
Dmitry Kazakov
11
 
Alex Fiestas
10
 
Joris Steyn
7
 
Myriam Schweingruber
6
 
Laurent Montel
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 46 selections this week

Bug Fixes

Development Tools

Kevin Funk committed changes in [kdevelop] /plasma/dataengine:

Init sessionString plasma datasource val properly

Kdevelop sessionrc content is changed and SessionPrettyContents contains
both seesion name and session content now. Update sessionString value
initialization and remove outdated code in the plasma applet datasource.

REVIEW: 114535

Educational

Jasem Mutlaq committed changes in [kstars] /:

Adding support to online plate solving using astrometry.net web services API. Users can now use the online service without having to download gigabytes of catalogs
to perform offline solving. This required JSON processing and therefore I had to include an optional dependency on QJSON for the time being until KStars moves to Qt5
which has native JSON parser.

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

Graphics

Albert Astals Cid committed changes in [okular/KDE/4.11] /ooo:

odt: Seems styles.xml and meta.xml are not mandatory

At least libreoffice opens the file from bug 324241 that has neither of them.
With this change we open it too, it looks crap when compared to libreoffice,
but that's just because our ooo generator needs to die in favour of a calligra one.


FIXED-IN: 4.11.5

Gilles Caulier committed changes in [digikam] /:

Make Labels keyboard shorcuts configurable by end user into KDE config panel of each root digiKam window.
This include Rating, Color, and Pick Labels.
Unlike tag action shortcuts which are stored in digiKam DB, Labels action shortcuts are stored in each
XML GUI config file of each root digiKam window.
Because each root window manage shortcut individually for relevant GUI, you need to apply a keyboard shortcut
change in each root window setup, to be homogenous everywhere.

FIXED-IN: 4.0.0

KDE Base

Dominik Haumann committed changes in [kate] part/document/katedocument.cpp:

do not word wrap when removing trailing spaces

Thanks to Gerald for the detailed report!

FIXED-IN: 4.11.5

Dawit Alemayehu committed changes in [kdelibs/KDE/4.12] kio/kio/krun.cpp:

Changed OpenWith dialog from Qt::ApplicationModal to Qt::WindowModal.


REVIEW: 114473
FIXED-IN: 4.12.1

Dawit Alemayehu committed changes in [kdelibs/KDE/4.12] /bookmarks:

When a user creates a new bookmark folder make that the current item.


REVIEW: 114479
FIXED-IN: 4.12.1

Martin Klapetek committed changes in [kde-workspace] /desktop/applets/kickoff/package/contents/ui:

[Kickoff] Fix breadcrumb navigation

Workaround for ListModel not being able to store QVariant(QModelIndex)
values. Now it's stored in another model property. Makes the breadcrumb
navigation work again.

Dominik Haumann committed changes in [kate] part/document/katedocument.cpp:

fix crashes in KateDocument::defStyleNum() by adding if-guards.


REVIEW: 114586
FIXED-IN: 4.12.1

Andrea Iacovitti committed changes in [kdelibs/KDE/4.11] khtml/css/cssparser.cpp:

@font-face rule: fix overriding of src property declarations.


FIXED-IN: 4.11.5

KDE-PIM

Laurent Montel committed changes in [kdepim/KDE/4.12] kaddressbook/contactfields.cpp:

Fix Bug 329068 - Birthday fields are empty when export to csv-file

FIXED-IN: 4.12.1

Office

Boudewijn Rempt committed changes in [calligra] krita/plugins/extensions/dockers/lut/lutdocker_dock.cpp:
Boudewijn Rempt committed changes in [calligra/calligra/2.8] /:
Dmitry Kazakov committed changes in [calligra] krita/ui/input/wintab/kis_tablet_support_win.cpp:

Fix pressure sensitivity in the Scratch Pad

Sven Langkamp committed changes in [calligra] krita/plugins/paintops/hatching/kis_hatching_paintop_settings.cpp:

fix problem with saving thickness in hatching brush after an old preset was loaded and then saved

Boudewijn Rempt committed changes in [calligra] /plugins/extensions/dockers/channeldocker:

Update the channel docker when changing image colorspace

Dmitry Kazakov committed changes in [calligra] /ui:

Fixed a concurrent File Layer source image change

Now when the source image is changed we use an iterational algorithm
which is usually applied to a SeqLock problem:

1) Save the size and lastModified tag of the image
2) Copy the image to the temporary directory
3) Check whether the image has changed during the copy operation
4) If everything is ok load the image from a temporary copy. If not,
restart.

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

Fix the Color-Picking after a system shortcut

Boudewijn Rempt committed changes in [calligra] /ui/widgets:

Don't scroll if we don't change paintops and reset the view settings
of the strip when we do change paintops.

This fixes the weirdness when you select a preset and scroll to the start
as well as the weirdness when you select a paintop without presets and
then select one with, and the preset icons are shown half-height.

Boudewijn Rempt committed changes in [calligra] krita/plugins/paintops/libpaintop/kis_clipboard_brush_widget.cpp:

KisClipboard::clip can return an invalid paint device

When nothing can be used to create the paintdevice, KisClipboard will
return an empty paint device, so check for that.

Bug 819866:
 
16056 days
Diffs: 1 Revision 7b4a584...

Multimedia

Matěj Laitl committed changes in [amarok] /:

playback: fix crash on quit in the middle of a fadeout

My assumption was incorrect, a child must still track its parent using
QWeakPointer to be safe.

Thanks for investigation from Harald Sitter, you were absolutely
correct, our lord-president. :)


FIXED-IN: 2.9
BACKPORT

Christian Esken committed changes in [kmix] /:

Implement configuration of backends in SoundMenu
CC

Christian Esken committed changes in [kmix] /:

Configuration menu is now using Tabs to provide a more standard,
convenient and pleasing layout
Sound Menu: Play button reflects playback status and shows either
"Play" or "Pause"
Bugfixes and Features (CCBUGS, as most bugs are already closed). Hint: Some
bugs might have actually been alreay fixed ibn KDE4.11 or KDE4.12.

Bug ID Severity Summary
CC critical kmix start delayed on 20 seconds
CC normal mpris volume/play status not in sync with app in kmix
applet
CC normal KMix Does Not Unmute Master Audio Channel
CC normal Tray popup obscures vertical panel
CC normal KMix does not distinguish separate channels on one
volume control
CC normal Tray plasmoid scroll/hiding issues [read description]
CC crash Kmix crashed after selecting Amarok as master
CC normal kmix size is not restored by session management, only
position.
CC major KMix volume icon is unstale during playback

Networking Tools

David Edmundson committed changes in [ktp-text-ui/kde-telepathy-0.7] /:
Burkhard Lück committed changes in /trunk/extragear/network/kmldonkey/libkmldonkey/fileinfo.cpp:

load translation catalog with the library

Features

Development Tools

Joris Steyn committed changes in [umbrello] /:

Implement duplication of diagrams

The popup menu of diagram list view items now contain the standard cut/copy
menu entries. A new entry 'Duplicate' allows duplicating a diagram and all
widgets, but not the underlying UML representations.



GUI

Educational

Mihail Ivchenko committed changes in [marble] /plugins/runner:

Added support for showing journey duration for other routng backends.
GCI task #5530796219695104
REVIEW: 114469

Diffs: 1, 2, 3, 4 Revision 843fb36...

KDE Base

Hugo Pereira Da Costa committed changes in [kde-workspace] /:

Added option in oxygenrc to disable window background:

[Common]
UseBackgroundGradient=true

Option is hidden (no UI element) because of string freeze
Also removed decoration blend style option.
Background gradient is now always decided based on window flag.

Alex Fiestas committed changes in [kde-workspace] ksplash/ksplashqml/main.cpp:

[ksplash] Add a --nofork option useful for testing

Alex Fiestas committed changes in [kde-workspace] /ksplashqml:

[ksplash] Add --window option which prevents any special flags

I'm adding a new argument instead of re-using --test because
it is useful to be able to test themes with the real flags, but
it is also useful to be able to test KSplash without having
a "Full window always on top" covering your terminal.

Diffs: 1, 2, 3, 4 Revision 6a7ed76...

KDE-PIM

Laurent Montel committed changes in [kdepim] /:

Create a new application: SieveEditor

It's necessary because some guys doesn't want to install all imap resource
in akonadi to edit server script.

Diffs: 1, 2, 3 Revision 980c13f...

Office

Boudewijn Rempt committed changes in [calligra] /:

Add qimageio plugins for kra and ora files

Allan Anderson committed changes in [kmymoney] /:

- CSV importer may import certain investment transactions
without assigning a brokerage or checking account.
Also, improve wording of heading label of symboltabledlg.ui.
- Fix matching problem on import when securities have different names but same symbol.

Boudewijn Rempt committed changes in [calligra] /widgets:

Show newly created tags in the context menus

There's still a bit of a mess, in that deleted unused tags aren't cleaned
up, so we'll need a cleanup feature for that.

Boudewijn Rempt committed changes in [calligra] krita/ui/kis_doc2.cc:

Multimedia

Mark Kretschmann committed changes in [amarok] /:

Fetch cover picture from METADATA_BLOCK_PICTURE tag.

With this patch, covers from Ogg files (for example Vorbis and Opus)
using the recommended METADATA_BLOCK_PICTURE tag will be displayed.


FIXED-IN: 2.9
REVIEW: 114406

Networking Tools

Leon Handreke committed changes in [ktp-text-ui] /:

Make nick completion style configurable

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

User Interface

Hugo Pereira Da Costa committed changes in [kde-workspace] /oxygen/config:

added UI option for UseBackgroundGradient

Optimization

Development Tools

Milian Wolff committed changes in [kdevplatform] language/duchain/duchainlock.cpp:

Optimize: Don't call gettimeofday/timersub if its not required.

Most calls which lock the DUChainLock do not use a timeout value.
In such cases we can be faster by not reading any time data.

Milian Wolff committed changes in [kdevelop] /cpp:

Refactor IncludePath{Computer,Resolver} interaction.

We now still call the resolver's includeResolver.resolveIncludePath
as that is required to support custom include paths in the hidden
.kdev_include_paths files.

Instead, we disable the make-resolution when we get any paths from
the build manager.

Also get rid of the code which tries to be faster by looking at
the DUChain to find include paths. It's not faster. Also note how
the IncludePathResolver has a cache internally.

Diffs: 1, 2, 3 Revision 686a541...
Milian Wolff committed changes in [kdevplatform] /duchain:

Instead of reinventing the wheel, reuse QThreadStorage.

While at it, speed-up DUChainItemFactory::copy by only accessing
the TLS once, then operate on a bool& afterwards.

Now all cases are equally fast, independently of the value of what
constant value is currently set or requested.

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

Educational

Henry de Valence committed changes in [kstars] kstars/skyobjects/skypoint.h:

Save 16 bytes per sky object.

In practice, the `long double` type has 16 byte size and alignment.
We can inspect the memory layout of some class inheriting SkyPoint using
clang [1]:

*** Dumping AST Record Layout
0 | class StarObject
0 | class SkyObject (primary base)
0 | class SkyPoint (primary base)
0 | (SkyPoint vtable pointer)
0 | (SkyPoint vftable pointer)
16 | long double lastPrecessJD
32 | class dms RA0
32 | double D
| [sizeof=8, dsize=8, align=8
| nvsize=8, nvalign=8]
...(snipped)...
184 | float B
188 | float V
| [sizeof=192, dsize=192, align=16
| nvsize=192, nvalign=16]

The vtable takes up only 8 bytes (on 64-bit), but we waste 8 bytes on
padding. Moreover, we then take up 16 bytes to store lastPrecessJD.
Using a program like the following:

#include <stdio.h>
#include <math.h>

int main()
{
double jd2000 = 2451545.0;
double delta = nextafter(jd2000,jd2000+1) - jd2000;
printf("delta: %.30f\n", delta);
return 0;
}

we can compute that at J2000, the minimum time step at double precision
is approximately 40 microseconds, so it's not clear that we gain
anything by using 80-bit long doubles instead of 64-bit doubles.
Changing the `long double` to `double` (and placing it last) results in
memory layout like so:

*** Dumping AST Record Layout
0 | class SkyPoint
0 | (SkyPoint vtable pointer)
0 | (SkyPoint vftable pointer)
8 | class dms RA0
8 | double D
| [sizeof=8, dsize=8, align=8
| nvsize=8, nvalign=8]

16 | class dms Dec0
16 | double D
| [sizeof=8, dsize=8, align=8
| nvsize=8, nvalign=8]

24 | class dms RA
24 | double D
| [sizeof=8, dsize=8, align=8
| nvsize=8, nvalign=8]

32 | class dms Dec
32 | double D
| [sizeof=8, dsize=8, align=8
| nvsize=8, nvalign=8]

40 | class dms Alt
40 | double D
| [sizeof=8, dsize=8, align=8
| nvsize=8, nvalign=8]

48 | class dms Az
48 | double D
| [sizeof=8, dsize=8, align=8
| nvsize=8, nvalign=8]

56 | double lastPrecessJD
| [sizeof=64, dsize=64, align=8
| nvsize=64, nvalign=8]

This also has the benefit that the SkyPoint data fits in a single cache
line, though I don't think this really makes a difference given the
inefficiencies in the rest of the code. A before/after test showed a
drop in memory usage of about 6%.

[1]: http://eli.thegreenplace.net/2012/12/17/dumping-a-c-objects-memory-layout-with-clang/

Other

KDE Base

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

Remove all traces of Nepomuk and Soprano

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 7358209...
Vishesh Handa committed changes in [kde-baseapps/feature/baloo] /src/search:

Port Dolphin search to Baloo

Diffs: 1, 2, 3, 4 Revision 98d0739...

KDE-PIM

Vishesh Handa committed changes in [kdepim/feature/baloo] /addressline:

AddresseeLineEdit: Remove Nepomuk fallback logic

When the user types something for auto-completion an
AkonadiContactSearchJob was sent and if Nepomuk was not running, the
entire contact list was loaded into memory and then queried.

With Baloo, all of that logic can be removed as it does a better job and
does not require any service to be running.

Office

Boudewijn Rempt committed changes in [calligra] krita/image/kis_paint_device.cc:

Do not convert empty paint devices, but convert their default pixel