Issue 329

2nd March 2014 by KDE Commit-Digest Team

Contributors

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

This Week...

Parley adds support for sound in multiple modes, allows the use of image instead of word for flashcard training. Okular adds Magnifier and play/pause in the presentation mode. KDE-PIM adds KAccounts support to Google resources. Krita uses the google-breakpad crashhandler for Krita on Windows.

Statistics

Commits 1958 by 152 developers
Open Bugs 21609
Open Wishes 15984
Bugs Opened 215 in the last 7 days
Bugs Closed 225 in the last 7 days

Commit Summary

Module Commits
/trunk/l10n-kde4
163
 
/branches/stable
87
 
/trunk/l10n-support
79
 
/plasma/desktop
29
 
/trunk/www
29
 
/plasma/generic
14
 
/src/tests
11
 
/generic/runners
11
 
/plugins/knotes
11
 
/kontact/plugins
10
 
Files Developer Commits
429
 
Laurent Montel
162
 
267
 
David Faure
89
 
183
 
Marco Martin
62
 
165
 
Jonathan Riddell
55
 
162
 
Ralf Habacker
54
 
141
 
Burkhard Lück
47
 
138
 
Sebastian Kügler
47
 
132
 
Boudewijn Rempt
44
 
102
 
Albert Astals Cid
42
 
123
 
Ludovic Grossard
41
 

Internationalization (i18n) Status

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

Bug Killers

Person Bugs Closed
Jekyll Wu
27
 
David Edmundson
20
 
Boudewijn Rempt
18
 
Dennis Nienhüser
16
 
Christoph Feck
12
 
Inge Wallin
11
 
Thomas Lübking
8
 
Martin Klapetek
8
 
Dmitry Kazakov
8
 
Dawit Alemayehu
8
 

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

Bug Fixes

Graphics

Albert Astals Cid committed changes in [okular] /:

Improve XY Cut layout recognition code

It was a simple bug in the XY Cut layout recognition code that made it too eager to see columns everywhere.
Also removed the dependence of the layout analysis algorithms on the display DPI (introduced by the recently added feature of using KScreen) to make their behavior more predictable and reproducible.



FIXED-IN: 4.13.0
REVIEW: 115759

Cruceru Calin-Cristian committed changes in [digikam] /slideshow:

GUI: Toolbar in SlideShow only appears now in the top right and left corners and Image Info appears now with 0 offset in left buttom corner

KDE Base

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

Make the handling of the "maximum text lines" setting more robust

If the user sets a maximum number of text lines in the settings, this
number was translated into a maximum height in pixels using
QFontMetrics::lineSpacing() before this commit.

In KStandardItemListWidgetInformant::itemSizeHint(), this maximum height
limited the size that is reserved for the item.

However, in KStandardItemListWidget::updateIconsLayoutTextCache(), the
maximum height was translated back into a maximum number of lines,
which limits the number of lines that are created using the QTextLayout.

This approach could lead to problems if the real height of the layouted
text is 1 pixel more or less than QFontMetrics::lineSpacing() times
"number of lines".

Now we do not store a "maximum height" inside the "maximum size"
explicitly, but store a maximum number of lines and a maximum with (for
Compact View) separately, and then use the number of lines also to
calculate the required size in
KStandardItemListWidgetInformant::itemSizeHint(). This should make sure
that the correct height is reserved for each item.

Thanks to Christoph Feck and Emmanuel Pescosta for helping to debug this
problem and testing the patch.


FIXED-IN: 4.13
REVIEW: 113871

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

Always go back/forward in history when pressing the respective buttons

Before this patch, pressing one of these buttons while an item is
hovered selected this item. The motivation for this behavior was to
provide a fast way to select items. However, this was counter-intuitive
and confusing for many users.


FIXED-IN: 4.13.0
REVIEW: 116469

Dawit Alemayehu committed changes in [kdelibs/KDE/4.12] kioslave/ftp/ftp.cpp:

Whenever possible, use relative paths for SIZE requests, e.g. SIZE foo/bar.txt


FIXED-IN: 4.12.4
REVIEW: 116524

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

Fix Bug 330605 - Dropbox plugin prevents git plugin from working

