Issue 219

22nd January 2012 by KDE Commit-Digest Team

Contributors

Vladislav Blanton
Jaka Kranjc
Mutlu Inek

This Week...

Work on lambda expressions and handling of the override token in c++11, C# import, new features in list generator for Python in KDevelop. Solid APIs are now used for DPMS (VESA Display Power Management Signaling) service jobs in kde-workspace. In Calligra, basic GUI for the character styles in the style manager, first version of the lindenmayer brush, new OpenFormula functions: CELL, SHEET and SHEETS; introduction of Page Layout tool. Unified album artist handling in Amarok; Albums with same name but different album artist are now correctly separated in USB Mass Storage, iPod and various online service collections. Support extended mouse coordinates in Konsole. Closer integration of KSudoku and the new generator/solver.

Statistics

Commits 2844 by 197 developers
Open Bugs 21696
Open Wishes 17178
Bugs Opened 565 in the last 7 days
Bugs Closed 516 in the last 7 days

Commit Summary

Module Commits
/trunk/l10n-kde4
370
 
/branches/stable
114
 
/trunk/KDE
59
 
/trunk/l10n-support
39
 
/trunk/www
25
 
/branches/KDE
18
 
/trunk/kdesupport
17
 
/generic/tools
17
 
/dolphin/src
16
 
/branches/work
16
 
Files Developer Commits
258
 
Gilles Caulier
88
 
240
 
Albert Astals Cid
80
 
171
 
Sebastian Trueg
59
 
171
 
Jörg Ehrichs
58
 
150
 
Yuri Chornoivan
51
 
147
 
Roman Paholík
49
 
141
 
Laurent Montel
47
 
141
 
Dennis Nienhüser
47
 
114
 
Laszlo Papp
45
 
123
 
Milian Wolff
43
 

Internationalization (i18n) Status

Language Percentage Complete
Dutch (nl)
94%
 
Estonian (et)
94%
 
German (de)
94%
 
French (fr)
93%
 
Italian (it)
91%
 
Low Saxon (nds)
88%
 
Danish (da)
86%
 
Chinese Traditional (zh_TW)
85%
 
British English (en_GB)
85%
 
Catalan (ca)
84%
 

Bug Killers

Person Bugs Closed
Jekyll Wu
79
 
Thijs Heus
58
 
Aleix Pol Gonzalez
34
 
Peter Penz
19
 
Anne-Marie Mahfouf
17
 
Dawit Alemayehu
15
 
Myriam Schweingruber
14
 
Ben Cooksley
12
 
Gilles Caulier
12
 
Andrea Diamantini
12
 

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

Bug Fixes

Development Tools

Milian Wolff committed changes in [kdevelop/4.3] /cpp:

c++11 support: properly report uses for lamba captures

Niko Sams committed changes in [kdevplatform/1.3] plugins/execute/nativeappjob.cpp:

Fix execute in external terminal for executables with spaces in path


FIXED-IN: 4.3

Aleix Pol Gonzalez committed changes in [kdevplatform] plugins/standardoutputview/outputwidget.cpp:

Don't leave invalid pointers on the proxyModels hash.

Aleix Pol Gonzalez committed changes in [kdevelop] /cmake:

When a variable is empty, resolve it as an empty argument

Doesn't have anything to do with the bug description but
it's what was going on there.

Ralf Habacker committed changes in /trunk/KDE/kdesdk/umbrello/umbrello:

Merged widget size limiting methods and idea from soc-umbrello branch.

The merge has been done according to the merge plan on bug 290952
It solves also bug 291837.

Nick Shaforostoff committed changes in /trunk/KDE/kdesdk/lokalize/src:

request spell dictionaries with their full code (language_COUNTRY),
because this is the format hunspell/myspell have their dicts named in

Educational

Aleix Pol Gonzalez committed changes in [kalgebra] src/graph3d.cpp:

Fix colors on graph3d

In some occasions the colors used in 3D graphs were NaN and some
opengl implementations drew it differently than others. Find a
common place where it always works.

Patch contributed by Nikita Skovoroda.

Dennis Nienhüser committed changes in [marble] src/lib/routing/Route.cpp:

Ignore invalid turn points.

Most notably this happened when a route consists only of one large,
unnamed segment (Yours).

Dennis Nienhüser committed changes in [marble/KDE/4.8] /:

Do not delete plugin instances. Fixes segfaults with multiple widgets.
(cherry picked from commit 8f5d08a5d4dd8a78536327bd73ac170303655790)


FIXED-IN: KDE-4.8.0

Bernhard Beschow committed changes in [marble/KDE/4.8] /:

instantiate event loops in runner plugins rather than in RunnerTask and instantiate runners in background threads

Instantiating the event loops in the runner plugins rather than in RunnerTask resolves weired usage of QEventLoop: The synchronous runners were finished before QEventLoop::exec() was called. Somehow the finished signal of the runners still managed to quit the loop, such that exec() wouldn't block. Until Qt 4.8 we might just have been lucky...

Instantiating runners in the background thread avoids thread affinity issues wrt. to QEventLoop. In particular, QEventLoop instances would block a background thread forever because calling quit() or exit() wouldn't cause exec() to return.


FIXED-IN: 1.3.0
REVIEW: 103711

Graphics

Albert Astals Cid committed changes in [okular/KDE/4.8] ui/annotationproxymodels.cpp:

Qt decided to start passing invalid indexes to mapFromSource, do not crash on them


FIXED-IN: 4.8.0

Gilles Caulier committed changes in [digikam] /:

Remove SuperImpose tool from digiKam image editor. This one been pretty old and used yet Qt3 support class.
PhotoLayoutEditor tool from kipi-plugins must be used now instead. Template support using SVG file have been
added by Lukas during Coding Sprint 2012 at Genoa. It will be avaialble for next release 2.6.0.


CC
CC
CC
CC

KDE Base

Sebastian Kügler committed changes in [declarative-plasmoids] /:

