Issue 263

25th November 2012 by KDE Commit-Digest Team


Jürgen Appel
Aleix Pol
Marta Rybczynska

This Week...

Amarok can now transcode even with ffmpeg >= 1.0; statistics synchronization work is merged. PublicTransport adds numerous improvements: new provider states, prevents multiple feed imports, provider model/dialog gets dynamic. KDevelop memory footprint reduced. KDE-libs introduces an optimization by caching locally favicon names. Krita improves zoom factor handling. KDE PIM fixes implementation of the PurgeBuffer.
Short glimpse on Sebas QML containment as per

Sebastian Kügler created a first QML replacement for the current desktop containment. At this point a lot of its UI and inner workings in the future are still undecided. The development is in its early stages, but the underlying implementation to create QML containments is in place for KDE SC 4.10:

Keep in mind that it's going to look a lot different, that was really throwing an idea up in the air, backed with some code. But it shows what could be done, The important things really are:

  • we can do all that now in pure QML
  • all the necessary bits are in 4.10 beta
  • work on the QML porting is ongoing

For the UI, the goals are:

  • no regressions compared to current containment
  • less visual clutter (especially caused by applet handle when unlocked)
  • better aids in aligning widgets to achieve a cleaner layout

His initial announcement sparked quite a few comments, suggestions and compliments. There is also a video available of this early implementation:

The new QML containment itself will not be shipped with KDE SC 4.10, but Sebastian intends to make it available as an add-on:

The plan is to be able to do widespread user testing during the KDE SC4.11 development cycle, users can just download a plasmoid package and install that, no compile chain or anything needed. This way we can get a few cycles of feedback, and hopefully it will shine so bright that it can be switched to as default in KDE SC 4.11.


Commits 1572 by 167 developers
Open Bugs 21178
Open Wishes 15755
Bugs Opened 345 in the last 7 days
Bugs Closed 355 in the last 7 days

Commit Summary

Module Commits
Files Developer Commits
Laurent Montel
Aaron J. Seigo
Boudewijn Rempt
Jan Kundrát
Marco Martin
Aleix Pol Gonzalez
Giovanni Sora
Albert Astals Cid
Milian Wolff
Dan Vratil

Internationalization (i18n) Status

Language Percentage Complete
Estonian (et)
Brazilian Portuguese (pt_BR)
Portuguese (pt)
Swedish (sv)
Polish (pl)
Dutch (nl)
Spanish (es)
French (fr)
German (de)
Italian (it)

Bug Killers

Person Bugs Closed
Jekyll Wu
Frank Reininghaus
Christoph Feck
Aleix Pol Gonzalez
Myriam Schweingruber
Marco Martin
Maarten De Meyer
Laurent Montel
Tom Albers
Sergio Luis Martins

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools

[] [] []   


[] []    []



KDE Base

[] [] []   


[] [] []   


[] [] []   




[] []    

Networking Tools

[] [] []   

User Interface








There are 95 selections this week

Bug Fixes

Development Tools

Ralf Habacker committed changes in /trunk/KDE/kdesdk/umbrello/umbrello/toolbarstate.cpp:

Fixed unselecting widgets triggered by pressing on an empty scene area.

Aleix Pol Gonzalez committed changes in [kdevplatform] shell/documentcontroller.cpp:

Improve message box for missing KPart

If we didn't find an editor and we have to ask the user if she
wants the text editor, provide a check box so that we don't have
to ask again.

Aleix Pol Gonzalez committed changes in [kdevplatform] plugins/patchreview/patchreviewtoolview.cpp:

Fix crash when reviewing an image change

When trying to decorate the reviewed file, make sure that it's a
text document. If it's an image we'll just show the resulting image.

Milian Wolff committed changes in [kdevplatform] /:

Fix regression in output filtering and improve the output

The patch addresses two things:

a) Fix regression introduced after refactoring outputfiltering
- It was not possible to click on linker errors
b) Now indicates the linker errors as errors making it visible to
the user that he can click on them

Also a corrected one of the regular expressions so that it now hits
on all line instances it is supposed to hit on (Come to think of it,
thats three things :-) )

REVIEW: 107446


Aleix Pol Gonzalez committed changes in [kalgebra/KDE/4.9] src/functionedit.cpp:

Fix crash when having an empty up/down limit in the function edit

Dennis Nienhüser committed changes in [marble] src/lib/geodata/handlers/kml/KmlColorModeTagHandler.cpp:

Fix reading of random colormode

colorstyle is an abstract kml element, so we need to check if the parent
element derives from it.

Sebastian Gottfried committed changes in [ktouch] src/qml/CourseSelector.qml:

home screen: always update course selector when keyboard layout changes

