Issue 87

2nd December 2007 by Danny Allen

This Week...

The beginnings of screen hotplug detection in Plasma, KRunner gets history support. Fifteen Pieces puzzle becomes the first Plasma applet in the game category. A block of bugfixing in KDevelop, with various other developments in areas such as a threaded debugger. Support for inequality constraints in Step, continued progress in the port of KEduca to KDE 4. Work on printing in okular. Work on Solid-based network management through NetworkManager. Various work towards Amarok 2. Milestones reached in the BitTorrent plugin for KGet. Subsystem rewrites (SSL, SFTP) in KFTP. OpenDocument format loading and saving work in KChart. Colour work in Krita, with Krita becoming one of the first applications to be able to paint in HDR. New Oxygen-themed sound effects, Oxygen icons are optimised for small sizes. New colour schemes added for KDE 4.0. Ruby language bindings based on the Smoke2 framework. Experiments in KBugBuster and on a Plasma "applet designer" application.
Continuing the theme of recent weeks, Marco Martin introduces TastyMenu, yet another menu alternative for KDE 4:
How it started

TastyMenu dates back around June 2006, when I saw a thread on the kde-usability mailing list about how a "Start" menu should be presented and there was some hype around the just-announced SLAB menu that Novell developed for GNOME (Kickoff was born some months later).

So I started to try out the various alternatives that existed at that time (and not only for KDE) in order to build up a personal idea on how a "Start" menu should look. I was never satisfied with any of the options available, so I started to implement my own.


First of all: do we still need a "Start" menu on today's desktops? I think so, or at least I have still not seen a viable alternative: the only radical different approach on today's operating systems is the combination Finder + Dock in Mac OSX, but I think that launching an app via the Finder requires too many clicks and putting all the most used applications in the dock takes too much room.

What's wrong in the traditional menu? The amount of applications installed in a modern Linux distribution can become enormous, and displaying them in a popup menu can end up with an intimidating list that covers up nearly the whole screen, so I have made something that, although still very big, takes only a fixed amount of screen space, no matter how many applications are installed. The application list is presented as a normal list view - the widget that I think is more adept at displaying a large amount of information.

Some other features are:
  • Ability to search through the installed applicaions
  • A list of bookmarked applications, but the list of all the other applications is still in the main window and not buried in submenus or other windows
  • Keeps track of recently-installed applications
  • The usual logout/fast user switching buttons

Plans for the future

At the moment TastyMenu is only available under KDE3, but I think someday I will start a port to KDE 4: real life can be a harsh mistress, so I can't promise when :)

I think there is still room for a menu like TastyMenu in KDE 4, because the choice is good, you know :)

This will be for those who want a more classical approach, because I think it will remain a classic Application-centric interface, aimed to launch applications with the smallest number of mouse clicks as possible.

Most notable differences will probably be a better integration with Strigi and a simplified user interface.
Lukas Appelhans discusses the recent implementation of BitTorrent support within KGet:
I'm currently writing a BitTorrent plugin for KGet and KDE 4.1. KGet had another BitTorrent plugin based on libtorrent, but this early version was never been really finished and used widely.

The new plugin is based on the new libbtcore (aka. libktorrent) and makes an old plan come to fruition (as mentioned in an earlier Digest). So now we have a torrent plugin, which has no KDE-external dependencies.

Currently the plugin is in a very basic state, it downloads the files, but gives no output or configuration options.

At the moment, I am in very good contact with Joris Guisson, the author of libbtcore (and of KTorrent). Over the next few days, I will have a look at the Transfer-Details and other user-visible interface elements, to ensure that they are functional with the new plugin.

In the future, we want to have support for speed limits and other nice features of libbtcore, which are all very easy to implement. Another planned feature for KGet is to have a single "transfer", which downloads from multiple sources, such as BitTorrent, HTTP, FTP, etc. - all at the same time. These multiple-source downloads are the basis of the Metalink concept.

In the last days, there wasn't only bugfixing at KGet-Development. We now have a very nice Details view, called "Expandable Details":

It is currently disabled by default. We need and want your feedback: talk to us at our mailing list, or on IRC at, channel #kget!
Tim Beaulen expands on his concept and plans for a Plasma applet creation application:
For some time earlier this year, I started development on a GStreamer Phonon backend. Trolltech took over development of that backend, and so I have been looking for something else to do. A few ideas were spinning around in my head.

I settled for a Plasma applet designer.

While I was working on the GStreamer backend I was also creating a debugging tool (the graphical programming idea - visual pipelines). Since I want to do something in the line of graphical programming and the same ideas can be reused in the Plasma applet designer to create Phonon pipelines to do sound effects (for example), and to visually design "programs", the choice was easy.

This is a lot. Too much for me alone. That's why I started with gathering documentation and by trying to create a roadmap with clearly defined tasks and milestones. It's the only way to get somewhere. Start from the bottom up and implement tiny feature after tiny feature. And hopefully other people get interested so that the pace of development will increase.