UserInfo improvements

- don't connect more than once, dataUpdated will simply not be fired.
Makes updating from previously loaded users work.
- layout and info improvements
- better sizing of avatar in posting widget

Diffs: 1, 2, 3 Revision 6d8fb13...
Shaun Reich committed changes in [kde-workspace/plasma/sreich/plasmasvgvie] plasma/generic/tools/svgviewer/svgviewer.cpp:

load svg properly, get pixmap and make the qlabel load it

it WORKS!! nice to see it finally coming together...still a long ways to
go though of course.

Sebastian Trueg committed changes in [kdelibs/KDE/4.8] kio/kio/accessmanager.cpp:

Avoid using a nested event loops for synchronous XMLHttpRequest by letting
Qt's networking code, which can block without a need for a local event loop,
deal with such requests.



FIXED-IN: 4.8.0

Sebastian Trueg committed changes in [kdelibs/KDE/4.8] /kfile:

Make sure that paths selected via the file dialog are properly quoted. Since the
line edit expects shell-style quoting, this patch avoids file-not-found errors
when selecting a path that contains whitespace or special characters.


FIXED-IN: 4.8
REVIEW: 103602

Philipp Knechtges committed changes in [kde-workspace/KDE/4.8] /:

kwin: fixing high cpu usage bugs

In some unfortunate situations it is possible that a window is deleted
before it is marked ready_for_painting=true. The last point is
especially troublesome for effects that reference the deleted window.

Many thanks to Elias Probst for all the testing.



REVIEW: 103733

Sebastian Kügler committed changes in [kdeplasma-addons/sebas/userinfo] /microblog:

user image fixes, user info improvements

- Avatars have rounded corners
- user info reloading is made possible
- more sensible error handling, prevents eating stupid data and
generating nonsensical network requests

Diffs: 1, 2, 3, 4, 5 Revision d78cce4...
Frank Reininghaus committed changes in [kde-baseapps] /src/kitemviews:

Make PageUp/PageDown work in Dolphin's new view engine


FIXED-IN: 4.8.0
REVIEW: 103721
(cherry picked from commit e56a363aa6106477fa1577cb0b1bc2a6389910c8)

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

Use relative paths in config file

konsolerc uses in 'Favorites Profiles' and 'Profile Shortcuts' the full
path. Changing this to relative path (if in a KDE location) allows
one user can copy then to another.

FIXED-IN: 4.9

REVIEW: 102749

Marco Martin committed changes in [kde-workspace/KDE/4.8] plasma/generic/applets/devicenotifier/package/contents/ui/DeviceItem.qml:
Peter Penz committed changes in [kde-baseapps] /src/kitemviews:

Disable smooth-scrolling dependent on the graphics-effect level

If the graphics-effect-level has been set to NoEffects (systemsettings -> Appearance
-> Style -> Fine Tuning), the smooth scrolling in Dolphin will be disabled.

Additionally the duration for the smooth-scrolling has been decreased from 200 ms
to 100 ms to reduce the lag.

A wrong calculation of the end-value has been fixed that might trigger
a wrong position of the content.



FIXED-IN: 4.8.0

Dawit Alemayehu committed changes in [kdelibs/KDE/4.8] kio/kio/accessmanager.cpp:

Avoid using a nested event loops for synchronous XMLHttpRequest by letting
Qt's networking code, which can block without a need for a local event loop,
deal with such requests.



FIXED-IN: 4.8.0

Peter Penz committed changes in [kde-baseapps] /src/kitemviews:

Do a synchronous layout for dynamic item sizes when changing the geometry

This prevents a delayed update when resizing the window e.g. in the details
view. As no animated item position changes can happen for dynamic item sizes
the synchronous relayout is fine from a performance point of view.


FIXED-IN: 4.8.0

Ignat Semenov committed changes in [kde-baseapps/KDE/4.8] plasma/applets/folderview/iconview.cpp:

Fix the icon text misalignment with the focus frame on icon shrink.

Lamarque Souza committed changes in [kactivities/ivan/activity-encryption] /:

Several fixes:

. make EncryptionManager::Private::terminateActivityEncryption()
asynchronous.

. add signal EncryptionManager::activityEncryptionChanged()
to inform the activity dataengine when encryption option changes for an
activity.

. fix removing encfs configuration file when disabling encryption.

. emit signals EncfsInterface::mounted() and EncfsInterface::unmounted()

. some small optimizations.

Diffs: 1, 2, 3, 4, 5, 6 Revision 526a3d2...
Sebastian Kügler committed changes in [declarative-plasmoids] /:

more layout and interaction improvements

Diffs: 1, 2, 3 Revision 038d7ed...
Frank Reininghaus committed changes in [kde-baseapps] /src/kitemviews:

If an item is clicked to trigger it, clear the rest of the selection

Note that the clearing is not done on mouse press, but on mouse release.
The reason is that there are situations when multiple items are selected
and pressing the mouse on one of them should not clear the selection
(e.g., drag and drop of multiple items).


REVIEW: 103703
FIXED-IN: 4.8.0
(cherry picked from commit 9f711b5f2e1d1fd856cd6b033e6adb96f9b46d8a)

Ingomar Wesp committed changes in [kdelibs/KDE/4.8] /kfile:

Make sure that paths selected via the file dialog are properly quoted. Since the
line edit expects shell-style quoting, this patch avoids file-not-found errors
when selecting a path that contains whitespace or special characters.


FIXED-IN: 4.8
REVIEW: 103602

Dawit Alemayehu committed changes in [kde-baseapps] dolphin/src/views/dolphinremoteencoding.cpp:

When populating the "Show Remote Encoding" menu, put the check mark besides
the correct saved remote encoding charset.


FIXED-IN: 4.8.0
REVIEW: 103730
(cherry picked from commit 8f231bd08134f7b1870a9c1747429c1b05174d62)

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

Do not make items invisible when turning off previews