There was a bug if the code responsible for restoring the last selected
course by the user for each keyboard layout swallowing the change under
cetain conditions. That's fixed now.

Aleix Pol Gonzalez committed changes in [analitza/KDE/4.9] /:

Don't say that an expressionedit is correct if it's empty

Dennis Nienhüser committed changes in [marble] src/lib/geodata/handlers/kml/KmlCoordinatesTagHandler.cpp:

Fix parsing coordinate strings that don't follow kml specs exactly.

Coordinates like '1, 2, 3 4 ,5, 6' are not valid coordinate strings
(should be '1,2,3 4,5,6') but can still be parsed.

Patch by Valery Kharitonov, thanks!
REVIEW: 103525

FIXED-IN: 1.5.0/KDE-4.10.0

KDE Base

Cedric Bellegarde committed changes in [kde-workspace] appmenu/appmenu.cpp:

Fix memory leak and add some sanity checks

Frank Reininghaus committed changes in [kde-baseapps/KDE/4.9] dolphin/src/kitemviews/private/kfileitemclipboard.cpp:

Update the 'isCut' state of items when cutting non-files, e.g., text

FIXED-IN: 4.9.4
REVIEW: 107390

Gregor Tätzner committed changes in [kde-workspace] powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp:

Fix screenBrightnessChanged signal in upower backend

emit onBrightnessChanged every time when a new brightness gets set and
not just on brightnessKey press

, 302160
FIXED-IN: 4.9.4
REVIEW: 107398

Thomas Lübking committed changes in [kde-workspace] kwin/activation.cpp:

fix screen switching for more than two screens

FIXED-IN: 4.10

Dawit Alemayehu committed changes in [kde-baseapps] /fsview:

Fixed regressions that prevented file manipulation from working properly.

FIXED-IN: 4.9.4

Luca Beltrame committed changes in [kate] /plugins/pate/src:

Fix building Pate with Python 3.

Python's C API changed a lot between version 2 and 3, and in particular
Python 3.2 removed a lot of the old CObject API. At the moment
simultaneous compatibility is achieved by a series of #if blocks,
possibly some refactoring is in order.

Pate builds with both Python 2 and Python 3 now.

REVIEW: 107362

Frank Reininghaus committed changes in [kde-baseapps/KDE/4.9] dolphin/src/views/tooltips/tooltipmanager.cpp:

Delete FileMetaDataToolTip using deleteLater() to prevent crashes

The problem was that Qt tried to deliver an 'Enter' event to the
dangling pointer that once pointed to the tool tip.

Many thanks to G. Christ for finding a way to reproduce this crash!

FIXED-IN: 4.9.4

Christoph Feck committed changes in [kdelibs/KDE/4.9] kimgio/xcf.cpp:

Add tolerance to layer size sanity check

Commit for bug 234030 caused a regression with images
that have layers larger than the canvas.

The factor 2 is arbitrary, but is hopefully sufficient.

FIXED-IN: 4.9.4

Dawit Alemayehu committed changes in [kdelibs/KDE/4.10] kioslave/http/http_cache_cleaner.cpp:

Prevent integer overflow that could potentiall cause Konqueror to ignore cache
size limit under certain circumstances.

Though this fix is necessary to address use of incorrectly sized integer
variable, I am not entirely sure it is 'the' fix for bug# 236607.

Original patch provided by Raul.

Dan Vratil committed changes in [kscreen] kcm/src/qmloutputview.cpp:

Fix crash when all outputs are disabled

Kai Uwe Broulik committed changes in [kde-workspace] plasma/desktop/shell/panelcontroller.cpp:

Fix panelcontroller Screen Edge/Height icons fixed size

REVIEW: 107414
FIXED-IN: 4.9.4

Frank Reininghaus committed changes in [kde-baseapps/KDE/4.9] dolphin/src/views/dolphinview.cpp:

Only select a created item and make it 'current' in the active view

The 'make the new item the current one in all views' issue has been
around for quite some time, the unexpected selection was a recent
regression caused by commit b25059e803e7eed54f0593605a4066882d63bce2.

Thanks to Jaime Torres for finding the regression early and for testing
this patch!

FIXED-IN: 4.9.4

Marco Martin committed changes in [kdelibs/KDE/4.10] plasma/applet.cpp:

ignore own events

only steal events of objects that are explicitely filtered
fixes the handle when is under the shadow


Sergio Luis Martins committed changes in [kdepim/KDE/4.9] calendarsupport/freebusymanager.cpp:

FreeBusy: Dont' crash if we call setCalendar( 0 ).

Laurent Montel committed changes in [kdepimlibs] /:

Fix bug: Now we can reset format in html mode

