Issue 191

10th July 2011 by KDE Commit-Digest Team

Contributors

Alexander van Loon
Vladislav Blanton
Marta Rybczynska
Danny Allen
Marco Krohn
Jaka Kranjc

This Week...

Work on C++0x support in KDevelop. Flag-based annotation and an image export dialog are added to KStars. Marble gains read-only routing support in QML, Qt components and OpenCaching plugins and a QML-Meego interface. A panorama wizard is added to the Kipi plugins. A new activity manager arrives that uses Plasma Active and a basic task manager using QML. KDE's font installer can now download fonts via GHNS (Get Hot New Stuff). The webbrowser in Plasma Mobile gets working web shortcuts. The Nepomuk Web Extractor has been ported to DMS and sees work on various features. In Krita the freehand tool is ported to the strokes framework which improves responsiveness and possibly speed. Also in Krita, a preview of changes made to the layer is implemented, support for OpenRaster is improved and many smaller improvements to the user interface are made. The Krita animator plugin receives loop support for its player and improved performance. Calligra Words receives improvements to the insertion of citations and the bibliography management. In Kexi, mobile plugin editing and saving of records is implemented. The SSL dialog in Rekonq is improved. Much work is done on Gluon. OwnCloud gets various new features, including file synchronisation. Performance optimisations in Marble, digiKam, Strigi and KHTML. The borders around game canvases are removed in KDE Games. Many bugfixes in Kate, Calligra, Amarok and to a lesser degree in Nepomuk, KDE-PIM, KMyMoney, Network Management and Kopete.
Developer Marco Martin introduces a new project, Share Like Connect:

We are happy to announce a little big new project: Share Like Connect. To describe it in the clearest way possible, imagine the following scenario:

  • You are browsing a web page, and you want to tweet a link to the funny web page you are visiting.
  • You are viewing a slideshow of photos, you want to upload the currently open one to Flickr (or whatever other web service).
  • You are viewing a PDF document, and you want to send it to somebody via e-mail.
  • You want to remember that the file you are viewing right now is part of the current activity.

Until now all those operations were possible, but require an amount of extra work that shouldn't be needed, for instance opening a webbrowser, going to Flickr, then searching again on the hard drive for the photo you are viewing right now.

Share Like Connect is a new service that will be deeply integrated in the KDE platform (so, every application can use it) that gives a semantic machine readable meaning to the "thing" the user is viewing right now in the active application, may be a file, a contact, an e-mail, a URL or a geolocation. A global menu in the Plasma workspace shows possible actions for that resource, that will always have the same, familiar user interface, whatever the used application is.

The actions are of 3 categories, as the name says:

  • Share: share the resource with somebody, such as send by e-mail, publish a microblog entry, upload photos on a web service.
  • Like: liking something, for either sharing this information with my friends (such as Facebook like) or to remember about this thing in the future, such as rating with Nepomuk or saving a bookmark.
  • Connect: give a relation between different things to organize better our own data: for instance connect the viewed resource with the current Activity, to always have in a more prominent place links to everything related to what i am doing with the machine right now: all the relevant files, contacts, applications...

Technically, those actions are written as plugins, either C++ or JavaScript, at the moment only an handful of actions are supported, but they will grow with time and are very easy for people to contribute to. The first release is more focused on mobile devices and has been developed for the Contour UX of the Plasma Active project, but it will be supported soon in the desktop space as well. If you want to try it out, help, or if you have any questions, don't hesitate to write to plasma@kde.org.

Vishesh Handa comments on the recent work done on Nepomuk for KDE SC 4.7, specifically the work done on the Resource Merger class:

With KDE SC 4.7, we've introduced a lot of changes to Nepomuk. One of which is draconian error handling, if anyone tries to push data that is invalid according to the ontologies, we do not allow it. The second is a better asynchronous design.

The Resource Merger is the class which verifies if the metadata that has been provided is conform to the ontologies. It's used when large amounts of data are being pushed at one point. Some examples are metadata provided by Strigi and the Akonadi feeders. The feeders are still in the process of being ported to this new API.

The refactoring that I've performed removes a class called Transaction Model. When large number of statements were being pushed, there is a possibility of failure, so the transaction model used to log all these changes, and if the merge failed, replay all of those changes in reverse order. With the refactoring, all checks are done before pushing in the data, so there is no possibility of the merge failing.

The change should bring speed improvements as all the changes don't need to be logged. Unfortunately, I didn't have the time to run proper benchmarks for this.

Sebastian Trueg has blogged about these changes in Nepomuk. He termed these new set of API's as Nepomuk 2.0.

Statistics

Commits 3103 by 231 developers
Open Bugs 23400
Open Wishes 17487
Bugs Opened 442 in the last 7 days
Bugs Closed 636 in the last 7 days

Commit Summary

Module Commits
/branches/stable
748
 
/trunk/l10n-kde4
209
 
/trunk/l10n-support
51
 
/branches/trinity
43
 
/trunk/www
39
 
/trunk/KDE
38
 
/services/storage
26
 
/branches/work
22
 
/branches/KDE
21
 
/kcontrol/kfontinst
20
 
Files Developer Commits
1725
 
Albert Astals Cid
575
 
177
 
Laurent Montel
59
 
150
 
Marco Martin
51
 
144
 
Hugo Pereira Da Costa
48
 
132
 
Harald Sitter
44
 
129
 
Gilles Caulier
43
 
129
 
Timothy Pearson
43
 
117
 
Aaron J. Seigo
39
 
102
 
Friedrich Karl Tilman Pülz
35
 
105
 
Craig Drummond
35
 

Internationalization (i18n) Status

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

Bug Killers

Person Bugs Closed
Myriam Schweingruber
147
 
Christoph Feck
56
 
kollix aon at
55
 
Christophe Giboudeaux
33
 
Sergio Luis Martins
25
 
Aaron J. Seigo
22
 
lamarque gmail com
20
 
Alex Fiestas
17
 
Kurt Hindenburg
13
 
Burkhard Lück
13
 

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

Bug Fixes

Development Tools

Olivier Jean de Gaalon committed changes in [kdevplatform] project/importprojectjob.cpp:

ProjectImportJob killing causes deadlocks/crashes.
Until it works properly, don't make it killable.

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

support arbitrary order of type-specifier and storage-class-specifier

TODO: we really need to adhere to the spec better by adding a
parserDeclSpecifier which should solve this problem and others

Milian Wolff committed changes in [kdevelop] languages/cpp/cppduchain/expressionvisitor.cpp:

use context that is checked in the conditional instead of member var

this hopefully fixes a rare crash

also cleanup duplicate checks of owner

Graphics

