Issue 154

24th October 2010 by Danny Allen


Roger Pixley
Jonathan Thomas
Marco Krohn
Danny Allen
Dominik Tritscher
Xavier Vello
Beat Wolf
Vincent de Phily
Mutlu Inek
Carlos Licea
Anselmo L. S. Melo
Marta Rybczynska
Tom Vollerthun
Paulo Dias
Igor Khanin
Matt Williams

This Week...

Plasma starts experimenting with declarative QML, and gets Activity templates to enable quick setup and possible sharing of Activities. Refresh of many mimetype icons used across the KDE workspace. Work on over/under exposure interface functionality, face detection, and image history in Digikam. KStars merges the OpenGL branch, bringing this functionality to users with the next release. Various work on KLocale/KCalendarSystem in kdelibs. Various work across KDE-PIM, especially to the SMTP mail transport. Progress committed from the KOffice Essen meetup. Migrating the WYSIWYG Editor to WebKit in Blogilo. Twitter Lists support in Choqok. More work on KAccessible. KTorrent gains support for the Magnet protocol. Work in KRFB to allow more than one RFB server run at once. Better Valgrind 3.6.0 compatibility in KCacheGrind. Important progress on the Perl KDE bindings.
Editor Roger Pixley finds out about recent developments in Gluon, a framework for creating and distributing games:

Hi, my name is Dan or Leinir, depending on who you ask. I've long been a member of the Amarok team, but lately i'm also one of the guys behind the Gluon project. Roger asked me to do a bit of a run-down of recent developments in the Gluon project, which has been somewhat more quiet than what was indicated last fall and early this spring, where we were running the hype engines at full blow - sorry about that, people, I hope nobody's toes were stepped on too hard! The reason we have been so quiet is that we have been hard at work on numerous developments

Thanks to Shantanu Tushar Jha's work for Google Summer of Code on the Plasma-based Gluon Player application and accompanying library, we now have a client which will download and play games, as well as comment on them directly from your desktop through the Open Collaboration Services, interacting with the test website at This is made possible by using libattica, which has recently also been marked as a part of the core of the MeeGo platform, and by the gracious donation of hosting space and software by Frank Karlitschek of fame.

The new scripting engine, which is much more powerful than the very simplistic old one, was merged in and is ready for testing out. Just like the old one it is based on QtScript, but uses a monolithic engine as opposed to the multi-engine system the old one uses. The result of this is that you can now call functions across script-object borders. While this seems an obvious thing, the old system simply did not allow for that to be achieved. So, while we were at it, we also implemented a system by which the single core hands out instances of classes as opposed to copying code in and running it, which also turns out much more efficient at runtime - both memory and CPU. So, all in all a much more performant QtScript-based engine has surfaced. All is not roses, however, and this engine still needs a lot of work - including the fact that we would like to use the JSmoke-based QtScript bindings, which it is understood still needs some work. We therefore invite anybody who has experience with QtScript to join us both in #gluon and #kde-bindings to work on this.

The shiny new GluonGraphics refactor has been merged in as well. This is the culmunation of around half a year's worth of work by Arjen Hiemstra, who has been busy replacing the old fixed pipeline based codepath with a modern programmable pipeline based one. The rewrite has now reached feature parity with the old engine, and has been merged in. It may seem silly to redo everything like this, but the reason is simple: The old GluonGraphics code was stuck in a corner and could not move, where the new is much more flexible. The upshot of this is that two days after receiving an N900 from Nokia, Arjen had a simple, laggy and unoptimized, but still running version of GluonGraphics on Maemo5. Two days.

On top of this, the new materials system lays the basis for implementing a powerful Shader-based graphics effect system, which will be exposed in our game creation tool Gluon Creator in a graphical manner. Eyecreate, one of our Google Summer of Code students, has created a generic node editing system, based on the powerful Rocs codebase, which allows you to piece bits of pre-existing logic together. In essence, Lego-style programming (except more granular ;)). So, combine those two and you have a node-based graphics effects editing tool.

Finally, the most recent developments are that Papp "djszapi" Laszlo has offered to extend and improve the GluonInput system, which has needed this work done to it - some may remember that some unpleasant permissions editing need to be done for GluonInput to be able to handle keyboard input, and he is currently working on that, as well as touch input. So, GluonInput will very shortly support Harmattan, the software which will most likely run on Nokia's upcoming rumoured N9 device, as well as on MeeGo.

Finally, at the time of writing, Giulio Camuffo has begun working on a tilemap system for terrain. He is wanting to build an RTS on top of Gluon, and has offered to implement this system directly into GluonEngine in a generic manner, so as to help others who may have similar needs in the future.

The future is, in short, sparkly and bright, with lots of flashy and shiny effects all over your of course super-nifty, self-made and socially distributed games!

