Issue 303

1st September 2013 by KDE Commit-Digest Team

Contributors

Marta Rybczynska
Giacomo Barazzetti
Jürgen Appel

This Week...

In KDE Frameworks, a new utility function can paint icon overlays; a basic declarative (QML) interface for Solid is added as well as support for keyboards and pointers in udev backend; more porting effort in progress. All Marble plugins are ported to Qt5. Nepomuk does not allow items to be indexed in parallel: the CPU usage for virtuoso is too high. in Umbrello, associations can now be drawn with different layouts. Calligra adds support for choosing the composite op for Indirect Painting mode. Knetwalk is ported to QML and adds an option to show the solution.

Statistics

Commits 1663 by 155 developers
Open Bugs 21281
Open Wishes 15974
Bugs Opened 310 in the last 7 days
Bugs Closed 283 in the last 7 days

Commit Summary

Module Commits
/trunk/l10n-kde4
120
 
/branches/stable
86
 
/trunk/l10n-support
45
 
/generic/applets
25
 
/staging/frameworkintegration
20
 
/plasma/desktop
18
 
/trunk/www
17
 
/plasma/generic
13
 
/server/src
13
 
/plugins/projectfilter
11
 
Files Developer Commits
192
 
Sebastian Kügler
65
 
153
 
Marco Martin
51
 
138
 
Alex Fiestas
48
 
108
 
Sven Brauch
39
 
102
 
Milian Wolff
38
 
102
 
Sayak Banerjee
34
 
54
 
Laurent Montel
26
 
78
 
Andreas Cord-Landwehr
26
 
75
 
Wolfgang Rohdewald
26
 
72
 
Boudewijn Rempt
26
 

Internationalization (i18n) Status

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

Bug Killers

Person Bugs Closed
Jekyll Wu
40
 
Dominik Haumann
40
 
Cristian Oneț
20
 
Thomas Lübking
16
 
Christoph Feck
15
 
Dan Vratil
10
 
Dmitry Kazakov
9
 
Simeon Bird
7
 
Boudewijn Rempt
6
 
David Edmundson
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 99 selections this week

Bug Fixes

Development Tools

Andi Fischer committed changes in [umbrello] umbrello/dialogs/statedialog.cpp:

Double click on a state other than initial, normal or end crashed the application.
Fixed by using a string instead of an array.


CC

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

Crash fix.

The crash is fixed by setting PinWidget as child of the related
UMLWidget, which ensures that PinWidget is deleted along with
the parent by QGraphicsScene.

Additional the PinWidget instance has to be removed from the
UMLScene widget list, which happens in PinWidget destructor.

Graphics

Marcel Wiesweg committed changes in [digikam] /database:

Fix schema updates from old versions: updatev4tov6 is updatev4tov7

Veaceslav Munteanu committed changes in [digikam] /:

Disable read of old tag paths and use setXmpTagStringBag in dmetadata

KDE Base

Vishesh Handa committed changes in [nepomuk-core/KDE/4.11] services/fileindexer/indexer/taglibextractor.cpp:

TagLibExtractor: Check if the tag exists before dereferencing them

Prevents a crash

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

enable animations again

Alex Fiestas committed changes in [kdelibs/KDE/4.11] solid/solid/backends/udev/utils.cpp:

Correcte the check for max_bits, so we avoid the overflow.


FIXED-IN: 4.11.1

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

re-read dashboard kcfg on reconfigure


FIXED-IN: 4.11.2
REVIEW: 112280

Simeon Bird committed changes in [nepomuk-core/KDE/4.11] services/storage/syncresourceidentifier.cpp:

Storage Service: Check that a list is not empty before taking its first
element.


FIXED-IN: 4.11.1
REVIEW: 112323

Dominik Haumann committed changes in [kate] part/view/katemessagewidget.cpp:

inconsistency fix: really hide message only on user interaction

FIXED-IN: 4.11.2

Christoph Feck committed changes in [kde-baseapps/KDE/4.11] dolphin/src/kitemviews/private/kitemlistroleeditor.cpp:

Move cursor to begin/end of selection before canceling it

Makes Left/Right keys consistent with QLineEdit behavior.


FIXED-IN: 4.11.1
REVIEW: 112256

David Faure committed changes in [kdelibs/KDE/4.11] /:

Fix reordering of apps for a derived mimetype.

This fixes a bug introduced by 871cccc8a88a60 that made it impossible to re-order
file type associations both in System settings and in the open with list. Hence
it contains a new way of detecting duplicate (inherited) mimetype entries, that
the original was supposed to fix.

Unittest is in kde-runtime, commit 967979f (if I can commit it fast enough ;)

Patch by Mathias Tillman.
REVIEW: 111951

FIXED-IN: 4.11.1

Frank Reininghaus committed changes in [kde-baseapps/KDE/4.11] dolphin/src/kitemviews/kstandarditemlistwidget.cpp:

Fix filename trucation issues in Icons View with maximum number of lines

When the name of a file is too long to be shown inside the maximum
number of lines, the last line is elided. However, there were several
problems before this commit:

(a) "lastTextLine", which contains the text to be elided, was not
assigned the complete remaining text, but only the part that would
be put into the last line if there were more lines following. This
may be less than what would fit into the line because we try to not
break the text at random points.

(b) QFontMetrics::elidedText() was not given the width that is available
for the last line (that would be maxWidth), but only the width that
would be occupied by the text if there were more lines following
(line.naturalTextWidth()).

(c) The variable "nameWidth", which is required to calculate the QRectF
that is reserved for the name, was not updated correctly.

The result is that the text was sometimes trucated too early (especially
if there would be a line break early in the text if we had more lines
available), that there may be insufficient space to show the "...", and
that the hover/selection rectangle might be too narrow.



FIXED-IN: 4.11.1
REVIEW: 112265

Sebastian Kügler committed changes in [kde-workspace/frameworks-scratch] /generic/applets:

Rough port of notifications widget to Plasma2