Marcel Wiesweg committed changes in [digikam] /tags:

Fix some annoyances with the Remove Tag submenu.
- for less than 10 assigend tags, offer a flat list without the need to go to
a hierarchy of tags
- in the hierarchical menu, do not show "Remove this tag" if the tag is a
parent tag and not at all assigned
- if no checkbox is drawn, do not reserve space for it

Marcel Wiesweg committed changes in [digikam] utilities/facedetection/faceiface.cpp:

Defer creation of the people and unknown-person tags until first use of face detection
For finding the People subfolder, if no such named tag exists, use
a heuristic which takes all existing person tags and uses the topmost parent tag,
instead of forcing recreation of the Person tag ever again.

Marcel Wiesweg committed changes in [digikam] /widgets/common:

Add a class PersistentWidgetDelegateOverlay with some additional behavior for overlays
which provide user interaction and keyboard focus
- when a "persistent" mode is entered, the overlay stays on its index and
is not moved by mouse hover to other places or hidden
- when an overlay widget had focus, it is restored

KDE Base

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

Change default remote tab format to always show hostname.

Change to (%u) H so when the tab names are shorten using ..., the
hostname will stay visible.

Dominik Haumann committed changes in [kate/KDE/4.7] playground/kte_acomment/artisticcomment.cpp:
Martin Gräßlin committed changes in [kde-workspace/KDE/4.7] kwin/effects/coverswitch/coverswitch.cpp:

Fix a rendering glitch caused by the reflections in CoverSwitch

Seems like we need to use drawWindow instead of paintWindow or
KWin will keep some parts of the paint data.


FIXED-IN: 4.7.0

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

Added support for synchronous requests.

This is needed to address the fact that QtWebKit from v2.2 forwards no longer
creates its own event loop to handle such requests. Instead it expects QNAM, or
any reimplementation, to deal with it on its behalf. Credit goes to Pierre
Rossi for discovering this issue.


FIXED-IN: 4.7.0
REVIEW: 101876

Vishesh Handa committed changes in [kde-runtime/nepomuk/megerRefactoring] /services/storage:

ResourceMerger : Resolve the nodes in two steps

Initially resolve all the mapped (identified) nodes, then perform
all the max cardinality and domain/range checks. Only after that
should the unmapped nodes be created.

Before this, the nodes were only resolved after the cardinality and
domain range checks. This resulted in the domain range checks
occasionally failing if the required type was in the store.

This fixes : testStoreResources_correctDomainInStore2
testStoreResources_correctRangeInStore2

Resolving a node => changing it's uri to the identified resource

Dominik Haumann committed changes in [kate] kate/app/katepluginmanager.cpp:

load shortcuts if the PluginView inherits from KXMLGuiClient

Christoph Cullmann committed changes in [kate/KDE/4.7] /:

properly invalidate m_selectionAnchor when invalidating the selectionCache

fixes wrong selection start-point under some conditions, adds unit test

Andrea Iacovitti committed changes in [kdelibs/KDE/4.7] kdeui/widgets/klineedit.cpp:

Fix regression about input text clearButton stopping to work on khtml forms

FIXED-IN: 4.7.0

Sebastian Trueg committed changes in [kde-runtime] /services/strigi:

Throttle the IndexCleaner the same way we do with the IndexScheduler.

Vishesh Handa committed changes in [kde-runtime/nepomuk/megerRefactoring] /services/storage:

Check if the graph additionalMetadata is valid before pushing

The graphMetadata will first be converted into a
QMulitHash<QUrl, Soprano::Node>, and then checked for validity. If
it fails, the entire merge operations fails.

This should improve the performance a little bit, as the
additionalMetadata is now being converted into a
QMultiHash<QUrl, Soprano::Node> only once.

This fixes testStoreResources_graphMetadataFail

Sebastian Kügler committed changes in [plasma-mobile] shell/data/plasma-tablet-homescreen/plasma-default-layoutrc:

Applet is called notifications, not org.kde....

This fixes the notifications widget not showing up in the panel, a
long-standing and annoying bug. Just in time for the weekend.

Jeremy Paul Whiting committed changes in [kdelibs/KDE/4.7] knewstuff/knewstuff3/core/engine.cpp:

Fix crash in knewstuff3 when config file is not found.
Thanks to Tautvydas Andrikys for the bug and fix.
(cherry picked from commit 592178a8d31f18567375c809d4663a377f137266)

KDE-PIM

Stephen Kelly committed changes in [kdepim/4.6] kjots/confpagemisc.ui:

Give the label a buddy so that its accelerator works.

Laurent Montel committed changes in [kdepim] /:

Fix Bug 262033 - Focus on the 'Move Messages to Folder' dialog should always be on the folder list

Stephen Kelly committed changes in [kdepimlibs] /:

Make ETM fetch empty collections at least once

When collections are empty because they have just been created
(synchronizeCollectionTree or equivalent operation), an application
using EntityTreeModel will not fetch their contents, assuming they
are truly empty (contain no items). This is done for optimization
purposes.

This patch make ETM only skip collections which are known to be
empty. We can't just check the statistics for the optimization
because the statistics will report zero until something is requested
if the resource simply has not been sync'd yet.


REVIEW: 101844

Office

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

Fix selecting centered lines 'backwards' is impossible with mouse

José Luis Vergara committed changes in [calligra] krita/ui/kis_view2.cpp:

(Commit redo) Increase startDragDistance in Krita to a good value for stylus and mouse

o Formerly added in 2f29e0d4c9e534cbb478432d89ce9a1512477e85
o Reverted in 763eb8d023710d93d581921beabfff1308bfb74e

Matus Uzak committed changes in [calligra] /:

libmso: Use reserve achor in case OfficeArtClientAnchor is missing.

* Sometimes OfficeArtClientAnchor, which provides some client specific data to obtain
shape dimensions and position is missing. Each client should decide what to do
in this case. For MS-DOC client, the data can be accessed based on the character
position (CP) in the document. I could not reproduce the problem after re-save in
MS Office 2000/2003/2007. The test files attached to Bug 275290 is a well known broken file.
I left an assert to obtain test data for inline shapes with missing OfficeArtClientAnchor.

Dag Andersen committed changes in [calligra] /libs:

Fix: Task tree collapses when new tasks are created

Boudewijn Rempt committed changes in [calligra] libs/main/KoMainWindow.cpp:

Make sure the file open dialog opens in the dir of the last opened file

Also synchronize the ":OpenDialog" information of KRecentDirs with the
path to any document we have loaded so the file dialog can start in the
right directory.

Inge Wallin committed changes in [calligra] /vectorshape/libsvm:

SVM: Implement more of the TEXTARRAY action.