There have been no Digests for the past month for several reasons. Firstly, i've moved to a new city and job, and was therefore busy (and had no internet!) until now. However, the biggest reason is that, disappointingly, I have had almost no response to both my repeated requests for editors, and also no replies from Stuart's call for help. This also means that KDE developers themselves have not sent in articles for the Digest introduction, even though the messages were/are directed at them too. Again, very disheartening.

Even with a month of backlog, I still only have enough introductory content for half of the previous issues. I really don't know how to more strongly state the situation - I thought my previous messages were clear enough, but obviously not. I've spent a lot of time building a distributed system for creating these Digests because I want it to succeed, because I know people enjoy reading them. The Digest cannot continue as it is without more assistance from people who can act as editors (contacting developers and preparing the text). This is the last chance to make this work. So, please apply and be a part of this!


Commits 2497 by 189 developers
Open Bugs 22145
Open Wishes 16945
Bugs Opened 595 in the last 7 days
Bugs Closed 758 in the last 7 days

Commit Summary

Module Commits
Files Developer Commits
Iñigo Varela
Stephen Kelly
Volker Krause
Jan Lepper
Gilles Caulier
David Faure
Marco Martin
Sergio Luis Martins
Allen Winter
Wolfgang Rohdewald

Internationalization (i18n) Status

Language Percentage Complete
Swedish (sv)
Brazilian Portuguese (pt_BR)
Portuguese (pt)
Spanish (es)
British English (en_GB)
Low Saxon (nds)
German (de)
Dutch (nl)
French (fr)
Estonian (et)

Bug Killers

Person Bugs Closed
Darío Andrés
Christoph Feck
Peter Penz
Myriam Schweingruber
Dominik Haumann
Beat Wolf
Sergio Luis Martins
Milian Wolff
Michel Ludwig
Dawit Alemayehu

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools

[] []    []


[] []    []


[] [] []   

KDE Base

[] [] []   []


[] [] []   []


[] [] []   []





Networking Tools

[] [] []   []

User Interface



[] [] []   





There are 122 selections this week

Bug Fixes

Development Tools

Chris Burel committed changes in /trunk/KDE/kdebindings/perl/qtcore:

Fix uniqMethods() to better respect ambiguous method order preference.
Add a check to prevent calling non-static methods without passing a value for "this".


Barth Netterfield committed changes in /branches/work/kst/portto4/kst/src/libkstapp/viewitem.cpp:

Drop events are handled by the scene, which works in scene coordinates.
This was confusing the GraphicsItems which work in their parent's coordinates.
Hence, meyhem.

This fix just converts the drop event back into parental coordinates in the viewitem.

I think this changed when d&d was being implemented to fix 258885.


Gilles Caulier committed changes in /trunk/extragear/graphics/digikam/showfoto:

Showfoto need to handle over/under exposure settings properly

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 1187452
Marcel Wiesweg committed changes in /branches/extragear/graphics/digikam/libs/threads/dynamicthread.cpp:

Prevent a possible crash when the thread was stopped in destructor, then started again from a different thread, then finished destructor, then scheduling kicked in on the destroyed object.

Jan Kundrát committed changes in /trunk/extragear/graphics/kphotoalbum/MainWindow:

Don't re-use last list of "all images" when invoking external app

Patch by Andreas Neustifter.

KDE Base

Lukáš Tinkl committed changes in /trunk/KDE/kdebase/workspace/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp:

correctly check for backlight xrandr extension presence

Raphael Kubo da Costa committed changes in /trunk/KDE/kdelibs/kdecore/io:

Take qint64's instead of int's in KLimitedIODevice's constructor.

The class attributes were already qint64, and receiving int's made it fail on huge (2GB+) files.

Ack-ed by dfaure.

Lukáš Tinkl committed changes in /trunk/KDE/kdebase/workspace/powerdevil/daemon/backends/upower:

report battery state to PowerDevil (strange that the HAL backend doesn't do it...)

David Faure committed changes in /trunk/KDE/kdelibs/kdeui/xmlgui:

Load custom shortcuts for dynamic actions (plugActionList) as well.
This makes it possible to set a shortcut for khtml's "Display Images on Page" (bug 173563) or for "switch to view mode Cervisia" (Rigo Wenning's request).

Dawit Alemayehu committed changes in /trunk/extragear/base/kwebkitpart/src/webpage.cpp:

- When a user clicks on a link that opens in a new window/tab, make sure the url is opened even when the returned KPart is not a KWebKitPart...

David Faure committed changes in /branches/KDE/4.5/kdebase/apps/konqueror/src/konqmainwindow.cpp:

Ctrl+Shift+R is already taken by "hard reload", so change the shortcut for closing a split view to Ctrl+Shift+W (by analogy to Ctrl+W for closing a tab), as suggested in 117300.

Michael Pyne committed changes in /branches/KDE/4.5/kdelibs/kdecore/util/kshareddatacache.cpp:

Backport a "valid page" check for KSharedDataCache to KDE 4.5.3.

This adds additional checks that seem to prevent crashes when changing the system time.
This only masks the symptom though, it should be a logic error to be removing a page that is already marked as free in the code paths that could reach the affected function.

