Issue 194

31st July 2011 by KDE Commit-Digest Team

Contributors

Alexander van Loon
Marta Rybczynska
Danny Allen
Marco Krohn
Jaka Kranjc

This Week...

Desktop layout control moves from pager to KWin. OwnCloud gets instant search and sees many smaller commits which bring minor new features and work on the user interface. An asynchronous Nepomuk resource retriever is implemented in KDE PIM to improve performance. Rekonq receives a synchronisation feature. Early version of Dolphin 2.0 comitted. OpenVPN configuration import/export is now possible in Network Management. Kate now supports local folding. In Calligra there is work on caching and multiple bugfixes, Krita gets an update of undo support.
Artem Serebriyskiy introduces the new Nepomuk Web Extractor.

Introduction

To explain what the Nepomuk Web Extractor project is, I should start with a short introduction about Nepomuk itself. Nepomuk – as KDE project – is a RDF database and API that stores information about and the relations between almost everything that exists and happens on your computer. As so, it stores metadata about files, your projects (although this part is still in heavy development) and much more. Besides its basic services which are responsible for storing and manipulating records in the database, Nepomuk provides user-oriented services. The most well-known is Strigi. This service indexes all your files on your system, extracts all available information from them and store in Nepomuk. However, Strigi:

  1. Usually extracts information only from one file in one step. It will not create a relation between a video file and subtitle if the video is on your USB flash drive and the subtitles are on the network drive.
  2. Extracts information from files only. Strigi doesn't check if information is valid from the user's point of view. It will not complain about a music file that has incompatible author and name parameters set (like Mozart, 'In the Hall of the Mountain King').

The main idea of the Nepomuk Web Extractor Service is to automatically retrieve and correct as much information as possible for all resources in the Nepomuk database using some external databases or existing relations and data in Nepomuk itself as sources.

Nepomuk Web Extractor

There are some issues which led to the creation of the Nepomuk Web Extractor:

  1. There are many tasks that can be done automatically, yet currently they still require some manual intervention. What about automatically linking subtitles files to the appropriate video files no matter where they are actually stored and what their names are? Right now most of the current players pick up subtitles only from the folder where video file is located and only if the naming schemes of the video file and subtitle file match.
  2. File metadata may contain incorrect information, like in the aforementioned example 'Mozart, In the Hall of the Mountain King'. What about automatically correcting this metadata in Nepomuk and writing information back to the file?
  3. Nepomuk ontologies provide schemes for describing various resources. To mark a file as TV show, you should create a Nepomuk resource describing the whole TV series, then take the Nepomuk resource that describes this file, adjust it -mark it as TV show, set its episode number, season number, optionally overview and then link this adjusted resource to the newly created TV series resource and link the TV series resource back to this resource. Why should you do this all manually, if there is a TheTVDB.com database and all this information can be automatically retrieved after parsing file names?

Nepomuk Web Extractor main ideas

As with any system that tries to do something automatically and to be 'smart' we have to solve some common issues, like 'What if user provides incorrect source data' or 'What if information in external source is incorrect'? How should we extract information for a music file with metadata like 'Mozart, In the Hall of the Mountain King'? Is it 'Mozart, Requiem', or 'Grieg, In the Hall of the Mountain King'? How should we choose between these variants and more importantly, should we try to choose, or simply refuse to parse this file untill more information will be supplied?

Trying to solve these questions, the following guidelines and system design were created:

  1. The system assumes that metadata about a file contains more correct information then incorrect.
  2. The system assumes that information retrieved from external data sources is the more correct if more external data sources report it as correct. E.g. if OpenStreetMap and Google Maps told us that X == A, and Bing Maps told us that X == B, then variant X == A (two votes against one vote) will be chosen. It should be noted that the real system for choosing between different variants is more complex that described above. The variant X==B may be chosen if e.g. Bing Maps told us that it is 'absolutely sure that X==B', and OSM and GM told only 'probably X==A'.
  3. 'It is better to not supply information at all rather then to supply wrong information'. That is because suppling wrong information may lead to the situation when metadata about resources will contain more incorrect info than correct info, and that leads to more incorrect information supplied to other connected resources and so on, until most information about this resource, and the resources connected to it will become incorrect.

Plugins

The power of Nepomuk Web Extractor is in its plugins. I have tried to provide API's which are as convenient as possible for the (future) plugin creators as I can. Generally speaking, if you don't need something extraordinary, there is a special script that you may run and it will create a template for your plugin. After that you should implement a method responsible for extracting info from your source and most likely a method for reading configuration. If you need something special, then you should still run a script, but will have to do more changes. More info about plugin creation is (will be) available in the wiki.

This is the list of available plugins:
  1. An autotag plugin which assigns a tag if a file name matches a regular expression.
  2. A TheTVDB plugin (written by Sebastian Trueg) can extract info from TheTVDB.com website.
  3. The Tesseract plugin for analyzing images using OCR and extracting text from it. This plugin is currently lost somewhere in the repository, but I hope I will find it back.

This is unfortunately a very small amount. There are a lot of ideas for plugins, but we need more developers.

Plans for the future

Although the TODO list is big, the main goals for the future are:

  1. More plugins. Much more plugins. That is one of the most important issues.
  2. A more convenient API for the creation of plugins. Currently, plugins must be implemented in C++. I think that the ability to write them in scripting languages like Python will make the process of plugin creation easier. And plugins created with scripting languages can be distributed via GetHotNewStuff.
  3. While moving to DMS some functionality was lost. Currently it is not possible to replace one piece of information with another, so there is no way to fix errors with the Web Extractor. I hope I will be able to restore this ability in the near future.

Statistics

Commits 2605 by 224 developers
Open Bugs 23387
Open Wishes 17457
Bugs Opened 486 in the last 7 days
Bugs Closed 645 in the last 7 days

Commit Summary

Module Commits
/trunk/l10n-kde4
261
 
/branches/stable
222
 
/trunk/www
107
 
/trunk/l10n-support
47
 
/trunk/KDE
38
 
/branches/work
29
 
/portage/win32libs-sources
20
 
/nepomuk/services
20
 
/trunk/playground
20
 
/demos/qml
17
 
Files Developer Commits
243
 
Burkhard Lück
81
 