I believe that it should be easy for anyone to create Plasma applets without coding knowledge. Anyone should be able to drag and drop some elements and easily link them toghether to create beautiful applets.

What I want to do is create an application that lets a user create an applet in a couple of minutes that displays, for example, a train/bus/airplane timetable. Drag and drop a list, a picture, a URL download engine and a text parsing module - maybe, via WebKit "editing" possibilites, it would be possible to download a webpage, select some text on the page and the parsing is done automatically without the user needing to look through the HTML or XML code to find patterns, etc. - and link them together. Apply some SVG graphics (theming) and voila, it is functionally complete. Not a line of code needed. Of course, scripting elements would be available to create complex applets. This way the complete control remains. And hopefully with direct visual feedback and debugging.

Naturally, this project is very complex. Complex problems can't be solved by taking them head on. Just starting coding is a waste of time. One of the first things I learned was to split complex problems into manageable sub problems. And this is the current focus of development.

The first milestone is to have as much information gathered as possible and start outlining a roadmap. In the near future (somewhere in the first half of 2008) something very basic, Designer-like (or why not use designer directly and make Plasma applets use .ui files?) should be available. Maybe the program could also be turned into a full application prototyping program.

My goal is to create an application which will bring every new core technology of Qt4 and KDE 4 together in one single app and enable the user to create wonderful things with it. Bah... a stupid marketing line :)

I can't provide screenshots at the moment as all I have are two files: a README and a TODO list :)

Hmmm, as always, the above description is huge.
The finished product will not be ready in the immediate future!
This past weekend was host to the KDE-Edu meeting at the Mandriva offices in Paris, France. 14 contributors met over two days, and many of them blogged about their experiences and outcomes.

Andreas Pakulat has closed 87 bugs this week, many of those in KDevelop 3. Andreas even talks a tiny bit about this momentous acheivement - it is really short, and so is definitely worth a read!
It has come to my attention that the way the Digest is advertised each week at KDE Dot News (the place where most people find the Digest) can be a little confusing and not as accessible as it could be - some people consequently thought that the Digest consisted only of the weekly roundup paragraph displayed on the Dot! Of course, it would never be my intention to hide my hours of work from anyone!

I have made the Dot blurb more clear, starting with this issue. To my "new" readers: welcome! You can make up for lost time by browsing the full content of previous Digests, or take a few steps back in time using the arrows surrounding the title at the top of this page! (and never miss an issue with the KDE Commit-Digest RSS feed!)


Commits 2571 by 255 developers, 7036 lines modified, 1369 new files
Open Bugs 15132
Open Wishes 13316
Bugs Opened 318 in the last 7 days
Bugs Closed 305 in the last 7 days

Commit Summary

Module Commits
Lines Developer Commits
Gilles Caulier
Aaron J. Seigo
Andreas Pakulat
Laurent Montel
Sébastien Renard
Karl Ove Hufthammer
Burkhard Lück
Hamish Rodda
Cyrille Berger Skott
Chusslove Illich

Internationalization (i18n) Status

Language Percentage Complete
Portuguese (pt)
Swedish (sv)
Greek (el)
Japanese (ja)
German (de)
Estonian (et)
Spanish (es)
Chinese Traditional (zh_TW)
Dutch (nl)
Brazilian Portuguese (pt_BR)

Bug Killers and Buzz

Person Bugs Closed
Andreas Pakulat
Aleix Pol Gonzalez
Thomas McGuire
Nicholas Nethercote
Pino Toscano
Maks Orlovich
Tommi Tervo
Rolf Eike Beer
George Goldberg
Seb Ruiz
Program Buzz
Person Buzz
David Faure
Sebastian Kügler
Stephan Kulow
Matthias Kretz
Adriaan de Groot
Allen Winter
Waldo Bastian
Aaron J. Seigo
Boudewijn Rempt
George Staikos

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools

[] []    []


  []    []


  []    []

KDE Base

[] []    []


[] []    []


  []    []




[] []    []

Networking Tools

  []    []

User Interface

  [] []   []


[] []    




[] []    []

There are 109 selections this week

Bug Fixes

Development Tools

Andreas Pakulat committed changes in /branches/KDE/3.5/kdevelop/buildtools/autotools/autoprojectwidget.cpp:

Try harder to find a selected subproject/target pair for adding files. If anybody knew it was that easy this would've probably been fixed ages ago.

Andreas Pakulat committed changes in /branches/KDE/3.5/kdevelop/parts/outputviews/makewidget.cpp:

If none of the existing methods finds a file for a given filename from make output try to find one in the list of project files. This is as good as KDevelop can do, I don't see any more options to find a file.

KDE Base

John Tapsell committed changes in /trunk/KDE/kdebase/workspace/ksysguard/gui/SensorDisplayLib:

After 2 and 1/2 years, this bug is finally fixed (for kde4). It remembers that you rearranged the columns, and also lets you sort the columns.

David Faure committed changes in /trunk/KDE/kdebase/apps/konqueror:

Fix problem with the filemanagement profile creating the sidebar -inside- the tabwidget instead of outside (you could see the difference when doing "add tab" :).