This commit fixes a problem in KItemListView::doLayout(): This function
assumed that firstVisibleIndex is a constant.
However, if the view is scrolled to the bottom with previews enabled,
and then previews are disabled (and the icon size is much smaller
without previews), this function changes the scroll offset, which also
changes the the first visible index. Using the unchanged variable causes
trouble later on (i.e., it makes items which are actually inside the
view area invisible).
lastVisibleIndex is not needed before the scroll offset change and is
const after that, so its calculation is moved a few lines down.

FIXED-IN: 4.8.1
(cherry picked from commit cc8f5b4939062df44ce0bd314ac4ae04973b9830)

KDE-PIM

Daniele E. Domenichelli committed changes in [ktp-auth-handler] x-messenger-oauth2-auth-operation.cpp:

Fix X-MESSENGER-OAUTH authentication when token is expired

Allen Winter committed changes in [kdepim-runtime] plugins/akonadi_serializer_mail.cpp:

in parts(), add a crash guard against an empty KMime::Message payload


MERGE: 4.8
FIXED-IN: 4.8.1

Laurent Montel committed changes in [kdepim] kmail/kmsearchmessagemodel.cpp:

Fix Bug 285879 - show preview for search results to avoid open each mail

separately
FIXED-IN: 4.9

Laurent Montel committed changes in [kdepim] /filterimporter:

Improve thunderbird filter import

David Faure committed changes in [kdepim-runtime] /imap:

Rework handling of connection failures, to fix crashes.

Testcase: unplugging my network cable, waiting for timeouts, plugging it
back again later, check mail.

* Port from deprecated connectionLost to stateChanged, which has the major
benefit of not confusing "failure to connect" with "we lost our connection"
(due to KIMAP::Session emitting both signals for compat reasons).

* Failure to connect is now handled in the result slot for the LoginJob,
rather than via the connectionFailed signal, since the first one is called
anyway.

* Make sure we emit connectDone on error, even if m_initialConnectDone is true,
so that the resource sets itself to offline (rather than it attempting the
same task over and over again!).

* Don't set the resource status to Broken when it's simply offline
(login failure due to "could not connect" is handled separately now)

* Make sure not to pop up a password dialog when couldn't connect; this
is different from "we could connect but the server refused login".

Requires kdepimlibs commit acdb0f7e50 for ERR_COULD_NOT_CONNECT.

FIXED-IN: 4.8

(cherry picked from commit 757f464e5de7f992d0bfcb90dc97d4ea40df47d5)

David Jarvie committed changes in [kdepim] /:

Bug 290050: Ensure that Akonadi resources exist for all alarm types

If no Akonadi resource exists for any alarm type (active, archived,
template) on KAlarm startup, create a default alarm calendar
resource. This ensures that if by error a calendar type is missing,
the user can still operate KAlarm without needing to manuallly
create calendars.

Laurent Montel committed changes in [kdepim-runtime] /imap:

Fix Bug 287180 - Missing Server Side Subscription context menu

FIXED-IN: 4.9

Sergio Luis Martins committed changes in [kdepim/enterprise/e3] korganizer/koeditorgeneral.cpp:

"Enable Reminder for New Events" is only for *new* events.

Do not turn on reminders for existing events/to-dos.

kolab/issue4813

Office

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

fix zotero sync bug where the etag value wasn't updated correctly

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 63ca14d...
C. Boemann committed changes in [calligra] /:

Make printing not show textselections or formatting characters

Gopalakrishna Bhat committed changes in [calligra] /kotext:

Fix the heading numbering and roundtripping issue in
www.ivoa.net%2Finternal%2FIVOA%2FIvoaGridAndWebServices%2FVOSupportInterfacesMandatory-%30.26.odt that Zagge reported

Diffs: 1, 2, 3, 4 Revision 5c72d79...
Robby Stephenson committed changes in [tellico/2.3] /:

Attempt to fix crashing bug in scanner dialog

The multi-threading in the KSane library can still cause issues
enough that I can cause a crash if I cancel/close/open the dialog
several times. But at least now it doesn't crash immediately

Diffs: 1, 2, 3 Revision 954ad1e...
Burkhard Lück committed changes in [calligra] /functions:

fix Fix wrong function type descriptions in tables/functions/*xml files
changed all int/IntType/Integer to the proper Type string Int + Bool to Boolean
REVIEW:103710

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

add blogpost, forumpost, webpage and fix some im/export errors with it

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision a4d6acf...
Gopalakrishna Bhat committed changes in [calligra] /:

Check if the list is actually stored in KoTextDocument before accessing it.

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

Refactor the sidbarwidget. Widget will not be created again and again after the selectio nchanged

* Widgets will only be created on startup
* Added new widgets for the search result view, library view and mail view
* this introduce some problems with the qcompleter. they won't get updated anymore

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision aefbbd5...
Thorsten Zachmann committed changes in [calligra] /:

Fix changing of anchor properties

This also makes it possible to undo/redo the changing of anchoring of shape.
It makes sure that all is done inside a command so that it is undoable.

This also fixes a crash that happens when you do the following:

- Open a blank document
- Type some text
- Insert a rectangle.
- Make it anchored to paragraph
- Undo until the rectange is removed
- Insert a new rectangle.
- Anchor it to the paragraph.
-> crash

Diffs: 1, 2, 3 Revision b6bf98d...
Boudewijn Rempt committed changes in [calligra] krita/ui/kis_doc2.cc:

Check whether we have an image before dereferencing

Everywhere in KisDoc2 we check whether we've got an image before using
except in these two places.

Cyrille Berger Skott committed changes in [calligra] /plugins/extensions/shiva:

Partial fix: preview of shiva filters
Fix: image generator not being centered

use image bounds to set the IMAGE_WIDTH and IMAGE_HEIGHT values in the filter/generator.

C. Boemann committed changes in [calligra] /kotext:

Setting a Character Style on a selection had several flaws which are
all fixed in this commit:
- the paragraph char properties were not used
- edit protection was ignored
- selection spanning blocks need to take into account that the
blocks may have different parstyles
- inline objects and changetracking properties were forgotten

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

- Use KFileDialog::getExistingDirectoryUrl() instead of KDirSelectDialog::selectDirectory() which clearly has some platform issues on
Windows.

This results in the same behaviour on Linux but on Windows it means that the native directory selection dialog will be opened.
I think this solution is better then waiting for a fix in kdelibs on Windows for the following reasons:
1. In the docs of KDirSelectDialog::selectDirectory() it is stated that it's equivalent with KFileDialog::getExistingDirectoryUrl()
2. The native directory selection dialog works on Windows while the KDE dialog needs a patch to avoid an infinite loop (will contact the KDE on
Windows team regarding this)

Lukáš Tvrdý committed changes in [calligra] krita/plugins/paintops/libpaintop/kis_brush_option.cpp:

Fix crash when preset is invalid

o sometimes presets might be old or corrupted and does not contain
defintion for KisBrush (e.g. current default preset for spray )
In that case use the KisBrush definition set by brush editor
GUI defaults.

o fixes crash when you start krita, select spray brush,
uncheck "Spray shapes", paint, crash

Thorsten Zachmann committed changes in [calligra] libs/flake/KoTosContainer.cpp:

Don't transform the TextShape of a TOS

This fixes bug 291751 - Text in rotated Shape is rotated twice as much as the shape
The text is rotated with it's parent so it does not need to be rotated too.

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

Filterop: handle the case when the current filter isn't set

C. Boemann committed changes in [calligra] libs/textlayout/KoTextLayoutArea_paint.cpp:

Fix that underlining of lines that don't have a natural break space will
have underlining of a char too little.

We also follow the MS convention to not underline blanks at the ned of the
last line (LO does)

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

simplyfy bibtex/nepomuk im-/exporters fix some bugs on the way

Diffs: 1, 2, 3, 4 Revision 6f54965...
Sven Langkamp committed changes in [calligra] /plugins/filters/wavefilter:

fix wave filter neededRect

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

- OFX files with UTF-8 data can now be imported correctly.

Construct all strings that are comming from libofx with the QString::fromUtf8() function.

Multimedia

Harald Sitter committed changes in /trunk/KDE/kdemultimedia/dragonplayer/src/app/stateChange.cpp:

Stop dragon from releasing the same inhibition cookie twice.

Thanks to George Stephanos for the patch.

REVIEW: 6888

Ralf Engels committed changes in [amarok] /playlist/view/listview:

Update playlist selection at appropriate time when text changed in search

When "show only matches" is enabled the listview tries to select the track
and emit a signal about whether or not it matched before the proxy timeout
has triggered the update. This happens to work anyway when additional
keystrokes are narrowing the results but causes problems when I typo. For
example, in my play list, "laz" returns 15 results and "lazz" returns 0.
If I then backspace the second "z", it doesn't select the top track and
the lineedit widget still appears in red.

This is a fairly direct solution: moving the relevant selection code to
the timeout handler with some member vars to store the required arguments.
If there's a better way to go about it please let me know and I'll try to
bring it up to scratch.

Author: Thomas Karpiniec

REVIEW: 101974

Ralf Engels committed changes in [amarok] /:

Prevent FavoredRandomTrackNavigator choosing files chosen very recently

Author: Brendon Higgins


FIXED-IN: 2.6
REVIEW: 101836

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

Fix crash in Meta::MediaDeviceHandler::setupAlbumMap() (my bad)

Thanks for your report,, I made a mistake when
refactoring other code in Amarok.

Trever Fischer committed changes in [phonon-gstreamer] gstreamer/pipeline.cpp:

Hold a reference to the pipeline so that we may delete it behind our backs safely

Ralf Engels committed changes in [amarok] src/context/engines/lyrics/LyricsEngine.cpp:

Fix lyrics autorefresh in some cases.

There were some issues mostly when playing streams. Lyrics would stuck
with empty text and wouldn't autorefresh until the track was changed or
manually refreshed. That's because cachedLyrics() is always empty for
streams. Therefore it makes sense to additionally check if either artist
or track title have changed as well.

Author: Modestas Vainius

REVIEW: 102110

Networking Tools

Andrea Diamantini committed changes in [rekonq] /:

Rework on load/stop/reload action

Also clean up API, giving proper names to method
updateActions --> updateHistoryActions
browserTabLoading(bool) --> currentTabStateChanged()
...

also workaround problem that m_progress is (yet) 0 or 100 when load started

REVIEW:103651

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 167c9c5...
Andrea Diamantini committed changes in [rekonq] /:

Move icon manager download system to QNAM
& Search also for favicon.ico files

This seems to be the unique method to surely workaround this bug
rekonq encounters when tries to load an unextant favicon with KIO (see

)

David Edmundson committed changes in [ktp-contact-list] tooltips/tooltipmanager.cpp:

Tooltip manager should store QPersistentModelIndexes not QModelIndexes

fixes a crash

Andrea Diamantini committed changes in [rekonq] src/webview.cpp:

Consider also editable content

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

Correctly rejoin chatrooms on reconnect

Reviewed by: Martin Klapetek

Lamarque Souza committed changes in [networkmanagement] /:

Do not use null pointer when updating WirelessInterfaceItem.

Lamarque Souza committed changes in [networkmanagement] settings/config/mobileconnectionwizard.cpp:

Show APN string for the APN seleted by the user in Mobile Connection
Wizard.
Thanks Swami Dhyan Nataraj (Nikolay Shaplov) for this patch.

User Interface

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

disable enable parent widget update when hiding. This seems to prevent some
artifacts in e.g. amarok, or dolphin (to be confirmed).

Nuno Fernades Pinheiro committed changes in /trunk/kdesupport/oxygen-icons:

Bug 290632 - Please provide an icon for dolphins grouping mode-fixed report to peter penz for inclusion name of the icon (view-group)

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

Utilities

Lamarque Souza committed changes in [kactivities/ivan/activity-encryption] service/encryption/EncfsInterface.cpp:

Fix memory leak. Keep list of mounted encfs directories until it is not
used.

Jonathan Michael Thomas committed changes in [muon] updater/ChangelogWidget.cpp:

Do not null the package pointer when hiding the changelog widget.
If it hasn't downloaded the changelog yet, it will crash when the changelog is downloaded.


FIXED-IN:1.2.95

Jonathan Michael Thomas committed changes in [libqapt] src/worker/worker.cpp:

Properly quote filenames given to dpkg, or else filenames containing spaces will be
improperly truncated, causing dpkg to fail.

Volker Lanz committed changes in /trunk/extragear/sysadmin/partitionmanager/src/plugins/libparted/libpartedpartitiontable.cpp:

Check if the ped disk could actually be opened before trying to destroy it.

Games

Laszlo Papp committed changes in [gluon] /:

Fix "Check that file ends with a newline [endswithnewline]..."

Laszlo Papp committed changes in [gluon] core/gdl/writer.cpp:

Fix "Check for foreach loop issues [foreach]..."

Laszlo Papp committed changes in [gluon] /:

Fix "Check for C++ ctors that should be declared 'explicit' [explicit]..."

Diffs: 1, 2, 3 Revision 823591d...
Michał Dutkiewicz committed changes in /trunk/kdereview/plasma/applets/adjustableclock:

Update to 3.0:
- cleaned up clock format editor;
- replace placeholders menu by dialog exposing some additional options;
- new placeholders, no longer based on strftime() syntax;
- added possibility to to use simple conditional statements and display results of script expressions;
- allow to override mode of possessive form of month name (using + or - infix);
- allow to show time from multiple timezones (displayed in tool tip by default);
- allow to display events (displayed in tool tip by default);
- allow to display only characters range of substitution;
- allow to access placeholder dialog from format fields;
- allow to toggle use of standard background;
- allow to embed clickable links;
- improved formats storage;
- some code cleanups and fixes.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 10 more) Revision 1273671
Pierre Ducroquet committed changes in /branches/KDE/4.8/kdegames/konquest:

Several fixes :
- restore end game
- properly clean up the game
- rework game over detection

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 1274020
Frederik Gladhorn committed changes in /trunk/KDE/kdegames/kigo/src:

Fix loading of games.

Improve sgf parsing.
Leave it to gnugo to figure out the number of moves.
This went wrong even with the examples we ship since they contain variations.
Display more of the properties of loaded games.
Clean up the loading/starting of games and move it to the same position as the
status docker.

Diffs: 1, 2, 3, 4 Revision 1274873
Laszlo Papp committed changes in [gluon] /:

Fix "Check single-char QString operations for efficiency [doublequote_chars]..."

Diffs: 1, 2, 3 Revision 33838c1...

Other

Davide Bettio committed changes in /trunk/KDE/kde-wallpapers/Castilla_Sky/contents/images:

Added missing resolutions to Castilla Sky wallpaper.

Features

Development Tools

Milian Wolff committed changes in [kdevelop/4.3] /cpp/parser:

c++11 support: properly handle override token in parser

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 5813870...
Niko Sams committed changes in [kdevplatform] /breakpoint:

add context menu to breakpoint mark in kate icon border

Depends on the latest kate 4.8 version (without the menu will
not be shown)

Will not be in KDevelop 4.3 because of new strings.

Milian Wolff committed changes in [kdevelop/4.3] /cpp/cppduchain:

c++11 support: first work towards proper DUChain integration of lambda expressions

- a lambda expression now properly gets a function type associated
- the lambda declarator now is represented by a function context
which gets imported into the body of the lambda expression

known problems:
- the surrounding context is still implicitly imported into the
body context
- the return-type is not properly computed in cases where no
explicit trailing return type is given but only a single
return statement in the body instead
- lambda captures are still not handled at all

Andi Fischer committed changes in /trunk/KDE/kdesdk/umbrello/umbrello:

Import for C# added. The class CSharpImport is not yet finished and needs much more work.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 1274012
Ralf Habacker committed changes in /trunk/KDE/kdesdk/umbrello/umbrello:
Sven Brauch committed changes in [kdev-python] /:

Support fancy features for list generator variables.

Among them now: proper content type support for list/dict generators:
d = [1, 2, 3, "foo"]
l = [item for item in d] -> list of unsure(int, string)
and of course highlighting of iterator variables.

Diffs: 1, 2, 3, 4, 5 Revision e8b4a17...
Niko Sams committed changes in [kdevplatform] /variable:

add break on change action to context menu in variables tool view

Won't be in KDevelop 4.3 because of new strings

Milian Wolff committed changes in [kdevelop/4.3] /cpp/parser:

c++11 support: properly handle class-virt-specifier tokens in parser

Diffs: 1, 2, 3, 4, 5 Revision feee3b0...
Niko Sams committed changes in [kdevelop/4.3] debuggers/gdb/gdbvariable.cpp:

show error in variables view when gdb returns an error

don't use the returned msg from gdb as it has no real value
and refers to implementation details
("-var-create: unable to create variable object")

Graphics

Dario Freddi committed changes in [okular] /:

Make Okular inhibit sleep and screen power management when in Presentation mode

REVIEW:103713
(cherry picked from commit 1a31dffca9f8e446d61cf0ffd889000d491797ca)

Diffs: 1, 2, 3 Revision bc182d3...
Marcel Wiesweg committed changes in [digikam] /dmetadata:

Add fine-grained control over rotation behavior to MetadataSettings via a RotationBehaviorFlag field

Gilles Caulier committed changes in [digikam] utilities/cameragui/main/cameraui.cpp:

use ProgressManager with Import Tool

KDE Base

Dario Freddi committed changes in [kde-workspace] /generic/dataengines/powermanagement:

Add an operation for accessing screen power management inhibition facilities in the power management engine

Sebastian Kügler committed changes in [declarative-plasmoids] /:

Muchos more work

- more fine-grained config reading: some values are useful without
others (especially password)
- Simplify Avatar internally
- Use it in more places
- Clicking on an Avatar loads the user profile into the UserInfo

Needs sebas/userinfo branch from kdeplasma-addons for new dataengine
features, esp. userinfo.

Diffs: 1, 2, 3, 4, 5 Revision 01016f9...
Ingomar Wesp committed changes in [kde-workspace/plasma/iwesp/quicklaunch] /generic/applets/quicklaunch:

Added preliminary C++ extension plugin, fixed Messages.sh

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 70ae472...
Dario Freddi committed changes in [kde-workspace] /generic/dataengines/powermanagement:

Add an operation for accessing sleep inhibition facilities in the power management engine

Shaun Reich committed changes in [kde-workspace] /generic/dataengines/powermanagement:

use solid apis for DPMS service jobs

renamed operations to beginSuppressingScreenPowerManagement, etc. just
like their libsolid counterparts. also combined screensaver and
powermanagement inhibition, since they achieved a unified goal and don't
make sense apart.

TODO: add suppress sleep operation job, also see where solid can be
included further

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision a7c8cfe...
Kurt Hindenburg committed changes in [konsole] /:

Support extended mouse coordinates.

Using the legacy method, mouse coordinates can be reported only up to 223. If
you have a wider terminal, you cannot use the mouse in the rightmost columns.

There exist two extensions to overcome this problem, a broken one invented by
xterm (the "DEC 1005" mode) which is supported by xterm, urxvt and iterm2; and
a good one invented by urxvt (the "DEC 1015" mode), supported by urxvt and
iterm2.

Many thanks to Egmont Koblinger for report and patch.


FIXED-IN: 4.9

Shaun Reich committed changes in [kde-workspace] /generic/dataengines/powermanagement:

add powermanagement engine un/inhibit powermanagement functionality

note that it doesn't actually do anything useful. apparently this is a
bug, of which a GCI student is hacking on.

in theory it should work out of the box when it's fixed...if my d-bus
calls are great. (e.g. qdbusviewer calling pm inhibit does nothing
even).

so now my applet should be good to go, well..after this is resolved.

Diffs: 1, 2, 3, 4, 5, 6 Revision bf7474b...
Aaron J. Seigo committed changes in [kde-workspace/screenlocker] /greeter:

support suspension and shutdown from the lock screen qml

Diffs: 1, 2, 3 Revision 166fe83...
Vishesh Handa committed changes in [kdelibs/nepomuk/DmsPort-resourceWatcher] /:

Add the ResourceWatcher interface and header

Copied from kde-runtime/nepomuk/services/storage/lib/resourcewatcher.*

The ResourceWatcher is used to update the Nepomuk::Resource cache

Diffs: 1, 2, 3, 4, 5 Revision 269deec...
Frederik Gladhorn committed changes in [kate] /view:

Implement editable text accessibility interface.

This allows Orca to read the current document.

Sebastian Trueg committed changes in [kde-runtime/nepomuk/storage/resourceWatc] /:

Added modification methods to the ResourceWatcher connection.

Thanks to the smart design of the RW this was more than trivial. :)

(Port from nepomuk-core)

Diffs: 1, 2, 3, 4, 5 Revision 31569b0...

KDE-PIM

Shaheed Haque committed changes in /trunk/playground/pim/akonadi/exchange:

Add fetch progress statistics to the GAL.

Diffs: 1, 2, 3, 4 Revision 1274578
Laurent Montel committed changes in [kdepimlibs] kabc/ldifconverter.cpp:

Add support for blog mozilla variable

Office

Shantanu Tushar Jha committed changes in [calligra/active-refactoring-shantanu] /src:

Add spreadsheet handler.

Diffs: 1, 2, 3 Revision 2659840...
Shreya Pandit committed changes in [calligra/words-statistics-shreya] /part/dockers:

docker now has KConfig facility and stores users preferences

C. Boemann committed changes in [calligra] /part:

Introduce a Page Layout tool

The tool is supposed to handle page setup, headers, footers etc.

This is based on initial work by Jignesh.

For now it doesn't do more than move the functionality from the
format menu to it's option widgets. But it does place the
functionality in the modebox, which is important so users will
not have to relearn how to do pagelayout in a future version.

Plans are for this tool to be for page layout as the paragraph
tool was for paragraphs.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 44bf28f...
Jörg Ehrichs committed changes in [conquirere] /:

add dialog to change the project settings, allow to delete project folder if not necessary anymore

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision de25eab...
Shreya Pandit committed changes in [calligra/words-statistics-shreya] /part/dockers:

Words Statistics Docker with Reformed GUI,ready for use

Adam Celarek committed changes in [calligra/krita-lbrush-adamc] /plugins/paintops/lindenmayer:

first somehow working version of lindenmayer brush

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision ef324f5...
Sebastian Sauer committed changes in [calligra] /:

Added the CELL, SHEET and SHEETS OpenFormula functions.

Diffs: 1, 2, 3, 4 Revision 050755c...
Jörg Ehrichs committed changes in [conquirere] /:

Add kbibtex IngentaConnect search. Raise dependency to kbibtex rev1065

Shantanu Tushar Jha committed changes in [calligra/active-refactoring-shantanu] /:

And finally, presentation handler.
UI restoration and testing remaining.

Diffs: 1, 2, 3, 4 Revision 83f845f...
Pierre Stirnweiss committed changes in [calligra] /textshape:

Add a basic gui for the character styles in the style manager.
We will want to revisit this whole dialog after release. But for now this will suffice.

Diffs: 1, 2, 3, 4, 5, 6 Revision 8c76770...
Stephane Mankowski committed changes in [skrooge/Feature] /:

feature: "Search & Process" is now working on comments of sub operations

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

Multimedia

Andrew Lake committed changes in [bangarang] /app:

Added fading animation to Play/Pause Button.

Change committed on behalf of Stefan Burnicki with the following comment:
Moved TimerCounter to separate files as it's very useful for animations as
the new one I implemented.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision ad61702...
Matěj Laitl committed changes in [amarok] /:

MetaFile: guess album artist as in SQL collection scanner, compilations

Call albumArtist = ArtistHelper::bestGuessAlbumArtist( albumArtist,
artist, genre, composer ); afer the data are read from file tags.

This makes album artist field consistent for tracks in Local collection
and tracks in file browser or drag & dropped to Amarok playlist, but it
has some downsides:
* Amarok will essentially lie about what album artist is assigned to a
track, most notably will replace empty album artist by track artist
and will replace "Various Artists" by empty artist.
* Editing album artist will be strange in corner cases: in particular
if user sets album artist to "Various Artists", it will be written
to file tags as-is, but displayed as empty album artist. Other case
would be when user sets album artist to empty string, but this is
currently prevented due to a bug/feature in TagDialog.

(every occurrence of "Various Artists" also accepts localized version
of the string)

Above change is needed for upcoming "MemoryCollection: use also album
artist as identifying key in album map" change for UmsCollection, but
if someone opposes, similar change can be made on UmsCollection level.

Also, implement MetaFile::FileAlbum isCompilation() which is now easy
as it can return albumArtist.isEmpty()

DIGEST: unify album artist handling in Amarok

Koos Vriezen committed changes in /trunk/extragear/multimedia/kmplayer/src:

Support Outline Processor Markup Language

Diffs: 1, 2, 3, 4 Revision 1275100
Matěj Laitl committed changes in [amarok] /:

MemoryCollection: use also album artist as identifying key in album map

This has some far-reaching consequences which I believe are only
positive, most notably Amarok is able to differentiate between 2 albums
with same name but different album artists in USB Mass Storage
collection and in "new" iPod collection. This unifies album artist
handling across MemoryCollection and SqlCollection, 2 major collection
storage implementations in Amarok.

Technically, AlbumMap is changed from:
typedef QMap<QString, Meta::AlbumPtr> AlbumMap;
to:
class AlbumMap : public QMap<Meta::AlbumKey, Meta::AlbumPtr>

with insert(), remove(), value(), contains() QMap methods hidden and
reimplemented for convenience and to prevent coding mistakes. (you no
longer can add album under wrong key)

This change is tested to work with new iPod collection, UMS collection
(depends on previous "MetaFile: guess album artist as in SQL collection
scanner, compilations"), all tests still pass.

Only area that received just very basic testing are online
service collections that are also affected by this change.

Docstrings and comments extended thanks to suggestions by Maximilian
Kossick.

DIGEST: Albums with same name but different album artist are now
correctly separated in USB Mass Storage, iPod and various
online service collections.
REVIEW: 103715

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 710f401...

Networking Tools

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

Start of a log viewer

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

User Interface

Nuno Fernades Pinheiro committed changes in /trunk/kdesupport/oxygen-icons:

more IM icons in 16x16

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

Utilities

Jonathan Michael Thomas committed changes in [muon] /:

Add a manual distribution upgrade feature to the Muon Updater. If a new release is
available via update-manager-kde, you can initiate it from muon-updater.

Games

Laszlo Papp committed changes in [kanagram] /harmattan:

Add the landscape, portrait backgrounds and start using them

A +- -- icons/common/kanagram-chalkboard-landscape.png
A +- -- icons/common/kanagram-chalkboard-portrait.png

Other

Davide Bettio committed changes in /branches/KDE/4.8/kde-wallpapers/Ariya/contents:

Backported new Ariya wallpaper.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 1274030
Davide Bettio committed changes in /trunk/KDE/kde-wallpapers/Flying_Field/contents/images:

Added missing resolutions to Flying Field wallpaper.

Davide Bettio committed changes in /trunk/KDE/kdeartwork/WeatherWallpapers/Storm/contents/images:

Added missing resolutions to Storm wallpaper.

Optimization

Development Tools

Ralf Habacker committed changes in /trunk/KDE/kdesdk/umbrello/umbrello:

Made xmi loading more robust by adding guards to prevent cycles in uml objects.

There are still problems with cycles in UMLListViewItem::deepcopy(), which will be
addressed in an additional patch.

KDE Base

Sebastian Kügler committed changes in [kdeplasma-addons/sebas/userinfo] /microblog:

Use previewengine's on-disk cache to locally cache avatars

Much less traffic on startup, way faster loading, more responsive UI and
avatars shared with the resource widgets. Yay. :)

Diffs: 1, 2, 3, 4 Revision ad1a29c...
Peter Penz committed changes in [kde-baseapps] dolphin/src/kitemviews/kitemlistview.cpp:

Avoid unnecessary animations when switching view modes

Thanks to Nikita Skovoroda for the initial patch and the analyses.


FIXED-IN: 4.8.0

Multimedia

Matěj Laitl committed changes in [amarok] /core-impl/collections/db:

Remove collections/db/DatabaseMeta.h entirely. Was unused.

Only ScanResultProcessor.cpp included the file, but it didn't really
used it. 570 lines of code less, yay!

DIGEST: optimization: Dead code removal

Other

Educational

Dennis Nienhüser committed changes in [marble/Touch/1.3] src/plugins/declarative/Navigation.cpp:

Auto navigation in navigation activity

Dennis Nienhüser committed changes in [marble/Touch/1.3] /:

Move voice navigation generation logic to the lib.

Phonon related part remains in the routing plugin.

Diffs: 1, 2, 3, 4, 5, 6 Revision 023e6eb...

Graphics

Gilles Caulier committed changes in [digikam] /:

Add New Items Finder progress information for ProgressManager.
Original code for Marcel use StatusProgressBar indicator. We can do better with ProgressManager now.
The goal is to remove definitivly StatusProgressBar from AlbumGUI.
Code to manage StatusProgressBar event from icon view still active for actions Captions & Tags. Still TODO.
NOTE : The progress indication in percents from ScanControler sound like completly crazy and not suitable as well. Why ?

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 0102ab1...
Gilles Caulier committed changes in [digikam] /:

Factorize sync albums metadata and batch sync metadata tool to just one named MetadataSynchronizer
Port this one to ProgressManager.
Note : this batch tool can be used to sync metadata to DB and vis-versa, for an image list, one album, or whole collection of albums.
Marcel : read Metadata from Images to sync DB is multithreaded, through CollectionScanner.
Write Metadata from DB to images is not yet multithreaded. Still TODO...
At least, only on implementation need to be mutithreaded in the future.

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

KDE Base

Peter Penz committed changes in [kde-baseapps] dolphin/src/views/dolphinviewactionhandler.cpp:

Use new icon for "Show in groups"

This allows adding the "Show in groups" action to the toolbar with
a nice icon.

Sebastian Kügler committed changes in [declarative-plasmoids] /:

More visual improvements

- Load placeHolderimage from the engine as long as we can't find the
userimage in the QVariantHash-Hash
- Display character counter in the textarea
- performance of textChanged in PostingWidget ++

Diffs: 1, 2, 3 Revision fcf1df4...
Laszlo Papp committed changes in [kdelibs/frameworks] /dialogs:

Use KCoreConfigSkeleton argument type where possible inside the KConfigDialog

Use case: there are applications, like kanagram, which would be nice to have
running on several platforms, as in handsets; for instance Harmattan on N9. It
would be nice to use the same settings code generation in certain cases for all
the platforms. The additions of KConfigSkeleton on the top of
KCoreConfigSkeleton are the font and color settings which are currently not
used in couple of KDE applications. Hence, it should not be mandatory. The
kdeui module is unlikely welcome on mobile platforms, especially in appstores
with its sizes and complexity for no real need.

KConfigDialogManager has apparently already two constructors (ie.: the need
already arised previously for such an approach); one with KConfigSkeleton
argument type, and yet another with KCoreConfigSkeleton. It looks like a
situation where the KCoreConfigSkeleton version was added for good.

The KConfigDialog constructor does not handle KCoreConfigSkeleton argument
type yet; it has probably somehow been missed so far. Changing the current
constructor to KCoreConfigSkeleton usage is a good way because it does not
cause any API break; a simple recompilation is enough in client applications.

Ingomar Wesp committed changes in [kde-workspace/plasma/iwesp/quicklaunch] /generic/applets/quicklaunch:

Started porting quicklaunch to QML.

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

Networking Tools

Andrea Diamantini committed changes in [rekonq] CMakeLists.txt:

rekonq 0.8.60

This "release" contains last code merged and starts feature freeze
for 0.9.
Our technologic preview will be released in one week from now, to let
us start testing code a bit.
Please, take care of rekonq bugs in bugzilla, expecially the ones with
target = 0.9

Andrea Diamantini committed changes in [rekonq] /:

Moved access keys activation to release key event

This to copy konqueror behavior.
Also added some kDebug messages to better work with the "key event"
features:
- vi-like navigation
- access keys
- autoscroll

User Interface

Nuno Fernades Pinheiro committed changes in /trunk/kdesupport/oxygen-icons:

Bug 280202 missing icons

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 1273759
Vernon Adams committed changes in [oxygen-fonts] /:

Oxygen Regular 0.1 test release

M +- -- Oxygen-Regular/Oxygen.otf

Vernon Adams committed changes in [oxygen-fonts] /:

progress regular and bold

M +- -- Oxygen-Bold/Oxygen-Bold.otf

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

Games

Frederik Gladhorn committed changes in /trunk/KDE/kdegames/kigo/src/gui/widgets:

Improve status display.

Remove widgets that suggest that they are editable,
add some graphics, make the status look nicer.

Ian Wadham committed changes in /trunk/KDE/kdegames/ksudoku/src:

Integrate the old KSudoku and the new generator/solver more closely.

Both now use the same data structures for puzzle and solution contents. The SKGraph class is now the central data-structure used by views, generator, solver, save file, load file and manual puzzle entry. It represents the type, size, shape and rules of a Sudoku puzzle, either in 2D or 3D, and has been streamlined and simplified. The PlainSudokuBoard, RoxdokuBoard and SamuraiBoard classes that inherited SudokuBoard (the generator/solver) have been deleted. SudokuBoard now works entirely by using SKGraph.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 17 more) Revision 1274982
Laszlo Papp committed changes in [kanagram] /:

Modularize the whole kanagram tree into engine, desktop and harmattan for now

1) All the relevant CMakeLists.txt files were refactored according to their new
tasks inside the relevant subfolders

2) FindKanagramEngine.cmake was added for find the functionality (library)
easily sinde the frontend codes.

3) There was a kanagramharmattansettings.kcfgc addition because we cannot go
only for KCoreConfigSkeleton usage because the KConfigDialog only accepts
KConfigSkeleton for the time being. It is not even fixable inside the KDE 4.X
series, just only for frameworks.

4) We now use the VISIBILITY option with the KConfig XT technology in order to
get the generated KanagramSettings class exported. Otherwise, it would not be
available for the frontends.

5) Messages.sh was also moved to the desktop frontend because that is now
available only. Nevertheless, it is better to keep a separate Messages.sh file
for each frontend to avoid the complexity in the future.

6) A typical "kanagram_engine_export.h" file was added for defining the export
and import symbols so that they can be used inside the game engine itself.

7) The previous kanagram.desktop file is obviously now being moved to the
desktop frontend folder since the Harmattan and other players are gonna have
such a file with distinct contents.

There are also other minor changes, but the codebase is now feasible for getting
used with other frontends easily. There are still tasks left, like making a
proper versioning for the shared library and so on, but it is better to apply
such patches in different commits since this patch is already very huge itself.

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