Use scoring to find the best matching plugin for the given directory.

Thanks to Phil Schaf for testing this patch!


FIXED-IN: 4.12.3
REVIEW: 116019

David Faure committed changes in [kde-workspace] /:

Oxygen: avoid calls to reparseConfiguration() on startup.

strace -e open kate |& grep -v NOENT | grep oxygenrc | wc -l
went from 8 to 4
(and when looking for kdeglobals, from 13 to 11)

There's still a lot of work to be done in that area...
(within KConfigSkeleton, and probably kdeplatformtheme)

REVIEW: 115964

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 2a9b5a2...
Michal Humpula committed changes in [kate/KDE/4.13] part/syntax/data/lilypond.xml:

syntax: fix lilypond syntax file

workaround for the qt bug
https://bugreports.qt-project.org/browse/QTBUG-35459

It's not nice at all, but at least it's working syntax file now.


FIXED-IN: 4.13

Emmanuel Pescosta committed changes in [kde-baseapps/KDE/4.12] /src/statusbar:

Show the correct icon size in the zoom slider tooltip.


FIXED-IN: 4.12.3
REVIEW: 111197

KDE-PIM

Laurent Montel committed changes in [kdepim/KDE/4.12] kmail/kmkernel.cpp:

Fix Bug 147924 - KMail composer charset ignored (only if embedded in Kontact)

FIXED-IN: 4.12.3
(or 4.12.4 don't know when tag is created)

Christian Mollekopf committed changes in [kdepimlibs] /:

Fixed the "only new items appear in collections" bug.

We have to avoid populating not-yet populated collectoins through signals
as otherwise internal assumptions are broken resulting in the ETM never fetching
the missing items.

Wolfgang Bauer committed changes in [kdepim-runtime] resources/imap/additemtask.cpp:

imap resource: set the internal date as specified in the mail's header
for an APPEND command

Currently, for an APPEND command there is no internal date specified.
Therefore an IMAP server sets the current date/time for an appended
EMail, see http://tools.ietf.org/html/rfc3501#section-6.3.11 .

While this doesn't matter to KMail (it uses the date/time from the
mail's header anyway), other clients (especially Webmail) may show/sort
by this internal date.

This patch sets the internal date to the date/time as specified in the
mail's header.


FIXED-IN: 4.13
REVIEW: 113254

Office

Dmitry Kazakov committed changes in [calligra] /:

Added a bit more thread safety to KisNodeSP

Now one can read the content of a KisNode from an arbitrary number
of threads and at the same time write there with a single thread.
This is ensured by a read-write lock added to a KisNode. For details
see a comment in kis_node.cpp.

Boudewijn Rempt committed changes in [calligra] /:

Make the raindrops and oilpaint filter store the seed in the config

And fix the settings widget to take invisible properties
like the seed into account.



Conflicts:
krita/plugins/filters/oilpaintfilter/kis_oilpaint_filter.cpp

Boudewijn Rempt committed changes in [calligra] libs/main/KoApplication.cpp:
Dmitry Kazakov committed changes in [calligra] /ui:

Fix the outline when the mirroring of the canvas has changed

The settings of the preset related to the canvas mirroring
and rotation should be changed not with the first click, but
dynamically on 1) preset change and 2) transformation change.



The patch removes the fix for the following bug, although it is not
reproducible anymore.

Joris Steyn committed changes in [umbrello/work/327701] /codeimpwizard:

Import wizard allows recursive import of directory

Selecting sparse files (old behaviour) is still possible by unchecking the
checkbox. The recursive behaviour seems like the most common use case so the
option is checked by default.

Changes in this commit:

* rename the 'include subdirectories' option to 'recursive directory import'
* when checked, the tree view shows only directories
* when checked, only a single item can be selected. The file counter counts all
files contained in the selected directory (recursively).
* the 'select all' button has been removed (didn't work, don't see a use case
for it)

Boudewijn Rempt committed changes in [calligra/calligra/2.8] /:

Make the raindrops and oilpaint filter store the seed in the config

And fix the settings widget to take invisible properties
like the seed into account.

Networking Tools

Jan Grulich committed changes in [plasma-nm] /applet:

Fix getting device from a primary VPN connection

Features

Development Tools

Sergey Kalinichev committed changes in [kdevelop] languages/cpp/preprocessjob.cpp:

Add auto include headers feature.

To use this feature simply add /full/path/to/the/header.h in
.kdev_include_paths. And this file will be added to all files in
specified directory and its subdirectories as if each file #include'd
it (see also -include command line option of clang/gcc).

REVIEW: 116053

Educational

Reimar Döffinger committed changes in [kgraphviewer] /:

Support newer graphviz cgraph library.

Signed-off-by: Reimar Döffinger

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision d89f4aa...
Inge Wallin committed changes in [parley] /:

FEATURE: Allow the use of image instead of word for flashcard training.

Amarvir Singh committed changes in [parley] src/statistics/lessonstatistics.cpp:

FEATURE: Adds a legend for the statistics


REVIEW: 116092

Amarvir Singh committed changes in [parley] /practice:

Adds support for sound in multiple modes

This:
1. Adds support for sound in Multiple Choice and Example Sentences modes.
2. Causes the audio to stop on answering and changing questions in all modes.
3. Changes audio button sizes in all modes.

REVIEW: 115965

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

Graphics

Albert Astals Cid committed changes in [okular] /:

Add Magnifier

REVIEW: 113973
GUI

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision f22d9d2...
Albert Astals Cid committed changes in [okular] /:

Implement a play pause button in presentation mode

REVIEW: 115072

GUI

KDE Base

Emmanuel Pescosta committed changes in [kde-baseapps] /src:

Handle font and palette changes in Dolphin list views.

Also update the font of the meta data widget in InformationPanelContent (smallest readable font).



FIXED-IN: 4.13
REVIEW: 115958

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

Scroll to newly dropped files.

If multiple files are dropped, scroll to the first dropped file.


FIXED-IN: 4.13
REVIEW: 116020

Kurt Hindenburg committed changes in [konsole] /settings:

Add a way to allow users to reset the "Don't ask again" dialogs

This adds a push button to the Configure Konsole -> General Settings
Ideally, having a separate page listings all the possible entries
would be better.


FIXED-IN: 2.13

Dawit Alemayehu committed changes in [kdelibs/KDE/4.13] /:

Implemented HTTP POST -> POST redirection support in KIO.


FIXED-IN: 4.13
REVIEW: 116017

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

[kwin] Provide composited outline as QML instead of hand drawn FrameSvg

In order to get all our UI being written in QML, the Outline for
compositing is ported to QtQuick. It creates a QQmlContext and
QQmlComponent and loads the (currently hardcoded) qml file. The context
gets to properties exported: outline. The outline property allows the qml
to get the geometry it should use. The QQmlEngine is used from Scripting
thus all general scripting properties are exported (e.g. workspace).

The qml script is expected to create a QQuickWindow as it's root item
and style it.

The qml file is stored in a new qml subdirectory. The idea is that each
of the qml types we have gets an own directory there and for each
implementation there should be a further subdirectory.

Thus we have outline/plasma/ with outline being the type and plasma
being the implementation. But at the moment the script location is still
hardcoded.

REVIEW: 116123

Diffs: 1, 2, 3, 4, 5 Revision 98199f8...
Sebastian Kügler committed changes in [kde-workspace] plasma/generic/runners/bookmarks/browserfactory.cpp:

bookmarks runner: Also consider iceweasel

iceweasel is the same as firefox, just renamed.

Debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=646612

Patch by: Guido Loupias
CCMAIL:Guido Loupias
REVIEW:116077

Sebastian Kügler committed changes in [kde-workspace] /generic/runners/bookmarks/browsers:

Watch for changes in Chrome's bookmarks

- Watch the bookmarks json files
- when they changed, mark our bookmarks as dirty
- on next match, if dirty, reparse bookmarks

Kurt Hindenburg committed changes in [konsole/frameworks] /settings:

Add a way to allow users to reset the "Don't ask again" dialogs

This adds a push button to the Configure Konsole -> General Settings
Ideally, having a separate page listings all the possible entries
would be better.


