Issue 316

1st December 2013 by KDE Commit-Digest Team


Marta Rybczynska
Alex Fikl
Giacomo Barazzetti
Danny Allen

This Week...

KDevelop adds advanced features for string formatting completion in Python. Kate's vim mode gains even more options. Amarok can read lyrics from tags. KDE Telepathy supports haze/sipe protocol via a new plugin. Rekonq adds global zoom setting. KDE Frameworks continues in klipper, system tray, KAlgebra and more.


Commits 2046 by 157 developers
Open Bugs 21171
Open Wishes 15899
Bugs Opened 244 in the last 7 days
Bugs Closed 316 in the last 7 days

Commit Summary

Module Commits
Files Developer Commits
Laurent Montel
Nico Kruber
Martin Gräßlin
Boudewijn Rempt
Albert Astals Cid
Gilles Caulier
Yuri Chornoivan
Ralf Habacker
David Faure
Sebastian Kügler

Internationalization (i18n) Status

Language Percentage Complete
French (fr)
German (de)
Dutch (nl)
Italian (it)
Estonian (et)
Galician (gl)
Danish (da)
Hungarian (hu)
Catalan (ca)
Greek (el)

Bug Killers

Person Bugs Closed
Gilles Caulier
Christoph Feck
Jekyll Wu
Andrea Iacovitti
Dmitry Kazakov
Milian Wolff
Myriam Schweingruber
Lamarque Souza
Michal Humpula
Albert Astals Cid

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools

[] []    


  []    []


  []    []

KDE Base

[] [] []   []


[] [] []   


[] [] []   []




[] []    

Networking Tools


User Interface

  []    []







There are 75 selections this week

Bug Fixes

Development Tools

Ralf Habacker committed changes in [umbrello] umbrello/codeimport/nativeimportbase.cpp:

Fix broken python import when using multi line comments.

Searching for comment end tag should start *after* comment start tag,
otherwise the comment start tag will be interpreted as comment end tag too.

(cherry picked from commit f8777927eb3db9d3718f597335250b5057650184)

Ralf Habacker committed changes in [umbrello] /codeimport:

Fix crash importing python file with more than 32 classes.

(cherry picked from commit 098d0b47014506cceb96523ad0468d22ce47c7ad)

Michael Pyne committed changes in [kdesrc-build/option-handling-fixes] /ksb:

Fix bugs in option application to module-set modules.

Handling options for the modules generated from a module-set has always been
especially clunky, and at some point even the hacks failed and it became
impossible to do things like setting an option for a specific module picked out
of a larger module-set.

E.g. the idea was always that the following would work:

module-set foo
repository kde-projects
use-modules kdelibs kde-workspace kde-runtime
cmake-options -DCMAKE_BUILD_TYPE=Release
end module-set

# Override the above, but only for kde-runtime
module kde-runtime
cmake-options -DCMAKE_BUILD_TYPE=Debug
end module

