Issue 86

25th November 2007 by Danny Allen

This Week...

A Trash applet, various general improvements, and support for sharing configuration layouts in Plasma. "Undo close tab" feature in Konqueror. Development continues towards Amarok 2.0, with services becoming plugins and support for the Amapche music server. Continued progress in KDevelop and KEduca. More work on album display and improved thumbnails (with RAW format support) in Digikam. A BitTorrent plugin for KGet, based on the recently created libktorrent. Directory monitoring-and-update support in NEPOMUK. Work returns to Okteta, a hex editing utility. "Connection Status" plugin removed from Kopete. Kile begins to be ported to KDE 4, whilst work begins on KGPG2. Goya, a GUI widget framework, is imported into playground.
Shawn Starr gives a multimedia overview of the progress of the Plasma Weather data engine and the beginning implementation of the Weather Plasmoid:
(ensure sound is on to hear the voiceover)


Hello! My name is Shawn and I have produced the Weather Plasmoid for KDE 4. Over the last few weeks, I have been busy making major progress on the Weather Plasmoid, with more changes coming thoughout this month and into the next.

Whilst the Weather Plasmoid will not rival the famous LiquidWeather SuperKaramba applet in the KDE 4.0 timeframe, it should at least rival the KWeather Kicker applet of KDE 3.

If you use imperial instead of metric for your measurements (as set centrally in your KDE configuration), the Weather Plasmoid will display the data in imperial units instead. The measurement of winds in meters per second is not yet functional in the applet but the weather ions (data sources) support this.

With this being my first KDE program, I hope to contribute more for the community and encourage people to send me ideas and possible features for the Weather Plasmoid too!
Rafael Fernández López introduces a new GUI widget framework, Goya:
Goya is a framework for easily adding widgets into itemviews. We could say that on itemviews we have a similar problem that Plasma (QGraphicsView) has/had (Qt 4.4 fixes this for QGraphicsView).

From my experience working with itemviews I found that sometimes it is very helpful to add widgets (for example, checkboxes, radio buttons, push buttons, etc) into itemviews. Such a use case can be seen in the plugin selector, for example.


I had to create lots of workarounds for adding only two buttons into the plugin selector itemview, and it seems that the complexity for adding more widgets becomes almost exponential!

So, I came up with a solution that consists of adding an intermediate layer between the Delegate and the View. I call this solution Goya. This makes it really easy and powerful (you can use signals and slots with Goya widgets) to use standard widgets and add them into itemviews, as the presence of a widget relies on the model, and their position on the Delegate.


Right now, the most important thing is written: Goya itself. You can currently add push buttons and combo boxes. I developed these for testing the framework, and they work very nicely. I will add other widgets very soon, for example checkboxes and radio buttons. Currently, you can also add a line edit, which I added for testing purposes, but it is not usable: you won't be able to scroll or edit text. It will only show a string with the appearance of a line edit.

Goya also tries to minimize memory usage, so if you add a button to all rows on a list view, only one button will be allocated in memory.

The utility of this project will be demonstrated by KPluginSelector, as well as KUIServer (which I plan to code when Goya is finished).

I think that adding widgets (at least push buttons, checkboxes and radio buttons) can be a very common case for itemviews, and for that reason I really think that other applications will benefit from Goya. That is the reason why I created Goya as a library.

The code can be found at http://websvn.kde.org/trunk/playground/libs/goya, and I would love to see it become an established part of KDE 4.1. There you can also find two small tests, where you can see Goya in action.


Simon St James discusses his new KDE 4 testing initiative, KDE4Daily:
Hi all! My name is Simon and I am the creator of the KDE4Daily project, which is my first contribution to KDE! The idea originally came from hanging around in #oxygen and observing that, whenever Nuno Fernades Pinheiro wished to see some changes to the widget style, he would need Ruphy to SSH into his machine and update and compile it for him. I thought things could be a bit more streamlined if Riccardo Iaconelli could somehow just add the changed code to a personal repository and have Nuno update to it automatically, but there were probably binary compatibility problems if they used different distributions which would prove awkward. Since virtualisation offers a way to distribute self-contained installations and have them run on different platforms, I thought this might be a way forward.

A little later I realised that this might be a good way of lowering the barrier for other people who want to try out bleeding-edge KDE but who don't run a distribution that provides up-to-date packages, or don't want to deal with the hassle of compiling. So I ran it past the KDE Promotion team and several people expressed their support for the idea, and so I set to work straight away.

The KDE4-install updater itself is not that sophisticated, technically - each build has all files hashed, and when a file changes between builds, the new version is simply globbed into a big bzip'd file. When the user updates, the list of changes is simply replayed and the replacement files are extracted into the correct places and symlinks are re-arranged, as required. This replaying is designed to be robust, so that if it fails (for whatever reason), it can be restarted without ill-effect and hopefully conclude successfully. While this aspect of the project was reasonably simple, dealing with debugging information was annoyingly difficult.