Diffs: 1, 2, 3 Revision b85bfd2...
Laurent Montel committed changes in [kdepim] /:

Fix Bug 297867 - [a11y] Existing/received messages should be caret

Needs QtWebKit-2.3
FIXED-IN: 4.10

Laurent Montel committed changes in [kdepim] plugins/messageviewer/bodypartformatter/text_vcard.cpp:

Fix Bug 310583 - 4.10: KMail crashes when trying to display mail message

FIXED-IN: 4.10

Laurent Montel committed changes in [kdepim] plugins/messageviewer/bodypartformatter/text_vcard.cpp:

Fix Bug 310558 - 4.10: KMail crashes when displaying another e-mail

FIXED-IN: 4.10

Laurent Montel committed changes in [kdepim/KDE/4.9] kmail/kmmainwidget.cpp:

Fix Bug310488 - Deleting mail folder via context menu can delete

incorrect folder

FIXED-IN: 4.9.4

Laurent Montel committed changes in [kdepim/KDE/4.9] templateparser/customtemplatesmenu.cpp:

Fix Bug 184507 - toolbar: cannot add composer custom template any longer

FIXED-IN: 4.9.4

Milian Wolff committed changes in [kdepimlibs] akonadi/entitytreemodel_p.cpp:

Fix iterator crashes in ETMPrivate::removeItems and purgeItems.

Do not keep iterators around which get invalidated once we call .erase
on the parent container. This can result in double deletion crashes.

REVIEW: 106832

Laurent Montel committed changes in [kdepim] kmail/tips:

Fix Bug 143696 - unfortune kmail tip about removing [listname] prefix

FIXED-IN: 4.10

TODO for 4.11 add more tips + improve doc

Laurent Montel committed changes in [kdepim/KDE/4.9] plugins/messageviewer/bodypartformatter/text_calendar.cpp:

Fix Bug 310318 Wrong transport mode picked when reply to an invitation

and Bud 302344 kmail sends invitation confirmation using wrong smtp

FIXED-IN: 4.9.4

Thanks Julian Golderer and "Dr. Axel Braun" to help me to debug it.

(was a error between transport name and transport id)

Milian Wolff committed changes in [kdepimlibs] /:

Fix implementation of the PurgeBuffer.

The old code was - as far as I could see - non functional:
The safety calls to ::purge from ::buffer e.g. purged much more than
just the one requested ID from the buffer. This in turn resulted in
::buffer never returning something besides "-1".

Instead, the code is now simplified by using a QQueue FIFO.
The buffer, as I've written it now, is now working as following:

PurgeBuffer::purge(id) -> just remove id from FIFO
PurgeBuffer::buffer(id) ->
- remove id if it already is tracked (i.e. purge(id))
- ensure the FIFO is not bigger than X items, if it is, dequeue
and purge first item
- enqueue id to FIFO

Note: This patch should be the basis for evaluating the caching
parameters (MAXITEMS=10000 and MAXBUFFERSIZE=10). Especially I think
we should investigate whether the MAXITEMS should not take precedence
over MAXBUFFERSIZE, such that e.g. opening 10 10k folders does not
result in 100k of items in memory, but instead only 10k items.

2nd Note: Favorited folders are always reffed and thus never cleared
from the cache.

REVIEW: 106832

Diffs: 1, 2, 3 Revision 778c6a1...


Cristian Oneț committed changes in [kmymoney] kmymoney/plugins/ofximport/dialogs/kofxdirectconnectdlg.cpp:

Fix a crash when cancelling the OFX update dialog while waiting for operations that occur until the TransferJob is created.
These operations can be things like waiting for KWallet, waiting for libofx_request_statement, etc.

Cristian Oneț committed changes in [kmymoney] /:

Tags - various bugs fixed.

Fixed the follwing problems
- when closing the split dialog the focus goes to the tag field and not to the memo field
- if the user writes in the tag line edit the name of a closed tag or of a tag already included in the transaction then an information modal dialog
will appear and the line edit will be cleared.
- use the painting context to restore right the color for text in the ledger

Patch provided by Alessandro Russo.

REVIEW: 107373

Diffs: 1, 2, 3, 4 Revision 1e0dba3...
Dmitry Kazakov committed changes in [calligra/krita-new-move-tool-kazakov] /:

Fixed KisExperimentPaintOp to be much faster

Implemented an idea which we discussed long-long ago. The updates are
coming now only for the areas that really changed. In this tool the
changed area can be easily represented as a set of triangles. These
triangles are then split into a set of rectangles and the path is
rendered for these areas only.

+ now the tool can be used by artists for real work
+ smoothing and speed options work perfectly
- mirroring doesn't work right now (will be fixed in the next patch)
- displacement doesn't work (I've disabled it, because efficient
implementation of it may take some time). I'll do it only if
artists will really need it.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 79eef41...
Dmitry Kazakov committed changes in [calligra] /:

Fixed warnings and a bug in the vector compositioning

Diffs: 1, 2, 3, 4, 5 Revision 8206c6b...
Arjen Hiemstra committed changes in [calligra/krita-sketch-rempt] krita/sketch/KisSketchView.cpp:

Do a full prescale when the offset is invalid.

This prevents overlapping issues when the zoom just changed.

Friedrich W. H. Kossebau committed changes in [calligra/fixExportOnWindows-kossebau] libs/main/KoFilterChain.cpp:

Fix possible crash on windows in KoFilterChain::outputFileHelper(...)

m_outputTempFile was accessed even when it might be set to 0 a few lines before

Friedrich W. H. Kossebau committed changes in [calligra/calligra/2.6] /part:

Fix registration of Calligra Words for odt files

"," used as separator where ";" was needed

Thanks for the patch to buscher on #calligra

Friedrich W. H. Kossebau committed changes in [calligra] libs/main/KoDocumentInfo.cpp:

Fix saving of Author info for non-default and non-anonymous case

REVIEW: 107366

thanks boemann for review

Dmitry Kazakov committed changes in [calligra/calligra/2.6] /:

Fixed the end of the Move Tool Stroke on various events

1) Switching Layer should enter the stroke
2) Changing tool configuration should end the stroke
3) Pressing Return/Enter should end the stroke

Cristian Oneț committed changes in [kmymoney] /dialogs:

Avoid a crash caused by 'Tags' when the investment transaction editor is used.

Friedrich W. H. Kossebau committed changes in [calligra/calligra/2.6] libs/main/KoFilterChain.cpp:

Fix exporting to non-native formats on Windows, e.g. HTML

The fix follows approach of bf47fed5ead06f2128abf042897f86bab39cf333

Also fixes a possible crash on Windows in KoFilterChain::outputFileHelper(...):
m_outputTempFile was accessed even when it might be set to 0 a few lines before

REVIEW: 107388

Thanks boemann and inge for review and stuart for package building

Dmitry Kazakov committed changes in [calligra/calligra/2.6] /:

Fixed KisExperimentPaintOp to be much faster

Implemented an idea which we discussed long-long ago. The updates are
coming now only for the areas that really changed. In this tool the
changed area can be easily represented as a set of triangles. These
triangles are then split into a set of rectangles and the path is
rendered for these areas only.

+ now the tool can be used by artists for real work
+ smoothing and speed options work perfectly
- mirroring doesn't work right now (will be fixed in the next patch)
- displacement doesn't work (I've disabled it, because efficient
implementation of it may take some time). I'll do it only if
artists will really need it.

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


Igor Poboiko committed changes in [kmix] dbus/dbusmixerwrapper.cpp:

Fix kded & kmixctl crash (when it tries to create DBus interface too)

Jean-Baptiste Mardelle committed changes in [kdenlive] src/projecttree/meltjob.cpp:

Fix possible crash on invalid filter in clip jobs

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

Transcoding*Format: fix format detection with ffmpeg >= 1.0

...and change the parsing to be line-by line, so that the regexps can
be more accurate.

DIGEST: Amarok can now transcode even with ffmpeg >= 1.0

Harald Sitter committed changes in [phonon-vlc] src/utils/debug.cpp:

hack Block ctor&dtor to not do stuff when it won't produce output

this is a bloody hack but since the debug helper will be replaced with
something more reasonable for phonon five we really do not need a
durable approach here.

this solves excessive load issues when streaming via phonon as the
streamreader has loads of debug profiling instrumentation all over the
place, might want to remove those for some upcoming release perhaps as
the reader seems to be perfect as it is right now

Networking Tools

David Edmundson committed changes in [ktp-contact-list/kde-telepathy-0.5] /:

Fix a bug in which model items could be rendered with a white font on white.

REVIEW: 107430

FIXED-IN: 0.5.2

Martin Klapetek committed changes in [ktp-nepomuk-service] /:

Detect contact capabilities properly

Reviewed-by: David Edmundson
REVIEW: 107345

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


Roney Gomes committed changes in [knavalbattle] src/mainwindow.cpp:

Fix the bug which restarted a game after cancelling change of level.

Rather than connect the levelChanged() slot to the
selectedLevelChanged() signal it is now connected to the
currentLevelChanged() slot, which makes more sense and solves the bug
which restarted the game even if the player pressed the "Cancel" button
of the warning dialog.

REVIEW: 107053


Development Tools

Milian Wolff committed changes in [kdevplatform] /:

Move assistant popup just below the editor view. Also allow it to grow horizontally.