This fixes Bug 275518: SVM: Rendering of text in the embedded ppt in
the attached ODT file is not proper (libsvm in vectorshape
renders title 2 times)

Dag Andersen committed changes in [calligra] /libs:

Task editor: improve selection strategy

Try hard to always have current index also selected.
This makes it easier for the user to see where new nodes
will be inserted.

Thomas Baumgart committed changes in /trunk/extragear/office/kmymoney/kmymoney/views:

Renaming a budget did not update the name in the storage
Reverting changes did not update the budget value entry area

Allan Anderson committed changes in /trunk/extragear/office/kmymoney/kmymoney/converter/mymoneystatementreader.cpp:

REVIEW:6732

When I re-wrote MyMoneyStatementReader::Private::nameToId(), in order to handle
categories with sub-categories, I borrowed some code from
KMyMoneyApp::createAccount(), pruning it in the process.

What I should not have omitted was the creation of a currencyId for the new
category.

Thomas Baumgart committed changes in /trunk/extragear/office/kmymoney/kmymoney/widgets/kmymoneymvccombo.cpp:

Only copy the complete text from the completion box to the edit widget if the completion box is visible.

Sune Vuorela committed changes in [calligra] plugins/textshape/TextTool.cpp:

make pasting from selection work in text tool.


REVIEW: 101845

Boudewijn Rempt committed changes in [calligra] krita/ui/kis_view2.cpp:

Fix drag and drop of images from dolphin

Dolphin puts urls, not images in the drop event's mimedata. We were all
setup to handle urls, but never actually accepted the drops.

Sven Langkamp committed changes in [calligra] krita/plugins/paintops/libpaintop/kis_curve_option.cpp:
José Luis Vergara committed changes in [calligra] /plugins/filters/phongbumpmap:

Remove hardcoded area assumption in Phong Bumpmap

José Luis Vergara committed changes in [calligra] /:

Create KisToolButton, a sublass of QToolButton to bypass a bug in tablet support

o Add the class to CMakeLists.txt
o Document it
o Promote bnAdd in WdgLayerBox from QToolButton to KisToolButton

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

Fix line height.
If we set PercentLineHeight or FixedLineHeight then we explicit need to set the other LineHeight
to zero to prevent that the QTextBlockFormat inherits the value from it's parent in which case
we are later during layouting not able to know which one of them to use.

Sebastian Sauer committed changes in [calligra] words/part/KWStatusBar.cpp:

Fix words locks up after a specific set of steps
The reason for the problem was that we updated the cursor-position displayed in
the statusbar inbetween the delete-operation. Since setting the label fires an
QWidget::updateMicroFocus which does call TextTool::inputMethodQuery we where
then dealing with invalid QTextFrame::iterator's what was resulting in those
lockup.
Tons of thanks goes to Sune!

Sven Langkamp committed changes in [calligra] krita/ui/kis_view2.cpp:
José Luis Vergara committed changes in [calligra] libs/main/KoDocumentSectionView.cpp:

Handle the start of a drag event in KoDocumentSectionView to bypass a bug in QTreeView

Inge Wallin committed changes in [calligra] plugins/vectorshape/libsvm/SvmPainterBackend.cpp:

SVM: Fix a bug where the text color overwrote the line color.

Sebastian Sauer committed changes in [calligra] /textshape:

Fix tripleclicking on a line sholud select the full line

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

Add internal copy of kxmlrpc to work around a bug in character encoding

KXMLRPC assumes all responses are utf-8, but MovieMeter uses
iso-8859-15. By using an internal copy of kxmlrpc, I can change the
XML response handling to do proper character encoding. Also, added a
unit test to check.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 8a9c787...
Inge Wallin committed changes in [calligra/wmf-device_context-ingwa] /libkowmf:

Remove #if'ed out code for real.

Bah! I thought I had done this already but apparently git takes a
snapshot of the files when the 'git commit' command starts instead of
after the log message is written like svn does.

Sebastian Sauer committed changes in [calligra] words/part/dialogs/KWStartupWidget.cpp:

Fix Selecting >1 column in Custom Document, doesn't show columns until document is saved and reopened

Multimedia

Ralf Engels committed changes in [amarok] src/dynamic/BiasSolver.cpp:
Ralf Engels committed changes in [amarok] src/browsers/CollectionSortFilterProxyModel.cpp:
Ralf Engels committed changes in [amarok] /:

Only write back rating if the user selected "write back statistics" in the settings.
This seems to be what the user expects. He does obviously not expect something to be
written if he just manually and explecitely set the rating.

Sven Krohlas committed changes in [amarok] /:

Don't let the album applet freeze Amarok for ages

We tried to show ALL tracks from ALL artists, that do not belong to an
album, if some track from the currently playing artist did not have an
album set. Took about 50 seconds for me on track change...

TODO: show all tracks from this artist that are not part of an album.



FIXED-IN: 2.4.2

Bart Cerneels committed changes in [amarok] /dialogs:

Don't block the organizer dialog.

Process in batches instead.

Ralf Engels committed changes in [amarok] src/core-impl/collections/db/sql/SqlScanResultProcessor.cpp:

Full scan should not decrease playcount

Networking Tools

Tirtha Chatterjee committed changes in [rekonq/tabGroupingQGV] /sessionmanagement:

fixed an issue with the layouting of a tab previews, still not fully fixed.

Diffs: 1, 2, 3 Revision a140f22...
Lamarque Souza committed changes in [networkmanagement/nm09] /:

Indicate active connections in Manager Connections widget.


FIXED-IN: nm09 branch

Lamarque Souza committed changes in /trunk/KDE/kdenetwork/kopete:

Allows to hide the contact name and close button in chat window.
Just go to menu -> Configurations -> Configure -> Chat window -> Tabs.

Lamarque Souza committed changes in /trunk/KDE/kdenetwork/kopete/kopete/kopetewindow.cpp:

Commit patch from bug entry to change hotkey for hide/show
contact list from Ctrl+Shift+I to Ctrl+Alt+T, so that it
does not conflicts with Kate's hotkey.
Thanks Robert Riemann for this patch.

Unfortunately I saw it too late, it will appear only in
KDE SC 4.8.0.

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

Show error if PIN/PUK unlock fails.


FIXED-IN: nm09 branch / KDE 4.7.0

Lamarque Souza committed changes in [networkmanagement] /:

User Interface

Ivan Čukić committed changes in [contour/ivan/qtmobilityfeeder] contourd/qtmobilityfeeder/qtmobilityfeeder.cpp:

- IM account saved
- fixed saving postal address

Hugo Pereira Da Costa committed changes in [oxygen-gtk/gtk3] src/oxygenshadowhelper.cpp:

fixed installation of shadows on menus.

Hugo Pereira Da Costa committed changes in [oxygen-gtk/gtk3] rc/gtk.css:

fixed menuitem padding for Gtk-3.1

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

do not set translucent background on dock widgets.

Utilities

Yuri Chornoivan committed changes in [krusader] /:

Fix statement about archive handling in KrViewer\n\n

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

Fix crashes with context menus of deleted route stop items

- Store a pointer to opened context menus and delete in destructor or after the menu is closed
- Plus: Better strings for the route stop context menu (not writing the stop name in each menu entry)

Games

Albert Astals Cid committed changes in /trunk/KDE/kdegames/ktuberling/toplevel.cpp:

Do not crash on malformed conf files

Albert Astals Cid committed changes in /trunk/KDE/kdegames/ktuberling/playground.cpp:

Make saving work again

Laurent, the next time you feel like fixing stuff in my code, i would appreciate if you do not break it instead


CC

Other

Timothy Pearson committed changes in /branches/trinity/dependencies/tqtinterface/qtinterface/tqt-replace-stream:

Fix TQt3 problem where moc-ed signals/slots were not being handled correctly,
causing a number of problems including a failure to repaint the Konsole background image
on any desktop except Desktop #1. This change will require a full rebuild of all packages
that utilize TQt3.

Sayak Banerjee committed changes in [websites/paste-kde-org] classes/class_core.php:

Security fix

BogDan Vatra committed changes in [android-qt/experimental-ro] lib/rules.xml:

Fix OpenGL for android-5 to android-8

Jan-Christoph Borchardt committed changes in [owncloud] files/js/filelist.js:

applied Ryan's patch for Bug 276007 - Folder list does not get updated when creating the first folder.

Sayak Banerjee committed changes in [websites/paste-kde-org] /:

Security fixes and general code sanitation

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

Features

Development Tools

Miquel Sabaté committed changes in [kdev-ruby/experimental_duchain] /:

Yet another commit with plenty of changes:

- Created RubyClassDeclaration and RubyFunctionDeclaration (declarations folder).
- Created NameAst which should solve some dirty issues.
- The declaration builder handles modules and classes in a basic way (don't expect miracles).
- Methods aren't supported yet, but it's on its way :)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 827c5d1...
Milian Wolff committed changes in [kdevelop/c++0x] /cpp/cppduchain:

cpp2011 support: fixup decltype support: additional parens only add a ref, not a const ref

TODO: improve expression visitor to properly track const-ness in cases like
struct A { int x; }
const A* a = new A;
// now visiting a->x should give a 'const int' type

Diffs: 1, 2, 3 Revision f157153...
Aleix Pol Gonzalez committed changes in [kdevplatform] /dashboard:

Add again the applet filtering

Milian Wolff committed changes in [kdevelop/c++0x] /cpp/parser:

c++2011 support: handle inline namespaces in parser

Diffs: 1, 2, 3, 4 Revision 057096b...
Milian Wolff committed changes in [kdevelop/c++0x] /cpp:

proper support for decltype in typebuilder/visitor

we can just do what typeof does, but need to handle the special
case of additional parens properly, which this commit does now

also adds a fairly big unit test

TODO: codegenerator?
TODO: type_compiler.cpp?
TODO: m_typeId in type_visitor?
TODO: share code between type visitor and type builder

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 0644dae...
Milian Wolff committed changes in [kdevelop/c++0x] /cpp:

c++2011 support: handle nullptr in parser and code completion

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 18a76ae...
Olivier Jean de Gaalon committed changes in [kdevelop] /cpp:

Create a context for switch expression, add special completion for "case"

REVIEW: 101671

Educational

Daniel Marth committed changes in [marble/gsoc-2011-opencaching] /plugins/render/opencaching:

Implemented basic functionality of OpenCaching-plugin. A KDE-icon is used as dummy until the terms of service of OpenCaching.de are determined.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision f88066d...
Rafal Kulaga committed changes in [kstars/gsoc2011] /:

Initial version of flag-based annotations. Some work still needs to be done.

Flag operation are now available via SkyMap popup menu. If there is more than
one flag around clicked SkyPoint, contex menu allows user to choose which one
to edit/delete.

Flag manager has been improved a little bit - now user can select which flag's
label/color/mark etc. is displayed by clicking appropriate entry in flags
list. Upon selecting the "Edit flag" Flag manager window appears with
appropriate flag shown.

TODOS: remove flags 'correctly', enable saving of changes made to existing
flags, fix problem that occurs when marks are being read from file.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision fa5fd53...
Dennis Nienhüser committed changes in [marble] /plugins/declarative:

Basic, read-only routing support in QML.

Adds a grouped property 'routing' to the MarbleWidget QML element with
access to item models for waypoints and turn instructions. Write
support for waypoints (set start, destination etc) tbd.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision b5cf9a1...
Rafal Kulaga committed changes in [kstars/gsoc2011] /:

Added image export dialog enabling user to add legends to exported images.
Done some changes & refactoring to Legend class - horizontal legends are
now ready - only slight changes need to be done for verical legends (layout)
and colors (currently they are a bit silly).

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision dc36843...
Filipe Saraiva committed changes in [cantor/scilab-backend] /backends/scilab:

Initial commit to Scilab syntax highlighter. Continue works in Scilab graphical management in Cantor.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 54f1d87...
Daniel Marth committed changes in [marble/gsoc-2011-qtcomponents] /:

Initial implementation of a Qt-Components-Plugin and a QML-Meego-Interface for Marble.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 9217f8c...
Daniel Marth committed changes in [marble/gsoc-2011-qtcomponents] /:

Initial implementation of a Qt-Components-Plugin and a QML-Meego-Interface for Marble.

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

Graphics

Benjamin Girault committed changes in [kipi-plugins] /:

Panorama Wizard

First import of the panorama gui. Control points calculation is working.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 6f25754...
Christopher Reichert committed changes in [okular/4.7] part.cpp:

Reload Document when contents of symlink target change.

If okular loads a symlink, watch the document the symlink
points to using readlink. Reload the symlink when the
actual document changes.

Benjamin Girault committed changes in [kipi-plugins] /:

Panorama plugin (code structure and CPFind call)

GUI needs to be done
Work mainly based on the expoblending plugin

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 13 more) Revision 5db7f9c...
Gilles Caulier committed changes in [digikam] utilities/imageeditor/editor/editortool.h:

use extra namespace qualification here
CC

KDE Base

Ivan Čukić committed changes in [kdelibs/active-development/4.7] /:

Ported the new libkactivities

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 20 more) Revision 86fa3ca...
Ivan Čukić committed changes in [kde-runtime/active-development/4.7] /:

Ported the new activity manager

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 20 more) Revision 1acc0e3...
Erlend Hamberg committed changes in [kate] /:

Added :d :delete :c :change :j :> :< :y :yank "command line" commands
+ some tests (Vi Mode)

Diffs: 1, 2, 3 Revision 1cab60e...
Artem Serebriyskiy committed changes in [nepomuk-web-extractor/storage] /:

Extract decisions into separate library, redo CMake system

1. Decision are now separate library with separate namespace. Because of
this some methods become public.
2. All programs were changed to support this separation and new
includes names
3. CMake system was redone as repo layout has changed seriously

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 676 more) Revision 3206748...
Albert Astals Cid committed changes in [kde-workspace] ksysguard/ksysguardd/Linux/ProcessList.c:

Extract process name from command line in ksysguardd on Linux.

Signed-off-by: Mad Fish

Artem Serebriyskiy committed changes in [nepomuk-web-extractor/storage] /:

Finish porting to DMS + bugfixes

1. Everything now works through DMS, unnecessary code removed,
API changed
2. Various bugfixes - in UI, config and other things

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 119 more) Revision 00e3b54...
Philipp Knechtges committed changes in [kde-workspace] kwin/effects/cube/cube.cpp:

kwin: add support for y-inverted textures to the Cube effect

Ivan Čukić committed changes in [kde-runtime] /:

Ported the new activity manager to master

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 21 more) Revision 42b5610...
Sebastian Kügler committed changes in [plasma-mobile] /qtwebbrowser:

Use KUriFilter to mangle input

This makes all the nice webshortcuts work, which is especially cool
given that input on a keyboard sucks. Also, just entering something
searches now. Good stuff.

The mechanism is as follows:
- user enters a fuzzy "url" or webshortcut
- the UrlInput Item signals urlEntered
- View::onUrlEntered filters the input and
- sets the result as property "filteredUrl" on the UrlInput Item
- the UrlInput Item reacts to this change by loading the filtered URL
using a new function in webbrowser.qml

The filter is also applied to a command-line argument passed into
rekonq-active, so can be used from "outside" as well.

Diffs: 1, 2, 3, 4, 5, 6 Revision 43f3bd8...
Martin Gräßlin committed changes in [kde-workspace] kwin/effects/boxswitch/boxswitch.cpp:

Paint windows on edge without Lanczos filger

This makes it possible to use BoxSwitch in animated mode wihout
PaintClipper.

Craig Drummond committed changes in [kde-workspace] /kfontinst/kcmfontinst:

Enable foundry filter

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

enabling mediaplayer applet to play media and update the slider position

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 58e1322...
Viranch Mehta committed changes in [kde-workspace/plasma/viranch/tasks] /desktop/applets/tasks:

Basic task manager QML applet. Lists all the tasks running with mouse minimize/unminimize actions. ListView needs to be converted to Flow

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision a31208a...
Marco Martin committed changes in [kde-runtime] /declarativeimports/draganddrop:

drag and drop plugin by Gregory Schlomoff

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision a59d527...
Sinny Kumari committed changes in [plasma-mediacenter] applets/mediaplayer/package/contents/qml/main.qml:

enabling media to seek

Artem Serebriyskiy committed changes in [nepomuk-web-extractor/storage] /:

Multiple changes, mostly in GUI and serializaton

1. Changes in Decision lib:
1.1 Bugfixes in QDataStream serialization
1.2 Add QDebug output
1.3 Add operator== for Decision and PropertiesGroup
1.4 Fixes in PropertiesGroupCreator - previously rank was intialized
with random value, which leads to incorrect PropertiesGroup.
1.5 TargetResources for Decision are now correctly determineg ( well,
at least blank resources aren't now being added anymore )

2. Changes in DDMS
2.1 Fix bug in service when Decision wasn't written to file
2.2 Fix bugs in SQL queries.

3. Changes in GUI.
3.1 QML is at least detecting resources
3.2 Remove KUrlRequester as unsufficent. Replace with custom dialog with
Nepomuk::SearchWidget for selecting resources

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 17 more) Revision c73b66b...
Martin Gräßlin committed changes in [kde-workspace] /:

Add a build option for screen edge support

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision bc36910...
Craig Drummond committed changes in [kde-workspace] /kfontinst:

Download fonts via GetHotNewStuff

Milian Wolff committed changes in [kate] part/syntax/data/cpp.xml:

c++2011 support: add decltype keyword

KDE-PIM

Sudhendu Kumar committed changes in [kdepim/htmlreplies] /:

Implemented htmlMessageText() ( retrieving HTML part of mail )
and quotedHtmlText() ( extracting body element out of the HTML mails ).
Renamed asQuotedString() to quotedPlainText() and body to plainBody.
Gave functionality to htmlBody in processWithTemplate

David Jarvie committed changes in [kdepim/4.7] /:

Include content transfer encoding in emails

The Content-Transfer-Encoding header is required in emails, but was
previously omitted. KMail copes, but other mail clients may not.

Office

Sven Langkamp committed changes in [calligra] /ui/openrastertk:
Sebastian Sauer committed changes in [calligra] /:

Added Paste As Text.
This allows to paste the clipboard content as text.

Robert Mathias Marmorstein committed changes in [koffice] /:

Update wordperfect and wpg filters to use new libs.

With this change, koffice requires libwpd-0.9, libwpg-0.2, and
libwps-0.2. These versions supposedly offer significant advantages over
the versions we were using before.

Most of the changes are simple CMake magic and replacing the code that
had been copied from wpg2odg with new versions from perfectspot (thanks,
Ariya Hidayat, for keeping these up-to-date!). However, a few changes
to the code were needed to integrate the new classes with koffice. In
particular, to get the wpg filter working, I had to re-enable (and
rewrite) the code for generating settings.xml and styles.xml.

I also had to fix the license information in some of the perfectspot
files to make Krazy happy -- they had the wrong FSF, Inc. address.

I have tested using an old wordperfect document I had lying around and
some wpg files I found on the web. All of these seemed to import
correctly. I also checked that Krazy was happy and that no new unit
tests failed.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 5edbd88...
Inge Wallin committed changes in [calligra] /vectorshape/libsvm:

SVM: Parse Layout mode

Also define it (somewhat loosely so far) in the SPEC.

Diffs: 1, 2, 3, 4 Revision 8e6baea...
Marijn Kruisselbrink committed changes in [calligra] /ui:

make highlighting colors configurable

Silvio Heinrich committed changes in [calligra/krita-artisticcolorselector-sil] /plugins/extensions/dockers/artisticcolorselector:

Improved artistic color selector.