One of the technical challenges was fixing bugs / implementing features "in the field", as it were, without having to re-upload a brand new torrent, so one of the first things I worked on was a way of deploying script updates to users. Several bug fixes have been transparently slipstreamed in since the torrent was first added.

The debugging info for the KDE modules included in the KDE4Daily install is very big - approximately 512MB when bzip'd. Worse, even small changes in the source code can result in hundreds of megabytes of debug files that are not binary equals of the debug files from the previous build - generating an additional 300 MB per day of debugging info is not unusual. My upload bandwidth makes uploading this much per day unfeasible, but KDE4Daily's usefulness as a debugging aid is significantly reduced if it cannot be provided when an app crashes - without it, the backtraces given by DrKonqui are not really useful to developers.

Thankfully, the debugging info is fantastically susceptible to utilities such as bsdiff and bspatch, which help bring this down to a much more manageable 10-20MB per day of patches. So, after compiling a build, the fat, debug-filled executables are stripped and separated from their debug info and tagged in a way that associates them with this extracted debug info. Ordinarily, the way the GNU tools work means that an otherwise unchanged executable would change whenever its debugging info did (a fairly common occurrence), but a bit of jiggery-pokery and a naughty hack to GDB eliminate this inefficiency. If (not when ;)) an app crashes in KDE4Daily, a FUSE daemon written in Ruby intercepts requests for debug information from GDB, downloads a mapping that associates the executable's tag with its debug info, downloads the "original" debug info for this executable and the small patch required to bring it up to date, combines the two and then delivers the full, up-to-date debugging info to GDB for backtrace generation.

Preparing an install is about 99% automated. I only deploy a build if all modules have compiled cleanly and while there are occasional patches where one or two modules might have problems, on the whole compilation is pretty reliable. Building takes about 2-5 hours, and stripping and diffing the debugging info takes 1-3 hours. Generally, I need to upload anywhere between 20 and 70 MB per day, all-inclusive.

The torrent was uploaded two weeks ago but not widely publicised. Eventually, Aaron Seigo, Jos Poortvliet, Sebastian Kügler and Anne-Marie Mahfouf goaded me into writing a Dot article (my first!) and Jonathan Riddell helped knock it into shape. Many more people downloaded it than I had expected - I was expecting maybe one hundred or so people over the lifetime of the project, but at its peak, more than 1100 people were on the torrent! Dirk Mueller very kindly provided hosting for the updates and debugging info, and Martin and Kiyoshi provided hosting for the image itself for people who have no access to BitTorrent. Many people approached me with support and extra information (Liquidat blogged on how to convert the image so that VirtualBox users could use it) and left encouraging comments on the Dot article, and a gratifying number of people in #kde4-krush seemed to be using it! :)

I always thought it was pretty cool that when I first upped the torrent, Aaron Seigo himself was the first to hop on and has continued to seed ever since - I think this nicely highlights the "community" aspect of KDE :)