Now, the main window geometry is taken as a boundary limit, which should allow
for wider assistants even when we have any toolviews shown on the sides. Furthermore
we now never interfer with the editor, esp. not if one edits the last visible line
at the bottom of the editor.

Note also that kdevelop/sublime always reserves space at the bottom, either for tool-
views or for the progress bar. Imo this is a very good place to put the assistant.

Milian Wolff committed changes in [kdevplatform] sublime/container.cpp:

move the document list menu to the left

imo this looks nicer as then the margin is only between status corner and tab bar


Aleix Pol Gonzalez committed changes in [analitza/plotsdictionary] analitzaplot/examples/plotsdictionarydemo.cpp:

Improve behavior on the plotsdictionarydemo

Make it possible to change the currently selected item with the keyboard
Add a 2D plot view to see what's being displayed


Aurélien Gâteau committed changes in [gwenview] /:

Move base url tree view to a side panel, use Solid to get more info about device

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

KDE Base

Emil Sedgh committed changes in [kde-workspace] kwin/activation.cpp:

Window shortcuts now toggle (raise/minimize) windows.
This allows me to use all applications in a Yakuake-like method.
I can define a shortcut for an application, press it, window shows up, do my work, press it again and it hides.
This is specifically good for a Text Editor<-->Browser switching workflow.
Also my first kwin patch.

Dawit Alemayehu committed changes in [kwebkitpart/v1.3.1] src/webpluginfactory.cpp:

Protect against potential random crashes.

FIXED-IN: 1.3.1

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

don't use textured mousecursor unless required

REVIEW: 107424

FIXED-IN: 4.10

Marco Martin committed changes in [kde-workspace] /generic/applets/systemtray:

allow the systray to be resized very small

Diffs: 1, 2, 3, 4, 5, 6 Revision 1f9590a...
Marco Martin committed changes in [kdelibs/KDE/4.10] plasma/popupapplet.cpp:

if popup is more than double icon, center align

in vertical panels, align center when the popup height is > than double the icon height
otherwise, center when is more then icon width

Dan Vratil committed changes in [kscreen] /src:

Preselect best mode when enabling an output

Aaron J. Seigo committed changes in [plasma-mobile/mart/newMetadataModel] /metadatamodel/library:

make QueryThread actually runnable as a thread

* implements a run() method that deletes the thread when it is done
* adds a mutex for the page fetching
* grabs the query mutex when setting a sparql query
* moves the timeout timer into the thread as well

Emil Sedgh committed changes in [kde-workspace] /generic/applets/systemtray:

Raise panel when an applet NeedsAttention.
Added taskStatusChanged() signal to system tray manager.
Removed taskChanged() signal from system tray manager (it was unused).

Craig Drummond committed changes in [kde-workspace/KDE/4.9] libs/taskmanager/taskitem.cpp:
Jonathan Marten committed changes in [kwebkitpart] src/webpage.cpp:

Honour Konqueror's "Open links in new tab
instead of in new window" option.


Vishesh Handa committed changes in [nepomuk-core] cleaner/cleaningjobs.cpp:

New Duplicate Contact cleaning job

There are often a large number of contacts in the nepomuk repository of
identical nco:Contacts. It makes sense to merge them.

We consider two nco:Contact to be identical if they share the same first
name, and have no other literal properties other than the first name. In
the future, maybe we can loosen up the critera, but for now this serve
as a nice way of cleaning up legacy data created before the
pre-storeResources/strigi-feeder times.


Sergio Luis Martins committed changes in [kdepim/new_todo_model] /:

New todo model stack.

This should fix lots of crashes and make room for performance

Since akonadi provides us with an item model, we don't need to
have our own model anymore, we can use a proxy model stacked ontop
of akonadi's ETM.

The main challenge was creating a parenting model, which transforms
akonadi's to-do list into a to-do tree.

New classes:
- IncidenceTreeModel: Transforms a flat list into a tree.
This is korganizer-agnostic and can go to kdepimlibs in the

- KOTodoModel: Sits ontop of IncidenceTreeModel and adds

The old KOTodoModel has been deleted.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision a70002b...
Laurent Montel committed changes in [kdepim] /:

Implement speak text

Diffs: 1, 2, 3 Revision e3906a5...
Sergio Luis Martins committed changes in [kdepim] korganizer/calendarview.cpp:

korganizer: Preserve original time when pasting.

Unless the user explicitly selects a time.

Do not backport, needs new kcalutils api.


Dan Leinir Turthra Jensen committed changes in [calligra/krita-sketch-rempt] krita/sketch/Settings.cpp:

Allow us to process events when setting a new file

This allows us to change the value of /one/ property, so we can
get instant feedback. We don't get animations this way, but it works