This is because I removed some harmful magic from the kde3 code some time ago (I'm pretty sure it created surprises in profiles with splitters and no tabs, only the current view would be converted to a tab container...).

We now never "convert to a tab container", we create the tab container correctly in the first place.

Diffs: 1, 2, 3, 4 Revision 741954
Allan Sandfeld Jensen committed changes in /trunk/KDE/kdelibs/khtml:

Follow-up patch to earlier patch ported from WebCore. Fixes Wikipedia and many other sites.

Maks Orlovich committed changes in /trunk/KDE/kdelibs/kio/kio/tcpslavebase.cpp:

Make TCPSlaveBase::waitForResponse match its documentation and its KDE3 semantics:
return true if connection got closed on us.

The change in behavior caused the http I/O slave to think that the other end was not responding in any reasonable time (hard failure) while it was merely closing a persistent connection, where we should retry. Fixes frequent "timeout on server" errors when browsing


Edwin Schepers committed changes in /trunk/KDE/kdepim/kmail:

first part of fixing sending html messages

Diffs: 1, 2, 3, 4, 5 Revision 743430
Thomas McGuire committed changes in /trunk/KDE/kdepim/kmail/kmmainwin.cpp:

Don't show the account creation wizard and the tip of the day dialog at the same time.

Patch by Leonardo Finetti, who agrees to a relicense under GPLv2+ or GPLv2+v3.



Jeff Mitchell committed changes in /branches/stable/extragear/multimedia/amarok/src/metadata:

Fix build of wma->asf renaming. We're now synced with upstream, and this should fix some wma bugs people were complaining about.

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


Rolf Eike Beer committed changes in /trunk/KDE/kdeutils/kgpg:

Fix leak of KArchive instance when encrypting folder

This leads to leftover temporary files besides the memory leak.

Encrypting folders still doesn't work but that's a completely unrelated problem.


Sebastian Trueg committed changes in /trunk/kdesupport/soprano/index:

Finally I found the last showstopper bug in Soprano: apparently clucene cannot handle term vectors for integer values.

Not a problem, I don't think we need them anyway. At least we can live without them for now.

Ah, I am so glad.... after month and month of bug hunting. :)

Diffs: 1, 2, 3 Revision 742710


Development Tools

Arno Rehn committed changes in /branches/work/kdebindings-smoke2:

* Added ruby bindings. At least they compile now, getting them to work is another thing.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 37 more) Revision 741426
Andi Fischer committed changes in /trunk/KDE/kdesdk/umbrello/umbrello:

Adds a new text edit widget for entering source code to every operation. This source code is written to the generated code file (Python and C# only for now).

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 741510
Hamish Rodda committed changes in /trunk/KDE/kdevplatform:

Initial implementation of run settings dialog
Executable not getting saved...??

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 741650
Adam Treat committed changes in /trunk/KDE/kdesdk/kate:

* Add 'ReloadAll'.

Approved by Albert and Anders.

Hamish Rodda committed changes in /branches/work/kdevelop-threadded-debugger:

Current threaded debugger work

Switch status flags from int to DbgStateFlags
Make all of the * -> controller interaction use queued connections
Make public functions in the controller threadsafe
Add a new thread subclass which creates a controller and runs the event loop
- status messages now created in the plugin by listening for status changed signals
- controller now responsible for starting the debugger when it's not running
- move shell logic to controller

Still todo:
- callbacks likely broken or using the wrong thread (haven't figured out where they are called yet)
- need to make the controller more forgiving of being busy, so that you can eg. step twice without waiting for the first step to complete (yay :)
- regression fixing, for sure

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 742915
David Nolden committed changes in /trunk/KDE/kdevplatform:

Initial support for classes and functions in the quickopen widget.
For now, only functions/classes within the project are supported.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 743206
Dmitry Suzdalev committed changes in /branches/work/kbugbuster-dimsuz:

Introduce simple model for server treeview

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


Jason Harris committed changes in /trunk/KDE/kdeedu/kstars/kstars/skymapdraw.cpp:

Draw infoboxes with a semi-transparent background. I had been using Options::boxBGMode(), but this isn't implemented yet, and it will have to wait until 4.1.

Jason Harris committed changes in /trunk/KDE/kdeedu/kstars/kstars:

Use semi-transparent backgrounds for object name labels. For 4.1, we should add a user option to control background transparency for the infoboxes and the object name labels.

Jason Harris committed changes in /trunk/KDE/kdeedu/kstars/kstars/tools:

Enable antialiasing in the plot widgets of the Alt vs Time and Solar System tools.

Also improved the twilight gradients, using QLinearGradient instead of repeated calls to drawLine while stepping in color :)

I noticed that with antialiasing active, a horizontal or vertical line drawn with integer pixel values is drawn "fuzzy" and half-transparent.
I offset the coordinates of the yellow lines drawn at mouse click positions by 0.5 pixels to sharpen them up. This works really well.

I should apply the same sharpness fix to KPlotWidget's axis lines.

Matt Williams committed changes in /trunk/playground/edu/keduca:

- Can open and edit tests (changes aren't saved yet)
- Can create new tests
- Test layout is displayed in list
- Actually does something almost useful now

- Now a shared library
- Const references for QStrings- Memory management

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 24 more) Revision 742402
Vladimir Kuznetsov committed changes in /trunk/playground/edu/step/step:

Inequality constraints support.

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


Gilles Caulier committed changes in /branches/extragear/kde3/graphics/digikam/digikam:

digiKam from KDE3 branch : new text filters have been added to the bottom of left and right sidebars. View listed below can be filtered:
- Album folder view.
- Tags folder view.
- Search folder view
- Tags Filter folder view.

When user type a string, a search is performed to tree view contents and only items including the strings are displayed.
A screenshot of digiKam in action is available at this url:

<a href="/issues/2007-12-02/files/digikam0.9.3-searchfolderbar.png"></a>;

Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/libs/database:

To uniquely identify the storage media of an album root, the UUID is a very good identifier, but it is not always available.

There need to be other means of identification for the storage of an album root.

Change the format of the album root identifier to a KUrl based string which allows easy storage of a variety of identifiers:
- label
- hash of the file names in the top level directory (CD/DVD)
- mount path
- path

Add private methods to create such identifiers, match Solid volumes to a given identifier,
and find a volume for a given path. Adapt the code to the new situation.

Add a method to return an user-visible information string on how a given path can be detected.

This can inform the user e.g. that a CD is identified by its label, or a removable USB disk can be uniquely identified by its UUID.

This commit invalidates existing album roots; Either delete and readd them, or edit the AlbumRoots table field "identifier" by prepending "volumeid:?uuid=".

John Layt committed changes in /trunk/KDE/kdegraphics/okular:

Enable Okular printing features:

* Add FilePrinter class to enable printing via postscript files
* DJVU, PDF, and PS backends print FilePrinter
* All backends enable printing of bookmarked pages
* Print and Print Preview actions enabled/disabled depending on backends printing ability

Note that FilePrinter only works on *NIX platforms with Cups, lpr, or lp.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 741990
Emanuele Tamponi committed changes in /trunk/playground/graphics/tamponi/painterlyframework/utilities/src/ipg:

Another little step to the new mixer: initial implementation of the new ProfileGenerator. I hope to get it finished for tomorrow. An important idea on this side: this relies on the Chromatic Adaptation algorithm used while converting a sRGB color to a generic Reflectance rappresentation for a certain illuminant.

The algorithm I use is that of Bradford, but I recently (today...) noticed that there are some free patents about chromatic adaptation and it should be good to both consider them and write the ProfileGenerator in a adaptation-algorithm-indipendent way.


Diffs: 1, 2, 3, 4 Revision 743449

KDE Base

Andreas Hartmetz committed changes in /branches/work/newssl/kdelibs:

The SSL Details dialog mostly works again, and it has a Designer-generated UI.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 741416
Jesper Thomschütz committed changes in /trunk/playground/base/plasma/applets/fifteenPuzzle:

First plasma game? :) Enjoy!

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 741623
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/plasma/containment.cpp:

keep screen assignments; this way if a screen is unplugged then comes back between plasma runs (e.g. log ins) we still have the containment kicking around. useful, that. ;)

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:

rough in what should be screen hotplug detection, once QDesktopWidget gets it stuff together

Craig Drummond committed changes in /trunk/KDE/kdebase/workspace/kcontrol/kfontinst/apps/Viewer.cpp:

Close window on quit. This way if more than one viewer window is started (by passing multiple fonts on command line), then closing one window will not close them all!

Aurélien Gâteau committed changes in /trunk/KDE/kdelibs/kfile:

Make it possible to add bookmarks by dropping urls on the selector.

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/ksysguard/processui/ksysguardprocesslist.cpp:

* allow pulling up of window associated with entry, if any
* fix location of context menu
* sort the context menu a bit so that the kill action, being potentiall destructive, is at the bottom with a separator

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/krunner:

because i am so *damn* tired of hearing about how it doesn't have history.

had 5% of the energy put into blog postings and irc rants about this been put into making a patch, this would've been done months ago. whatever.

Jesper Thomschütz committed changes in /trunk/playground/base/plasma/applets/fifteenPuzzle:

Added configuration options, ability to make a puzzle out of an image, custom icon, better default svg, and even more spaghetti code.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 742823
Will Stephenson committed changes in /trunk/KDE:

Handle the presence of NetworkManager 0.7 in KDE4 builds
*) Adapt MacroEnsureVersion.cmake to be able to check upper limits on version numbers
*) Adapt kdelibs/cmake/modules/FindNetworkManager.cmake to report the version found
*) Adapt kdebase/workspace/solid to select which version of NetworkManager support to build.
*) Move NM 0.6 and NM 0.7 support into separate directories.

NB This is build infrastructure only. There is no Solid backend for NM 0.7. Yet.