Made it possible to transform the light strip and the hue rings
into gradients (for a finer selection if a lot of shades are required).

Diffs: 1, 2, 3 Revision b6a52e2...
Torio Mlshi committed changes in [calligra/krita-animator-plugin-mlshi] /plugins/extensions/dockers/animatordocker:

Player loop support

And also small bug fix: updating after copying frames.

Diffs: 1, 2, 3, 4, 5 Revision b8e2dad...
Dmitry Kazakov committed changes in [calligra/krita_strokes_framework_kazakov] /ui:

Added KisResourcesSnapshot class

It is supposed to store the information about all the resources
at some moment of time. This data is then given to the stroke jobs.
We can't use KoResourceManager from the stroke job directly, because
it's contents may change for delayed jobs.

Diffs: 1, 2, 3 Revision bbacefa...
Smit Patel committed changes in [calligra/words-references-bibliography-s] /:

Added KoInlineBibliographyInfo (for bibliography-source) and Bibliography generator

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision e3b07c5...
Dmitry Kazakov committed changes in [calligra/krita_strokes_framework_kazakov] /ui/tool:

Ported KisToolFreehand to use strokes framework

1) It became really much more responsive
2) I guess, it became a bit faster

But the porting (and cleaning up) is not finished yet

Diffs: 1, 2, 3 Revision e52b8d9...
Smit Patel committed changes in [calligra/words-references-bibliography-s] /:

Improvements in CitationInsertion (handles duplicate cites, cleaned up code)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision f39a019...
José Luis Vergara committed changes in [calligra] /ui:

Modify kis_dlg_layer_properties to show a preview of changes to the user

o Modify KisLayerManager and KisDlgLayerProperties to let the latter take charge of handling the changes to the layer.
o Add a ticker to keep change of changes to the configuration and show preview changes.
o Make the dialog non-modal.
o Modify wdglayerproperties.ui to give more room for widgets.
o ...Also add a preview CheckBox.

Boudewijn Rempt committed changes in [calligra] /ui:

Drag&drop: when d&d-ing between instances of Krita, copy the whole layer

Now we serialize the layer we want to store in KisMimeData as a .kra
file (in memory) and deserialize it. This means we can d&d layer groups,
everything in fact, between instances of Krita.

Adam Pigg committed changes in [calligra/kexi-mobile-adam_pigg] /plugins:

Implement editing/record saving.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 4507ee5...
Shaheed Haque committed changes in [calligra] filters/libmso/shapes.cpp:

Add *indicative* support for connector arrowheads.

We don't attempt to implement a complete rendering of ODF markers, but
just convey the semantic sense of when there are arrowheads.

Marijn Kruisselbrink committed changes in [calligra] tables/ui/SheetView.cpp:

add code to actually draw the highlighting for cells, todo: no hard coded colors

C. Boemann committed changes in [calligra] /:

Completely switch to the new way of specifying pagebreaks

Diffs: 1, 2, 3 Revision 0152536...
Marijn Kruisselbrink committed changes in [calligra] /ui:

add api for highlighting of search results

Networking Tools

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

Added SSL Widget, first version

Diffs: 1, 2, 3, 4 Revision 4e68f71...
Lamarque Souza committed changes in [networkmanagement/nm09] /:

Add option to show network speed in KB/s or KBits/s in interface details
widget.


FIXED-IN: nm09 branch

George Kiagiadakis committed changes in [telepathy-contact-list] /:

Merge branch 'icon-mess'

This is not completed yet, but it is in a mergeable state.
It needs some coordination with the artists to rename kde-telepathy
to telepathy-kde, ship all our icons in hicolor and eliminate
duplication with the oxygen icons.

Reviewed-by: George Goldberg

Utilities

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

Show time in minutes to each stop in a RouteGraphicsItem

- Show the actual time in the tooltip (this was used for both strings previously)
- The RouteStopTextGraphicsItem now creates the strings to be shown itself
(and gets a time for the stop and the time in minutes from the first stop
in the route)

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

Add context menu entries for journey route stops

- Search journeys to and from a given stop
- Copy stop name to clipboard
- Changed "requestJourneys" signal to also be send as a "requestStopAction" signal
- For each stop action custom data can now be send

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 73a456a...
Friedrich Karl Tilman Pülz committed changes in [publictransport/NewFilterSettings] /:

Fixed configuration classes to work with new filter data structures.

- Multiple filters can now be enabled per stop in the StopSettingsDialog
- Give a stop index to StopSettingsDialog, now needed to know which filters are enabled for the edited stop (now stored in FilterSettings::affectedStops)
- New data role (FilterSettingsRole) to store FilterSettings objects in the model for the "used filters"-combobox

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

Games

Felix Rohrbach committed changes in [gluon/achievements] /:

A better UI for Achievements in the KDE Extended player.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision e288cca...
Stefan Majewsky committed changes in [libtagaro] /graphics:

TagaroGraphics: add processingInstruction

The "processing instruction" data field is a means for the programmer to
communicate with the graphics source. This addition has been requested
by Jeffrey Kelling, who wants to add a new GraphicsSource that mimics
the customColors support of KGameRenderer.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision a2facb6...
Arjen Hiemstra committed changes in [gluon] graphics/filemesh.cpp:

Graphics: Add normals support to the mesh.

This will allow us to do proper lighting calculations for rendering.

Laszlo Papp committed changes in [gluon] /:

Core/Singleton: Implement a proxy method for getting a mutex instance for need

The basic issue that this commit address is that the static mutex of the
singletons is created during the initialization stage, before the main entry
point. This would not cause any issue itself, but the gluonobjectfactory creates
objects for getting the mimetypes in case of the GluonObjects that are targetted
for registration.

The problem is also that C++ does not have virtual static method as we say in
the relevant comment of the factory code and as such we need to create objects.
The issues come into the picture when these objects, which are also created during
the initialization stage (before the main entry point), try to access the
singleton instance methods in their constructor. It might result that the mutex
tries locking in that method, but it can crash anytime without any guarantee for
the proper operation if the static mutex is not created. We cannot make the
order proper because there is no standard C/C++ way of defining these things.

The order of the global/static initialization is undefined as such during that
stage. I have tested on my i386 and the linker does it from the last included
source file, thus while creating *.o files the order is really not guaranteed
for the initializations.

There are essentially more approach for solving this issues.
1) Make static supportedMimeTypes methods for the GluonObjects that will be
registered by the factory. The problem is that with this approach we could not
provide a pure virtual static method-like way, thus we would force each class
that would like to be registered to implement it on their own which can be not
that user/programmer friendly. We can do just fine with virtual methods as
non-static if construct the objects there.