225
 
Harald Sitter
76
 
210
 
Laurent Montel
74
 
210
 
Robin Appelman
71
 
174
 
Aaron J. Seigo
59
 
144
 
Nilamdyuti Goswami
48
 
135
 
Marco Martin
46
 
135
 
Iñigo Salvador Azurmendi
45
 
102
 
Jan-Christoph Borchardt
39
 
105
 
Boudewijn Rempt
35
 

Internationalization (i18n) Status

Language Percentage Complete
Ukrainian (uk)
100%
 
Swedish (sv)
99%
 
Portuguese (pt)
99%
 
Spanish (es)
95%
 
Estonian (et)
95%
 
Dutch (nl)
94%
 
German (de)
93%
 
Italian (it)
90%
 
British English (en_GB)
90%
 
French (fr)
89%
 

Bug Killers

Person Bugs Closed
Christoph Feck
126
 
Ruslan Kabatsayev
92
 
Jekyll Wu
44
 
handa vish gmail com
36
 
lamarque gmail com
27
 
Aaron J. Seigo
21
 
Martin Gräßlin
16
 
Myriam Schweingruber
15
 
Laurent Montel
15
 
Martin Koller
14
 

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

Bug Fixes

Development Tools

Olivier Jean de Gaalon committed changes in [kdevelop] /makebuilder:

Check if item is still valid before starting build, fix untranslatable
string

Milian Wolff committed changes in [kdevplatform] /:

Use KSqueezedTextLabel for showing error messages in the status bar

this prevents the resizing bug from happening when the cpp
plugin tries to show it's "not updating duchain for ..." message
multiple times

Diffs: 1, 2, 3, 4 Revision d39f33b...
Milian Wolff committed changes in [kdev-php] /:

follow php syntax by allow more constructs in foreach statements

Andreas Pakulat committed changes in [kdevelop] projectmanagers/cmake/settings/cmakepreferences.cpp:

Fix cleanup of cache-model

Directly deleting the cache model and leaving a reference in the view
is dangerous as the related bugreport shows. I'm not sure why there was
an event sent out to the selectionmodel, but it seems this happens already
when deleting the model. The event however is delivered later on in the
nested event-loop from the kmessagebox and at that point the selectionmodel
is already gone.

So disconnect the selectionmodel properly, explicitly remove the model
from the view and let the cache model alive for one round of
event-processing.

Andreas Pakulat committed changes in [kdevelop] projectmanagers/cmake/settings/cmakepreferences.cpp:

Fix creation of builddirs with custom cmake args

This should fix all open problems configuring new builddirs and changing
stuff in the builddir-creation dialog. It takes the values from the dialog
and explicitly initializes the kconfigskeleton items from them. This
ensures the values end up in the config file and we don't loose things
set in the dialog.

Also necessary for this is to pre-initialize the local variables in save
so that there's no empty stuff written out in case no model has been
created yet.

Last add a TODO about the possibility to have different builddirs with
different configs and not being able to re-run cmake from scratch for
them, but thats something for another time. Probably would be useful to
completely drop the kconfig-skeleton stuff since its not used anyway
by the kcm and would make it more explicit that the module has to keep
track of these things manually.

Educational

Joshua Netterfield committed changes in /branches/work/kst/portto4/kst/src/widgets/cclineedit.h:

Best bug ever.

Michael Georg Hansen committed changes in [libkgeomap] libkgeomap/backend_map_googlemaps.cpp:

Unregister widgets from the global cache before deleting them.

Please try whether the crash reported in bug 269084 still appears on your system.

Samikshan Bairagya committed changes in [kstars] /:

Find Supernovae from Find Object dialog box. Added details dialog features.

Diffs: 1, 2, 3, 4, 5, 6 Revision bd8146c...
Aleix Pol Gonzalez committed changes in [kalgebra] /:

Fix another leak regarding polynomials... -.-

Aleix Pol Gonzalez committed changes in [kalgebra] /:

Fix a couple of small memory leaks regarding polynomial simplifications.

Graphics

Andi Clemens committed changes in [digikam] /threadimageio:

Possible fix: Use a QSet instead of a QStringList. This container provides a
much faster lookup, at least on my system it works quite fine.

Dirk Tilger committed changes in [kipi-plugins] facebook/fbtalker.cpp:

Fixed bug in the state machine

Without this fix the name of the user as which you're uploading
will not be displayed, when you just logged in.

Michael Georg Hansen committed changes in [kipi-plugins] /:

Properly detect when the QFutureWatcher reports that loading of the GPX files has been completed.

Christoph Feck committed changes in [kcolorchooser] kcolorchooser.cpp:

Add Help button

Additionally, set bugzilla product to "kdelibs/kdeui", because all
code is actually in the KColorDialog class.

FIXED-IN: 4.8.0

Dirk Tilger committed changes in [kipi-plugins] /:

Permissions button has not function anymore.

CC

Michael Georg Hansen committed changes in [kipi-plugins] gpssync/gpsdataparser.cpp:

Fix the search for matching timestamps in the GPS correlator. Timestamps before an item were not found if two or more items were between two GPS timestamps, leading to only the first item being correlated, both in interpolation mode and in normal mode.

This should also be the cause for bug 273520, please check whether it is now fixed as well.

KDE Base

Lukáš Tinkl committed changes in [kdelibs/KDE/4.6] solid/solid/backends/upower/upowerbattery.cpp:

tentative fix for a crash after waking up from sleep

Alex Fiestas committed changes in [kde-workspace] kcontrol/randr/randroutput.cpp:

Do NOT apply any new CRTC in handleEven, avoids unexpected results

When we're handling external events we DO NOT want KRandR to interfere,
if an external application did something all we have to do is refresh
our data.

This fixes that when you do:
xrandr --output LVDS1 --off KRandR will decide to turn off all
connected screens if unifyMode is active.

Anton Kreuzkamp committed changes in [kde-workspace] libs/taskmanager/groupmanager.cpp:

Call removeItemIfAssociated() for the launchers when a task gets removed in order to show the launcher again.

Matthias Fuchs committed changes in [kdelibs] plasma/corona.cpp:

Correctly display popups when using multiple screens