Probably I should have named "module" as "options" or even "override" (and
that's still feasible), but in any event this has been broken for awhile:
whenever kde-runtime is built it would end up with a Release build type instead
of a Debug one.

Worse yet, the second mention of kde-runtime was handled as a separate module.
Usually this duplicate module was weeded out by accident during the dependency
resolution phase, but that leaves open the question of which internal Module
object was the "winner"... now we can't even rely on the option handling being
predictably broken.

This was partially helped by c565d4c which at least prevents the code from
spitting out duplicate modules from within a given module-set (which is quite
easy to do by accident with kdelibs).

This commit reorganizes the command line and option reading code to do the

- Add a "pending option" tracker, to hold option values that should be applied
to a named module, if one happens to be created, either via explicit
module-set expansion (e.g. if you ask for nepomuk-core or nepomuk-widgets) or
via implicit expansion (e.g. if you ask for kdemultimedia, you get juk and a
lot of others).
- Add a "selector" method which is responsible for translating module entries
on the command line into appropriate module-set or module selections from the
Modules and ModuleSets read in from the rc-file.
- Pass a subroutine to the module-set expansion method and the selector method
to ensure that any new Modules created as a part of either process are checked
for pending options (either from the rc-file due to the "override" module
method, or from the command line.
- While I was digging it out I made the long-overdue switch to Getopt::Long
away from my custom option parser. There are a couple of minor features lost in
this process but if they are needed I can add them back.

Now it should be possible to override options for individual modules within a
module-set. However as before, the module you wish to override *must* have been
mentioned somewhere before in a use-modules entry so that kdesrc-build can
recognize that it must hold onto those option values for later application. It
is still safe to mention a kde-projects module and its superset, they will be
re-ordered if necessary.


Ralf Habacker committed changes in [umbrello] umbrello/codeimport/pythonimport.cpp:

Fix bug not importing python classes without methods or members.

(cherry picked from commit 779a898aa79a9bac3de1b2cbb7f5a1cfa48bc45e)

Sven Brauch committed changes in [kdev-python] /:

Fix warning if __new__ argument is called cls, not self

This patch fixes a warning on __new__ method argument complaining about
the usage of self instead of cls.


Ralf Habacker committed changes in [umbrello] /codeimport:

Fix import of python import with multi line comments after declarations.

(cherry picked from commit e394b5a668be5e21bd38f06c1d313c0615e4900f)

KDE Base

Michal Humpula committed changes in [kate] part/vimode/katevinormalmode.cpp:

vi-mode: fix computation of zz cmd when folding

REVIEW: 114224

Michal Humpula committed changes in [kate] /:

vi-mode: make Finnish keyboard work properly

This commit is potentionally breaking non-latin keyboards
behaviour. On the other hand tests for it are not present
and manual confirmation in vim/gvim also failed.

REVIEW: 114212

Michal Humpula committed changes in [kate] /:
Michal Humpula committed changes in [kate] /:

vi-mode: fix normal mode "s" command repeat

make "4sfoo\\esc" work as expected

REVIEW: 114205

Michal Humpula committed changes in [kate] /:

vi-mode: return to correct mode from visual mode

adds KateViInputModeManager::getPreviousViMode() solve the issue

REVIEW: 114215

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

remove false noop breaking branches

FIXED-IN: 4.11.4

David Faure committed changes in [kdelibs/frameworks] /kcoreaddons:

KDirWatch: fix stop+restart scan for all backends

* The docs says no signal will be emitted, so disable the code that
was remembering the events in a list of "pending" events.

* Fix behavior difference between inotify and other backends, which would
even emit "created" when restarting the watching (completely wrong!)

* Adjust code that would trust QFSW rather than compare mtimes: clearly
it was written as a workaround for Windows ("adding files to directories
doesn't change the mtime on Windows"), so on Unix keep the mtime comparison
to avoid spurious signals when restarting the watching. The OS-dependent
behavior isn't great though.

So even though this makes KDirWatch behave more as documented
(no signal while watching is stopped), it still emits signals when
watching is restarted, on Windows. Could be fixed for individual files,
though, at least.

Martin Gräßlin committed changes in [kde-workspace/KDE/4.11] kcontrol/krdb/krdb.cpp:

Do not encode QString to QByteArray and cast it back to QString

This causes problem when there are Unicode characters in ${HOME}

REVIEW: 114219

FIXED-IN: 4.11.5

Michal Humpula committed changes in [kate/KDE/4.12] part/vimode/katevikeyparser.cpp:

vi-mode: fix unfunctional Del key

regression on KDE/4.12 branch

REVIEW: 114210

Friedrich W. H. Kossebau committed changes in [kdelibs/KDE/4.11] /:

fix crash in KZip on overwriting existing entries (+ unit test)

REVIEW: 114048

thanks Albert for review

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


André Wöbbeking committed changes in [kdepim-runtime/KDE/4.12] /imap:

Don't bother IMAP servers with not supported flags - part II

Added a Akonadi collection as parameter to ResourceTask::fromAkonadiToSupportedImapFlags()
to make sure that the method has always a collection to work with. Therefore the method
can also be static.

E.g. "forward" at least doesn't result in an error anymore.


Sandro Knauß committed changes in [kdepim/KDE/4.11] /job:

Fixes: Kmail Crashes when errors occure while sending mails

When a subjob fails just emitResult right after it ent exit the

FIXED-IN: 4.11.5
REVIEW: 114081

Dan Vratil committed changes in [akonadi] server/src/storage/itemretriever.cpp:

Fix regression in SQL query in ItemRetriever introduced in parttable-optimization

The query relies on LEFT JOIN returning NULL values in case item does not have
the requested part stored in Akonadi. We were however using LEFT JOIN...INNER
JOIN to join in PartTypeTable and we also had the condition to match part types
placed in WHERE instead of the JOIN, so if an item did not have the part stored
in Akonadi, it was filtered out from the results, exact oposite of what this
query is supposed to do.

This was revealed by GID migration unit-test in kdepim-runtime which started
failing after the parttable-optimization branch was merged to Akonadi.


Alexander Rieder committed changes in [cantor] /backends/sage:

fix typesetting for newer sage versions

Since version 4.12 sage doesn't support the command sage.misc.latex.pretty_print_default anymore.
Instead we use the %display ipython magic. In order to keep the code clean the
specific commands have moved to a dedicated python function "__cantor_enable_typesetting(enable)"
that gets declared on init and called by the backend when needed.
This patch also introduces a finer handling of version numbers instead of just having a simple
"legacy mode".

Tested with Sage versions 5.10 (old commands) and 5.12 (new command)

FIXED-IN: 4.12
(cherry picked from commit c3626842a34bd324d271a54b05076840cbd6e616)

Juan Palacios committed changes in [calligra] /:

Rework modify selection dialogs.

Add all supported units by KoUnit to border, feather, grow and shrink
selection dialogs.
Fix the layout of the dialogs.

Thanks to Boudewijn Rempt for review.
Thanks to Sven Langkamp for his help.

REVIEW: 114102

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

Fix the subpixel precision offset problem in Color Smudge Paint Op

This patch does two changes:
1) We save not the theoretical hotspot of the lastly painted dab, but
the real center of the dab.
2) Disables the calculation of the subpixel precision values for the dab
in Color Smudge Op. The point is, the Color Smudge Op needs to access
other areas of the image. And this access can be aligned only (yeah,
since non-aligned bitBlt is not possible). So using of subpixel
precision will 1) break alignment; 2) will make the calculation of the
real hotspot of the dab impossible.