Diffs: 1, 2, 3, 4, 5, 6 Revision 742968
Luboš Luňák committed changes in /trunk/KDE/kdebase/workspace/kwin:

Separate KCommonDecoration from KDecoration, in order to allow greater possibilities in extending KDecoration. KCommonDecoration now does not inherit KDecoration, only wraps it (i.e. it's source compatible).

Added comments on how to extend KDecoration in the future by subclassing to KDecoration2, added PORTING document with all API changes in KDE4.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 742976
Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src:

enable session management

Diffs: 1, 2, 3 Revision 743357
Will Stephenson committed changes in /trunk/KDE/kdebase/workspace:

Complete the first fully working version of Solid::Networking network connection status reporting.
*) Fix signals/slots
*) Change NM's Asleep status to Unconnected in the Solid model instead of Unknown - this is what NM reports when you put it into offline mode
*) actually activate the damn thing (init() call in kded_networkstatus

The brave can test this using NetworkManager 0.6.x and Kopete by enabling the 'Connect Automatically' checkbox in Kopete. The timid can just use the kdelibs/solid/tests/networkingclient to observe what the Solid::Networking system would report to your app.

To Plasmoid developers: if your -oids uses the network, look into my reddened eyes. You feel a strange compulsion to start connecting to Solid::Networking::notifier()'s shouldConnect(), shouldDisconnect(), or statusChanged() signals now. When you wake up you will remember nothing of this but carry out every instruction. *CLAP*

Diffs: 1, 2, 3, 4 Revision 743389
Shawn Starr committed changes in /trunk/KDE/kdebase/workspace/plasma/dataengines/weather/ions:

We can how get the 5 day forecast for the BBC ion, thanks to robertknight for the help. This needs to be put into the datasource later now that we have it all

Jeremy Paul Whiting committed changes in /trunk/KDE/kdebase/workspace/plasma/containments/desktop:

allow multiple paths for slideshow option

Diffs: 1, 2, 3 Revision 743591


Marc Mutz committed changes in /branches/kdepim/enterprise/kdepim/kmail/messagecomposer.cpp:

Depending on (hidden, for now) user setting, show the GnuPG audit log (currently only implemented for gpgsm) after successful sign/encrypt operations.

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

Add scalixadmin tool, that finishes the KDE4 port of the scalix support.
Acknowleged by Allen.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 23 more) Revision 743616
Christian Weilbach committed changes in /trunk/playground/pim/kblogger/src:

Systray support.

Diffs: 1, 2, 3 Revision 743838


Sven Langkamp committed changes in /trunk/koffice/karbon:

added gradient import to the gradient tool

Diffs: 1, 2, 3 Revision 742330
Cyrille Berger Skott committed changes in /trunk/koffice:

introduce the longest class name KisExposureCorrectedFloatRgbToIntegerRgbConversionTransformationFactory in krita (kde ?) : use the exposure settings of the profile to convert from and to RGB, that makes Krita one of the first application to be able to paint in HDR

Diffs: 1, 2, 3, 4, 5 Revision 742831
Cyrille Berger Skott committed changes in /trunk/koffice/libs/pigment:

introduce a global cache for color conversion transformation (it's internal to KoColorSpace but shared between instance), it replaced the old code that was specific to one instance, and didn't work when a color space is destroyed. On a side note, the new cache take into account the rendering intent.

The bug fix can't easily be applied to the stable branch, so next stable release won't include, but it's going to be in next major release.

Thorsten Zachmann committed changes in /trunk/koffice:

o Implement copy and paste of shapes.
With that the basis for copy and paste of shapes between different applications is done.

It is now possible to copy a shape e.g. in kpresenter and insert it in karbon.

This does not yet work with text shapes as there is an assert in the text shape loading code that checks that there is a valid KoDocument in KoOasisLoadinContext.

The KoDocument in the KoOasisLoadingContext is not yet used in koffice 2.0. It was used in koffice 1.6 for loading in the KoFieldVariable to access the url of a document and some other document related stuff.

How will this be done in koffice 2.0? Will we still need the KoDocument for doing that or can the KoDocument be removed from The KoOasisLoadingContext?

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


Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src:

Add the very humble beginnings of a configuration page/framework for managing service plugins. Does not yet do anything and looks horrible doing it, so what more could you ask for? :-)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 742401
Jamie Faris committed changes in /trunk/extragear/multimedia/amarok/src/MediaDevice.cpp:

Port the bundlesToSync method of MediaDevice to the Meta framework.

My first commit!

Mohamed-Amine Bouchikhi committed changes in /branches/kscd/isi-kscd/kdemultimedia/kscd:

today for meal :p :
- Architecture's restructuration
- Audio Output detection
- linking between audio cd and audio output
- eject function integration
- play function implementation and integration
- stop function implementation and integration
- pause function implementation and integration
- mute function implementation integrated on prev and next button :p
(because next/prev function doesn't exist yet and there is no mute button yet)

Have fun ;)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 742789
Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src/servicebrowser:

Use a KPluginSelector instead of the custom crap that, in my ignorance, I had half started doing myself. This actually looks pretty sweet but still does nothing! :-)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision 742822
Seb Ruiz committed changes in /trunk/extragear/multimedia/amarok/src:

Import the entire statusbar from Dolphin. This is much simpler and doesn't have all the whiz bang features that the current status bar has, such as message queuing and multiple progress bars. All in due time, I hope.

Currently replaced the playlist statusbar, not the context view one.

Diffs: 1, 2, 3, 4, 5 Revision 742946
Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src/servicebrowser:

Lots of work on configuring service plugins. Now configuring which services should be loaded and added to the service browser actually works (Requires a restart to take effect currently). Also add a bunch of additional stuff to the desktop files to have something to show in the about dialog

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 9 more) Revision 742953
Leo Franchi committed changes in /trunk/extragear/multimedia/amarok/src/context/applets/lyrics:

begin work on lyrics applet. needs more, but i'm having problems testing as i can't get a collection

Maximilian Kossick committed changes in /trunk/extragear/multimedia/amarok/src/collection/sqlcollection:

initial work on detecting compilations which are stored in multiple directories

Maximilian Kossick committed changes in /trunk/extragear/multimedia/amarok/src/engine/phonon:

initial code for supporting fadeout in the phonon engine.
currently disabled because it triggers a crash in phonon

Diffs: 1, 2, 3 Revision 743703
Dan Meltzer committed changes in /trunk/extragear/multimedia/amarok/src:

No longer fetch images by default in Meta::Album::image()

Instead we do it in the playlist and collection browser. This allows the cover manager to fetch on demand rather than on loading it. Remove a bit of debug from playlistgraphicsitem as it was being quite spammy.

Maxx: I think your earlier commit caused a loop in PlaylistGraphicsItem::resize(), as its being called about a million times a second.

Diffs: 1, 2, 3 Revision 743847

Networking Tools

Joris Guisson committed changes in /trunk/extragear/network/ktorrent:

- Added moving of torrent data files
- Stop using symlinks in torX directory and switch to file_map (temp files can now be put on fat filesystems)

Kevin Krammer committed changes in /trunk/KDE/kdenetwork/kppp/devices.h:

Adding device files used by 3G/UMTS Cards/modems driven by the nozomi module, e.g. data cards by Option (, widely used by European telcos (usually rebranded)

Lukas Appelhans committed changes in /trunk/KDE/kdenetwork/kget/transfer-plugins/bittorrent:

Woah, Torrent-plugin is now working :)

Diffs: 1, 2, 3, 4, 5 Revision 741865
Stephan Binner committed changes in /trunk/extragear/network/ktorrent:

add on option to build KTorrent without DHT support

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 741882
Jernej Kos committed changes in /trunk/extragear/network/kftpgrabber/src:

Queue is now model-view based. Rewritten the log widget (QTextEdit was much too slow). Minor fixes/cleanups in queue-related parts.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 20 more) Revision 741930
Joris Guisson committed changes in /trunk/extragear/network/ktorrent:

Added initial version of the new QM gui

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 741951
Jernej Kos committed changes in /trunk/extragear/network/kftpgrabber/src:

Rewritten SSL support and major modifications to internal engine event system (now uses QVariants for parameters).

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 12 more) Revision 743298
Jernej Kos committed changes in /trunk/extragear/network/kftpgrabber:

Completely rewritten the SFTP subsystem. Now based on libssh2 with proper public-key authentication and speed limiting support.

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

User Interface

Riccardo Iaconelli committed changes in /trunk/playground/artwork/Oxygen/sounds/new:

New versions of sounds...

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 25 more) Revision 742281
David Jonathon Miller committed changes in /trunk/KDE/kdebase/runtime/pics/oxygen:

drawn special versions of mimetypes for 16px and 22px. 16px is almost done, 22px is probably 50% complete

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 95 more) Revision 743137
David Jonathon Miller committed changes in /trunk/KDE/kdebase/runtime/pics/oxygen:

* all places/folder* icons now use mimetypes/inode-directory icon
* added a folder-downloads type
* user-home updated to mimetypes/inode-directory style* begun drawing folders for small sizes, only a few folder types (the most common) are done at 16px so far

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


Friedrich W. H. Kossebau committed changes in /trunk/playground/utils/okteta/core:

added: bookmark capability (rough first version)


Thomas Gallinari committed changes in /trunk/playground/games/kapman:

Make the Kapman move when pressing arrow keys.
Warning ! This is only a "test", the real algorithm will be set when the main loop is implemented...

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 741323
Eugene Trounev committed changes in /trunk/KDE/kdegames/kgoldrunner/themes/default/set.svg:

Updated the default set. Wallpaper change as per numerous requests. (The jungle wallpaper will be made into a new Jungle theme for 4.1)

P.S.: And if anyone will complains one can't see anything again...


Ralf Habacker committed changes in /trunk/kdesupport/kdewin32:

added create_hash_table tool required to for umbrello php code import

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


User Interface