If there are multiple screens with different resolutions or which
are not alligned the same way then it could happen that popups at
the edge were drawn (partially) offscreen.
This patch fixes that issue.

REVIEW:102118

FIXED-IN:4.7.1
(cherry picked from commit c50f180f29a5d46093e0172baf71f6dcf9f23281)

Kai Uwe Broulik committed changes in [kde-workspace] kcontrol/input/xcursor/themepage.cpp:

Add icons to "Install From File" (document-import) and "Remove Theme" (edit-delete) buttons to be consistent with the remaining visual-related kcms

Shaun Reich committed changes in [kdeplasma-addons] /fileWatcher:

Reload when lines were deleted in the file, instead of just..not.

Seek the stream back to 0 when we get a dirty notifier and there's no
more data. It's *probably* because there were deleted lines. It at least
works well for this particular scenario. I believe that's the best way
to "go backwards" in terms of a file buffer.

Vishesh Handa committed changes in [kdelibs/KDE/4.7] nepomuk/ui/kedittagsdialog.cpp:

Allow deletion of multiple tags without moving the mouse

The dialog used the mouse move event to sent the m_deleteCandidate,
and then set m_deleteCandidate = 0. On trying to delete the next
tag, the deleteTag() function would assert as m_deleteCandidate was 0

m_deleteCandidate is now set to next tag after deletion of a tag.

REVIEW: 102111

Matthias Fuchs committed changes in [kdeplasma-addons] /comic:

The previous commit only fixed fullscreen for comic displayed in plasmoidviewer as I realised later.
Now it works also at least for the comic applet on plasma-desktop and in the panel.

(cherry picked from commit 8b281ee1586445c8251abf4f8695f99cc065df7c)

Aaron J. Seigo committed changes in [kdelibs/KDE/4.7] plasma/tooltipmanager.cpp:

get the corona from the item itself

Christoph Feck committed changes in [kdelibs] kdeui/fonts/kfontchooser.cpp:

Do not substitute Normal with Regular

The W3C document calls fonts without weight or slant "Normal",
see http://www.w3.org/TR/css3-fonts/

Peter Penz committed changes in [kde-runtime/KDE/4.7] kioslave/thumbnail/thumbnail.cpp:

Fix regression that no JPEG previews are shown for folders


FIXED-IN: 4.7.1

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

Remove Q_ASSERT in DolphinView that is invalid for a column-view usecase

The patch won't be forward ported to master as this change will get
obsolete by Dolphin 2.0 during the next 2 weeks.

FIXED-IN: 4.7.1

Burkhard Lück committed changes in [kate] kate/app/katemdi.cpp:

fix wrong menu name: Show Sidebars is in Views menu

Matthias Fuchs committed changes in [kdeplasma-addons] /comic:

Fowardport 77a309e60b4efef3fc58be395cc5552d4b490d91
Comic FullViewWidget is displayed on the correct monitor.


(cherry picked from commit 77a309e60b4efef3fc58be395cc5552d4b490d91)

Matthias Fuchs committed changes in [kdeplasma-addons/4.7] /comic:

Fixes removing of comic plugins.

* The comic dataengine connects to KSycoca to update the comic plugins it also uses removeAllData now.
* The configwidget of the comic applet uses dataUpdated to be notified of changes of the installed comic plugins.


(cherry picked from commit 94b51d0cc06568c6644d5511c17c605e450b2035)

Rolf Eike Beer committed changes in [kdelibs/KDE/4.5] /:

fix filename security check being omitted on parse error in HTTP header

A header like this:

Content-Disposition: attachment; filename="/home/eike/.gnupg/gpg.conf";
foo="bar; foo="baz"

would not have the path from the filename stripped because of the later parse
error.

This adds a unit test for this and some other cornercases.

backport of 54e8eded22c4af61f609b6184cc0293df407a2f9

Adrian Lungu committed changes in [kate] /:

I solved the bug posted on comment 2.
The bug was replicated using the old code folding and the new code folding.
I made some small changes in katedocument and katelayoutcache.
If there are any problems regarding this patch, please let me know.

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

Move control of desktop layout from pager to KWin

The desktop layout (number of rows) should be
controlled by the window manager as it is also
responsible for the number of desktops and the
names of them.

The setting for the rows is moved from the pager
UI to the virtual desktops KCM. The desktop layout
is set when KWin starts and updated by the KCM.

With this change there is no process claiming the
manager selection for pager any more. This means
the KDE Plasma Workspaces are no longer compliant
to the complete section of _NET_DESKTOP_LAYOUT in
the EWMH.

REVIEW: 102073



FIXED-IN: 4.8.0

Alex Fiestas committed changes in [bluedevil] /:

Set the correct Category in .desktop and use correct mimetype parent

We were not following the standards neither in .desktop or mimetype,
because of that rpmlint and similar toolks were screaming.

Since I'm no mimetype/desktop expert I will backport this patch only
when proven stable, in that case it will be backported to 1.0.6 and
1.1.2

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

Use SPACE as delimiter when joining multiple lines.

Currently, when users use ctrl+mouse to select and copy multiple lines,
those lines are joined into single line in a seamless way. LINEBREAK is
simply removed, thus the first character of second line will be
positioned right after the last character of the first line. This patch
replaces the LINEBREAK with a SPACE.

Thanks to Jekyll Wu () for patch and research.

FIXED-IN: 4.8

Vishesh Handa committed changes in [kde-runtime/KDE/4.7] /services/queryservice:

Thread safey in the Query Service

The Nepomuk::Query::Folder::initialListingDone() function can be called via dbus
at any point via the FolderConnection, at that point the listingFinished() function
might be in the process of changing m_initialListingDone's value => CRASH

Ditto with Nepomuk::Query::Folder::entries(). It can be called via
FolderConnection's list method.


REVIEW: 102129

Matthias Fuchs committed changes in [kde-workspace] /:

Fixes disabling fullscreen for windows using two displays.

Dragging a fullscreen window to another screen and then disabling
fullscreen keeps the window at the new screen.


FIXED-IN:4.7.1
REVIEW:102103
(cherry picked from commit d35ec6d18377fd872207b88dd39f560a483bcc14)

Adrian Lungu committed changes in [kate] /syntax:

This patch is solving the others bugs reported in this bug's comments.
removeEnd() method was replaced with removeEndAscending() and
removeEndDescending() (there were some node duplicates into the leafs ->
solved with removeEndAscending())

Kai Uwe Broulik committed changes in [kde-workspace] kcontrol/randr/module/randrmonitor.cpp:

Fix the dialog "A new monitor has been attached" popping up although the monitor config dialog is already opened.

The dbus Service is no longer "kcm_display" but "kcm_randr"

Adrian Lungu committed changes in [kate] part/syntax/katecodefolding.cpp:

There was a problem in mergeChildren() method because different nodes
with equals positions were interpreted as the same node => duplicates

Christoph Feck committed changes in [kdeplasma-addons/4.7] /groupingdesktop/lib:

Fix assignment operator and add copy constructor

This fixes the crash in Grid Desktop and Grouping Desktop.
Thanks to Aaron Seigo for investigation and patch review.


FIXED-IN: 4.7.1

Alex Fiestas committed changes in [kde-workspace/KDE/4.7] libs/kworkspace/kdisplaymanager.cpp:

Test that the actual dbus path is valid, not the reply

Thanks to Oliver Henshaw for the initial patch and bug report

(cherry picked from commit 0f5ffd8ee7bd6ed47040d7bc1a85310c5e148109)

Adrian Lungu committed changes in [kate] part/syntax/katecodefolding.cpp:

When a large file is open, Kate's highlight can't parse the file entirely.
This can cause malfunction of Kate's folding. To avoid this, every time a
node is folded, Kate's folding force the highlight to to parse the file until
the region closes.

Christoph Feck committed changes in [kdelibs/KDE/4.7] plasma/theme.cpp:

Fix accessing pixmapCache after it is deleted


FIXED-IN: 4.7.1

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

Drop direct rendering setting

The advanced compositing option "direct rendering" could only
correctly be honored in the case of proprietary NVIDIA drivers.
In all other cases playing with the setting was most likely
harmful as it could result in inconsistent states and the
option not to be honored at all.

This patch resolves this issue by moving the detection whether
to use a direct rendering context completely into the hands of
the set environment variables or the helper program:
* if LIBGL_ALWAYS_INDIRECT is set, we use an indirect context
* if KWIN_DIRECT_GL is set, we use a direct context
* if none of the two are set, we use the helper program, if it
returns 0 we create a direct context, otherwise we set
LIBGL_ALWAYS_INDIRECT and create an indirect context

If a user really wants to influence the behavior the
environment variables can be used.

REVIEW: 102074

Diffs: 1, 2, 3, 4 Revision fcf6eaa...
Erlend Hamberg committed changes in [kate] /:

modify :s check to avoid looping forever

the substitute command “s/$/x/g” would loop forever. it makes no sense to
add the ‘g’ at the end of a substitutions that replaces at EOL, but for
many this is appended out of habit.

the check at the end of the replacement code makes sure that the
replacement column is within the line, but since one replacement has
already been done, and $/EOL is the last possible position where a
replacement can happen, it makes no sense that the new start column is
equal to the line length (i.e. after the line) either.

the test should therefore be against line length minus one.

a test making sure that s/$/x/g and s/.*/x/g work correctly has been
added.

KDE-PIM

Grégory Oestreicher committed changes in [kdepimlibs] kcalcore/icalformat_p.cpp:

Office

Tomas Mecir committed changes in [calligra] tables/ui/CellToolBase.cpp:

Find dialog: correctly scroll to the found cell

Sebastian Sauer committed changes in [calligra] libs/kotext/styles/KoTableBorderStyle.cpp:

Fix accumulated blank borders did draw into the outer border.

@Zagge
This fixes those ~1 pixel diff on left and right side of tables. The
commit 4053293d was addressing another problem (outer borders where
not properly closed at the border-corners).

Robby Stephenson committed changes in [tellico/2.3] /:

Allow filter to match without accent marks

For filter rules using the "Contains" criteria, match against value
and against value without accent marks. Do not match for "Equals"
rules or regular expressions.

FIXED-IN: 2.3.4

Sebastian Sauer committed changes in [calligra] libs/kotext/styles/KoTableBorderStyle.cpp:

One more try to fix accumulated blank borders did draw into the outer border.
Now we are also taking the spacing into account. If that doesn't work either
then we probably also need to take the inner boundaries into account but
theoretical that shouldn't be needed.

Lukáš Tvrdý committed changes in [calligra] filters/libmso/ODrawToOdf.cpp:

Fix fill rule for NoSmoking (forbidden) shape

Lukáš Tvrdý committed changes in [calligra] filters/libmso/shapes2.cpp:

Fix processing of the modifiers

The modifiers are 16 bit shifted.
Similarlity with the circular arrow shape.

Improves the arc shape rendering

Sebastian Sauer committed changes in [calligra] libs/textlayout/KoTextLayoutArea_paint.cpp:

Align custom-char list-items to the baseline as well.
This fixes a regression introduced lately.
Thanks to Zagge for the idea.

Jarosław Staniek committed changes in [calligra] /:

GUI: General: Replaced term "row" with "record" in visible places

Tomas Mecir committed changes in [calligra] /:

Properly remove named areas when deleting rows.

Boudewijn Rempt committed changes in [calligra] words/part/dockers/KWRdfDocker.cpp:

Disable autoupdating for the rdf docker

Autoupdating with the timer is pretty invasive, so uncheck it. Also
don't force the text tool to be active when autoupdating is true.

Boudewijn Rempt committed changes in [calligra] libs/main/KoPrintingDialog.cpp:
Matus Uzak committed changes in [calligra] /words/msword-odf:
Lukáš Tvrdý committed changes in [calligra] plugins/pathshapes/enhancedpath/EnhancedPathCommand.cpp:

For T,U command the w and h is actually rx, ry

Will be more clear in the ODF specification very soon.

Fixes smiley shape, small ellipses, ring, flow-or,
flowchart-summing-junction, flowchart-connector..

Sebastian Sauer committed changes in [calligra] libs/textlayout/KoTextLayoutArea.cpp:

Fix crash when editing document

Sebastian Sauer committed changes in [calligra] libs/textlayout/KoTextLayoutArea_paint.cpp:

Fix text vanishs if selected or zoomed in
The problem was that with commit b991a86 logic was introduced to handle
valigned-text but that was resulting in us fetching and dealing with
the wrong clipRegion what could result in us not proper updating and
repainting clipped areas.
Will run cstester over our large collection of tests-docs now to look
what changed and if it has side-effects.

Sebastian Sauer committed changes in [calligra] /:

Fix calligra-tables fails to correctly import external data from clipboard/csv file

Jarosław Staniek committed changes in [calligra] /:

Revert data_save_record and similar action names to data_save_row

Otherwise it would degrade backward compatibility.

Multimedia

Sam Lade committed changes in [amarok] src/dbus/mpris1/PlayerHandler.cpp:

Fix seek backward from dbus

Thanks to Matthieu Bedouet for the patch!


FIXED-IN:2.4.2

Harald Sitter committed changes in [phonon-vlc] /:

fix cd playback (at least for amarok)

the only way to select an audio track at runtime in vlc is by selecting
the appropriate subitem of the media, however currently this is one
gigantic PITA, so we cannot do this until pvlc gets based on libcutevlc

meanwhile only one scenario is supported: setting the track *before*
play is called, this way we can simply inject the cdda-track option
in playInternal and be done with it


FIXED-IN: 0.4.1

Sam Lade committed changes in [amarok] src/services/lastfm/LastFmService.cpp:

Remove query for last.fm password on service polish().

Prevents demands for last.fm password on Amarok start if the service is enabled
and no password is set.

REVIEW:102079

Networking Tools

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

Clear list before restoring connections.

David Edmundson committed changes in [telepathy-chat-handler/telepathy-kde-0.1] app/chat-window.cpp:

Fix crash when switching tabs to an offline account
Reviewed by: Francesco Nwokeka

Games

Laszlo Papp committed changes in [gluon] /:

Fix the filter issue of the file open dialog operation

The wrong pattern was used for filtering meaning that Windows users, for
instance, could not open the game projects manually up properly, but it now
works with this fix. The usage is now similar what other applications use and
what the Qt documentation provides as an example.

Also, the filter was not translatable which is now fixed in step since it does
not mean another line modification, just a "tr" addition to the Qt player and
"i18n" addition to the kde player.

Note: The games are not listed inside the players and no game can be played
right now even by starting it from command line with the proper arguments. This
is the next step where I need to investigate. It is not related to this patch
though.

Laszlo Papp committed changes in [gluon] CMakeLists.txt:

CPack/NSIS: Handle the Windows Registry properly

1) There was a CPACK_PACKAGE_VENDOR addition since without that, CPack generated
a quite general name in the Windows Registry, like "Humanity". It is first of
all, not really talkative, second it can collide with other things if someone
else leaves it empty as well.

2) There was a registry key addition with the feasible Gluon string and version
number according to the GLUON_VERSION_STRING, thus it is not hard coded and
nice.

3) On the way I fixed up a third line since we are using lower letters for the
"set".

The result is that, we now have a proper Gluon entry if you open up your
registry by running the "regedit" command. It is something like
Computer\HKEY_LOCAL_MACHINE\DOFTWARE\Wow6432Node\Gluon\Gluon 0.72.0\(Default).
That way we can access to the install path which was a bit tricky to manage it
first since it is straight-forward in case of cmake with in the
gluon_global.h.in file, like:

After all, the next step is to make the game list and other installation prefix
related things work on Windows as well!

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

Fix up the "no game is displayed" break in the player applications


The issue was that there were no players displayed inside the simple qt and
kdeplayer application. It happened because of the unexpected directory path
return value from the directoryprovider.

It is now fixed by a simple modification by using the prefix install and the
directory separator for making sure. Tested properly on Linux, Windows and
Harmattan. It works fine.

You can find more information about it at the previous CPack patches, especially
this one: 422b53

Also, there was a discussion and long debugging session prior to that on the
cmake mailing list where I have been told about it:
"So the solution begins with DOT NOT USE ABSOLUTE INSTALL PATH,
give it a try and tell us how it goes."

Features

Development Tools

Vishesh Yadav committed changes in /branches/work/soc-kdesdk-dolphin-plugins-hg/dolphin-plugins/hg/config-widgets:

Ignore List implemented

Camila San Martin Ayres committed changes in /branches/work/umbrello-qgv-port:

Creating a final version for Umbrello QGraphicsView Port.

Vishesh Yadav committed changes in /branches/work/soc-kdesdk-dolphin-plugins-hg/dolphin-plugins/hg:

Import dialog implemented

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 1243995

Educational

Daniel E. Moctezuma committed changes in [kiten/4.7] /:

Kiten now loads/unloads external dictionaries when they are added/deleted in the settings ().
(cherry picked from commit 983e882643ee70af7291eab7eda195226ec895c5)

Graphics

Gilles Caulier committed changes in [digikam] /:

new icons set and pics with updated digiKam and Showfoto logo.
Thanks to Risto Saukonpää for this job