Change all the imports, disable the plotter for now (as it needs
GraphicsWidgets and we don't have a suitable QML replacement yet).

Fix a few API changes here and there.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 37b8d9b...
David Edmundson committed changes in [kde-workspace/frameworks-scratch] /desktop/applets/kickoff:

Kickoff: Re-enable runners model

Eike Hein committed changes in [kde-workspace/KDE/4.11] libs/taskmanager/taskactions.cpp:

Queue signal delivery for launcher toggling.

This allows QGraphicsScene to perform a mouse ungrab after
the popup menu is dismissed before the launcher delegate is
destroyed, avoiding a crash.

Simeon Bird committed changes in [nepomuk-core/KDE/4.11] services/fileindexer/indexer/epubextractor.cpp:

epubextractor: Fix a potential crash.

While I can't reproduce this crash, there is the possibility for a
pointer to be null in about the right place. Hopefully this fixes the
crash.


FIXED-IN: 4.11.1

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

glsl is not supported on indirect contexts

and fglrx yells an invalid_enum error when being asked
for the version


FIXED-IN: 4.11.2
REVIEW: 112419

Dominik Haumann committed changes in [kate] /:

fix notification issues (showing / hiding)

FIXED-IN: 4.11.1
REVIEW: 112320

Dominik Haumann committed changes in [kate] part/view/kateanimation.cpp:

fix resizing issues in kate notifications

FIXED-IN: 4.11.2

Thomas Lübking committed changes in [kde-workspace/KDE/4.11] /:

fix scheduling the repaints

repaints caused by effects so far polluted the timing calculations
since they started the timer on the old vsync offset
This (together with undercut timing) lead to multiple frames in
the buffer queue, and ultimately to a blocking swap

For unsynced painting, it simply caused wrong timings - leading to
"well, kinda around 60Hz - could be 75 as just well".

REVIEW: 112368

that part is fixed in 4.11.2

Eike Hein committed changes in [kde-workspace/KDE/4.11] plasma/desktop/applets/tasks/package/contents/code/tools.js:

Don't attempt to publish geometry for launcher items.

Thomas Lübking committed changes in [kde-workspace/KDE/4.11] /libkwineffects:
Christoph Feck committed changes in [kde-workspace/KDE/4.11] plasma/generic/applets/notifications/contents/ui/NotificationIcon.qml:

Fix neverending spinner when jobs are disabled


FIXED-IN: 4.11.1
Reviewed by Christoph Feck

Eike Hein committed changes in [kde-workspace/frameworks-scratch] libs/taskmanager/taskactions.cpp:

Queue signal delivery for launcher toggling.

This allows QGraphicsScene to perform a mouse ungrab after
the popup menu is dismissed before the launcher delegate is
destroyed, avoiding a crash.

Simeon Bird committed changes in [nepomuk-core/KDE/4.11] services/fileindexer/indexer/epubextractor.cpp:

epubextractor: publication date inside a longer string

Bug 323811 had a file where the EPUB_DATE string was:
"creation: 2011-02-22;publication: 1999"
This checks for such strings and cuts them to "1999".

Valentin Rusu committed changes in [kdelibs] kdeui/util/kwallet.cpp:

Fix the synchronous-mode wallet open logic



The wallet opening logic, for the synchronous mode, had a nested
event loops problem, leading to frozen kwalletd. That was because
kwalletd wasn't using qdbus delayed replies. kdelibs used
asynchronous open methods even for the synchronous mode, coupled
with an internal event loop to simulate synchronous mode.
This commit removes that internal event loop, as the kwalletd now
blocks on synchronous wallet open requests.

KDE-PIM

David Jarvie committed changes in [kdepim/KDE/4.11] /:

Bug 323965: Fix error saving Edit Template dialog

Fix error preventing changed template from being saved when closing
the Edit Template dialog (Akonadi only).

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

Do not hide attachments when they are nested in a message part which is itself an attachment

I introduced a bug in commit c430463; the flags which control part display were
not properly trimmed when recursively descending into the nested MIME parts.
This had an unfortunate side effect that an attached message/rfc822 which itself
contained an attached PDF file would hide the PDF file from display.

This is a pretty critical problem -- hiding message parts which are there is
never a good thing :(.

v2: Changed the func name (to my taste) and simplified the bitwise operation.
Thanks to Thomas Lübking for review.

v3: Add an explicit enum close to the site where the original flags are defined
in a hope to catch mistakes when new flags are introduced in future. Thanks to
Thomas for this suggestion. I'm not adding it directly to the enum; I hope that
this way makes it clear that the result is *not* a flag in itself, just a
bitwise mask. Please comment within a review if you think this needs a change.

REVIEW: 112291

Jan Kundrát committed changes in [trojita] src/Gui/ComposeWidget.cpp:

Use current date when saving mail drafts in case subject is empty and sanitize the suggested filename unconditionally

Thanks to Karel Volný for reporting this. Previously, a message with an empty
subject would produced file ".draft" which did not match the GUI's wildcard and
therefore was not visible in the file picker when resuming these drafts.

Thanks to Thomas Lübking for pointing out that some characters are best avoided
here. The code now sanitizes the suggested filename so that it does not contain
"strange" characters, even if they were present in the subject before. Of
course, the subject itself is not modified.


REVIEW: 112309

David Edmundson committed changes in [ktp-contact-runner] plasma-runner-ktp-contact.desktop.cmake:

Change runner name + comment to clarify it does more than just contacts

REVIEW: 112306

David Edmundson committed changes in [ktp-nepomuk-service] /:

Populate new contact alias, avatar and groups on initial load

Whilst this makes fetching data from Telepathy have a slightly higher
latency than inserting minimal data and then updating it the
stress this causes on Nepomuk and in particular anything using the database
having to update everything twice is much greater.


REVIEW: 112393

Office

Boudewijn Rempt committed changes in [calligra] libs/widgets/KoItemToolTip.cpp:

Remove setPalette call

The tooltip palette is correct by itself, and calling this breaks the
theme color on Windows

Mojtaba Shahi committed changes in [calligra/text-annotation] /:

Update annotations layout and connection lines when an anntation deleted.

Diffs: 1, 2, 3, 4 Revision 5cc41fb...
Cristian Oneț committed changes in [kmymoney] kmymoney/kmymoney.cpp:

Multiple imports can now be launched trough the webConnect interface
without crashing the application (the imports will be serialized).

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

Do not crash when clearing the text mode brush in pipe mode

Cristian Oneț committed changes in [kmymoney] kmymoney/converter/mymoneyqifreader.cpp:

Signal the fact that the QIF filter has failed to run to the user.
This is pretty important otherwise the user will not have any
idea about why the QIF import did not worked.

Dmitry Kazakov committed changes in [calligra] /plugins/tools/defaulttools:

Restart the move tool stroke when the target node has changed

The target node can change due to the "Move Layer with Content" option
which was not taken into account previously.

Cristian Oneț committed changes in [kmymoney] /:

Fix a crash in reports using the mysql storage backend.

This crash was caused by the fact that the report, after requesting
the transaction list, did not check that the transactions are inside
the requested date interval. Since the date is used to compute an
index in a columns list a date outside the requested interval would
cause an invalid index to be computed and causing the crash.

Now the report performs a validity check of the date after filtering
the transactions.

Also fixed the SQL backend implementation to properly filter by dates
even if an empty split filter is provided. Also added a testcase for
this scenario.

Dmitry Kazakov committed changes in [calligra] /image:

Fixed a mask offset loading bug

There is something a bit weird in the design of Kra format. The offset
of the paint device belongs to the node, but not to the device itself.
This causes problems when the actual paint device of the node is created
in a deferred way, like it is done for KisCloneLayer's and KisMask's.

Cristian Oneț committed changes in [kmymoney] kmymoney/converter/mymoneygncreader.cpp:

Fix divide by 0 crash while importing from GnuCash.

Cristian Oneț committed changes in [kmymoney] /:

The currency editor dialog now properly handles edit triggers.
The currency ID column is not editable as is should have been.
Moved the whole currency updating business logic to KMyMoneyApp
where we already had the currency creating, renaming and deleting
methods. Moved the initial loading of the currencies out of the
dialog constructor so that the initial currency selection will
enable the proper actions.


REVIEW: 112350

Dmitry Kazakov committed changes in [calligra] /image:

Fixed an offset bug when creating a thumbnail of a paint device with offset

The 'translation' seems to be some historical artifact and obviously
not needed anymore.

Cristian Oneț committed changes in [kmymoney] kmymoney/widgets/kmymoneycombo.cpp:

Fix a crash after the context menu is requested in the category line
edit while a new category is entered in that line edit.

Dmitry Kazakov committed changes in [calligra] /:

Made it possible to end a polyline with Enter, Esc and a Handle

Now you can:
1) Press Enter key to end the Polyline/Polygon/Polygon Selection
2) Press Esc key to cancel them
3) If you move your mouse to the first point, a special handle appears
allowing you to close the polyline