C. Boemann committed changes in /trunk/KDE/kdebase/runtime/kstyles/oxygen:

Based on a collaboration with Michael Lentner we now draw the backround in another way which should speed it up although I personally see no difference.


Development Tools

Nick Shaforostoff committed changes in /trunk/extragear/sdk/kaider/src:

-use english plural form by default (useful for catalan team --thanks to Albert Astals Cid)
-use std bckground color for all dockwidgets to make them contrast with translation input area

Tim Beaulen committed changes in /trunk/playground/devtools/plasmaappletdesigner:

I have an itch to scratch.

Hopefully nobody else is already working on something similar.
If so, please let me know so I don't waste my time.

The files in this commit contain a short readme with a description and some ideas.
And a planning file with a detailed todo list. The first step is of course information gathering.

Hamish Rodda committed changes in /branches/work/kdevelop-threadded-debugger:

Create branch for threaded debugger work - not yet ready for mainline, but I need to put it somewhere (large changes)

Tim Beaulen committed changes in /trunk/playground/devtools/plasmaappletdesigner:

Start looking at similar tools.

Dmitry Suzdalev committed changes in /branches/work/kbugbuster-dimsuz:

Create a branch for me to play with kbugbuster.
I plan to do some further porting, perhaps reorganizing and improving it in some areas.


Frederik Gladhorn committed changes in /trunk/KDE/kdeedu/libkdeedu/keduvocdocument:

Last cleanup the definition of KVTML-2 XML for KDE4.
Word types were badly defined and multiple strings written in the entries.
- For the next release word types will use the lesson class.
- The container (KEduVocContainer, the current lesson) will be the base for Leitner, Lesson and Word Type.

Rename some writeType to writeWordType.
Update the dtd


Aurélien Gâteau committed changes in /trunk:

Moved Svgpart to kdegraphics, as discussed on kde-devel-core list.

KDE Base

David Faure committed changes in /trunk/KDE/kdebase/apps/konqueror/src:

Kill dead code ("save view properties locally" and "remove local properties") -- that stuff was ugly, and is handled by dolphin nowadays anyway

David Faure committed changes in /trunk/KDE/kdelibs/kdecore/tests/kmimetypetest.cpp:

shared-mime-info 0.22 is buggy, and it's even my fault, sort of.
I made them fix a logic bug in the powerpoint magic, so now it matches, but it shouldn't be there in the first place...

Will reopen fdo bug 435 as soon as is up again...

Luboš Luňák committed changes in /trunk/KDE/kdebase/workspace/kwin:

No kde3/qt3 support in kwin core. Saves about 150M of memory in gdb by not loading the support libraries and the complete kdelibs stack it depends on. Gdb taking 0.5M and lousy handling of near-OOM in Linux kernel can be a pretty bad combination :(.

Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole/src/TerminalDisplay.cpp:

Remove feature that opened the web browser or email client when left-clicking on appropriate URLs because several users found it annoying. Links are still highlighted on mouse-over and can be opened by right-clicking on the link and selecting 'Open Link' or 'Send Email To...' as appropriate.

Troy Unrau committed changes in /trunk/KDE/kdebase/workspace/systemsettings/systemsettings.desktop:

Temporarily (for KDE 4.0 at least) move System Settings into the Settings submenu to make it easier to find. People were looking for it in the Settings submenu and not finding it, so we'll put it there for now.

In the future though, the Settings menu might need to disappear, in which case it would be moved back to top-menu.

Maks Orlovich committed changes in /trunk/KDE/kdelibs/kjs/CMakeLists.txt:

As discussed with Harri: Since:
1) We can not guarantee BC of KJS internal APIs for duration of KDE4
2) We are not aware of anything outside of kdelibs using them
... Do not install the KJS headers. An ABI-stable wrapper layer will be proviced at a later point.

This is also only possible because the KJSEmbed folks did the same.

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/plasma/containment.cpp:

bitten by the difference between type() and containmentType() again; layering one set of concepts (plasma) over another (qgv) does have its annoying sides ;)

Rafael Fernández López committed changes in /trunk/KDE/kdelibs/kdeui/jobs:

The widgetjobtracker now waits 500 ms before being shown. If the job is unregistered before those 500 ms finishes, the dialog is never shown. This is the default behavior on KDE 3.

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma:

javascript script engine; it's Richard's script applet ported to the ScriptEngine API. tomorrow i test, burn, fix and make it bark. in theory it should work, though ;)

Will Stephenson committed changes in /trunk/KDE/kdebase/workspace:

What was I thinking of when I added another status enum? Nothing much, certainly.
* Use the existing status enum from Solid::Networking.
* Implement an embedded Solid::Control::Networking instance in the kded module to monitor state.
* Update docu.

This is all still subject to change. I will get it working then make it beautiful.

Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src:

Hide the "Sort by Rating" and "Sort by Tags" menu entries for KDE 4.0, as currently the performance is too slow. Nepomuk will support caching in future versions, so hopefully we can provide those entries again in KDE 4.1.

Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src/dolphindetailsview.cpp:

Assure that the items of the details view are not expandable. We might think about enabling this in 4.1 optionally, so that especially Konqi can use this feature.

But for this some adjustments in the drag & drop handling of the details view must be done first -> let's postpone this to 4.1.

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma/plasma/dashboardview.cpp:

* 500ms is plenty of time to prevent insane keyboard repeat problems, while 2000ms keeps getting in the way
* arg, spaces, not tabs!@


Frank Osterfeld committed changes in /trunk/KDE/kdepim/akregator/src:

hide tabbar when only one tab is there. sweet.
minor cleanup

Volker Krause committed changes in /branches/kdepim/enterprise/kdepim/korganizer:

Implement Ellens suggestions for the attachment editor.


Dag Andersen committed changes in /trunk/koffice/koshell:

koshell now compiles and runs.
Works? Naahhh.


Shane King committed changes in /trunk/extragear/multimedia/amarok/src:

Ported all process code from K3Process/K3ProcIO to KProcess based classes (see Process.h).

Removed a number of exported symbols that were breaking win32 builds (still compiles for me under linux, but feel free to re-expose them if anything breaks).

Amarok now builds with both MSVC (with a minor patch to plasma) and mingw under win32 (currently crashes in plasma on startup).

Should still be working under linux, the process stuff seems to work, but I've touched a few areas and there may be some breakage.

Ian Monroe committed changes in /trunk/extragear/multimedia/amarok/src:

Changed my license from GPLv2+ and GPLv2 to GPLv2|3|future versions if KDE e.V says its OK. Using header from <a href=""></a>;

Nikolaj we shared a copyright for a file that was GPLv2. I'm confident that you're OK with the change though. :)

I didn't change GPLv2+ to the GPLv2|3|e.V, but it might be a good idea.

Dan Meltzer committed changes in /trunk/extragear/multimedia/amarok/src:

Make the old filebrowser start to work again, still some porting things to do before it can replace the temporary new one, but its a better idea overall to reuse it. Not sure what I was thinking when I wrote the new one :)

Networking Tools

Kevin Krammer committed changes in /trunk/KDE/kdenetwork/kppp:

Another take at deprecation warnings.

This also fixes the system tray menu visually, since the KDE4 one has its own minimize/restore action and thus currently showed two "Restore" entries.

The change also hides the quit action which is now also standard in system menus.

It would probably be better to disconnect from the maybeQuit slots and connect it to the main window's quit handling code instead, which warns that PPP will also be killed and shuts down the network properly.

Will Stephenson committed changes in /trunk/KDE/kdenetwork/kopete/kopete/identity/identitygeneral.ui:

Remove the Birthday UI - there is no support for this in Kopete's global property templates and it is too late to add it now.

User Interface

Matthew Woehlke committed changes in /trunk/KDE/kdebase/workspace/kwin/clients/oxygen/oxygenclient.cpp:

--hardcoded colors in oxygen windeco, now the 'faux-shadow' border is actually darker than the window instead of hard-coded medium gray (which made it appear bright in e.g. Wonton Soup).

Also add some 'if (0)' code for a different color choice that can hopefully be made available as an option in the future (I like it better anyway, but for now use boemann's gray).

Matthew Woehlke committed changes in /trunk/KDE/kdebase/workspace/kcontrol/colors/schemes:

add a whole bunch of color schemes (some like-classic, some all-new) for comment, remove temporary schemes (I guess people can yell at me if they were really attached to BeOS ;-) )

Matthew Woehlke committed changes in /trunk/KDE/kdebase/workspace/kcontrol/colors/schemes/Steel.colors:

Steel more like <a href=""></a>; which seems to be well-liked, also because that's closer to what I originally wanted anyway :-).

For the record, I made Steel based on a palette suggestion I'd seen from some (home, interior) paint company; I hadn't seen "Black" until after the first version.

Matthew Woehlke committed changes in /trunk/KDE/kdebase/workspace/kcontrol/colors/schemes/Evening Lilac.colors:

Ok, one more dark theme, because I feel like we have too many light themes that look so much like every other desktop :-)

Jason Stubbs committed changes in /trunk/KDE/kdebase/runtime/kstyles/oxygen/oxygen.cpp:

Don't paint backgrounds on widgets that don't want them, take #3

Using Qt::NoBrush, as discussed for the last patch, doesn't completely work as animated taskbar icons don't get a fresh background for each frame leading to mess.

After looking at QSystemTrayIcon's source code, I'm certain that this is the correct fix. I'm leaving the last patch in though as it may cover situations that I'm unaware of.


Sebastian Trueg committed changes in /trunk/kdesupport/soprano/index:

Again I have to say that CLucene, while being fast, has an awful API with a nearly useless documentation!

How am I supposed to know that starting at n results search::Hits uses the seach::Query again? As a result we cannot delete the query until the results are all read. That introduces a memory management problem when the user creates the Query object.

Well, for now I simply take ownership. That is ugly but using the CLucene ref counting stuff is plain impossible (at least for me)!