M +- -- data/icons/digikam/hi64-action-albumfolder-properties.png
M +- -- data/icons/apps/hi64-app-digikam.png
M +- -- data/icons/digikam/hi48-action-albumfolder-importdir.png
M +- -- data/icons/digikam/hi32-action-albumfolder-new.png
M +- -- data/icons/digikam/hi16-action-albumfolder-user-trash.png
M +- -- data/icons/apps/hi48-app-digikam.png
M +- -- data/icons/digikam/hi22-action-albumfolder-properties.png
M +- -- data/icons/digikam/hi16-action-albumfolder-importdir.png
M +- -- data/icons/digikam/hi16-action-albumfolder-properties.png
M +- -- data/icons/digikam/hi48-action-albumfolder-properties.png
M +- -- data/pics/logo-showfoto.svgz
M +- -- data/icons/apps/hi32-app-showfoto.png
M +- -- data/icons/digikam/hi128-action-albumfolder-new.png
M +- -- data/icons/apps/hisc-app-digikam.svgz
M +- -- data/icons/digikam/hi128-action-albumfolder-importimages.png
M +- -- data/icons/apps/hi48-app-showfoto.png
M +- -- data/icons/digikam/hi32-action-albumfolder-importdir.png
M +- -- data/icons/apps/hi16-app-showfoto.png
M +- -- data/icons/apps/hi64-app-showfoto.png
M +- -- data/icons/digikam/hi32-action-albumfolder-user-trash.png
M +- -- data/icons/digikam/hi16-action-albumfolder-new.png
M +- -- data/pics/tag-folder.png
M +- -- data/icons/apps/hi128-app-showfoto.png
M +- -- data/icons/apps/hisc-app-showfoto.svgz
M +- -- data/icons/digikam/hi128-action-albumfolder-properties.png
M +- -- data/pics/banner-showfoto.png
M +- -- data/pics/splash-digikam.png
M +- -- data/icons/digikam/hi128-action-albumfolder-importdir.png
M +- -- data/icons/digikam/hi128-action-albumfolder-user-trash.png
M +- -- data/icons/digikam/hi48-action-albumfolder-importimages.png
M +- -- data/pics/assistant-scancollection.png
M +- -- data/icons/digikam/hi22-action-albumfolder-importimages.png
M +- -- data/pics/logo-digikam.png
M +- -- data/pics/splash-showfoto.png
M +- -- data/pics/logo-digikam.svgz
M +- -- data/icons/digikam/hi22-action-albumfolder-importdir.png
M +- -- data/icons/digikam/hi64-action-albumfolder-user-trash.png
M +- -- data/icons/digikam/hi48-action-albumfolder-user-trash.png
M +- -- data/icons/digikam/hi48-action-albumfolder-new.png
M +- -- data/icons/digikam/hi32-action-albumfolder-properties.png
M +- -- data/icons/digikam/hi64-action-albumfolder-new.png
M +- -- data/icons/apps/hi22-app-digikam.png
M +- -- data/icons/apps/hi22-app-showfoto.png
M +- -- data/pics/albumfolder-importimages.png
M +- -- data/pics/splash-showfoto.svgz
M +- -- data/pics/banner-showfoto.svgz
M +- -- data/pics/albumfolder-new.png
M +- -- data/icons/apps/hi16-app-digikam.png
M +- -- data/icons/apps/hi32-app-digikam.png
M +- -- data/icons/digikam/hi22-action-albumfolder-user-trash.png
M +- -- data/pics/albumfolder-importdir.png
M +- -- data/icons/digikam/hi16-action-albumfolder-importimages.png
M +- -- data/icons/digikam/hi64-action-albumfolder-importimages.png
M +- -- data/icons/digikam/hi32-action-albumfolder-importimages.png
M +- -- data/pics/banner-digikam.svgz
M +- -- data/pics/logo-showfoto.png
M +- -- data/icons/apps/hi128-app-digikam.png
M +- -- data/pics/albumfolder-properties.png
M +- -- data/icons/digikam/hi22-action-albumfolder-new.png
M +- -- data/icons/digikam/hi64-action-albumfolder-importdir.png
M +- -- data/pics/splash-digikam.svgz
M +- -- data/pics/banner-digikam.png

Gilles Caulier committed changes in [digikam] /:

New Camera setup tab to host common bevahiors with camera devices.
The first settings to appear in this panel is a flag to control if camera item date must be taken
from camera file system (fast, but can be dumy if GPhoto camera driver/device do not work properly)
or from camera item metadata (slow but always functionnal).

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

KDE Base

Aaron J. Seigo committed changes in [kde-workspace] /generic/applets/notifications/ui:

show total speed for downloads; nice to have in the tooltip

Aleix Pol Gonzalez committed changes in [kde-workspace] /randr:

Selects the current display on the view.
More information on the reviewboard page.

Could be merged to 4.7 eventually.

REVIEW; 102138

Diffs: 1, 2, 3, 4 Revision f5ae490...
Aaron J. Seigo committed changes in [kde-workspace/KDE/4.7] plasma/generic/runners/powerdevil/PowerDevilRunner.cpp:

prefer suspension to RAM over disk

Alex Fiestas committed changes in [bluedevil] /actionplugins:

First iteration on Network plugin, let's bridge NM and Bluetooth :)

Thanks to all the work done by the NetworkManagement guys this is
easy peacy, we just have to call configshell and it will do the rest.

The plugin is not done though there is a bit of cleaning to do and also
consider if we want Network to show up in systemtray/kio_bluetooth

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 6f7ce9e...
Alex Fiestas committed changes in [kde-workspace] /:

Try to call desktopRezie once intead of doing it in all XRandR events.

When a screen is disconnected XRandR emits 3 events instead of just one:
1-Disconnected screen resized
2-Disconnected screen moved
3-Disconnected screen removed

Before this commit we were calling desktopResize on each event which
between other things restart the composite (not necessarily the faster
thing to do...).

So, in order to be able to call desktopResize only once, now we're
handling individually each event, when one of them happens a QTimer is
started/restarted on each event and desktopResized is called owhen
QTimer.timeout

The current interval is 100msec

Alex Fiestas committed changes in [bluedevil] src/kio/bluetooth/kiobluetooth.cpp:

Added Network DUN as a supported service

Erlend Hamberg committed changes in [kate] part/syntax/data/nasm.xml:

correctly highlight register names

The regular expression to detect suffixed hexadecimal numbers was wrong
and including registers ah, bh, ch, dh.

Thanks to Lyle Putnam for the patch.

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

Merged very early alpha-version of Dolphin 2.0

Dolphin 2.0 will get a new view-engine with the
following improvements:
- Better performance
- Animated transitions
- No clipped filenames due to dynamic item-sizes
- Grouping support for all view-modes
- Non-rectangular selection areas
- Simplified code for better maintenance

More details will be provided in a blog-entry during
the next days.

Please note that the code is in a very
early alpha-stage and although the most tricky parts
have been implemented already very basic things like
drag and drop or selections have not been pushed yet.
Those things are rather trivial to implement but this
still will take some time.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 110 more) Revision 290a34b...
Thomas Lübking committed changes in [kde-workspace] /:

implement and fix scaled XRender shadows
(cherry picked from commit 5fa1a06fd8fdd3081a48ba921b2e670a60a49695)

Aleix Pol Gonzalez committed changes in [kde-workspace] kcontrol/randr/outputgraphicsitem.cpp:

Make it possible to l10n the screen description.