Either way, it's one less crash.

I'll leave the bug open until I feel I've figured out why the underlying cause of the bug when changing system time.

As an aside to Beat Wolf, I am just as likely (if not more) to lose patches on ReviewBoard as I am on
Adding BugZilla attachments to ReviewBoard isn't necessary for that reason, ReviewBoard should be for things that require actual code review. ;)

Peter Penz committed changes in /trunk/KDE/kdelibs/kdecore:

Forward port:
Revert the patch to handle ' ', '.' and '_' equally, as this violates the rule: if a < b and b < c, a must also be < c.
The issue can be reproduced with the strings abc.jpg, abc1.jpg and abc_a.jpg.

I really propose to make this "natural sorting" not more clever than necessary, just handling digits in a "natural" way is sufficient from my point of view.

David Faure committed changes in /trunk/KDE/kdelibs/kdecore:

Don't create $KDEHOME if it doesn't exist, and the user is just using kde4-config for instance.

Ivan Čukić committed changes in /trunk/KDE/kdebase/workspace/plasma/desktop/shell/activitymanager/activityicon.cpp:

Fixed layouting issues when closing the inline widget

David Faure committed changes in /branches/KDE/4.5/kdelibs/kioslave/file/file.cpp:

Fix mounting partitions as user, the "second step" wasn't done correctly (dev wasn't emptied, and the command line wasn't reset)
Of course I debugged it before seeing that bug 172023 had a patch for one of the two issues...

(next step, fixing the icon, and fixing this logic again for bug 98804...)

David Faure committed changes in /branches/KDE/4.5/kdelibs/kio/kfile/kpropertiesdialog.cpp:

Only show the "% of use" on a device when the device is actually mounted.
Otherwise we were showing the data for the parent device (e.g. "/", for unmounted "/mnt/foo"), which made no sense.

Also fix a huge negative number being shown for /proc (0/0)

Oswald Buddenhagen committed changes in /branches/KDE/4.5/kdebase/workspace/kscreensaver/libkscreensaver/main.cpp:

exit on x error if parent process is gone

this condition most likely means that our parent forgot to kill us (or crashed in the worst case) and we are now trying to render to an unexisting window, which floods the session log with errors.

the bug as a whole may or may not be fixed ...


Volker Krause committed changes in /trunk/kdesupport/akonadi/server/src/imapstreamparser.cpp:

Fix parsing of payload serialization format versions.
This was broken since quite some time already but didn't show up so far as we only recently started to use non-default payload serialization format verions.

Tobias Koenig committed changes in /branches/KDE/4.5/kdepimlibs/akonadi/protocolhelper.cpp:

Restore Qt 4.6 compatibility.
Thanks to reavertm for noticing!

Stephen Kelly committed changes in /trunk/KDE/kdepimlibs/akonadi:

Make sure a recursive listing is done even if a first level listing returns no items.


Johannes Simon committed changes in /trunk/koffice/plugins/chartshape/ChartConfigWidget.ui:

Make chart type menu a tool button, with the with "instant popup" attribute.
This looks (and behaves) exactly like before with Oxygen, but works on Mac OS as well (look-wise the push button was messed up on Mac).

Sebastian Sauer committed changes in /branches/work/koffice-essen/plugins/textshape/Layout.cpp:

Fix regression introduced with r1178051 the dirty way.

This solves the crash that happens if the document attached to bugreport 248343 is loaded.
This 'fix' is only a temporary solution to prevent all kind of ugly crashes.

Lassi Nieminen committed changes in /trunk/koffice/filters:

Fixed pptx bug where slide with two containers with same Id would mess with each other's styles.

Diffs: 1, 2, 3, 4 Revision 1187142
Sven Langkamp committed changes in /trunk/koffice/krita:

fix scale layer for shape layers

Johannes Simon committed changes in /trunk/koffice/plugins/chartshape:

Fix two things:
o categories not appearing correctly on x axis
o changing properties of x grid didn't work

The fix is fairly complex because it involved making the dimension of an axis const, so that it has to be known at construction time of the axis, and also to move management of coordinate planes to the plot area (where it much rather belongs than in the axis).

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 10 more) Revision 1187624
Sebastian Sauer committed changes in /trunk/koffice/filters/libmsooxml/CMakeLists.txt:

deactivate default debug-area introduced in r1057867 again cause there is no way to enable debug again in KDE 4.5 (there is no such debug-area defined what means you cannot activate using kdebugdialog what means debug isn't possible any longer what sucks.

So, let's at least wait till that new(?) debugarea is available in our supported kdelibs).

Johannes Simon committed changes in /trunk/koffice/plugins/chartshape/kdchart/src/KDChartAbstractCoordinatePlane.cpp:

Fix crash in KD Chart that happened if we remove a diagram from a coordinate plane and immediately deleted the diagram, which is legal, but KD Chart didn't expect apparently.

Lassi Nieminen committed changes in /trunk/koffice/filters/kword/docx/DocxImport.cpp:

Fixed docx filter to retain footnotes, comments, endnotes.

Networking Tools

Mehrdad Momeny committed changes in /trunk/extragear/network/choqok/microblogs/twitter/twittermicroblog.cpp:
Mehrdad Momeny committed changes in /trunk/extragear/network/choqok:

Using SIGNAL to add our action to textedit to keep spell checking context menu
This also depends Choqok to KDE 4.5 libs

Mehrdad Momeny committed changes in /trunk/extragear/network/choqok:

an option to show timelines in reverse order

User Interface

Ivan Čukić committed changes in /trunk/KDE/kdeplasma-addons:

Fixed adding favourites from the search results


Christoph Feck committed changes in /trunk/KDE/kdeadmin/kcron/src/crontablib/ctcron.cpp:
Christoph Feck committed changes in /trunk/KDE/kdeadmin/kcron/src/taskEditorDialog.cpp:

Do not take focus from command line

Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/libqapt/src/backend.cpp:

The ParseQuoteWord function from APT's strutl's was doing way less magic than I thought. It is much easier, safer and less error-prone to use the wonderful QString API to parse the selections list.

I also made it so that it only attempts to mark uninstalled packages for installation.
This results in a great speedup on enormous lists, but has the side effect of not upgrading installed packages.
I'm not sure if that's desired anyways, so it's a great tradeoff.

Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/libqapt/utils/qapt-batch/qaptbatch.cpp:

Don't say we were successful if there were errors.
That looks a bit silly, especially when we have error dialogs to contradict ourselves.


David Faure committed changes in /trunk/KDE/kdelibs/kate/tests/indenttest.cpp:

Skip the test when the data directory (../../testdata/indent) is missing, which is the case for everyone except the test author, I suspect....
Is this testdata too big to be in svn? This defeats the whole purpose of automated regression testing, though.



Sebastian Sauer committed changes in /trunk/KDE/kdeaccessibility/kaccessible:

more work on kaccessible

Diffs: 1, 2, 3, 4 Revision 1187294

Development Tools

Chris Burel committed changes in /trunk/KDE/kdebindings/perl:

Flesh out QPolygonF tied array interface.
Now you can do all the normal perl array operations on a QPolygonF, like push, pop, splice, etc.
Add tools/undoframework example.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 1187301
Chris Burel committed changes in /trunk/KDE/kdebindings/perl/qtgui/examples:

Add draganddrop/puzzle example.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 1187354
Josef Weidendorfer committed changes in /trunk/KDE/kdesdk/kcachegrind:

Better Valgrind 3.6.0 compatibility

* add new default known event types: LLx (last level), branch prediction, global bus event
* the known types are not only used at first run
* derived types are shown even if just one referenced event type is provided in profile.
E.g. for "Ev = A + B", Ev is already shown if just events for A or for B are provided.
Previously, events for both A and B had to be provided.
To have "CEst" work with both L2 (< VG 3.6) and LL (VG 3.6) event types, this change is needed:
"CEst" (Cycle estimation) now references both L2 and LL events.
* For the formula of derived event types, the displayed formula is cut down to only reference existing types.
For editing,
the full formula is used.

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


Akarsh Simha committed changes in /trunk/KDE/kdeedu/kstars:

Okay, here's the real merger!
Hopefully, I got it right this time.

Old commit log:

Merging Harry's OpenGL branch into trunk!

Yippeeeee! Now everyone can have the OpenGL'd KStars!

I must congratulate Harry on writing such beautiful code.
I really like the way this stuff works now.

There are a whole bunch of *regressions* introduced by this, which Harry has summarized in an earlier e-mail to the mailing list, which I hope, can be fixed at least to some extent before release.

The GL version is much more smoother and nice on my machine.

Also, this has NOT been tested to compile! I'm going to test it immediately after this commit, because I found it convenient that way.

Expect follow up commits to fix compile errors.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 850 more) Revision 1186605
Aleix Pol Gonzalez committed changes in /trunk/KDE/kdeedu/kalgebra/analitza:

Make it possible to rename bvars.

Aleix Pol Gonzalez committed changes in /trunk/KDE/kdeedu/kalgebra/mobile/functionsdialog.cpp:

Make it possible to add many functions on the mobile function dialog.


Marcel Wiesweg committed changes in /branches/extragear/graphics/digikam/utilities/facedetection:

All actions that write to the database - in particular confirm and reject - are better done in a thread because they can be slow.

Extend the DatabaseFace list carried by a package so that it can give tasks to confirm, train or remove a face.
The DatabaseWriter can now handle confirmation and removing, the trainer handles training, now using a working ThumbnailImageCatcher if no image is provided.

Sebastian Trueg committed changes in /trunk/playground/base/nepomuk-kde/nepomuksearchgui/src:

Removed SearchDialog as it is simply a trivial wrapper around SearchWidget that can be created in 10 lines of very simple code.
For convinience I still keep static SearchWidget methods that do exactly that.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 1187503
Pino Toscano committed changes in /trunk/KDE/kdegraphics/okular/generators/xps:

support also application/oxps, which is the new mimetype name for XPS documents

Gilles Caulier committed changes in /trunk/extragear/graphics/digikam:

it now possible to adjust the percent level of over or under exposed pixels from histogram, displayed by over/under exposure indicators

Diffs: 1, 2, 3, 4, 5 Revision 1187825
Gilles Caulier committed changes in /trunk/extragear/graphics/digikam:

Add a preview of over/under exposure indicators in settings dialog.
This preview include a sample photo taken at Aix en provence and the histogram in Full color mode.

Screenshot :

Diffs: 1, 2, 3, 4 Revision 1188071
Martin Klapetek committed changes in /trunk/extragear/graphics/digikam/imageplugins/transform:

Introduce new aspect ratio type with Aspect Ratio Crop tool - use aspect ratio of the current loaded image in editor, so you can keep the original proportions of the image after cropping.

KDE Base

Marco Martin committed changes in /trunk/KDE/kdebase/workspace/plasma/netbook/containments/sal:

FEATURE: shortcut configuration in the config dialog.
when the containment gets activated, switch the view to it

Thomas Lübking committed changes in /trunk/KDE/kdebase/workspace/kwin:

raise alt+tab selected window w/o compositing (requires highlight windows option to be checked)
unlink composited window highlighting from the tabbox
-> results in semi-legacy behaviour w/o activating the selected window

Oswald Buddenhagen committed changes in /trunk/KDE/kdebase/workspace/libs/kworkspace/kdisplaymanager.cpp:

add support for GDM 2.21+ shutdown and session switching.

David Faure committed changes in /trunk/KDE/kdelibs:

Add a third option in the "file name used for copying" - the display name.
This will be useful for copying emails out of kmail, using kio_akonadi. kolab/issue3689

Diffs: 1, 2, 3, 4, 5 Revision 1187169
Ivan Čukić committed changes in /trunk/KDE/kdebase/workspace/plasma/desktop/shell:

Finished activitymanager revamp

- configuration for activities added (name, icon)
- code refactored to remove /evil/ painting and mouse events detection
- activity controlls moved to separate classes for easier managing
- fixed some layout issues
- panel controller closes after a small delay when plasma loses focus
(not detecting specific windows anymore, so it is more robust)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 1187202
Sebastian Trueg committed changes in /trunk/playground/base/nepomuk-kde/nepomuksearchgui/src:

* Improved DateRange class with a set of static factory methods to create frequently used ranges.
* New FacetFilterModel which hides irrelevant facets (empty ones)
* Several fixes and improvements

Getting close to a state where I can start the move to kdelibs.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 1187462
Sebastian Trueg committed changes in /trunk/playground/base/nepomuk-kde/nepomukutils:

Added support for Query::Result

Sebastian Trueg committed changes in /trunk/playground/base/nepomuk-kde/nepomukutils:

Major update on the ClassModel using canFetchMore and friends.
Not perfect yet but much better than before.

Sebastian Trueg committed changes in /trunk/playground/base/nepomuk-kde/nepomuksearchgui/src:

finalized the SearchWidget API.

Sebastian Trueg committed changes in /trunk/playground/base/nepomuk-kde/nepomuksearchgui/src:

And finalized the SearchWidget API again - well, since I removed the QueryBuilder (it was just a wrapper) I need to make the current query public here.

Andreas Demmer committed changes in /trunk/KDE/kdebase/workspace/kwin/effects/dashboard:

add fade animation and duration settings to dashboard effect

Diffs: 1, 2, 3, 4 Revision 1187687
Chani Armitage committed changes in /trunk/KDE/kdebase/workspace:

Activity session support

this implements dbus methods in kwin for saving & restoring activities.
internally, kwin creates "sub-sessions" in kwin and ksmserver to represent the saved activities.
ksmserver doesn't need to know what activities are :)

at the moment the code includes some fake information; it will be changed to use the real stuff once the activities service code is in.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 1187793
Marco Martin committed changes in /trunk/KDE/kdebase/workspace/plasma/netbook/shell/netview.cpp:

enable blur behind panels

Martin Gräßlin committed changes in /trunk/KDE/kdebase/workspace/kwin/clients/aurorae/src:

Show Tooltips when hovering Aurorae Tabs.

Using the Plasma ToolTipManager to provide the same tooltips as in the tasks applet.
Currently only icons and title are displayed for tabs.
Preview will be added as soon as the tab's WId is exported by KWin core.
Unfortunately the tooltips are missing translucency.

Dawit Alemayehu committed changes in /trunk/KDE/kdebase/apps/konqueror/settings/kio:

- Merge the display of cookies for domains "" and "" under a single entry "".
- Fixed the retreival of cookies to be displayed to include those from "" when a site entry is expanded.
- Make sure the apply button gets disabled when reload button is clicked.
- Use the Qt signal/slot auto connect feature to simply code.

