Issue 290

2nd June 2013

by KDE Commit-Digest Team

Contributors

Marta Rybczynska

This Week...

Kickoff shows new applications in a separate submenu "Recently Installed" for 3 days. KWin adds a helper effect for KScreen integration. Skrooge allows changing operation date through "Search & Process". In Amarok, TrackLoader and PlaylistController support for treating remote playlists as streams, OpenGL analyzers appear, analyzers are configurable now. Network Management allows configuring band/channel for adhoc wifi mode. KDE Telepathy supports persistent chats in the plasmoid. Bug fixes in Umbrello, Dolphin, KMail.

Statistics

Commits 1556 by 155 developers
Open Bugs 21365
Open Wishes 15816
Bugs Opened 283 in the last 7 days
Bugs Closed 491 in the last 7 days

Commit Summary

Module Commits
/trunk/l10n-kde4
 
166
/branches/stable
 
69
/trunk/l10n-support
 
69
/server/lib
 
23
/trunk/www
 
22
/server/test
 
19
/doc/index.docbook
 
19
/trunk/KDE
 
18
/ksieveui/autocreatescripts
 
16
/plasma/generic
 
14
Files Developer Commits
450
 
Laurent Montel
 
165
180
 
Aaron J. Seigo
 
60
111
 
Jan Kundrát
 
42
111
 
Burkhard Lück
 
41
111
 
Patrick Spendrin
 
37
108
 
Ralf Habacker
 
36
102
 
Yuri Chornoivan
 
34
96
 
Gilles Caulier
 
32
78
 
Christophe Giboudeaux
 
29
87
 
Zack Rusin
 
29

Internationalization (i18n) Status

Language Percentage Complete
Portuguese (pt)
 
100%
Ukrainian (uk)
 
100%
Swedish (sv)
 
99%
Spanish (es)
 
97%
Dutch (nl)
 
97%
Polish (pl)
 
97%
French (fr)
 
96%
Estonian (et)
 
96%
German (de)
 
96%
Italian (it)
 
92%

Bug Killers

Person Bugs Closed
Martin Gräßlin
 
211
Jekyll Wu
 
22
Patrick Spendrin
 
18
michael bohlender kdemail net
 
16
me vhanda in
 
13
Laurent Montel
 
13
Myriam Schweingruber
 
11
Anne-Marie Mahfouf
 
10
Gilles Caulier
 
9
aleixpol kde org
 
9

Commit Countries

Europe Africa Oceania Asia North America South America
 
 
Click on the map regions to zoom in and zoom out...
 
 
 
 
 
 
 
 
 
0%
 
0-1%
 
1-2%
 
2-10%
 
+10%
View as list...

Commit Demographics

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

Bug Fixes

Development Tools

Ralf Habacker committed changes in [umbrello] /:

Fixed synchronous message painting artifacts.

Ralf Habacker committed changes in [umbrello] umbrello/widgets/messagewidget.cpp:

Fixed painting problem caused by displayed resizable corner of creation/lost/found messages,
which partially exceeds bounding rect.

Creation/lost and found messages are not resizable, so displaying resize corner makes no sense.

Ralf Habacker committed changes in [umbrello] umbrello/widgets/messagewidget.cpp:

Fixed painting artifacts when creation message lenght is below arrow width.

This is done by do not drawing arrow when message length is below arrow width.

Ralf Habacker committed changes in [umbrello] /:

Fixed bug: Resizing synchronous message moves its position.
FIXED-IN:4.10.4

Ralf Habacker committed changes in [umbrello] /:

Fixed crash on adding sequence diagram messages by breaking recursive inheritance loops.

Thanks to Martin Briza for pointing to this bug.

Educational

Rishab Arora committed changes in [kstars] kstars/oal/equipmentwriter.cpp:

Lens removal works correctly in Define Equipment.

Graphics

Johannes Zarl committed changes in [kphotoalbum] /:

Don't try creating thumbnails for images not on disk.

This prevents the AsyncLoader (-> thumbnailViewer), and the automatic
search for videos without valid length/thumbnails from spawning
thumbnail jobs for images/videos that are not currently on disk.