(the bug is not closed, because Path Tool should also be fixed)

Dmitry Kazakov committed changes in [calligra] /ui/widgets:

No need to resort the whole KisCategorizedListView on every data change

Cristian Oneț committed changes in [kmymoney] /:

KMyMoneyCompletion should now work properly using input methods.

Remove previous workarounds that were added to hide this problem.

Dmitry Kazakov committed changes in [calligra] krita/plugins/extensions/imagesplit/wdg_imagesplit.ui:

Changed Suffix to Prefix in the Image Split dialog

Dmitry Kazakov committed changes in [calligra] /plugins/paintops:

Fixed a subpixel precision calculation of mask sizes

Now the size of the mask is calculated depending on the fractional offset.
This is the second version of a commit 2c30521 which was reverted due to
the problems with the autobrush. Now the auto brush calculates the center
of the dab correctly using the hotspot information which gives the most
stable and correct results.

Multimedia

Mark Kretschmann committed changes in [amarok] /:

Fix reading Album Artist / Compilation / Disc Number in APE tags.

Fix reading of Album Artist and Compilation tag in APE tags.
Add support for reading Disc Number in APE tags.

REVIEW: 112266

Bug 323735:
 
0 days
Diffs: 1, 2 Revision df6d5c3...
Mark Kretschmann committed changes in [amarok] /core-impl/meta/file:

UMS: Fix setting album cover.

When Setting->Config->Metadata->Write covers to file is enabled, it
should be possible to write covers for albums located on an UMS
collection. The current status is that amarok does the write but
never updates itself to reflect the new cover. There is code to
achive this but is has been broken at some point.

File_p.h:358 tries to create a signal/slot connection to an invalid
slot. This is fixed by my patch.

REVIEW: 112255

Networking Tools

Mehrdad Momeny committed changes in [choqok] /:

Patch provided from Benedikt Gollatz added to prevent the crash

David Edmundson committed changes in [ktp-text-ui] filters/latex/latex-filter.cpp:

Fix LaTeX filter

Instead of trying to put the images inline we put a reference and insert the LaTeX images at the end.


REVIEW: 111501

Dan Vratil committed changes in [ktp-text-ui] lib/logmanager.cpp:

Exclude enqueued messages from scrollback

Reviewed-By: David Edmundson

Jan Grulich committed changes in [plasma-nm] declarative-plugins/applet/connectionicon.cpp:

Prevention before possible crash when we are trying to get incorrect setting from VPN connection

User Interface

Hugo Pereira Da Costa committed changes in [kde-workspace] kstyles/oxygen/oxygenstyle.cpp:

Check widget validity in group box drawing

Widget is an optional parameter and may be 0.
This currently causes a crash when GroupBox is used by QtQuickControls

REVIEW: 112329

Games

Wolfgang Rohdewald committed changes in [kajongg] /:

fix handling of "east won nine times in a row"

1. that rule is not absolute anymore because we still want to know
which rule lead to Mah Jongg

2. raise LongHand only for scoring games. In real games, the program
logic prevents this anyway.


FIXED-IN: 4.11.1

Features

Development Tools

Sven Brauch committed changes in [kdevelop] app/main.cpp:

Enable KDevelop to open files in running instances.

REVIEW:112226
Logic:
* If no sessions are running, behaves like "kdevelop <file>".
* If exactly one session is running, opens the file in that session
* Otherwise, shows the session picker and opens the file in that session

Milian Wolff committed changes in [kdevplatform/projectfilter] /projectfilter:

Make VCS folder and common file filter patterns customizable.

We cannot be sure that people do not want to show these files, thus
leave it to the user to customize the patterns.

Diffs: 1, 2, 3, 4, 5 Revision 12d16ff...
Andi Fischer committed changes in [umbrello] /:

Associations can now be drawn with different layouts.
The possibilities, which are set from the popup menu, are
- direct lines
- polylines
- orthogonal lines (only vertical and horizontal)
- splines

Single points or segments can be moved.

The controllers are now integrated into the widgets and therefore deleted.
This makes the code more readable and maintainable.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 19 more) Revision 643ccb3...
Milian Wolff committed changes in [kdevplatform/projectfilter] /projectfilter:

Simplify the filter configuration, remove "MatchOn".

This information can easily be deduced from the pattern and thus
gives a perfect opportunity for a simplified configuration UI.
It should thus also be closer to what a user expects and knows from
e.g. .gitignore and svnignore files.

Thanks to Andreas Pakulat for the suggestion.

The Filter struct now should be seen as a 'compiled' user filter,
whereas SerializedFilter holds the raw data the user entered and
thus is what is used in the configu UI.

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

Educational

Marco Calignano committed changes in [pairs/cooperative] themes/cooperative.game:

proposal for new cooperative Pairs theme

Michael Zanetti committed changes in [marble/qt5] /:

ported runner plugins to Qt5

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 16 more) Revision db5fec5...
Michael Zanetti committed changes in [marble/qt5] /plugins:

all plugins ported to Qt5 (components plugin's QML files not ported yet)

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

Graphics

Gilles Caulier committed changes in [digikam] libs/dmetadata/dmetadata.cpp:

Interroperability with Nikon NX : Use XMP Photoshop Urgency to save and restore Color Label properties

KDE Base

Ivan Čukić committed changes in [kdelibs/frameworks] /solid/src:

Basic declarative (QML) interface for Solid

It registers a class (org.kde.solid.)Devices (initially modelled after
DeviceNotifier) that contains the following features:
- ability to list all devices or just those that match a defined query
(Solid::Predicate)
- signals for when devices that match the query are ad->ed or
deleted
- isEmpty property - are there no devices that match the query?
- count property - the number of devices that match the query
- devices property - a list of udis of the devices that match
the query
- device method that returns a QObject interface to the device.

REVIEW:111964

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision d8d096c...
Ivan Čukić committed changes in [kdelibs/frameworks] /solid/src/solid:

Support for keyboards and pointers in udev backend

This patch adds the support (to solid and udev backend) for:
- keyboards
- pointer (mice, graphics tablets, touchpads and touch-screens)

REVIEW:111918

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 19 more) Revision ddb9330...
Marco Martin committed changes in [kde-workspace/frameworks-scratch] plasma/desktop/containments/desktop/package/contents/ui/main.qml:

support drop of applets in desktop containment

drag and drop from the widgets explorer

Bhushan Shah committed changes in [kde-workspace/frameworks-scratch] /generic/dataengines:

Enable statusnotiferitem DataEngine on KF5
REVIEW: 112404

Diffs: 1, 2, 3 Revision 14f8584...
Marco Martin committed changes in [kde-workspace/frameworks-scratch] plasma/desktop/containments/panel/contents/ui/main.qml:

qml part of drag and drop support

Marco Martin committed changes in [plasma-framework] /scriptengines/qml/plasmoid:

support wheel events

Heena Mahour committed changes in [kde-workspace/frameworks-scratch] /generic/applets:

Added digital_clock in plasma 2

Diffs: 1, 2, 3, 4, 5, 6 Revision b4f06bd...
Marco Martin committed changes in [kde-workspace/frameworks-scratch] /generic/containmentactions:

port paste plugin

Diffs: 1, 2, 3, 4, 5 Revision ba910b1...
Bhushan Shah committed changes in [kde-workspace/frameworks-scratch] /generic/dataengines:

Port soliddevice DataEngine to KF5
REVIEW: 112327

Diffs: 1, 2, 3 Revision d40e7bf...
Hugo Pereira Da Costa committed changes in [kde-workspace] /clients/oxygen:

Added "Display window borders for maximized windows" option.

Martin Klapetek committed changes in [kdelibs/frameworks] /kguiaddons:

Add utility function to paint icon overlays

As this was rejected from QIcon, I decided to implement it in
frameworks. The idea is new private icon engine (KOverlayIconEngine),
which paints the overlays itself, and then an utility function in
KIconUtils namespace, which takes the base icon and the overlay icons as
parameters and constructs new QIcon using KOverlayIconEngine.

As QPixmapIconEngine (QIcon default) is private in Qt and couldn't be
simply extended, the KOverlayIconEngine simply forwards the calls to
QIcon, which then forwards those calls internally to QPixmapIconEngine
(QIcon is really mostly just a wrapper around an engine).

There are two functions

QIcon KIconUtils::kIconAddOverlay(const QIcon &icon, const QIcon
&overlay, Qt::Corner position);

and

QIcon KIconUtils::kIconAddOverlay(const QIcon &icon, QHash<Qt::Corner,
QIcon> overlays);

The first one serves for single overlay icon, the second one is then for
multiple overlays, requires the QHash to be built up before passing
though.