Dmitry Kazakov committed changes in [calligra] /:

Fixed bugs in transitive reincarnation of the Clone Layers

This patch fixes two problems:
1) The Duplicate of a Group Layer will reset links inside internal
Clone Layers properly.
2) The removal of a group layer will reincarnate all the clone layers
which were connected to the descendants of that layer.

Dmitry Kazakov committed changes in [calligra] /image:

Fix Transorm Worker to shrink device bounds when doing scale-down

When doing a scale-down a great portion of the image becomes filled
with the default pixel. If the default pixel of a paint device is not
fully transparent, then the exactBounds() will not shrink automatically.
That is why we need to purge() all the default tiles of the paint device

Note: the Crop visitor needs *not* the same stuff, since
KisPaintDevice::crop() calls KisDataManager::setExtent() which
explicitly drops all the tiles outside of the requested area.

Special thanks to Boud, who has found the real cause of the bug!


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

collectionscanner: don't store dirs in shared memory, prevent size issues

We used to store all directories to scan in the shared memory, which
can exceed the 1M we reserve for it. Refactor the resume-on-crash
algorithm in order not to need this.

Thanks to Evert Vorster for noticing the problem and testing this patch.



Jaime Torres Amate committed changes in [knavalbattle] /ai:

always return a valid move to avoid the game freeze

When Controller::finalizeShot receives an Illegal move, it just does
not know what to do next, and the game freeze.
This patch implements the last option to return a valid move, searching
for a free cell one by one, therefore it becomes impossible to return
an Illegal move because or the computer wins or the opponen wins before
the board is empty of free cells.