Cristian Oneț committed changes in [kmymoney] kmymoney/html/kmymoney.css:

Use the 'Higlight' background color for warnings since the 'Infobackground' can be really close to the text color.
If the same would happen to the 'Higlight' background color we'll notice it a lot faster since that is also used in the summary headers.

REVIEW: 107397

Boudewijn Rempt committed changes in [calligra/krita-psd_export-rempt] /plugins/formats/psd:

Do not swap top and left... Fixes saving to psd with layers

This makes it possible for krita to load psd files it saved, but the psd
files still are not correct, gimp cannot load them and krita complains.

Diffs: 1, 2, 3 Revision b1fa0a1...
Dmitry Kazakov committed changes in [calligra/calligra/2.6] /:

Made the zooming steps consistent in Krita

1) Now the wheel and hotkey zooming in Krita is done using KoZoomAction
instead of hardcoded code
2) The zoom levels are changed to be in consistency with other
applications (checked in Adobe Reader and Adobe Photoshop).
Such change was demanded in bug 302775

Reviewed by Boud.

C. Boemann committed changes in [calligra/stage-designtool-boemann] /:

To avoid having the slide layout docker take up space when not needed this
patch morphs the "background tool" from KoPageApp into a "Slide design tool"
when used in Stage.

Stage adds an extra option widget which is just the contents of the slidelayout docker.
The docker is removed.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision d1933f1...
Łukasz Maszczyński committed changes in [kmymoney] /mymoney:

improved payee matching criteria

If a payee is configured to be matched using a list of keys, only the
keys containing at least one non-space character will be accepted. Keys
of a single or multiple spaces will be consideder invalid.

REVIEW: 107138

Diffs: 1, 2, 3 Revision 84a652c...
Cristian Oneț committed changes in [kmymoney] /:

Save the header state in the investment view's lists.

Since pretty much all the bigger item views in KMyMoney have a persistent header state make the investment view's lists behave in the same way.
Fix the default sorting order in the 'Prices' and 'Update prices' dialogs since those are stand alone they don't have a persistent header state yet
because they don't even have a persistent size.


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

Merge strohel's branch 'gsoc'

This merges my 5-month (or so) work I started as a GSoC 2012 project.
More user-oriented info:
ChangeLog and BUG tags are in the last commit of the merge.

REVIEW: 107348

* gsoc:
StatSyncing: ChangeLog and BUG: tags for the final merge
StatSyncing::MatchedTracksPage: use background instead of bold font
StatSyncing: document producer-consumer pattern as appropriate
StatSyncing::Provider: "is guaranteed to be called" -> "must be called" in docs
StatSyncing::Controller: change auto syncing detection so that scrobbling works SynchronizationAdapter: remove redundant Qt::DirectConnection
Code sharing++ by introducing QSharedDataPointerMisc.h with common operators
StatSyncing::Provider: code sharing++
StatSyncing::Controller: document magic constant StatSyncing: misc fixes
MetadataConfig: remove no-longer needed strange hack
StatSyncing configdialog: implement ExcludedLabelsDialog using .ui file
StatSyncing: fix include ordering
StatSyncing: support for scrobbling recent play count to (or other)
StatSyncing::ScrobblingService: add prettyName() method
StatSyncing::Controller: public signal/slot scrobbling interface
StatSyncing: more flexible interface of ScrobblingService, adapt
ScrobblingService: error reporting for scrobble() method ScrobblerAdapter: heuristics for determining track from Media Device
StatSyncing::Provider: work-around's partial case-sensitivity
LastFmServiceSettings: remove over-QLayout-ness
StatSyncing: ability to opt-out from fancy rating tags
LastFmService: big cleanup
StatSyncing: make it clear provider slows down syncing
StatSyncing: blacklist for label synchronization
StatSyncing: MatchedTracksPage: support drag in Unique and Excluded View
StatSyncing: MatchedTracksPage: add Expand and Collapse buttons
StatSyncing: MatchedTracksPage: fix UI according to Usability review
StatSyncing: mass label-conflict resolution, better UI
StatSyncing: implement label setting for collection tracks
StatSyncing: filter based on all columns in Matched Tracks dialog
StatSyncing::Controller: fix logic in slotUpdateNowPlayingWithCurrentTrack()
StatSyncing: support for writing tags, rating to
StatSyncing: core support for synchronizing labels
StatSyncing: don't suck when offering fields to synchronize
StatSyncing: don't add The::mainWindow() as parent of statsyncing dialog
StatSyncing: support for matching tracks
StatSyncing: match tracks case-insensitively
StatSyncing: export Provider and Track
StatSyncing: polish the UI to (near) perfection
StatSyncing: fix broken track matching due to QSharedPointer -> QSharedDataPointer
StatSyncing::Controller: full tracking of Providers
StatSyncing: move configuration to standard Configure Amarok.. dialog
ConfigDialog: split metadata options into separate category
ConfigDialog: formatting
StatSyncing: fix "Synchronizing Track Statistics" job progress bar
StatSyncing: make Provider QSharedData
StatSyncing: introduce ScrobblingService, adapt ScrobblerAdapter
ScrobblerAdapter: set correct timestamp when scrobbling
UmsCollection: More unique collectionId()
MultiTrack, EngineController: Fix MultiTrack API
Rewrite ScrobblerAdapter
EngineController: better docs for trackMetadataChanged() signal
ScrobblerAdapter, MainWindow: make banTrack() cleaner using loveTrack() example
EngineController: emit trackFinishedPlaying() in the middle of streams, too
StatSyncing: ChooseProvidersPage.ui fixuifiles
ScrobblerAdapter: remove unused methods
StatSyncing: better sizeHint()s, UI fixes, clean-ups
StatSyncing: paint rating beautifully using stars
StatSyncing: implement auto-synchronize on startup and collection appearance
StatSyncing: Implement saving of synchronized providers and fields
StatSyncing: Back button in the matched tracks dialog
StatSyncing: GUI: add page for the first step of the synchronization
StatSyncing: mass conflict resolution using "Take Ratings From" button
StatSyncing: proper capitalization
StatSyncing: MatchedTracksPage remember which tuples are expanded
StatSyncing: Status bar line in MatchedTracksPage
StatSyncing: support for recent play count for more accurate synchronization
Meta::Statistics: introduce recentPlayCount() and implement in IpodMeta
StatSyncing: disable "Updated" and "Conflicting" tracks item when there are none
StatSyncing: factor MatchedTracksPage out of Process
StatSyncing: more convenient rating conflict detection
StatSyncing: implement actual synchronization
StatSyncing: introduce Provider::writableTrackStatsData() and use it
StatSyncing: rating conflict resolution
StatSyncing: functional view filtering, update & conflict detection
StatSyncing: show fields that are going to be updated in bold
StatSyncing: renames, models, gui for matched tracks
StatSyncing: progress bar for matching track, abort-ability
StatSyncing: move to amaroklib, back-end for collections, track matching
StatSyncing: introduce core (abstract) classes and Controller