Diffs: 1, 2, 3 Revision 3b8e010...
Gilles Caulier committed changes in [digikam] /:

handle properly thumbbar visibility state when go/back to fullscreen an switch between icon-view and preview modes.
This include AlbumGUI and ImportUI

Diffs: 1, 2, 3, 4, 5, 6 Revision 4f892fb...
Albert Astals Cid committed changes in [okular] part.cpp:

Do compressed checks based on mime inheritance

Instead of using a hardcoded map

FIXED-IN: 4.10.4

Johannes Zarl committed changes in [kphotoalbum] /:

Run without video thumbnail/length support when mplayer is missing.

When mplayer is missing, just show a messagebox advising the user to
install mplayer instead of bailing out.
When mplayer is not available, also don't spawn video-related background
jobs.

KDE Base

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

Bug 196035 - middle clicking on archive files in dolphin does not open them in a new tab

When 'browse through archives' is enabled, open archive files
like folders on middle clicking, context menu -> new tab action
and context menu -> new window action.


REVIEW: 110487

Vishesh Handa committed changes in [kde-baseapps] dolphin/src/search/dolphinsearchinformation.cpp:

Dolphin Search: Do not use Nepomuk for hidden folders

Nepomuk does not index hidden folders


REVIEW: 110697
FIXED-IN: 4.11.0

Vishesh Handa committed changes in [kdelibs/KDE/4.10] /ui:

KEditTagsDialog: Avoid using QDialog::exec

QDialog::exec runs an event loop at waits for the dialog to be closed.
Running another event loop is generally not recommended cause it can
result in *other* events being process which one might not want.

In this particular case the ResourceLoader, which runs in another
thread, would emit the finished signal would result in the
FileMetadataWidget deleting all its previous content, which would
delete the TagWidget and its children aka the KEditTagsDialog => CRASH

Instead we now set the windowModality and use QDialog::open, which
returns immediately and then connect to the finished signal.

Backported from nepomuk-widgets 2080bc1d4fe7c249c28930b18f03741c53025b13

KDE-PIM

Laurent Montel committed changes in [kdepim/KDE/4.10] libkdepim/multiplyinglineview_p.cpp:

Fix Bug 320072 - KMail crash: pressing enter in emtied header input field

(it tried to remove line -1 => crash)

FIXED-IN: 4.10.4

Laurent Montel committed changes in [kdepim/KDE/4.10] ktnef/CMakeLists.txt:

Fix Bug 320454 - [kde-windows] ktnef lacks icon in the start menu (no kde4_add_app_icon command in the build system)

FIXED-IN: 4.10.4

Laurent Montel committed changes in [kdepim/KDE/4.10] /:

Fix Bug 320111 - kmail composer does not include mail signature when using an external editor

FIXED-IN: 4.10.4

Jan Kundrát committed changes in [trojita] src/Imap/Model/ThreadingMsgListModel.cpp:

Fix segfault due to deleted pruneTree call

Commit faea6a3132fe78fd25e84e7adeeb3edddb89b46b changed the behavior, some of
the messages still in the tree might now have a null pointer to the original
TreeItemMessage. I've hit this assert myself when switching mailboxes (but only
after a couple days).

REVIEW: 110675

Office

Friedrich W. H. Kossebau committed changes in [calligra/calligra/2.7] libs/odf/KoXmlReader.cpp:

fix KoXmlReader to break on error instead of trying on and on

REVIEW: 110719

thanks boemann for review

Networking Tools

Jan Grulich committed changes in [plasma-nm] lib/editor/infinibandwidget.cpp:

Fix loading/saving transport mode in Infiniband widget

David Edmundson committed changes in [ktp-text-ui/kde-telepathy-0.6] filters/images/images-filter.cpp:

Remove alt tag from images inserted with ImageFilter

This alt tag never actually showed up (not sure why).
Removing this means the emoticon -> text swapping no longer occurs so images
remain after clicked


REVIEW: 110717

Utilities

Daniel Nicoletti committed changes in [print-manager] /:

When CUPS starts or stops serverAudit is emitted on DBus,
so update the models, the UI and show appropriate error
message on the KCM and plasmoid if an error like not
being able to reach the server is set.