2) We could eliminate all the singleton instance method calls from the
constructor of the relevant GluonObjects that will be registered. It is not
something that handy either. However I eliminated the audio engine instance
method call (which is a singleton type) from the soundlistener component
constructor. It hsa not been still enough actually. For instance the
materialinstance constructor was also using the Graphics Engine (singleton)
instance in its constructor. That can be arguably eliminated, but the problem is
that we should take care about these things all the time when we have a class
that will be registered. In my humble opinion, that is why it is that good
approach either heretofore.

3) Guarantee that the static mutex of the singletons are created properly before
trying to use them for locking the Singleton creation. After a lot of thinking,
I chose this way. This would actually solve all the crash we experienced on
Windows, Nokia N9 (Harmattan/Maemo6) phone and the "random" crash on my Linux
desktop PC. Yes, "random" crash because the order of the collected cpp source
files in the CMakeLists.txt cmake filesmatters differently in different
environments.

After all, it is not that easy to write a thread-safe singleton, and people like
generally avoiding singletons in multi-threaded application as much as possible,
but we still ship a nice way of doing it.

The basic idea was to provide a proxy method (we called it later mutexInstance
after the agreement about it) that creates a mutex if it is needed. Imagine it
as the singleton instantiation happens (that is how the name comes from there).

There were more ideas actually how to accomplish it properly that I would like
share with you. The first idea has been to make a boost::scoped_lock like way
here, as in a critical section, but that would not have really solved the issue
because the basic issue would have remained how to "protect" a function local
static variable which is not thread safe by "purpose". There are more
discussions like that on the qt mailing list arhcive site, but the tryReadLock
and QMutexLocket, etc did not really cause the proper functionality and
operation.

There was also a very simple approach to just make the localfunction variable
static. That is not enough and not even thread-safe even if the compilers
nowadays has the proper options *by default* for that it is really not safe to
make guess work each architecture we ship. The C++ standard before C++11 or
C++0x were not really thread-safe scaled which is slighly fixed by the now
upcoming standard, thus we should not really make guess-works over there.
(even though gcc has -Wfno-global-static option, but it is enabled by default)

I was also considering using spinlock. The idea is not to lock the constructor,
the idea is to lock *before* the construction happens to ensure no duplicate
instance is created. If you locked inside the constructor, you could end up with
multiple instances. The idea of the lock is not just to ensure the constructor
body is synchronized. Which is a part of it, but there's obviously more into it.
It does not matter here if you have a spinlock or a sleeplock or whatever,
it's negligible. The lock acquisition only happens once, when you create the
instance and the only time ever the lock acquisition won't be instant is when
another thread tries to call instance() at the same time while other thread is
still constructing the singleton. The lock is only acquired during
initialization. Spinlock is just an alternative lock to sleeplock where instead
of going to sleep, it busy-waits with a loop. It is useful if you know you'd
only sleep for small amount of time, so there's no reason to do expensive
context switching or OS scheduling. Yes, going to sleep implies a context
switch, but like I said earlier: 1) the chances of two threads ever calling this
function at the same time are very very very slim. 2) the only time lock is ever
acquired is during initialization, which happens exactly once. 3) because of the
two afromentioned reasons, which kind of lock you use is negligible, VERY
negligible and making an assumption that spinlock is better for the situation is
bad: 1) you don't know HOW LONG the construction of the singleton takes, it can
take so long that a sleeplock would perform better. 2) this is a library, you
don't know on what kind of machine the code is going to be run on, spinlock on
single-core, single-cpu machine is a very very bad idea. There's no reason to
change it, it's negligible. Spinlock will be perform better in certain
situations and worse in others, but it does not matter at all.

So we are at the discussion of the final solution which was is a good idea
actually after discussing it with thiago IRC so that using QBasicAtomicPointer
and atomic swap in the proxy method. There is a good example for this uage
inside the Q_GLOBAL_STATIC internal Qt API macro, but since it is not documented
and not even planned to be a public API, they would not like to fix bugs about
it and they would like to make changes anytime without warning us, I could not
just simply use this nice macro written by thiago. That is true,
QBasicAtomicPointer is not documented either, but targetted for public usage as
I was pointed out by thiago. The documentation will happen by him as soon as
possible. There is a documented way, like QAtomicPointer, but the problem is
that with it is not really a POD type which will not solve the issue of having
another thing that should be defended. Hence after learning the internal
Q_GLOBAL_STATIC internal Qt API, I decided to implement our way similarly and
the result is awesome.

During the internal review we decided to put the class members into the private
section and also this proxy method. The only public method remained is the
instance method of the singleton.

Finally I could eliminate the hack in the gluon cmake file (CMakeLists.txt)
where the order mattered previously, so it is nice as expected by now.

About the testing: I could not test it windows, but I discussed it with the
windows guy so that he can try this patch out later today. Nevertheless I could
test on Linux and it works just neatly and I also tested on my Nokia N9 device
where it also worked. There are some graphics issues, but that is not relevant
to this change.

Arjen Hiemstra committed changes in [gluon] /:

Graphics: Implement FileMesh and create an example that shows its usage.

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

Other

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

Add support for renaming, moving, and deleting shared files

Jan-Christoph Borchardt committed changes in [owncloud] /:

styled navigation subcategories

Robin Appelman committed changes in [owncloud] /:

You can now move files to a parent folder by draging them to an element in the breadcrumb bar

also fixed dragging newly uploaded files and droppin in new folders

Diffs: 1, 2, 3, 4, 5, 6 Revision 47993fe...
Jan-Christoph Borchardt committed changes in [owncloud] /:

updated search box display

Kunal Ghosh committed changes in [owncloud/file_sync_server] /:

Initial commit of File sync (the server component)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision c2056a8...
BogDan Vatra committed changes in [android-qt/experimental-ro] src/plugins/platforms/android/src/qandroidassetsfileenginehandler.cpp:

Finish Android assets support

Add support for directories, implement QAbstractFileEngineIterator

Optimization

Educational

Daniel Marth committed changes in [marble/gsoc-2011-qtcomponents] /lib/Projections:

remove performance bottleneck in MercatorProjection::latLonAltBox()

When no float items are visible, I get up to 170fps with this patch and less than 100fps without it.

Bernhard Beschow committed changes in [marble] /lib/Projections:

remove performance bottleneck in MercatorProjection::latLonAltBox()

When no float items are visible, I get up to 170fps with this patch and less than 100fps without it.

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

Simplify the internal model switching (placemark selection vs. route).

Fixes dependence of the routing layer on the existence of at least one
RoutingWidget to display turn type indicators.

Diffs: 1, 2, 3, 4 Revision 921506f...