REVIEW: 112079
DIGEST

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

KDE-PIM

Dan Vratil committed changes in [ktp-common-internals] /:

KTp Logger

KTp Logger is an abstract interface, losely based on TelepathyLoggerQt
API with support for version backends - currently we only have a
TelepathyLogger backend.

By using this API instead of TelepathyLoggerQt directly we can simply
disable the backend on platforms where TpLoggerQt does not compile
(like Windows) without having to have many #ifdefs all around our
codebase.

In future we can have plugins that would provide access to log messages
from Facebook or Google Hangouts (if they ever publish an API) etc.

REVIEW: 112005

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

Office

Dmitry Kazakov committed changes in [calligra] /:

Added support for choosing the composite op for Indirect Painting mode

Now the KisPainOpSettings-based class is allowed to choose which composite
op should be use for indirect painting mode. This is used by duplicate op,
which resets the op to COMPOSITE_COPY to store a real copy of the layer on
a temporary paint device.

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

Improvements to the Image docker

patches by Christer Stenbrenden ()


* Displays a color picker when hover over the image in the docker
* Image docker scales horizontally to fit filenames
* Use the theme highlight color for selected icon

Jörg Ehrichs committed changes in [conquirere] /:

Add additional configuration for the library to limit shown documents

Now the system library can be limited to certain folders instead of all
nepomuk known documents. In addition the Nepomuk NFO mimetypes tha shall
be used can be configured too

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

Multimedia

Shantanu Tushar Jha committed changes in [plasma-mediacenter] /:

Bind more keys
M -> mute
Z -> prev
N -> next

Diffs: 1, 2, 3 Revision 6e9fed9...

Networking Tools

Jan Grulich committed changes in [plasma-nm/active] /setting/package/contents/ui:

Pre-fill connection name, ssid and wireless security for uknown wireless connections

Jan Grulich committed changes in [plasma-nm/active] active/setting/package/contents/ui/WirelessSecuritySettingWidget.qml:

Add an option for hiding/showing wireless password

Jan Grulich committed changes in [plasma-nm/active] /setting/package/contents/ui:

Add configuration for wired connections

User Interface

Marco Martin committed changes in [plasma-framework] /shell:

enable panel shadows

Diffs: 1, 2, 3, 4, 5 Revision 81f4ab7...
Marco Martin committed changes in [plasma-framework] /declarativeimports/core:

add shadows to dialogs

Diffs: 1, 2, 3, 4, 5 Revision 5ecaf1d...

Utilities

Sven Brauch committed changes in [kte-collaborative] /ktpintegration:

Allow the server handler to open documents, if requested

Games

Ashwin Rajeev committed changes in [knetwalk] /:

Ported to QML

Replace QGraphicsScene, QGraphicsView with KgDeclarativeView.
Use qml to manage user interactions and visual items.

REVIEW: 111049

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision f9aca30...
Ashwin Rajeev committed changes in [knetwalk] /:

Show the solution

Add new option to show the solution

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

Optimization

KDE Base

Vishesh Handa committed changes in [nepomuk-core/KDE/4.11] libnepomukcore/query/querybuilderdata_p.h:

QueryLib: Remove optimizations on group terms

This isn't a proper fix, but more like a temporary patch, which I should
find a proper way to fix in the future.


REVIEW: 111496

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

Storage: Only allow one storeResources job at a time

This effectively only allows one item to be indexed at a time. So, when
emails and files are being indexed in parallel, only one item will be
indexed at a time, the others will be queued up.

This is important because with 4.11, everything has to be reindexed and
that seems to be causing a lot of virtuoso cpu usage as both stages of
file indexing and email indexing happen in parallel.

DIGEST: Do not allow items to be indexed in parallel - The cpu usage for
virtuoso is just too high.

KDE-PIM

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

Populate new contact alias, avatar and groups on initial load