On the whole, it's been a fun challenge and overall a very positive first KDE experience - post-4.0, I hope to continue to contribute to KDE with some libs work and some apps :)
Simon also points out that the KDE build dashboard (http://ktown.kde.org/~dirk/dashboard/) is a really nice tool for checking the status of individual KDE modules before compilation, and it seems to be relatively unknown amongst users who try to compile KDE itself.
Cornelius Schumacher writes about another 10 year anniversary, this time that of the establishment of the KDE e.V. as a legal entity to represent KDE:
Tomorrow (27th November) is the day on which the KDE e.V. was founded, ten years ago. The first entry of our official registration says "The articles of association are constituted on 26th November 1997". It also mentions the President of the Board as "Matthias Ettrich, Student" and the Vice President "Matthias Dalheimer, Computer Scientist". Stories tell that they had to drag in housemates and girlfriends to reach the minimum number of persons needed to create a "registered association", i.e. an e.V., according to the German regulations.

I'm pretty sure that none of them expected where we would be today, ten years later. The KDE community lives and prospers, the fourth generation of the KDE desktop is about to be released. The KDE e.V. stands firm behind the project providing representation and support where needed. We have 203 regular members, representing the core of the KDE community, and a number of supporting members, our patrons Mark Shuttleworth, Trolltech, Intel, Novell and Klarälvdalens Datakonsult, as well as the supporters basysKom, Sirius Corporation and Medas GmbH. They and all the donors which give us financial support make it possible for the e.V. to fulfil its mission, to support the KDE community to develop the Free Software Desktop.

So join in and celebrate this day as the tenth birthday of the KDE e.V.

Happy Birthday KDE e.V.!
Anne-Marie Mahfouf announces the KDE-Edu meeting, due to take place next weekend:
The KDE-Edu team will meet for the first time next weekend in Paris. Mandriva is hosting the meeting and KDE e.V. is sponsoring the event. 14 people will share ideas about one of the biggest challenges of the moment: Free Educational Software.

The aims of the meeting include debugging applications for the upcoming KDE 4.0 release: please issue bug reports for all programs in the kdeedu module at bugs.kde.org. We'll also be preparing the KDE 4.1 KDE-Edu roadmap and have various other items in the agenda.

Statistics

Commits 3062 by 255 developers, 7036 lines modified, 1369 new files
Open Bugs 15137
Open Wishes 13281
Bugs Opened 306 in the last 7 days
Bugs Closed 222 in the last 7 days

Commit Summary

Module Commits
/trunk/KDE
891
 
/trunk/l10n-kde4
759
 
/trunk/extragear
328
 
/trunk/playground
200
 
/branches/work
173
 
/trunk/kdesupport
136
 
/trunk/koffice
112
 
/trunk/www
112
 
/branches/extragear
82
 
/branches/stable
71
 
Lines Developer Commits
129
 
Sébastien Renard
100
 
98
 
Yannig Marchegay
98
 
200
 
Laurent Montel
96
 
222
 
Gilles Caulier
82
 
187
 
Aaron J. Seigo
80
 
147
 
Andreas Pakulat
78
 
80
 
Oswald Buddenhagen
64
 
109
 
Dirk Mueller
55
 
75
 
Ralf Habacker
54
 
76
 
Allen Winter
50
 

Internationalization (i18n) Status

Language Percentage Complete
Portuguese (pt)
100%
 
Swedish (sv)
99.93%
 
Greek (el)
99.84%
 
Japanese (ja)
94.88%
 
German (de)
89.37%
 
Chinese Traditional (zh_TW)
86.15%
 
Spanish (es)
85.02%
 
Dutch (nl)
83.87%
 
Estonian (et)
82.9%
 
Brazilian Portuguese (pt_BR)
82.12%
 

Bug Killers and Buzz

Person Bugs Closed
Luboš Luňák
41
 
Thomas McGuire
19
 
Maks Orlovich
17
 
Pino Toscano
16
 
Aaron J. Seigo
14
 
Will Stephenson
14
 
Percy Leonhardt
12
 
Tommi Tervo
11
 
Julian Seward
9
 
Peter Penz
8
 
Program Buzz
Amarok
6305
 
K3B
5640
 
KMail
5120
 
Kopete
4330
 
Kontact
3948
 
Kate
3880
 
KDevelop
3205
 
digiKam
2798
 
Kicker
2436
 
SuperKaramba
2154
 
Person Buzz
David Faure
856
 
Sebastian Kügler
854
 
Stephan Kulow
771
 
Matthias Kretz
654
 
Adriaan de Groot
630
 
Allen Winter
629
 
Waldo Bastian
440
 
Aaron J. Seigo
364
 
Boudewijn Rempt
340
 
George Staikos
322
 

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

Bug Fixes

Development Tools

Michael Pyne committed changes in /trunk/KDE/kdesdk/scripts/kdesvn-build:

apaku uncovered another bug in the pipe() based IPC implemention. Of course, I had already foreshadowed it. For future reference, if you see a comment somewhere that says "should be enough length", it is not enough length.

Making the read buffer bigger would probably have fixed it, but instead I made the buffer even smaller and made the I/O handle message fragments instead. A nifty exercise is to reduce the 256 in the sysread call to 1 and see if everything still works in pretend mode. :)

Educational

Jasem Mutlaq committed changes in /branches/KDE/3.5/kdeedu/kstars/kstars/indiproperty.cpp:

Fixing menu-to-command mapping for all INDI devices. This is a quick fix for the problem. It was solved in KDE 4 branch using a completely different approach.

KDE Base

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

Make the outline for moving/resizing work with Qt4, which bothers to support XOR painting only when XRender is available. Given that outline should be mainly used with older systems, go for a DIY Xlib-based solution. Needs changes in decorations using it.

Martin Pley committed changes in /branches/KDE/3.5/kdebase/kioslave/media/mediamanager:

- Fixed a small memleak: use libhal_free_string_array(volumes) instead of free(volumes)
- USB floppy drives have media-detection enabled. Thus we can react on insertion of a floppy disk
- Fixed empty labels for floppy drives

Matthias Kretz committed changes in /trunk/KDE/kdelibs/interfaces/kmediaplayer/kfileaudiopreview/kfileaudiopreview.cpp:

fix the layout of the preview widget. Have fun watching videos in the file dialog :-)

Maks Orlovich committed changes in /trunk/KDE/kdelibs/khtml/ecma/kjs_css.cpp:

I can't: 1) read 2) test stuff properly.

Fix #152791: we do want to return an empty string on known but not set CSS properties, just like KDE3 did (and which I missed)

Maks Orlovich committed changes in /trunk/KDE/kdelibs/khtml/rendering:

Now all the bits like resource limiting are in place, switch over to properly using khtmlImLoad's scaling cache.

Also, remove the hacky scale-limiting within khtml proper, thus fixing #105087

Fredrik Höglund committed changes in /trunk/KDE/kdelibs/khtml/html:

Fix some issues with radial gradients in the canvas implementation:

- Use the larger of the two radii as the radius in the QGradient, and invert the positions of the color stops if the inner radius is larger than the outer one.
- Emulate support for an inner radius by adjusting the color stops.
- Make sure adjustPosition() never returns a value greater than 1.0.

Urs Wolfer committed changes in /trunk/KDE/kdelibs/kfile/kfiletreeview.cpp:

Fix for:
* #152359: 'select folder' dialog doesn't load correctly values
* #152799: 'folder selection' dialog error while clicking

Albert Astals Cid committed changes in /trunk/KDE/kdebase/apps/dolphin/src/dolphinpart.cpp:

Ahhh, fixing the bugs you report, that rocks ;-)

Insert the dolphin catalog so the messages appear translated correctly when eg, embedded into konqueror

KDE-PIM

Allen Winter committed changes in /trunk/KDE/kdepim/kontact/plugins:

From "Jérémy Compostella":
A patch to fix the "New Feed/New SMS actions crash Kontact" seen on <a href="http://techbase.kde.org/Projects/kdepim/kde4bugs.">http://techbase.kde.org/Projects/kdepim/kde4bugs.</a>;

a bit tweaked by me so it will compile.

Multimedia

Martin Aumüller committed changes in /branches/stable/extragear/multimedia/amarok/src:

don't try to autoconnect iphones as this blocks amarok if the network connection is not available

Diffs: 1, 2, 3 Revision 740689
Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src/playlist/PlaylistModel.cpp:

A bit of work towards fixing crashes in the playlist when a track does not have a valid album (such as a shoutcast station that only has a genre). Does not really work though, even though it should. Am I missing something?

Networking Tools

Cláudio da Silveira Pinheiro committed changes in /trunk/KDE/kdenetwork/kopete:

Fixed a crash with ASSERT when using V4L2-only devices (like uvc ones);

Re-enabled V4L2;

Removed permanently workarounds for broken drivers. It only prevented the bugs form being fixed in the proper place (kernel drivers);

Removed permanently the option to disable MMAP. It only prevented bugs from being fixed in the proper place (kernel drivers);

Config UI was changed to cope with the aforementioned changes.

Redone some indentation to comform to Kopete code conventions (use of TABs). If somebody edits this code please use TABs instead of spaces. If 8-spaced tabs are too big for you, just change the configuration of your text editor to better reflect your prefferences.

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

Features

Development Tools

Giancarlo Niccolai committed changes in /trunk/playground/bindings/krossfalcon:

Basic layer for QT integration nearly complete

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 738388
Hamish Rodda committed changes in /trunk/KDE/kdevplatform/sublime:

Prepare for supporting multiple tool docks per area
This has the nice side-effect of reducing flicker... I think because I don't keep recreating splitters

Hrm, I think next time I write something, I should make sure I've got the required feature list first, this refactoring was somewhat painful

Diffs: 1, 2, 3, 4 Revision 739850
Andreas Pakulat committed changes in /trunk/playground/devtools/kdevelop4-extra-plugins/python/parser/pythonast.h:

Intial draft of a new AST for python support. This needs tons of work: visitor, cleanup of the arguments, maybe using union's where some members are mutually exclusive. And first and foremost: An implementation.

Andreas Pakulat committed changes in /trunk/KDE/kdevplatform/plugins/projectmanagerview:

Implement a detail view for choosing what items to build. The list is not persisted yet, thats for later. Also dnd between project view and buildlist will come later.

I also added a combobox to choose between different detail views and a possibility to hide the detail part.

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

Educational

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

Whole tests can now be constructed. Each question is stored in a separate xml file and is aggregated by the test xml file. Next step is to enable loading/saving from file into an archive.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 9 more) Revision 738399
Matt Williams committed changes in /trunk/playground/edu/keduca/keduca:

Add complete loading and saving of test descriptor files. Next will be loading/saving of question files and displaying the information in the UI.

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

Graphics

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

digiKam from KDE3 branch : new text filter on status bar to filter current album contents based on item name, comments and tags strings.

Arnd Baecker committed changes in /branches/extragear/kde3/graphics/digikam:

New Recursive display of sub-albums and sub-tags, which can be selected by the user.

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

digiKam from trunk (KDE4): following Marcel tips by IRC, We use now a dedicaced Multithreaded Thumbnail Loader instance from digiKam core for all kipi-plugins we need thumb. We never use default KDE thumbnails loader with all kipi-plugins running under digiKam.

Why?: because KDE thumnails loader is slow, do not work properlly with JPEG and PNG, do not support RAW pictures, do not rotate properlly thumbs accordinly to Exif or Xmp metadata, etc...

It's perfect... To test it, start SendImages kipi-plugin for ex. and add new pictures to e-mail on the list.

Look how is render the pictures thumb on the left of open file dialog (Standard KDE + new preview widget).

This rocks! digiKam and kipi-plugins because more homogenous now.

Andrew Walker committed changes in /branches/work/kst/1.6/kst/src:

add ability to delete objects from within javaScript

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

KDE Base

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

allow to show/hide the menubar