Features

Development Tools

Aleix Pol Gonzalez committed changes in [kdevplatform] /projectmanagerview:

Let the project item delegate draw the display text

QItemDelegate::displayText insists in painting the background and it doesn't
use the style for painting it, so we are just painting the text ourselves
now.

Educational

Aleix Pol Gonzalez committed changes in [kalgebra] /:

Make it possible to remove variables

Only in case there's no other variables that depend on this one.

KDE Base

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

Show new applications in a seperate submenu named "Recently Installed" (for 3 days).

Patch by Wolfgang Bauer.

This patch makes kickoff remember all the .desktop files it sees (in kickoffrc).
The seen entries are saved as "id=date" pairs in the "Seen Applications" group.
Entries older than 3 days get their date set to empty, which means "don't show this entry anymore".
Also if there have no entries been saved yet, the date of all found entries is
set to empty as well. This prevents that all menu entries are shown in the
"Recently Installed" submenu on first start.

The "Recently Installed" submenu can be toggled on and off in the plasmoid's settings.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision e215087...
Vishesh Handa committed changes in [nepomuk-core] services/fileindexer/indexer/office2007extractor.cpp:

Office2007Extractor: Only add pageCount and wordCount for documents

The ontologies do not support it for presentations and spreadsheets

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

Helper effect for KScreen integration

This effect is controlled by KScreen. It fades out all windows when
KScreen requests this and gives feedback to KScreen once all windows are
faded out. This allows KScreen to adjust the screens in a flicker free
way.

REVIEW: 110661

FIXED-IN: 4.11

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision edeaabe...
Maarten De Meyer committed changes in [kde-runtime] /ikws:

Add insert query placeholder button to search provider dialog

Add a 'Insert query placeholder' button to the add/modify web shortcut
dialog. Clicking this button inserts \{@} in the shortcut URL lineEdit.

This makes it easy to add new web shortcuts.
Users don't have to remember and type the query placeholder.

FIXED-IN: 4.11
REVIEW: 110423
GUI: Button added to the add web shortcuts dialog.

KDE-PIM

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

GUI: disable the wide mode on small screens

Suggested by Thomas Lübking.

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

Merge branch 'very-compact-layout'

Conflicts:
src/Common/SettingsNames.cpp
src/Gui/Window.cpp
src/Gui/Window.h

REVIEW: 110653
fixes #40
fixes #564

Diffs: 1, 2, 3, 4, 5 Revision cf6acad...
Laurent Montel committed changes in [kdepim] headerthemeeditor/themeeditorpage.cpp:

it's a good idea to store preview in theme zip too

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

GUI: enable sizes and positions of various widgets

Fully separate settings are maintained for the wide and compact layout modes.
Nothing is saved/restored when in the one-at-time mode.

Diffs: 1, 2, 3, 4 Revision 2250385...
David Edmundson committed changes in [ktp-desktop-applets] /:

Office

Elvis Stansvik committed changes in [calligra] plugins/textshape/dialogs/DockerStylesComboModel.cpp:

Ignore default styles in styleApplied.

DockerStylesComboModel::styleApplied may be called with the default
paragraph style as argument.

The function assumes that the source model can provide an index for the
supplied style (see the calls to indexForCharacterStyle). But the source
model explicitly avoids adding items for the default styles, so these
calls will return an invalid index, which results in a -1 being added as
a row to m_usedStyles. In the next call to styleApplied, this will
result in an invalid internalId being used to try to get the
corresponding style from the style manager. The invalid style pointer is
then used, resulting in the crash described in the bug.

This fix turns DockerStylesComboModel::styleApplied into a no-op if the
supplied style is either the default character style or the default
paragraph styles, since there will never be any items for these in the
source model.


REVIEW: 110506

Stephane Mankowski committed changes in [skrooge] /:

Allow changing operation date through "Search & Process"

Dmitry Kazakov committed changes in [calligra] /:

Ported filter application to the strokes system

Some of the filters can now be applied to the masks. Now there is
a small TODO:
1) Remove old filter threading code
2) Refactor KisFilterDialog not to create preview masks for masks

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 60 more) Revision 8b3de7d...
Stephane Mankowski committed changes in [skrooge] /:

feature: The restore file is now base on KMessageWidget

Diffs: 1, 2, 3, 4 Revision 7222dc1...

Multimedia

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

TrackLoader, PlaylistController: support for treating remote playlists as streams

...and use it in MainWindow::slotAddStream().

TODO: use this also for the "remote playlists are streams" hackery for
scripted services, at much more appropriate place than
PlaylistController::insertionHelper()

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 99b9bc2...
Mark Kretschmann committed changes in [amarok] /:

Add OpenGL analyzers, and make analyzers configurable (right-click).

I've ported two OpenGL analyzers from Amarok 1.x. One of them shows
a whirly background, with disco lights in front (named "Disco"). The
second one shows something like bouncing balls between two walls
(named "Balls").

One of the main advantages of using OpenGL instead of QPainter is the
significantly lower CPU load, if you have anything resembling a GPU in
your computer.

I've also made the height of the widget configurable in 3 different
sizes.

NOTE: The Balls Analyzer looks somewhat broken. I'll fix that.

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

Networking Tools

Lukáš Tinkl committed changes in [plasma-nm] /editor:

allow configuring band/channel for adhoc wifi mode

feature: https://trello.com/c/2YK4MrbH

Diffs: 1, 2, 3 Revision 10e279d...

Other

Aaron J. Seigo committed changes in [bodega-server] server/routes.js:

introduce optional anonymous browsing support

later we will want to make it possible to override this per-store

Marco Martin committed changes in [bodega-server] /:

Merge branch 'stats'


Conflicts:
server/lib/db/stats.js

Optimization

Development Tools

Ralf Habacker committed changes in [umbrello/KDE/4.10] umbrello/widgets/messagewidget.cpp:

Avoid painting artifacts by disabling resize corner for non resizable asynchronous messages too.

Graphics

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

Use cached QImage instead of invoking KIcon::pixmap on broken files

KIcon is a cool class which can e.g. find the best available pixmap size based
on each request. However, its operations are rather expensive -- to the extent
that when I have most of my 63k images not available due to an unmounted NFS
share, KPA eats all CPU on this machine. This is how a backtrace from one thread
looked like:

#0 QByteArray::resize (this=0x7fffffffbdf0, size=<optimized out>) at tools/qbytearray.cpp:1433
#1 0x00007ffff326780a in QUtf8::convertFromUnicode (uc=<optimized out>, len=<optimized out>, state=0x0) at codecs/qutfcodec.cpp:143
#2 0x00007ffff3267985 in QUtf8Codec::convertFromUnicode (this=<optimized out>, uc=<optimized out>, len=<optimized out>, state=<optimized out>) at codecs/qutfcodec.cpp:522
#3 0x00007ffff326287b in QTextCodec::fromUnicode (this=<optimized out>, str=...) at codecs/qtextcodec.cpp:1375
#4 0x00007ffff3151b49 in QString::toLocal8Bit (this=0x7fffffffbe10) at tools/qstring.cpp:3767
#5 0x00007ffff319b71d in locale_encode (f=...) at io/qfile.cpp:72
#6 0x00007ffff319bd0e in QFile::encodeName (fileName=...) at io/qfile.cpp:515
#7 0x00007ffff4fbf4d1 in access (mode=4, path=...) at /var/tmp/portage/kde-base/kdelibs-4.9.5/work/kdelibs-4.9.5/kdecore/util/kde_file.h:181
#8 KIconThemeDir::iconPath (this=<optimized out>, name=...) at /var/tmp/portage/kde-base/kdelibs-4.9.5/work/kdelibs-4.9.5/kdeui/icons/kicontheme.cpp:707
#9 0x00007ffff4fbf6f2 in KIconTheme::iconPath (this=0x555555b3f7a0, name=..., size=112, match=KIconLoader::MatchBest)
at /var/tmp/portage/kde-base/kdelibs-4.9.5/work/kdelibs-4.9.5/kdeui/icons/kicontheme.cpp:492
#10 0x00007ffff4fb8fc8 in KIconLoaderPrivate::findMatchingIcon (this=<optimized out>, name=..., size=112)
at /var/tmp/portage/kde-base/kdelibs-4.9.5/work/kdelibs-4.9.5/kdeui/icons/kiconloader.cpp:1032
#11 0x00007ffff4fba458 in KIconLoaderPrivate::findMatchingIconWithGenericFallbacks (this=0x555555add130, name=..., size=112)
at /var/tmp/portage/kde-base/kdelibs-4.9.5/work/kdelibs-4.9.5/kdeui/icons/kiconloader.cpp:899
#12 0x00007ffff4fbb7ae in KIconLoader::loadIcon (this=0x555555b9d6f0, _name=..., group=KIconLoader::Desktop, size=112, state=0, overlays=..., path_store=0x0, canReturnNull=false)
at /var/tmp/portage/kde-base/kdelibs-4.9.5/work/kdelibs-4.9.5/kdeui/icons/kiconloader.cpp:1253
#13 0x00007ffff4fb22c0 in KIconEngine::pixmap (this=<optimized out>, size=..., mode=<optimized out>, state=<optimized out>)
at /var/tmp/portage/kde-base/kdelibs-4.9.5/work/kdelibs-4.9.5/kdeui/icons/kiconengine.cpp:104
#14 0x00007ffff4269ad9 in QIcon::pixmap (this=<optimized out>, size=..., mode=<optimized out>, state=<optimized out>) at image/qicon.cpp:684
#15 0x00005555556b2f8c in ImageManager::AsyncLoader::customEvent (this=0x55555cae9830, ev=0x7fffcc00bcd0) at /home/jkt/work/prog/kde/kphotoalbum/ImageManager/AsyncLoader.cpp:161