Can be backported, Albert said so :).

Adrian Lungu committed changes in [kate] /:

Kate code folding new feature :
Expand / Collapse one was implemented. You can use "CTRL + +" and "CTRL + -"
to use this feature - expand - collapse the current block (the one that
contains the cursor)

Diffs: 1, 2, 3 Revision 831b7c2...

KDE-PIM

Kevin Krammer committed changes in [kdepim] /kabcclient/src:

Add additional options to Mutt output

Incorporating an extension by Fernando Schapachnik which adds options
to Mutt output for using addressees' nick names instead or additional
to Mutt aliases.



DIGEST: Users who use kabcclient to access KDE's address book from Mutt
can now get a contact's nick name (if it exists) instead of or
additional to the usual alias key.

E.g. if there is a contact John "Jonny" Doe
the instead of

JohDoe John Doe

one can now get either (new option 'prefernick')

Jonny John Doe

or (new option 'alsonick')

JohDoe John Doe
followed by
Jonny John Doe

Office

Arjen Hiemstra committed changes in [calligra] /:

Use the new Tables API for highlighting Tables search matches

Calligra::Tables::Find now uses the new API in ui/SheetView to high-
light matches it has found.

Stephane Mankowski committed changes in [skrooge/Feature] /:

feature: An option to set a frequency of units download (once a day/week/month)

Diffs: 1, 2, 3, 4, 5 Revision d82ce20...
Thorsten Zachmann committed changes in [calligra] libs/textlayout/KoTextLayoutTableArea.cpp:

Use anitaliasing for painting borders.

Thats makes sure even very thin borders are painted correctly. Also it makes sure
the borders are drawn nicely when painting to a QImage that otherwise where not
visible.

Aakriti Gupta committed changes in [calligra/stage-singlecanvas-aakriti] /:

After trying 2 ways of saving and parsing a PVPShape to and from an SVG, finally here is the method that is working:
Save the PVPShape information as a 'rect' element in the SVG doc.
It will store the transformation, size and id.

Parse the 'rect' element which has 'ViewPort' in its id as a PVPShape. Add the size, position to it.
Parse an element with tag 'calligra:frame'. Search for the shape in the list of shapes with name as the refId of this frame.
Add the animation information contained in this frame element to the shape.

When the PVPShape is parsed, it won't be painted as a rectangle at all. It has its own paint method!
:)

Diffs: 1, 2, 3, 4, 5 Revision 0d20489...
Tomas Mecir committed changes in [calligra] /:

Support the 3rd param of the ceiling function

Multimedia

Sam Lade committed changes in [amarok] src/core/meta/support/MetaUtility.cpp:
Sam Lade committed changes in [amarok] /:

Show play progress in tray icon tooltip

FIXED-IN: 2.4.4

Romain Perier committed changes in [phonon-gstreamer/plumbing] gstreamer/mediaobject.cpp:

FEATURE: Subtitles fonts are now customizable, define the env. variable PHONON_GST_SUBTITLE_FONT
to get your own font used by the backend, or let the application decide using QApplication::font(const char *className)

Sinny Kumari committed changes in [plasma-mediacenter] /:

Creating three differents browsing mode ( picture, Video, music) to browse and play selected url.
TODO: picture browsing shouldn't use videoWidget to display image

Diffs: 1, 2, 3, 4, 5 Revision 056aa3e...
Harald Sitter committed changes in [phonon/qml] /qml/videoplayer:

improve browser to support more navigation so that tdfischer can use it

also add video playbacks as sorta preview, completely wicked, only
works somewhat sensible with gl and even ther QGV has problems with
doing video and moving the listview around

on that note: to use opengl you need to run qmlviewer with -opengl AND
have PHONON_PAINT exported with either glarb or glsl

Romain Perier committed changes in [phonon-gstreamer/plumbing] /:

FEATURE: add subtitles auto detection

Networking Tools

Mehrdad Momeny committed changes in [choqok] /:

A global menu for Choqok, When it's menubar is hidden!

Tirtha Chatterjee committed changes in [rekonq] src/application.cpp:

Fallback on loading the homepage if restoring the session failed.

Vishesh Handa committed changes in [rekonq/fancy-bookmarking] /urlbar:

added a new taglist which shows all tags which are associated with a webpage.taglist will be updated dynamically!

Andrea Diamantini committed changes in [rekonq/SYNC_FEATURE] /:

Sync feature first implementation

The aim of this is implementing an easy structure to
save/backup remotely bookmarks, history, passwords...

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 1811c8c...
Vishesh Handa committed changes in [rekonq/fancy-bookmarking] /urlbar:

already linked resources will be shown in a resources viewer.Unlink button is also provided for unlinking previously related resources

Lamarque Souza committed changes in [networkmanagement/nm09] /:

Support for importing/exporting OpenVPN connections.
Thanks Rajeesh K Nambiar for this patch.

REVIEW: 102059
FIXED-IN: nm09

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 655b70e...
Andrea Diamantini committed changes in [rekonq] /:

Provide a "click" mechanism to manage favorites

With this commit, you can add a favorite by right
clicking on the bookmark icon.

REVIEW:101945

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

Games

Laszlo Papp committed changes in [gluon] /:

Implement a component based NSIS generator opportunity

Most of the groundwork is done for a component based installer. This way, it
will be much easier to ship a minimal installation process for debugging
purpose.

Right now, there are two types of installation set (Full and minimal)
and there are properly separated components with display names, descriptions and
relevant groups.

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

Other

Michael Gapczynski committed changes in [owncloud/sharing] /:

jQuery dialog for sharing files from within file browser - Not functional yet

Diffs: 1, 2, 3 Revision 1ec0b6e...
Michael Gapczynski committed changes in [owncloud/sharing] /files_sharing:

Integrate sharing app with the new interface

BogDan Vatra committed changes in [android-qt-creator/2.3-necessitas] /plugins:

Finish package signing.

Package signing in Necessitas become a walk in the park.
Now Necessitas users, can enjoy a first class very easy to use and very
intuitive user interface to create/choose keys to sign their
applications in order to publish them on the market.

Fix "Cannot create children for a parent that is in a different thread".

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision deecb15...
Antonio José Gallo Sánchez committed changes in [owncloud/file_sync_server] /:

* The integration into ownCloud has been refactored. Now the fileSync folder is on the app folder
* Added appinfo folder for integration with owncloud and all the neccesary files
*No database.xml commited by now, since I've been unable to make it work
*The install.php file in this folder should configure automatically the config.xml file of PHPSyncML
* Added templates folder with all the neccesary templates for the vcf web interface editor
* Added editor.php to be the main script of the vcf web interface editor
* Renamed config.php to config_fileSync.php in order to avoid problems importing base.php lib from owncloud
* Renamed files.php to files_fileSync.php in order to avoid problems importing base.php lib from owncloud
*Require call on index.php modified properly to that
*Also shows a message when it's called from a browser
* Added settings.php to let the app be configurated. The file is empty by now

*NOT tested yet in a clean installation!

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision f7e6147...
BogDan Vatra committed changes in [ministro] /:

Check network status before starting any download.

Thnaks to Nuno Pinheiro, Ministro has first class art work !

Diffs: 1, 2, 3, 4 Revision 86e933d...
Robin Appelman committed changes in [owncloud] /media:

Some much needed interface work on the media player

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 94e25ec...
Michael Gapczynski committed changes in [owncloud/sharing] /files_sharing:

Revise permissions system to support read, write, and delete

Diffs: 1, 2, 3, 4 Revision d13ba0e...
Robin Appelman committed changes in [owncloud] /:

initial work on instant search

Optimization

Development Tools

Aleix Pol Gonzalez committed changes in [kdevplatform] /:

Normalize slots and signals in connects using qt's normalize tool.

More information here: http://marcmutz.wordpress.com/2011/07/26/effective-qt-prefer-to-use-normalised-signalslot-signatures/

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

Graphics

Gilles Caulier committed changes in [digikam] /cameragui/items:

more memory optimization in camera thumbnail icon view. No need to store the reduced version of pixmap. compute it as well when it's necessary

KDE Base

Smit Shah committed changes in [kde-runtime/gsoc2011/nepomuk/writeback] nepomuk/services/writeback/plugins/akonadi/AkonadiWritebackPlugin.cpp:

Moved setPayload to end of fetchFinished()

Since instead of executing setPayload for multiple times, its better to move till the end and execute it only once saves resources.

Vishesh Handa committed changes in [kde-runtime/KDE/4.7] nepomuk/servicestub/priority.cpp:

Give Nepomuk SHED_IDLE priority

The lowest priority of the kernel scheduler.

This patch is not being pushed into master, as we want a more
customizable solution where some services are given higher
priority.

REVIEW: 102044

KDE-PIM

Volker Krause committed changes in [kdepim] /:

Add asynchronous Nepomuk resource retriever.

It seems that our poor performance under high I/O load is mainly caused by
using the synchronous Nepomuk API and Nepomuk using ionice due to FS
indexing. We use the synchronous API in quite a few places unfortunately,
but I've found only three on hot paths so far. This contains the fix for
the first one (action status updates in KMail), the other two are in the
message list (also observable by poor initial scrolling performance).

Diffs: 1, 2, 3, 4, 5 Revision 4244fdb...

Office

Tomas Mecir committed changes in [calligra] /:

- Optimise the common case of the regionintersecting function - should speed up range functions.

- Make plaintext copying work correctly

Thorsten Zachmann committed changes in [calligra] /:

Save the image data in the style instead the key

This will allow to save the image again. Also it speeds up painting a
bit.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 3fd6af7...
Marijn Kruisselbrink committed changes in [calligra] /part:

change the way caching is done in words a bit; instead of having one big QImage per page, split the image up in tiles. This makes redrawing things that are already cached a lot faster. I also got rid of the keeping around and re-using QImages in the cache, as that bit gets a bit more complicated with the tiling aproach (as not all tiles have the same size), and it didn't seem to have a very significant effect on speed anyway.

Diffs: 1, 2, 3 Revision 0bce676...

Networking Tools

Marco Martin committed changes in [share-like-connect] /providers/activities:

simpler activity connection ui

just connect to activity/disconnect from activity, always from the current running one

Other

KDE Base

Sebastian Trueg committed changes in [kde-runtime] nepomuk/services/storage/rcgen/nepomuk-simpleresource-rcgen.py:

Simplified full parent hierarchy listing.

Sometimes one needs to sleep over a confusing problem to see the
obvious solution. There i no need to actually build the tree of
sub-classes. We can just "hide" it in the recursion by only appending
the sub-class after diving into the recursion.

Office

Boudewijn Rempt committed changes in [calligra] /kotext:

KoTextEditor is no longer a KoToolSelection

This completes a refactoring begun a long time ago, in which KoTextEditor
is a generic interface for changing the contents of the QTextDocument
in a text shape, instead of representing the text selection in the text
tool.

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

A huge patch

There are two changes:
1) See: http://community.kde.org/Krita/Undo_adapter_vs_Undo_store

Split the functionality of KisUndoAdapter into two classes:
KisUndoStore and KisUndoAdapter. The former one works as an
interface to an external storage of the undo information:
undo stack, KoDocument, /dev/null. The latter one defines the
behavior of the system when someone wants to add a command. There
are three variants:
1) KisSurrogateUndoAdapter -- saves commands directly to the
internal stack. Used for wrapping around legacy code into
a single command.
2) KisLegacyUndoAdapter -- blocks the strokes and updates queue,
and then adds the command to a store
3) KisPostExecutionUndoAdapter -- used by the strokes. It doesn't
call redo() when you add a command. It is assumed, that you have
already executed the command yourself and now just notify
the system about it. Warning: it doesn't inherit KisUndoAdapter
because it doesn't fit the contract of this class. And, more
important, KisTransaction should work differently with this class.
2) The ownership on the KisUndoStore (that substituted KisUndoAdapter
in the document's code) now belongs to the image. It means that
KisDoc2::createUndoStore() is just a factory method, the document
doesn't store the undo store itself.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 69 more) Revision 0144a72...

Multimedia

Harald Sitter committed changes in [phonon/qml] demos/qml/videoplayer/VideoPlayer.qml:

fade the video in and out

the design department says that fading is cool, so mindless minion
that I am, I rushed to implement it