Matthias Kretz committed changes in /trunk/KDE/kdelibs/phonon/libkaudiodevicelist/soundcardinfo.sh:

add a shell script that gathers all information about installed soundcards to turn them into entries for the hardwaredatabase

Vlad Codrea committed changes in /trunk/playground/libs/kiofuse:

KioFuse is now multi-threaded, and KIO requests from FS threads are directed to the main thread. Connecting to slots in the main thread using Qt::QueuedConnection now works because we start the event loop in the main thread using KApplication::exec(). This required running fuse_loop_mt() in a worker thread.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 738422
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:

allow moving on any part of the applet surface; it seems our widgets still work just fine with this which is pretty cool; in this case i like the event model for QGV =)

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

better composite interaction; mimics what i did in plasma yesterday

Diffs: 1, 2, 3 Revision 738497
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/plasma/widgets:

introduce per-side margins to layouts. you can still just call setMargin(qreal) if you wish, but now this is much more useful for, say, panels.

Diffs: 1, 2, 3, 4, 5 Revision 738526
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma/animators/default/defaultAnimator.cpp:

always forgot to do this: make them appear/disappear from the center rather than the top left corner; there are some really odd going away things right now, though

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

desktop containment configuration initial checkin, setting a background image is functional, but will change to use packages, slideshow also is functional

Diffs: 1, 2, 3, 4 Revision 738551
Andreas Pakulat committed changes in /trunk/KDE/kdelibs/kdecore:

Change groupList() and name() to use the groupnames only, not the full path.
This is a first step towards hiding the separator used for nested groups in the ini backend. Full solution needs to wait for 4.1

Along the way add notes to the API's that can create groups that the forward slash "/" is not allowed as part of the group name.

Add tests for all the above.

Patch ok'ed on kde-core-devel.

Diffs: 1, 2, 3, 4, 5 Revision 739168
Matthew Woehlke committed changes in /trunk/KDE/kdebase/workspace/kcontrol/colors:

effects page half-working (so others can hack, as I might not be able to finish), also some refactoring to reduce code duplication

TODO: range for color effect should be 0.0 to 1.0 for fade/tint effects (not -1.0 to 1.0), disable controls when they aren't useful, copy ColorEffects:Disabled defaults from kcolorscheme.cpp

Diffs: 1, 2, 3, 4 Revision 739427
David Nolden committed changes in /trunk/KDE/kdelibs/kate/completion:

Update the best-matches list with a timeout of 50 ms after the model has changed. This is not nice, because of slight flashing, but considering that items may be inserted one by one, we have no other choice.

Diffs: 1, 2, 3 Revision 739594
David Faure committed changes in /trunk/KDE/kdebase/apps/konqueror/src:

GUI: "undo closed tab" feature, available in Edit/Undo (Ctrl+Z), and in Go/Closed Tabs/...
Initial feature by Eduardo Robles Elvira, refactorings and unit tests by me.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision 739791
Aaron J. Seigo committed changes in /trunk/playground/base/plasma/applets:

start of a trash applet, courtesy of Marco Martin

Diffs: 1, 2, 3, 4, 5, 6 Revision 740191
Urs Wolfer committed changes in /trunk/KDE/kdebase/workspace/plasma/containments/desktop:

* better dialog layout
* don't leak the dialog
* show a preview of the image in the image requester
* we have a very nice window icon, why not show it? :)* set a dialog caption; when we will not be in string freeze, we could set a better one

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

New KDed module which watches the home folder for changes and updates the nepomuk repository accordingly. This includes:
- files and folders being moved
- files and folders being renamed
- files and folders being deleted

As it builds on top of inotify it only works on linux and fails for nfs and similar.

For now it is also restricted to the home folder. Once idea would be to add watches for files and folders that have metadata in the repository and no other.

I would appreciante help for BSD/Solaris/Windows support and ideas for a more general solution.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 740495
Teemu Rytilahti committed changes in /trunk/KDE/kdebase/apps/konsole/src:

allow changing between the tabs by using a mouse wheel, approved by Robert.

Kevin Ottens committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/devicenotifier:

Device Notifier Next Gen continued.
We now have a nice applet that does... nothing.

Alexis Ménard committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/devicenotifier:

Improve new notifier...User can click on each hot plug item to open solid ui server...Let's go to improve design...

Shawn Starr committed changes in /trunk/playground/base/plasma/applets/weather:

Switched over to a better display of found places. Now you can select more than one place when a datasource returns a list of places.

Diffs: 1, 2, 3 Revision 741094
Shawn Starr committed changes in /trunk/playground/base/plasma/applets/weather:

Configurations now written correctly. We can now work on actually displaying data in the applet!

Office

Carlos Licea committed changes in /trunk/koffice/kchart/shape:

Added the option to load a tittle (finally!) from ODF, next thing will be add style. And also some function for the Gui to add/change a title.

Jan Hambrecht committed changes in /trunk/koffice/plugins/dockers:

implemnted a shape properties docker which shows shape config widgets as discussed at the last Koffice Berlin Meeting

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

Multimedia

Koos Vriezen committed changes in /branches/extragear/kde3/multimedia/kmplayer/src:

Far more work than expected, but finally have multible streams playing simultaneously with SMIL. Backend other than MPlayer and knpplayer are supposed to handle this within one instance. Only kxineplayer is ported to do this, ie. gst and xv are broken now. Also recording is broken, among other things ..

Set videoarea background to part's parent widget palette bg color, nicer with flash

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 21 more) Revision 738446
Dan Meltzer committed changes in /trunk/extragear/multimedia/amarok/src:

Progress on CoverManager.. still needs a bit of work but its coming along.

Artists are listed, covers are fetched, but not nicely yet.

CoverFetcher has become a standalone class, pass it either a list of albums or a single album and tell it to start, then watch it go. It will probably become a singleton when I get time.

Diffs: 1, 2, 3, 4, 5, 6 Revision 738764
Mohamed-Amine Bouchikhi committed changes in /branches/kscd/isi-kscd/kdemultimedia/kscd:

we have added the HWcontroler class, which detects the cd reader device using the Solid layer. Have fun!!!

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

Show album covers in collection tree. And lo and behold the wonders of code reuse, since the same collection tree drives all the services, covers are shown everywhere (and there was much rejoicing!). Only issue is that the tree does not register for notices about covers becomming ready from albums that dynamically load their covers, so they do not update atomatically. yet..."

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

Work on making albums appear grouped on startup.
* Compare albums by their name instead of their albumPointer
* Fix an error in xspfplaylist that would cause the creator not to be written to xspf files
* Fix errors in PlaylistHandler::loadXspf that would create empty tracks

Tracks still do not appear properly on startup however, something seems wonky with Meta::EditCapabilities but I can't chase that currently

Diffs: 1, 2, 3, 4, 5 Revision 738893
Leo Franchi committed changes in /trunk/extragear/multimedia/amarok/src/context/applets/lastfmevents:

begin working on overhaul of last.fm events applet with new layout. not anywhere near finished, but gotta commit so i can check it out at home tomorrow.

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

Will the madness ever end? Will I ever actually do something useful? Oh well... World, meet the new Amapche collection/service, Ampache service, meet the World.

There, now that introductions are in order, it might be worth noting that the Amapche API used is still in development (It was developed in parallel with this service by Amapche dev. vollmer) so don't expect this to work with your own Ampache setup just yet.

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

Implement album art fetching from the playlist. Works awesome.

Diffs: 1, 2, 3, 4 Revision 739586
Seb Ruiz committed changes in /trunk/extragear/multimedia/amarok/src:

Attempt to insert the new MessageLabel in the statusbar. Totally messed up thanks to our insanely complicated layouting system in the statusbar. You can see what happens if you retrieve a cover then save it.

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

Turn the Magnatune store into a plugin, and in the process, export a bunch of stuff that it needs. The plugin is currently not loaded, so the Magnatune store is currently MIA. The other sevices should be simple to convert, now that all the exports are in place.

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

Yet another episode of 'Pluginize that service'. This time, the lucky contestant is the mp3tunes service.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 740914
Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src:

Make the ShoutcastService a plugin. seems I am all out of services for now. The scriptable service will not be made a plugin, as that one is... different....

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 740928
Mohamed-Amine Bouchikhi committed changes in /branches/kscd/isi-kscd:

- Addition of a class diagram in the documentation

- Deleting of HWcontroler.h/cpp. Remplaced by hwcontroler.h/cpp for respecting standards of programmation standard

- Change of the name of the class HWcontroler by HWControler

- Reorganization of the HWControler class.
- Addition of the AudioCD class
which inherits the class Solid::OpticalDisc.
- Addition of the CdReader class which inherits the class Solid::OpticalDrive.
- Addition of the Songs class which inherits the class Phonon::MediaSource.

AudioCD makes it possible to recognize a reader CD. CdReader makes it possible to recognize a reader CD.

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

Networking Tools

Joris Guisson committed changes in /branches/extragear/kde3/network/ktorrent:

Removed threaded fileview update patch and switched to an approach with QTimers

Cláudio da Silveira Pinheiro committed changes in /trunk/KDE/kdenetwork/kopete/libkopete/avdevice/videodevice.cpp:

Enabled image parameters changes (brightness, saturation and so on) in V4L2 devices.

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

Initial Bittorrent-plugin based on libbtcore aka libktorrent. The directory is disabled...

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 739728
Nick Shaforostoff committed changes in /trunk/KDE/kdenetwork/kopete:

add predefined xtraz statuses -- really helps for those who can't seem to understand the meaning of (ugly) icons see qip (<a href="http://qipim.com/en/">http://qipim.com/en/</a>;) for an example of well-designed icons.

Diffs: 1, 2, 3 Revision 740241

Utilities

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

Introducing the concept of synchronizers...