I have not profiled the application using callgrind this time -- the backtrace
looked suspicious enough. Instead, this patch simply prepares a single QImage in
advance and reuses it whenever a request for a broken image is made.

The updated version (v2) of the patch checks whether the previously used image
has a correct size, and if not, goes the slow KIcon path again. To me, this
smells like little bit too much work with a lock being held, but so be it.

REVIEW: 110651

KDE Base

Vishesh Handa committed changes in [nepomuk-core] /:

Directly connect to virtuoso for reads instead of going through the Storage Service

The Nepomuk Storage service no longer starts a local socket. All
communications now happen directly via ODBC to virtuoso. This results in
a 6-8x performance improvement.

We need to find a proper way of communicating the port number to connect
to and not use this hack, but otherwise this patch results in massive
performance improvements.

Writes still happen through the dbus interface.

Diffs: 1, 2, 3, 4, 5 Revision f7740f8...
Fredrik Höglund committed changes in [kde-workspace] kwin/scene_opengl.cpp:

kwin: Optimize shadow quad selection

Loop over the window quad list once instead of eight times when
selecting the shadow quads.

Networking Tools

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

[ #22056 ] Port internal time handling from QDateTime to time_t

46% of the load time was spent converting time to string to time_t ot QDateTime or vice versa. 95% of this can be avoided quite easily, so I will. While not very nice from a C++ point of view, a 46% bottleneck is just too bad to ignore.

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

Other

Aaron J. Seigo committed changes in [bodega-server] sql/do_sql:

make update runs smoother

previously it was shift()ing the array passed in, leading to the first
item in the array being chopped which meant the first update was never
stored in updates/completed.

shift() was also returning an array object. needed to toString() it so
that we would have a string and a reliable check for .sql/.plsql endings

Other

Graphics

Gilles Caulier committed changes in [digikam] /:

factoring everywhere Genreal config group used to store main windows settings in RC file
Ensure that full screen settings is loaded at initialization of AlbumGUI.
CC
CC
CC

KDE-PIM

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

Decouple attachment download from the lifetime of the enclosing GUI widget

Previously, the downlaod would get interrupted when the user switched to another
message -- and that would be rather counterintuitive.

REVIEW: 110681

Games

Albert Astals Cid committed changes in [knavalbattle/KDE/4.10] src/networkdialog.cpp:

Make the network dialog a bit more beatiful

Acked by Roney
REVIEW: 110703

Thanks for reading the KDE Commit-Digest!