Graphics

Marcel Wiesweg committed changes in [digikam] /:

Drawing speed optimization: reduce use of squeezedText

A very significant of the drawing time in the main view is spent in
calculating text widths. Apparently, this is an expensive operation
- do not use squeezedText for the small texts we draw. We do not gain
much from having the shortened version
- use Qt's built-in elidedText instead of the custom algorithm which
computes the width very often
- in DigikamApp, use a font metrics to initialize the font engine
I had a profiling result which used lots of CPU in the initialization

Diffs: 1, 2, 3 Revision 07cf6ec...

KDE Base

Andrea Iacovitti committed changes in [kdelibs/KDE/4.7] khtml/html/htmlprospectivetokenizer.cpp:

Correct side-tokenizer network resources (Images,Stylesheets,Scripts)
preloading code; actually it was never executed:
- fix ATTR checks (attribute is the local name)
- fix case sensitivity compare of attribute's value for stylesheets

This will improve page loading performance.
(Thanks to SadEagle for his suggestions to make the patch better)

Sebastian Trueg committed changes in [kde-runtime] nepomuk/services/strigi/indexcleaner.cpp:

Optimization: query the nepomukindexer app resource independantly.

This highly improves the execution speed of the queries.
Something like 40sec vs. 400ms.

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

Move loading of the TabBox Config XML into a thread

This should improve the KWin startup time as some IO is moved
into another thread. Till the config is loaded the TabBox blocks
all signals to activate the TabBox, but it is unlikely that alt+tab
is tried to be used before KWin is completely started.

Diffs: 1, 2, 3, 4 Revision 5548230...
Philipp Knechtges committed changes in [kde-workspace] /effects/blur:

kwin: optimizing the blur effect

This patch adds the capability to draw blurred region top to bottom using
paintSimpleScreen.

REVIEW: 101898

Office

Torio Mlshi committed changes in [calligra/krita-animator-plugin-mlshi] /plugins/extensions/dockers/animatordocker:

Much speed improvement and some features back

Frame switching is much faster:
- Frame is updated only if it is changed
- Only frame->exactBound() is updated
Also, light table is back; frame number is auto-updated again

Diffs: 1, 2, 3, 4, 5, 6 Revision ebdb923...
Torio Mlshi committed changes in [calligra/krita-animator-plugin-mlshi] krita/plugins/extensions/dockers/animatordocker/animator_model.cpp:

Much speed improvement of frame switching

Fix of slowness bug, including removing header highlighting as cause for
bug.

José Luis Vergara committed changes in [calligra] krita/plugins/extensions/dockers/defaultdockers/kis_layer_box.cpp:

Fine tune the behavior of the Layer Box arrows and slight change of code style

José Luis Vergara committed changes in [calligra] krita/plugins/extensions/dockers/defaultdockers/kis_layer_box.cpp:

Re-add menu entries to KisLayerBox that were relevant to the current layer

o The Mask-adding actions were restored to the menu since it makes sense
to right click on a layer to add a mask to it.

José Luis Vergara committed changes in [calligra] krita/plugins/extensions/dockers/defaultdockers/kis_layer_box.cpp:

Remove unnecessary clutter from the KisLayerBox menu

o Commands to change the layer's individual properties were removed: there are
icons for that.
o Commands to add new layers were removed: the add layer button is there for that,
and there is no need to right click on a layer to add a new layer.
o Commands to delete, duplicate or merge the layer down were presented: there are
icons to do that (except merge layer down), however, right clicking on a layer to
remove it or duplicate it makes sense, unlike right clicking on a layer to add a new one.

Games

Stefan Majewsky committed changes in /trunk/KDE/kdegames:

consistency: remove borders around game canvases

Most games already have a game canvas without margins and frames. This
commit removes these borders everywhere. The main motivation is
consistency, but I also think that no borders have other advantages:

1. They look much better with borderless window decorations.
2. Frames induce an additional rendering cost which can be avoided.
3. Frames are usually used for visual grouping, but this is not
necessary for a game canvas with its intense themed appearance.
4. QGraphicsView has problems with establishing a 1:1 relation between
scene and view coordinates when it has a frame.
5. Also 4px horizontal and vertical space saved!!!! ;-)

If you are the maintainer of one of the affected games and object to
this change, please let me know.

Diffs: 1, 2, 3, 4, 5, 6 Revision 1240604

Other

Hans Bakker committed changes in [owncloud] files/templates/admin.php:

Usability improvements:
-Added javascript to enable/disable radiobuttons
-Added labels

Other

Development Tools

Jon Ander Peñalba committed changes in [kdeexamples] /:

First Kross example.

This is a basic example that loads a script file that changes a QLabel.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 5661d9f...
Sven Brauch committed changes in [kdev-python] /pyqt:

PyQt documentation by Victor Varvariuc (thanks!)

scripts which generate python "headers" from the PyQt4 sip files, and also the results in documentation_files/

A +11740 -0 documentation_files/PyQt4/QtCore.py
A +29964 -0 documentation_files/PyQt4/QtGui.py

Diffs: 1, 2, 3, 4 Revision 0d5c39b...

KDE Base

Vishesh Handa committed changes in [kde-runtime/nepomuk/megerRefactoring] /services:

Merge Sync::ResourceMerger into the DMS ResourceMerger

It's an absolute pain having to deal with the base class, specially
since I can't radically change the design. The current design is way
to complex.

I will hate myself for doing this, but it is necessary. This renders
the Sync::ResourceMerger almost obsolete.

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

Networking Tools

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

New SSL Widget implementation

This new (initial) implementation follows the guidelines
found "looking" at Google Chrome and Mozilla Firefox SSL
info windows.
More improvements coming...

Tirtha Chatterjee committed changes in [rekonq/uiExperiments] /sessionmanagement:

Made significant changes to layout, now can resize the layouts at will (hopefully, not implementedi yet).
Earlier, layout size depended on thumbnails. Now thumbnail size also depends on layout size.

Diffs: 1, 2, 3 Revision df535f8...
Andrea Diamantini committed changes in [rekonq] /:

Improving SSL Widget and Dialog

While the widget "copies" and "rethink" Google Chrome actual one,
the dialog has been implemented starting from the comparison
between the ones we have in KDE, Google Chrome's and Firefox's.

I have to start from somewhere...

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

Other

Timothy Pearson committed changes in /branches/trinity/applications/ksquirrel/ksquirrel:

TQt4 port ksquirrel
This enables compilation under both Qt3 and Qt4

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 204 more) Revision 1239132
Timothy Pearson committed changes in /branches/trinity/applications/krusader:

TQt4 port krusader
This enables compilation under both Qt3 and Qt4

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