Whilst this makes fetching data from Telepathy have a slightly higher
latency than inserting minimal data and then updating it the
stress this causes on Nepomuk and in particular anything using the database
having to update everything twice is much greater.


REVIEW: 112393

Other

Educational

Michael Zanetti committed changes in [marble/qt5] /:

finish porting plugins to Qt5

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 15 more) Revision 485dfc5...

KDE Base

Sebastian Kügler committed changes in [kde-workspace/frameworks-scratch] /generic/dataengines:

port notificationsengine to KF5

It compiles, but doesn't link yet.

Diffs: 1, 2, 3, 4 Revision f34218f...
Marco Martin committed changes in [kde-workspace/frameworks-scratch] /generic/containmentactions:

port virtual desktops plugin to new framework

wheel events still have to be ported

Diffs: 1, 2, 3, 4, 5, 6 Revision 00204c0...
Sebastian Kügler committed changes in [kde-workspace/frameworks-scratch] /generic/applets/notifications:

Make notifications widget mostly work

There's still a lot of errors, something crippling functionality
visible, but it shows up, shows notifications and does a few things
more.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 674c0e2...
Eike Hein committed changes in [kde-workspace/KDE/4.11] /desktop/applets/tasks:

Factor drag instanciation out into a C++ helper.

This moves the drag source out of the task delegate, making
sure it survives the delegate in scenarios where it might be
destroyed prior to dropping (e.g. due to a virtual desktop
switch), avoiding a crash. I'd like to move this back into
QML in Plasma 2 if we can add a programmatic way to initiate
a drag to DragArea, or work through some of the event hand-
ling issues involved with having a single drag area below
the repeater (though this would mean pretty ugly spaghetti
code regardless), or QML gains the ability to reparent
objects including transferring object ownership (unlikely ...).


This also reduces the number of sub-items the task delegate
instanciates and specifically the number of mouse event-
handling items per task from two to one, simplifying the
scene mouse event filtering that's going on, which appears
to address a second rare crash (or at least it has become
unreproducable here), although further investigation to
prove this conclusively would be nice.

Multimedia

Harald Sitter committed changes in [phonon/five] /:

RIP silly interface macros

Upon week-long pondering I came to realize that in order to replace
the existing interface casting mess we do not need anything fancy
or anything generic. Why, you ask? Because we have well defined
interfaces to use...

Let's first look at why we need multi-cast targets anyway. Interfaces
use virtual functions -> backends implement interfaces -> backends
implement virtuals -> adding stuff to the interface breaks binary
compatibility with the backends. In short: without using new interface
classes deriving the old interface class we'd only be able to support
backends that were compiled against the latest version of libphonon.
Since we do not want that we dervice new interfaces and then cast to one
or the other.

So what's new?
A backing object (i.e. the backend implementation of the interface) can
either be casted to an interface version or not. This attribute does
not change over time, so repeated casting attempts will not yield
different results. Consequently we can simply store a casted version
as member somewhere (FooInterface *interface;). This renders the macros
useless as they basically just contained multi-casting.

That doesn't handle different versions yet. So the revolutionary solution
here is to simply have different members per version :O.
> FooInterface *interface; // Base interface of 5.0
> FooInterface51 *interface51; // Interface additions from 5.1
This relies on one very basic assumption: new functions are added to
the interfaces because we use them and therefor know where and when to
use them. If void bar() is introduced as new function in 5.1 then the
frontend (libphonon) function that needs it will have to use interface51
explicitly.
This finally renders the Iface template class useless as it's only purpose
was to contain on the fly multi-target casting in order to find an
interface version that is actually supported by the backend object.
It was pointless effort considering the basic assumption from
above anyway.

Note: changing behavior is not supported, as such a change would be rubbish
anyway. For example void foo() in 5.0 painted a lion but in 5.1 it is
supposed to paint a cat. Technically that can be represented through
q_interfaces() but we really don't care for that.

Utilities

Sven Brauch committed changes in [kte-collaborative] kte-plugin/kobbypluginview.cpp:

increase amount of displayed users in the status bar