Terms:
model - a defined structure of some data working model - a model with methods (like the one in memory which you call in code) stream model - a model for the serialized data (like in a file)

Synchronizers should synchronize working models to other models, like stream models.
They are similar to e.g. export/import filters, but stay the whole time until the working model is closed. They care for everything, like if file/other model is changed, so the rest of the program does not need to deal with this. Separation of concerns, yeah :)

For synchronizers which synchronize with files in the filesystem there is the subclass KAbstractDocumentFileSystemSynchronizer, to care for the general work with (remote) files.

Other models to synchronize with may also be working models in remote processes/servers.
Like in a collaborative setting. More on this later, not yet included.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 46 more) Revision 738470
Rolf Eike Beer committed changes in /branches/work/kgpg2/kgpgwizard.ui:

Give descriptive names to pages in wizard

Since we're in string freeze this will not show up until KDE4.1

Games

Pierre-Benoit Besse committed changes in /trunk/playground/games/kapman:

Add of the game, maze and mazeview class.They are not completely implemented. The image folder will contain all the pictures for each kapman items.

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

Optimization

Development Tools

David Nolden committed changes in /trunk/KDE/kdevelop/languages/cpp:

Submit all completion-items computed in the background thread within one big batch. This reduces flickering in the completion-widget, and should save a significant amount of processing-time(repeated sorting, best-match computing, etc.)

Diffs: 1, 2, 3, 4 Revision 739607

KDE Base

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

Keep track of what has chanegd, so that we can optomise redrawing the GUI.
This gives us a large performance boost, allowing us to update every 2secs instead of every 1 second

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

Networking Tools

Joris Guisson committed changes in /branches/extragear/kde3/network/ktorrent:

Added an optimization proposed by swolchok in the SHA1 hash generation

Diffs: 1, 2, 3, 4 Revision 739217
Joris Guisson committed changes in /trunk/extragear/network/ktorrent:

Switch to QCA2 for SHA1 hash generation, much faster then our own solution

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

User Interface

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

Make the rubberband looks much nicer and work faster

Thanks to Michael Lentner for contributing this

Security

KDE Base

Maks Orlovich committed changes in /trunk/KDE/kdelibs/khtml/imload:

Put in some rudimentary DoS protection, which should also prevent integer overflow style scenarios.

Also fix a memleak in the gif decoder.

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

Other

Development Tools

Andreas Pakulat committed changes in /trunk/KDE/kdevplatform:

Merge the rework_svnplugin branch back to trunk. KDevPlatform now needs the rapidsvn C++ library if you want svn suppo

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 145 more) Revision 738321
Andreas Pakulat committed changes in /trunk/playground/devtools/kdevelop-pg-qt:

Start a Qt based version of kdevelop-pg

Educational

Frederik Gladhorn committed changes in /branches/work/kdeedu_parley:

This is really a work branch now.
Start the rewrite of the table model and lesson model.
The table now contains all single line things, the other editing will use dock widgets.
Nothing works.
Both models are not editable yet.
Rewrite of the lesson part of the lib - now there is one root lesson containing the world.
Another time crash and burn...

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 43 more) Revision 738466
Jasem Mutlaq committed changes in /trunk/KDE/kdeedu:

INDI is now using libnova to perform any required astronomical calculations by the drivers. I removed the code from indicom that used to provide some basic calculations since it is not sufficient.

A C library was required. However, libnova is a soft dependency, meaning that INDI and KStars will fully compile and function without it. If it's not available in the system, only the features and/or drivers that depend on it will be disabled. Therefore, as with cfitsio, there is no hard dependency in this situation.

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

Graphics

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

digiKam from trunk (KDE4) : Very important notice here : the list of B.K.O files not yet backported from KDE3 to KDE4.

Marcel, this very important to synchronize KDE3 and KDE4. At this moment, only one B.K.O file is not yet backported in KDE4, and i hope no other item will be added here in the future.

Arnd, In all case, i recommend you to copy & paste the B.K.O file title here, to be sure than nothing will be lost with KDE4 port. Thanks in advance.

Note : i have a private list in my Gmail account, but a public one is always better (:=)))

KDE Base

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

nicer painting of the bakground. we use the colour scheme from the theme for this, though now an svg. i want this to be a bit more of a standardized element and svg's don't deal overly well with having rounded corners bent to odd proportions =)

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

we do actually still want context menus on applets, even with the hover thing.

Will Stephenson committed changes in /trunk/KDE/kdelibs/solid/solid/backends/hal/halmanager.cpp:

Filter out video4linux devices from this call that are not video sources. The 2nd call to hal is regrettable but unavoidable, since FindDeviceStringMatch only matches exact matches, so you can't query it for device paths containing 'video'.

Patch reviewed by Kévin Ottens.

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

Icons view: assure that the vertical spacing does not grow as fast as the horizontal spacing. For the default settings this means that the viewport can now be reached easier than before, while not wasting too much vertical space.

Will Stephenson committed changes in /trunk/KDE/kdelibs/kutils/kpluginselector.cpp:

Careless widgets cost pixels! Only use a tab widget in a plugin config dialog when there are more than one KCModuleProxys to display.

Patch approved by aseigo and ereslibre.

Luboš Luňák committed changes in /trunk/KDE/kdebase/workspace/ksmserver/shutdowndlg.cpp:

I hate the idiotic useless qt-bugs@ blackhole.

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

Remove all code for non-composited animations - they don't work anyway.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 739143
Urs Wolfer committed changes in /trunk/KDE/kdebase/workspace/plasma/containments/desktop/desktop.cpp:

Use SmoothTransformation for wallpaper transformation. This way scaled wallpapers look _way_ better.

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

Fill the background of the terminal display area behind the scroll-bar using the background color from the scroll-bar's palette.

This gives the illusion of the scroll bar being outside the contents area as per other KDE applications and is required for a better looking scrollbar with the Oxygen widget style.

Richard J. Moore committed changes in /trunk/KDE/kdebase/workspace/plasma/plasma:

- Prevent the dashboard view from being shown more than once every two seconds. This prevents a horrible flickering mess from occuring if you hold down ctrl-f12 and let auto repeat take control.

Ideally we would simply ignore keypresses from autorepeat but the shortcut handling does not seem to make that bit of QKeyEvent available to us.

Sebastian Kügler committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/digital-clock:

* Remove SVG theme, including config options and what not, this make it a lot smaller in memory and code wise.
* Make default size in the panel a bit smaller, assumed aspect ratio and stuff.

There's one FIXME left, I'd like to save the color of the clock to the config file, but writeConfig() apparently doesn't like a QColor. What would be the correct way to accomplish this?

Diffs: 1, 2, 3, 4, 5 Revision 740341
Allen Winter committed changes in /trunk/KDE/kdelibs:

put back support for the "DocPath" key.
thanks to Burkhard for keeping an eye on me.

so, basically we are back to where we started with all my DocPath changes.
oh well. time wasted

Kevin Ottens committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/kickoff:

Kickoff now uses the KFilePlacesModel for its system view.
I introduced a proxy model to make it fit in kickoff views, and also cleaned up some part of the code (like the device registration system).

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 740627
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:

completely change how we save and load containments and panels.
it all happens from one file now using nested groups. this has two major effects:

- one file to rule them all for any given corona; this makes things even nicer for use in other apps, btw.
- the ability to easily save, send/share and restore corona configuration layouts; something i've wanted from the start

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

KDE-PIM

Tobias Koenig committed changes in /trunk/KDE/kdepimlibs/kabc/contactgroup.xsd:

First idea of an xml-based format for storing distribution lists in Akonadi.

Office

Michel Ludwig committed changes in /tags/kile/2.0:

Tagging Kile 2.0.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 137 more) Revision 738420
Jarosław Staniek committed changes in /trunk/koffice/kexi:

sqlite2 is no longer supported by Kexi. Use Kexi 1.x to migrate to sqlite3 if you need.

Michel Ludwig committed changes in /trunk/extragear/office:

Moving Kile back to trunk/extragear/office and preparing it for the porting to KDE4.

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

Multimedia

Seb Ruiz committed changes in /trunk/extragear/multimedia/amarok/src/statusbar:

Start work on creating 2 statusbars. One below the context view for general information, and another under the playlist for playlist-centric information.

Amarok WILL NOT compile. I am making incomplete commits in order to preserve SVN history.

Diffs: 1, 2, 3, 4 Revision 740714
Seb Ruiz committed changes in /trunk/extragear/multimedia/amarok/src/statusbar:

Import statusbar message label from Dolphin, and adapt to Amarok statusbars.

Networking Tools

Urs Wolfer committed changes in /trunk/KDE/kdenetwork/kget/conf/kget.kcfg:

Turn off the splash screen by default:
* KGet starts up really fast.
* It's reported as beeing confusing when it just flickers up for a _very_ short time.
* It's not usual for a 'normal' KDE application to show a splash screen.

Discussed on #kget

Will Stephenson committed changes in /trunk/KDE/kdenetwork/kopete/protocols:

A bunch of margin fixes and context-dependent widget hiding to make account editing UI fit on a 1024x768 screen

Diffs: 1, 2, 3, 4, 5 Revision 738703
Will Stephenson committed changes in /trunk/KDE/kdenetwork/kopete/plugins/connectionstatus:

Remove connectionstatus as agreed on list

Matt Rogers committed changes in /branches/work/kopete/iup-isi-group:

Create a branch for the kopete folks working on student projects in toulouse so that they have a sandbox for their work that's not trunk.

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

Switched to Qt's model view architecture for the main torrent views

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

User Interface

Rafael Fernández López committed changes in /trunk/playground/libs/goya:

Goya added to playground

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

Utilities

Rolf Eike Beer committed changes in /branches/work/kgpg2:

Branch for working on KGpg2

This will include support for Model-View and other stuff.

Please see README file (coming soon) before actually committing anything here.