Ivan Čukić committed changes in /trunk/KDE/kdeplasma-addons/applets/lancelot/parts/LancelotPart.cpp:

The shelf applet can again show on hover, and can have a custom icon

John Layt committed changes in /trunk/KDE/kdelibs/kdecore:

KLocale: Provide common localization of AM/PM text.

This change moves the localization of AM/PM into KLocale allowing for a single consistent translation that can be overridden at system, country or user level.

Currently AM/PM text is translated in several different places which could lead to inconsistencies.
The translation is also only done at language level, meaning country level localization cannot be performed and users cannot modify them to their personal preference.
Further, it will become a problem on the Mac and Windows platforms when we switch to use the platform localization settings as they do provide a common localization which users can override.

The change implements the Unicode CLDR Periods concept to achieve this (see to cater for cultures that split the day into more than 2 periods.

Note I have changed our default text from lowercase to uppercase AM/PM. POSIX, Unicode, Windows and Mac all default to uppercase, the POSIX %p format symbol is defined as uppercase, with the more recent %P defined as lowercase.

The KDayPeriod class and accessor methods are private for now, but may be exported later if needed.

The KCM will be modified to allow users to override the value in a later change.

See review

John Layt committed changes in /trunk/KDE/kdelibs/kdecore:

KCalendarSystem: Add convenience functions for first/last day of year/month

Add various convenience functions to return the first or last day of the month or year.
It is possible to work these out using the main api, but it's rather long-winded and ugly and easy to get wrong.

Developed in response to a need in Nepomuk, see review on

Diffs: 1, 2, 3, 4, 5 Revision 1188685


Mehrdad Momeny committed changes in /trunk/KDE/kdepim/blogilo/src:

Migrating the WYSIWYG Editor to WebKit...
Base editing jobs such as lists/bold-italic-strick-.../paragraphs/text color/alignments are done!
Add/Edit/Remove hyperlinks, Edit image and Spell Checker are not implemented yet.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 10 more) Revision 1186725
Stephen Kelly committed changes in /trunk/KDE/kdepim/mobile/lib:

First attempt at grouping emails into threads and using the result as a thread model.

Stephen Kelly committed changes in /trunk/KDE/kdepim/mobile/mail:

Use the threads model in kmail-mobile.

Sergio Luis Martins committed changes in /branches/kdepim/enterprise/kdepim/korganizer/koagendaview.cpp:

Color the background with the "busy color" for multi-day events too.


Allen Winter committed changes in /branches/kdepim/enterprise/kdepim/korganizer/kogroupware.cpp:

give the organizer the opportunity to email an updated invitation showing the new attendee list, if the attendee list is the only thing that changed.


Stephen Kelly committed changes in /trunk/KDE/kdepim/mobile/lib:

Add API for attempting to access the previous and next items.

Allen Winter committed changes in /branches/kdepim/enterprise/kdepim/korganizer/kogroupware.cpp:

Check if someone other than the organizer is editing the organizer's event.
If so, ask if they really want to do this and
If so, send an updated invitation to all the attendees.

Sergio: this uses the new CalHelper::incOrganizerOwnsCalendar() so we need to figure out some way to have a similar capability in trunk.

Tobias Koenig committed changes in /trunk/KDE/kdepim/mobile/tasks:

Implement the 'Always display completed to-dos at the bottom of the list' configure option

Volker Krause committed changes in /trunk/KDE/kdepimlibs/kioslave/smtp:

First step to make the SMTP protocol implementation usable outside of a KIO slave.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 1187777
Stephen Kelly committed changes in /trunk/KDE/kdepim/mobile/mail:

Enable threading in kmail-mobile.

Volker Krause committed changes in /trunk/KDE/kdepimlibs/mailtransport/smtp:

Implement authentication. Works fine on SSL and unencrypted connections.
TLS hangs for some unknown reason, although when just proceeding there
the connection seems properly encrypted as well.

Volker Krause committed changes in /trunk/KDE/kdepimlibs/mailtransport/smtp/smtpsession.cpp:

It's alive! :)
It can send mails, but has no result or error reporting whatsoever yet.

Tobias Koenig committed changes in /trunk/KDE/kdepimlibs/akonadi:

Implement 'per collection' synchronization progress information

Diffs: 1, 2, 3, 4, 5, 6 Revision 1188402
Sergio Luis Martins committed changes in /trunk/KDE/kdepim/incidenceeditor-ng:

- Set the combo's initial current index to the user's favorite alarm offset.
- Preserve order while inserting the user's favorite alarm offset.
- No need to restart application when config changes, new alarm offset will be shown immediately.


C. Boemann committed changes in /branches/work/koffice-essen:

Add table cell merge and split actions.
Split doesn't seem to work though - investigating if it's a Qt issue

Diffs: 1, 2, 3, 4, 5, 6 Revision 1186648
Thomas Baumgart committed changes in /trunk/extragear/office/kmymoney/kmymoney/kmymoney.cpp:

Don't show time (which is always 00:00) in skip transaction dialog.

Thorsten Zachmann committed changes in /trunk/koffice/kpresenter/templates/odf:

o add two more templates after making them ready over the weekend.

Diffs: 1, 2, 3, 4, 5 Revision 1186977
Björn Breitmeyer committed changes in /trunk/koffice/plugins/chartshape:

added some functionality for colors data series in stock charts

Johannes Simon committed changes in /trunk/koffice/plugins/chartshape:

Provide a way to paint an axis line as well as specify a pen for this axis line.

Diffs: 1, 2, 3, 4, 5, 6 Revision 1187622
Lassi Nieminen committed changes in /trunk/koffice/filters:

Made symbol bullets in ooxml to behave sanely in more cases.

Sebastian Sauer committed changes in /branches/work/koffice-essen:

Support shrink-to-fit.

This patch does;
* add the item ShrinkToFitResize to the KoTextDocument::ResizeMethod enum
* loads the draw:fit-to-size bool (chapter 19.121 in ODF 1.2) and sets the resizeMethod to ShrinkToFitResize if true
* implements the fitToSize-method to shrink the content in a textshape to fit into the shape's boundaries

That is done by implementing the TextViewConverter decorator that adjusts a KoViewConverter with the shrink-to-fit (and maybe in the future other) values transparently.

Compared to using painter.scale direct this should provide us more flexibility, cleaner code and a clear separation.

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

Networking Tools

Mehrdad Momeny committed changes in /trunk/extragear/network/choqok:
George Goldberg committed changes in /trunk/KDE/kdenetwork/krfb:

KrfbServer is now no longer a singleton.

This means that theoretically we can have more than one actual rfb server running at once.
In practice, some work is still needed like making KrfbServer and ConnectionController into abstract base classes that the normal rfb server and the tubes rfb server can inherit from.

The configuration also needs fixing to apply to individual servers, not all of them.

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


Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/libqapt/src:

Add a new setUndoRedoCacheSize() function to QApt::Backend.
This allows applications to customize the undo/redo stack size, allowing them to increase it if RAM usage is less of an issue, or decrease/eliminate the cache if RAM is tight.

Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/muon:

Use the new saveInstalledPackagesList() function to add a GUI option to save a list of all installed packages, so that it can be read on another computer/install.

Diffs: 1, 2, 3, 4, 5 Revision 1187642
Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/muon:

Add a General settings page to Muon Manager.
At the moment it only controls how many items undo/redo will remember.

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



Jesper Pedersen committed changes in /trunk/extragear/graphics/kphotoalbum:

I don't remember if I actually sent this in.
If you right click on an image in the viewer and accidentally hover over Run Program (on the selection), it is extremely slow.
I tracked that down to the Run Program code looking at all the files to determine the set of MIME types in order to select appropriate programs to populate the menu with.

If we make the assumption that MIME type is determined solely by the extension (which is probably reasonable for this purpose), we can speed matters up tremendously.

KDE Base

David Faure committed changes in /trunk/KDE/kdelibs/kio/kio/kfileitem.cpp:

Use "emblem-mounted" to show mounted devices, looks better than the old UnmountIcon/Icon solution.


Volker Krause committed changes in /trunk/KDE/kdepim/runtime/plugins/akonadi_serializer_mail.cpp:

No need to parse the already parsed email address again.
Saves about 10% on envelope deserialization.

Volker Krause committed changes in /trunk/KDE/kdepimlibs/kmime:

Add a staticType() method to header subclasses with a fixed type and use that in Content::header<T>().
The temporary header object construction there was responsible for 20-60% of the overall method cost, depending on the header type.

Volker Krause committed changes in /trunk/KDE/kdepim/messagelist/core/themedelegate.cpp:

Make the size calculation slightly more efficient (about 10%), there is room for a lot more though.
This code is called millions of times for my 18k test folder (about 20% of the entire folder loading is spend here), the repeated font calculations take about 60% of that.
Caching that (or even the entire item size) should provide a considerable speedup.

Tobias Koenig committed changes in /trunk/KDE/kdepim/mobile/tasks/configwidget.ui:

Use KColorCombo instead of KColorButton to allow the selection of colors without opening a KColorDialog

Andras Mantia committed changes in /trunk/KDE/kdepim/mobile/mail:

Honour the MDN requesting setting.
Make the requesting off by default.

Diffs: 1, 2, 3, 4 Revision 1187752
Tobias Koenig committed changes in /trunk/KDE/kdepim/mobile:

Use our own version of KColorCombo which doesn't offer to show a KColorDialog

Diffs: 1, 2, 3, 4, 5 Revision 1187792
Stephen Kelly committed changes in /trunk/KDE/kdepim/mobile/mail:

Port kmail-mobile to a separate navigation model.


Thorsten Zachmann committed changes in /trunk/koffice/plugins/pathshapes/enhancedpath/EnhancedPathFormula.cpp:

use stack.reserve(3) here so that the stack is not resized all the time
this reduces the number of a/de/re-llocations for documents with
a lot of enhanced path shapes quite a lot.

In the used test document the number of a/de/re-llocations are reduced by
25%-50% for the various objects.

Jos van den Oever committed changes in /trunk/koffice/tools/scripts:

Add ODF validation to profiler.

Since KOffice has been writing out ODF 1.2 since August 2008 [1], the written ODF is validated against the latest draft of that version.

Thorsten Zachmann committed changes in /trunk/koffice/libs/odf:

Optimize KoStyleStack

Use const QString & instead of const char * as parameters. This reduces
the number of conversions as the string is now converted only once and
not every time a function is called from within.

Also use attributeNS directly without checking if the attribute is there.

Thorsten Zachmann committed changes in /trunk/koffice/libs/kotext:

Optimize usage of hasAttributeNS

Optimize the code to use attributeNS directly without the use of hasAttributeNS.
That removes the need for a second lookup which is much more expensive then
checking if the return value was empty.

Networking Tools

Matthias Fuchs committed changes in /branches/KDE/4.5/kdenetwork/kget/core:

Backport r1174229
Removes files asynchronoulsy in DataSourceFactory to speed up deleting of unfinished transfers.
Do not stop transfers that are about to be removed, as stopping involves the scheduler and that can massively slow down deleting many running transfers.


José Manuel Santamaría Lema committed changes in /trunk/extragear/utils/krecipes/src:

Reload background spell checker if the configuration changes, thusly you can, for instance, change the language for spell checking and use it immediately without restarting the program.


Wolfgang Rohdewald committed changes in /trunk/KDE/kdegames/kajongg/src:

Big internal rewrite of code moving tiles between boards.
Now we only allocate a new Tile() as seldom as possible, instead of destroying them in the old place and rebuilding them in the new place, we reparent them.

Several variables which were holding tileNames now hold a real Tile.

This mostly seems to work but still needs some fixes, especially for the game scoring mode.

All this is in preparation for animating tile movements using QPropertyAnimation

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


Development Tools

Kevin Kofler committed changes in /trunk/KDE/kdesdk/kompare/libdiff2/kompareprocess.cpp:

Remove whitespace after -I, this will cause diff to parse the whitespace as the parameter instead of the actual regexp.
spotted by thesteo82

Merge revision 1102932 by je4d from 3_way_kompare.

(This has been sitting in the branch for 7 months! Next time, if you fix something in a work branch, please also commit the fix to the trunk and the current release branch. Thanks in advance.)


Dennis Nienhüser committed changes in /trunk/KDE/kdeedu/marble/src/lib/routing/RoutingWidget.ui:

Removed the hardcoded font settings added by QtDesigner.
Improves visibility on Maemo.

KDE Base

Frank Reininghaus committed changes in /trunk/KDE/kdebase/apps/dolphin/src:

Add a first unit test for Dolphin, which verifies that the fix for one of the problems related to Dolphin's modifications to QTreeView works as it should.

This is only a small start, but I hope that we can cover at least the basic functionality of DolphinView, the three item views and possibly a couple of other classes with a rather stable API soon.

Diffs: 1, 2, 3, 4 Revision 1188049
Dario Freddi committed changes in /trunk/KDE/kdebase/workspace/powerdevil:

After all of those changes, change the filename for PowerDevil profiles.
Previous PowerDevil profiles are incompatible and not portable unfortunately.

Diffs: 1, 2, 3, 4, 5 Revision 1188085


David Jarvie committed changes in /trunk/KDE/kdepim/kalarm:

Display user-friendly information in Akonadi conflict resolution dialogue

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 1187616
Volker Krause committed changes in /trunk/KDE/kdepimlibs/kioslave/smtp:

Extract capability handling from the KIO slave, it's not dependent on KIO in any way.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 1187808
Sergio Luis Martins committed changes in /trunk/KDE/kdepimlibs/kcalcore:

Two new methods:
QSet<Field> dirtyFields();
void resetDirtyFields();

Keeping track of which incidence properties changed now happens in KCalCore.

We can now remove complex code from korg, that didn't even do a good job at it.


Unit-tests 455,457,460 are failing. Already were.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 1188395
Volker Krause committed changes in /tags/akonadi/1.4.1:

Tag Akonadi 1.4.1.


Matus Uzak committed changes in /trunk/tests/kofficetests/import/powerpoint:

* Added MS PowerPoint 2003 test documents for a number of existing tests.
* Added text colors test and list styles test.
* Updated a few tests.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 1187240
Sven Langkamp committed changes in /trunk/koffice/plugins/dockers/Plugin.cpp:

disable color docker, currently doesn't nothing

Networking Tools

Mehrdad Momeny committed changes in /trunk/extragear/network/choqok/CMakeLists.txt:

Choqok can built with KDE 4.4 too!
Because I just used a SIGNAL from KDE 4.5, So this functionality is missing with KDE 4.4