Another solution for dummyAI could be to implement a list of
free cells and choose on them randomly.

REVIEW: 113854

Diffs: 1, 2, 3, 4 Revision e7e05ad...


Development Tools

Sven Brauch committed changes in [kdev-python] /:

advanced features for string formatting completion


Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 10a3752...
Sven Brauch committed changes in [kdev-python] /:

Rainbow color-highlighting for top-level variables

Enable rainbow-color highlighting for top-level variables if there are
no class or function declarations.
Currently it's also disabled if there are imports, although more by
accident than intentionally.


Sven Brauch committed changes in [kdev-python] parser/codehelpers.cpp:

optimize: avoid memory allocations in endsInside(...)

It's a few times faster like this.


Dennis Nienhüser committed changes in [marble] /plugins/runner/mapquest:

Road grade options for MapQuest routing

GCI task #5853014195699712

REVIEW: 114058

Jasem Mutlaq committed changes in [kstars] /ekos:

Preliminary support for autguide subframing

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


Albert Astals Cid committed changes in [okular] /:

Extend AudioPlayer so that it gives info about if something is playing at the moment or not

Reviewed by Jaydeep Solanki

REVIEW: 114019

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

Add new metadata tags filter option button with drop-down menu.
Add new option to not filter tags.
Rename "Full" tags filter as "Photograph"
Move tags search text field on top of metadata list view to optimize space visible on list-view
Add new metadata tags tools option button with drop-down menu to group all tools action and simplify GUI.

FIXED-IN: 4.0.0

KDE Base

Michal Humpula committed changes in [kate] /:

vi-mode: keep visual cmds in history for repeat

Make the "Vj>." and familiar just work.

REVIEW: 114143

Diffs: 1, 2, 3, 4 Revision 8d26ec8...
Harsh Kumar committed changes in [kate] /:

Added command g~~ in vimode

g~~ toggles the case of a line.
Also added automated tests for this command

REVIEW: 114136

Diffs: 1, 2, 3 Revision 04161c5...
Sebastian Kügler committed changes in [kde-workspace] /generic/applets/mediacontroller:

New mediacontroller plasmoid

Very basic plasmoid that uses the mpris2 engine to play/pause the
running track.

Diffs: 1, 2, 3, 4, 5 Revision 53a4bd8...
Martin Klapetek committed changes in [kde-workspace] plasma/generic/applets/digital-clock/contents/ui/DigitalClock.qml:

Improve locale time formatting in Digital Clock applet

Qt's QLocale does not offer any modular time creating like Klocale did,
eg. no "gimme time with seconds" or "gimme time without seconds and with

QLocale supports only two formats - Long and Short. Long is unusable in
many situations and Short does not provide seconds. So if seconds are
enabled, we need to add it manually to the Short format that QLocale
provides us.

That's done by JS regexp replace that looks for the delimiter between
"h" and "m", takes it and appends it after "mm" and then appends "ss"
for the seconds. Also it checks if the format string already does not
contain the seconds part.

Reviewed-by: Sebastian Kügler

Martin Klapetek committed changes in [plasma-framework] /declarativeimports/calendar:

Make the calendar applet follow current locale with first day in week

Also rename startDay property to firstDayOfWeek property so it's more
clear what it does. Handling the first day of week is changed a bit too
as QML uses 0 for Sunday while QDate uses 7 for Sunday, so the
getter/setter is accomodated to that fact and converts from 0 to 7 on
setting and vice-versa in the getter.

REVIEW: 114099

Diffs: 1, 2, 3, 4 Revision 224e1a6...
Michal Humpula committed changes in [kate] /vimode:

vi-mode: add "ZZ" and "ZQ" normal mode commands

REVIEW: 114207

Alex Turbov committed changes in [kate] /kate/pate/src:

Implement simple version checker for python plugin's dependencies.
PEP396 declare that module should have a `__version__' attribute
with 3-tuple of integers. Also, some bad modules have it as a string,
which is also handled.

X-Python-Dependencies now may have a version in a parenthesis possible
w/ leading version compare operator ('=' is omitted). The others are:
<, >, !=, <=, >=. Desktop files are fixed for the new style.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 2d0c80c...
Albert Astals Cid committed changes in [kdelibs/KDE/4.11] kdecore/io/klimitediodevice.cpp:

Make KLimitedIODevice::bytesAvailable return the numbers of bytesAvaliable to read

At the moment KLimitedIODevice::bytesAvailable is returning at least the size of the file, so QIODevice::atEnd never returns true because it thinks there are more bytes to read. This makes that if you feed an "invalid" svg like "<?xml version="1.0"?>" to the QImageReader it infinite loops believing there will be more stuff to read but then read() always returns 0 but then bytesAvailable says there are more and it stays there forever.

FIXED-IN: 4.11.5
REVIEW: 114226


Alexandr Akulich committed changes in [ktp-desktop-applets] /:

Contact: Implemented files transfer by appropriate button.

Added KIO dependency.

REVIEW: 114196

Laurent Montel committed changes in [kdepim] /:

Add merge contact widget

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

Start to implement new editor (editor with autocorrection)

Diffs: 1, 2, 3, 4 Revision 5f63f6f...
David Edmundson committed changes in [ktp-common-internals] /:

KTp/Contact: Implemented stream and dbus tubeServicesCapability.

Fixed ContactTubesRole in Models/ContactsListModel::data().

REVIEW: 114109

Diffs: 1, 2, 3 Revision 0480f7d...
Dan Vratil committed changes in [akonadi/1.11] /:

SQLite: Handle joins in UPDATE queries

Since SQLite does not directly support JOIN expression in UPDATE or UPDATE on
multiple tables at once, we have to convert the JOIN into a subquery in WHERE

The conversion is far from perfect, but it passes the unit-tests based on the
query that does this (I think there's only one such query in Akonadi that does
this, see FetchHelper::updateItemAccessTime())

This fixes updating atime on items from virtual collections when using SQLite

FIXED-IN: 1.11

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

Sender address is editable.

Free form editing of the FromAddress is possible, and saving/loading drafts
with a custom FromAddress works.

A huge thanks to Stephan Platz (paalsteek) for his patch. This commit is built
upon that very patch.

Laurent Montel committed changes in [kdepim] /:

Start to implement upload file on dropbox

Alexandr Akulich committed changes in [ktp-desktop-applets] /src:

Contact: Implemented files transfer by drag'n'drop.

REVIEW: 114132


Klaas Freitag committed changes in [kraft] /:

Show tax group depending on price visibility


Casian Andrei committed changes in [phonon/five] /:

Implement VideoSourceControl, AudioSourceControl

- first attempt
- builds
- not implemented in backends yet

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 5becc77...
Anmol Ahuja committed changes in [amarok] /:

Add support for reading lyrics from tags.

REVIEW: 113389

Diffs: 1, 2, 3, 4, 5, 6 Revision 889b703...

Networking Tools

Andrea Diamantini committed changes in [rekonq] /:

Added option for global zoom settings :)

David Edmundson committed changes in [ktp-accounts-kcm] /:

Add plugin for haze/sipe protocol support

REVIEWED-BY: David Edmundson

User Interface

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

Added Qt::Sheet to the list of windows to tag as transparent.


KDE Base

Raul Fernandes committed changes in [kde-workspace] kwin/scene_opengl.cpp:

Calculate the intersection only once

The intersection of rects are calculated twice without need.
The function QRectF::intersected() calculate and returns the intersection.
If there are no interesection, the returned QRectF is empty.
If the intersected QRectF is equal to QRectF argument, it contains the QRectF argument.

Reviewed in:


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

IMAP: do not overwrite flags with data from cache

There is no point in doing this and wasting CPU resources for something which is
already updated elsewhere. The flags are always maintained by the mailbox
synchronization; this code is just useless.

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

tree: preallocate memory for all TreeItemMessage instances during the mailbox sync

There is no measurable performance change on my test setup, which is expected --
the amortized cost of reallocating is still O(1) per element, i.e. O(n) for the
mailbox as a whole, and pointer copying is dwarfed by the overhead of dynamic
allocation of the actual nodes and other useful work, but it's still good style
to preallocate what is known to be needed in future.

Thanks to Thomas Lübking for suggesting this.

REVIEW: 114124


Boudewijn Rempt committed changes in [calligra] krita/plugins/formats/jpeg/kis_wdg_options_jpeg.ui:

Add a numerical input field to the compression slider

Also update the tooltip and make the layout a bit tighter.

D +- -- krita/plugins/formats/jpeg/bla.jpg


Eike Hein committed changes in [yakuake] app/mainwindow.cpp:

Correctly catch offscreen panels when building the exclude list for workArea().



Aleix Pol Gonzalez committed changes in [kalgebra/kf5] /plugins/widgets/harmattan:

It doesn't seem to be very likely that Nokia releases a phone with Qt5 ;)

We can always resurrect it from KDE4 if some platform stills keeps using
Qt Components instead of the QtControls with Qt5.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 661dc5c...
Albert Astals Cid committed changes in [kgeography] data/turkmenistan.kgm:

Add capitals to Turkmenistan regions that have them different from the name of the region

Thanks to MinSik CHO and the Google Code In program

Aleix Pol Gonzalez committed changes in [kalgebra/kf5] /plugins/widgets/qtcontrols:

First approach to QtControls backend for kalgebramobile

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


Miika Turkia committed changes in [kphotoalbum] ImageManager/ThumbnailCache.cpp:

Make thumbnail cache readable by all users.

This makes sharing a kphotoalbum database actually possible.

Gilles Caulier committed changes in [digikam] digikam/filters/textfilter.cpp:

to be more generic, use "item" instead "image" on text filter options

KDE Base

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

[powerdevil] port XRandRX11Helper to XCB

Basically write a new helper using QAbstractNativeEventFilter which
means having to use xcb.

I haven't been able to test this since my workstation doesn't have a
backlight atom, will test and polish later.

Diffs: 1, 2, 3, 4, 5 Revision e034fdc...
Lukáš Tinkl committed changes in [kdelibs/KDE/4.12] solid/solid/backends/udisks2/udisksstoragedrive.cpp:

detect removable devices more reliably with udisks2 backend

Martin Gräßlin committed changes in [kde-workspace] libs/ksysguard/processui/ksysguardprocesslist.cpp:

[processui] Disable KAuth code

Unfortunately someone forgot to update the KAuth documentation or provide
porting notes. Which just makes it impossible to guess how the API could

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

Make statusnotifieritems mostly work

- scroll events work (so volume control via kmix works)
- activation and deactivation works (toggling window)
- rmb triggers attached menues, but position is not yet mapped

Progress. =)

Diffs: 1, 2, 3, 4 Revision 75e7c70...
Martin Gräßlin committed changes in [kde-workspace] /:

[ksysguard] Adjust CMakeLists.txt to build KSysguard

And with that KSysguard is back, but the FancyPlotter looks a little
bit broken...

Diffs: 1, 2, 3, 4 Revision 08a4521...
Martin Gräßlin committed changes in [kde-workspace] CMakeLists.txt:

Welcome back klipper


Allan Anderson committed changes in [kmymoney] /dialogs:

- Unwanted fields show in ledger for investment - reinstate Interest category for Sell activities.

Boudewijn Rempt committed changes in [calligra] /plugins/formats/jpeg:

Remove unused widgets from jpeg export dialog

The preview checkbox was already hidden, and I'd never even noticed
the grayed out 100KB label -- but that was also never implemented.

At this moment, I don't see it getting implemented either, so remove
these widgets altogether.

User Interface

Martin Klapetek committed changes in [plasma-framework] src/declarativeimports/calendar/calendar.cpp:

Shuffle the code around a bit

These methods are in the middle of other together-related methods, for
no reason. Looks like corn flakes in the middle of beer. Sure, you can
do that, but why would you. Actually I should try that.