Ed Rogalsky committed changes in [kdenlive/feature/jack] /:

jack audio device implemented

Diffs: 1, 2, 3 Revision 094eb7d...

Networking Tools

Dan Vratil committed changes in [libkgapi] libkgapi/services/contacts.cpp:

Set fake year for birthday dates without year

Google supports birthdays without year specified, but KDE
does not, so we have to set a fake year (1900) when this
happens so that we get a valid QDate.

FIXED-IN: 0.4.4

Dan Vratil committed changes in [libkgapi/greader] /:

Intial Google Reader support

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 7dee6cd...
Martin Klapetek committed changes in [ktp-nepomuk-service] /:

Set all contacts to offline when account goes offline

The presenceChanged(..) signal is never emitted (bug in tp-qt?)
when the account disconnects and so Nepomuk is left with invalid
contact presences. This sets all contacts to offline when
the connection drops. The presence is re-set when the account
is online thanks to the presenceChanged(..) being emitted for all contacts.

Reviewed-by: David Edmundson
REVIEW: 107385

David Edmundson committed changes in [ktp-text-ui/kde-telepathy-0.5] /:

Add proper messageDirection depending on message.isRightToLeft()
Makes ktp-text-ui, rtl friendly.
Fun fact: I looked at Adium to see how they do it. According to their changelog, Kopete implemented the feature originally.
Circle of life? ;)


User Interface

Dan Vratil committed changes in [kscreen] /:

Introduce Output::DisplayScale property rather then magic constants

Use DisplayScale property to scale the actual output resolution
to something that we can display in the KCM. Better then having
magical "x / 6" or "y * 6" everywhere...

Diffs: 1, 2, 3, 4 Revision 32fc206...


Friedrich Karl Tilman Pülz committed changes in [publictransport] /:

Make provider model/dialog dynamic, better sharing

- ServiceProviderModel and LocationModel now connect to the data engine
to automatically update the models on changes,
makes syncWithDataEngine() functions obsolete
- ServiceProviderDataDialog now also connects to the data engine
and gets updated on changes
- Add ServiceProviderDataWidget for more flexibility, used by
ServiceProviderDataDialog, but can now be used without a dialog
- Show provider type and status message in ServiceProviderDataWidget
- Share ServiceProviderModel where possible,
eg. between StopListWidget and StopWidget
- Do not share engine pointers, instead use Plasma::DataEngineManager

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 547cc88...
Friedrich Karl Tilman Pülz committed changes in [publictransport] /:

Add provider states, prevent multiple feed imports

- Add provider states, currently only useful for GTFS providers,
use state "ready" if the provider can be used to get timetable data,
eg. because the GTFS feed was successfully imported
- Other states are "gtfs_feed_import_pending" and "importing_gtfs_feed"
- Publish state in service provider data sources, update on changes,
including state data like the progress of an import
or whether or not an updated GTFS feed is available
- Only allow to start a GTFS service job that accesses the database,
if no other such job is already running for the same provider,
ie. no two GTFS feed import jobs can run at the same time anymore
- Use provider states to check if a GTFS feed import is already running,
update state in the engine when a GTFS service job is started/finished
- Add base class AbstractGtfsDatabaseJob, automatically asks the engine
if it can be started to access the database,
do not emitResult() in start()
- Remove ServiceProvider::progress() signal and state handling from
ServiceProviderGtfs, it just needs to know if it is ready or not,
the engine prevents usage of providers which are not ready
- Add more functionality to DataSource classes, add derivates:
ProvidersDataSource, SimpleDataSource -> TimetableDataSource
- Store data for "ServiceProviders" and "ServiceProvider [id]" data
sources in one ProvidersDataSource object, but separate data of
the providers, ProvidersDataSource::data() combines data of all
providers for the "ServiceProviders" data source
- Add enumerable GtfsServiceError for errors in the GTFS service
- Close database connection before deleting it in the GTFS service
- Update documentation

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 1226270...
Aleix Pol Gonzalez committed changes in [muon/muon-exports] /:

Work further on data exporting

Only export when all the resources are added
Properly initialize the ApplicationsBackend
Close the application when done

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


Martin Klapetek committed changes in [ktp-nepomuk-service] account.cpp:

Use account service name if available

This will get us prettier names of the networks
like "google-talk" or "facebook" instead of just "jabber".


Development Tools

Milian Wolff committed changes in [kdevelop] /cpp:

Use union in PrimaryExpressionAST to reduce memory footprint.

On 64Bit machines, we had sizeof(PrimaryExpressionAST) == 64.
By using a union and enum this can be decreased to 40.

This can result in dramatically less memory consumption, esp. for
large qrc files e.g. In the case of the file attached to bug 291248
the memory consumption dropped by 200MB.

While the code handling is now a bit changed, I still think this
change is worth it. While at it, I've also refactored
ExpressionVisitor::visitPrimaryExpression. This gives us cleaner code
and should also be faster since we can use the token type instead of
doing string comparisons to find numbers.

KDE Base

Vishesh Handa committed changes in [nepomuk-core] services/storage/datamanagementmodel.cpp:

MergeResource: Merge them in batches of 10

Now with the nepomukcleaner, merge resources gets used a lot, and
sometimes we send it a lot of data to merge. The queries then get too
long and it flakes out.

Better to do it in smaller batches.

Jaime Torres Amate committed changes in [kdelibs/KDE/4.10] kdecore/services/kmimetype.cpp:

cache locally the favicon names

Caching locally the favicon names to make the bug 306338 much more
difficult to happen.
Also reduces Dbus messages. In my tests, selecting text in konsole
can produce more than 500 calls to this method.

REVIEW: 107358
DIGEST: An optimization to cache locally favicon names.


Sergio Luis Martins committed changes in [kdepim/new_todo_model] /views/todoview:

korganizer: Share the model between the two todo views.

Saves memory and cpu.


Arjen Hiemstra committed changes in [calligra/krita-sketch-rempt] krita/ui/canvas/kis_prescaled_projection.cpp:

More optimisation of the viewportMoved() method.

We actually do not need to use two QImages - one is enough. This saves
us a bunch of memory and some copying around of image data.

Networking Tools

Daniele E. Domenichelli committed changes in [ktp-common-internals/kde-telepathy-0.5] KTp/wallet-interface.cpp:

Avoid calling KWallet::openWallet several times

In order to avoid the problem when kwallet is closed while kcm accounts
is open, we introduced a bug: if more than one openWallet call is done
at the same time, we reset the scoped pointer with a new wallet, the
old wallet is deleted and therefore the signal is never emitted.

This patch uses avoids trying to open the wallet several times if it is
already being opened.

Reviewed-by: George Kiagiadakis
REVIEW: 107426

FIXED-IN: 0.5.2



Sebastian Gottfried committed changes in [ktouch] CMakeLists.txt:

don't install sound files for now

KTouch has lost the feature to play sounds on key presses and errors
because of low-latency sound issues with Phonon. Therefore installing
the sound files for it is rather pointless for now.