FIXED-IN: 2.13
(cherry picked from commit 5a386ad591cbaabd1f15d02186982c579a52bd39)

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

[kinfocenter] Add new module for a Wayland Compositor

Inspired by the module for X-Server we have a new module for Wayland
Compositors. The module introduces a new optional build dependency to
wayland client libraries.

Just like the X-Server module it talks to Wayland directly without the
help of Qt. It connects to the registry and adds all reported
interfaces to the tree widget. For outputs and seats it registers a
listener to also include this information. For every output the
information is appended, for a seat the capabilities are included.

This approach should allow to add information about further interfaces
if they provide interesting information in future.

REVIEW: 115989

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 3177aec...
Martin Gräßlin committed changes in [kde-workspace] /:

Hide the OnAllDesktops button if there is only one virtual desktop

In KCommonDecoration the OnAllDesktops button gets hidden or shown
depending on the number of desktops. For that KDecoration is extended
by a new property which delegates to the bridge to return whether
onAllDesktops is available. In KWin Core this is implemented using
the number of desktops.


FIXED-IN: 5.0.0
REVIEW: 116076

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

Add F11 as a shortcut for full screen


FIXED: 2.14

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

Add F11 as a shortcut for full screen


FIXED: 2.14
(cherry picked from commit 47fafb21349c2b779cdfb8eabf88a0d1edc19d08)

KDE-PIM

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

Add KAccounts support to Google resources

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 036fd9e...
Laurent Montel committed changes in [kdepim/KDE/4.13] kontact/plugins/knotes/knotes_part.cpp:

Add Key_F2 to rename notes

Office

Stephane Mankowski committed changes in [skrooge] /:

feature: In graph, sums are now all computed

Diffs: 1, 2, 3 Revision 4213351...
Joris Steyn committed changes in [umbrello] /:

Messages can be selected using the mouse

Selecting and moving multiple messages was already possible using
Control-click. This commit adds mouse support.

Ralf Habacker committed changes in [umbrello] /:

Let layout generator handle multiple widgets of a single class.

Boudewijn Rempt committed changes in [calligra] /:

Add the google-breakpad crashhandler for Krita on Windows

It is only enabled with with -DUSE_BREAKPAD=ON option. The default
KDE crashhandler overrides ours unless you start krita with the
--nocrashhandler option.

It's a pity that we need to copy breakpad into our 3rd party
source tree, but it seems that that is how breakpad prefers it...

Conflicts:
CMakeLists.txt
krita/crashreporter/mainwindow.cpp
krita/crashreporter/wdg_crash_reporter.ui
krita/kis_crash_handler.cpp
krita/main.cc

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2384 more) Revision c2b9241...
Joris Steyn committed changes in [umbrello] umbrello/codeimpwizard/codeimpselectpage.cpp:

Sort files ascending by name in code import wizard

Multimedia

Anmol Ahuja committed changes in [amarok] /:

Add script install and remove buttons.
Support installation of zipped scripts.

Optimization

KDE Base

Martin Klapetek committed changes in [knotifications/mklapetek/knotify-merge] /:

Make KNotificationManager use the KNotify plugins directly

Instead of relaying things over DBus to KNotify daemon, we now use the
KNotify plugins directly from the manager. This now becomes the central
part in the KNotification framework.

When KNotification sends the notify event, the Manager iterates over all
found plugins and calls notify() on them, passing the KNotification
object and also the KNotifyConfig object, which holds the data from
.notifyrc file. With each plugin presenting the notification, the
KNotification refcount rises by 1.

Once the plugin finishes its presentation, it calls finish() on the
notification and that causes the refcount to go --.

If the KNotification is destroyed or otherwise closed, the Manager makes
sure all plugins stop their presentation of that given notification.

When no more plugins are presenting the notification (refcount == 0),
the KNotification object is destroyed.

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

[kwin] Remove the legacy OpenGL 1 compositing backend

KWin already has a de facto OpenGL 2 dependency through QML. Combined
with the fact that the OpenGL 1 backend is basically unmaintained and
also unused, it's better to remove it for the new major release.

This change includes:
* Removal of cmake option KWIN_BUILD_OPENGL_1_COMPOSITING
* Removal of KWIN_HAVE_OPENGL_1 compile option and all code
ifdef'ed with it (partially removal of if-else constructs)
* Removal of CompositingType::OpenGL1Compositing (flags are kept
as a core flag should get introduced)
* Driver recommendation for OpenGL1Compositing changed to XRender
(should be evaluated whether the drivers can provide GL2)
* Removal of configuration option "GLLegacy"
* Removal of fooMatrix function in kwinglutils
* Removal of ARBBlurShader
* Removal of legacy code path in GLVertexBuffer
* Removal of GLShaderManager::disable
* if-blocks with ShaderManager::instance()->isValid() removed

REVIEW: 116042

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 21 more) Revision bd3611c...
Sebastian Kügler committed changes in [kde-workspace] /generic/applets/systemtray/plugin:

Wait a second until the systray starts loading

This is a bit hacky, but it allows to load other applets in the panel
first, and gives them some time to do so. This feels like a faster
startup of Plasma, since the panel doesn't stay empty now until the
whole systemtray has loaded.

Let's give this a shot for others to test on their systems.

Frank Reininghaus committed changes in [kio] src/core/udsentry.h:

Make UDSEntry a Q_MOVABLE type

This has the effect that a QList<UDSEntry> a.k.a. UDSEntryList will
store the actual entries in a single allocated block of memory, and not
pointers to UDSEntries which are allocated individually on the heap
(this means that this change is binary incompatible). This reduces the
memory usage by 32 bytes per UDSEntry in a QList because each memory
allocation uses at least 32 bytes on a 64-bit system.

This commit is the 3rd part of https://git.reviewboard.kde.org/r/115739/

REVIEW: 115739

Martin Klapetek committed changes in [knotifications/mklapetek/knotify-merge] /:

Port NotifyByPopup to KF5/Qt5

This is rather a major rewrite of this plugin. Main changes:

* all methods dealing with the Galago server are renamed as such
to indicate more clearly what they do
* async dbus calls are used where possible
* code is simplified and cleaned up; lots of comments added

NotifyByPopup keeps the KNotification<-->Galago mapping internally and
is the only part that deals with DBus now. The flow of putting a
notification on screen is now this:

KNotification::sendEvent() -> KNotificationManager::notify() -> NotifyByPopup::notify() -> DBus -> Galago server

whereas before it was something like this:

KNotification::sendEvent() -> KNotificationManager::notify() -> org::kde::KNotify::notify() -> DBus -> KNotify::_the_dbus_handler -> NotifyByPopup::notify() -> DBus -> Galago server

It also keeps the fallback to Growl or KPassivePopup in case the Galago
server is not available

KDE-PIM

Dan Vratil committed changes in [akonadi] /:

Use scheduling in CacheCleaner and IntervalCheck

Instead of repeatadly querying all collections and checking, whether
collection should be synchronized or cleared, we query all collections
only on start and then we just set a QTimer to timeout when a nearest
collection should expire.

This should decrease disk wakeups, especially in IntervalCheck, because
is does only little SQL now, while before it was checking all collections
every minute or so.

New collections or changes in collection cache policies are delivered to
CacheCleaner and IntervalCheck from NotificationCollector.

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

Networking Tools

Martin Klapetek committed changes in [ktp-common-internals] /:

Merge escape and URL filters into one

This is needed to avoid the URL filter detecting wrong link boundaries
as the escape filter would change eg. "<http://kde.org/>" target="_blank">http://kde.org/>;" to
<http://kde.org/>" target="_blank">http://kde.org/>; and then the URL filter would detect
"http://kde.org/&gt" as the actual link.

Switching the order wouldn't help because the escape filter would escape
the newly inserted <a href...> links and the user would
get <a href.../a> and no clickable links.

Therefore we first detect the links, replace them with placeholders,
then escape everything, then replace placeholders with actual links.

Reviewed-by: David Edmundson

FIXED-IN: 0.8.0

Other

KDE Base

John Layt committed changes in [kde-workspace] /kfontinst/apps:

Port away from KPrintUtils

All features from KPrintUtils have been merged to Qt, so KPrintUtils is
being moved into kde4support. Switch to using Qt directly.