prev
Issue 86
25th November 2007
by Danny Allen
next


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)

Download Beginnings of Weather Plasmoid video (5.7 MB, AVI)

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/www
112
/trunk/koffice
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

Internationalisation (i18n) Status
Language Percentage Complete
Portuguese
100.00%
Swedish
99.93%
Greek
99.84%
Japanese
94.88%
German
89.37%
Chinese Traditional
86.15%
Spanish
85.02%
Dutch
83.87%
Estonian
82.90%
Brazilian Portuguese
82.12%

Bug Killers and Buzz
Bug Killer Number Of 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
95.3 %       Male
8.03 %       (unknown)
1.45 %       Female
Motivation
46.3 %       (unknown)
43.5 %       Volunteer
14.8 %       Commercial
 
Ages
69.8 %       (unknown)
17.8 %       25 to 34
7.44 %       18 to 24
6.32 %       35 to 44
2.75 %       45 to 54
0.595 %       Under 18


Contents
  Bug Fixes Features Optimise Security Other
Accessibility
Development Tools [*] [*] [*] [*]
Educational [*] [*] [*]
Graphics [*] [*]
KDE-Base [*] [*] [*] [*] [*]
KDE-PIM [*] [*]
Office [*] [*]
Konqueror
Multimedia [*] [*] [*]
Networking Tools [*] [*] [*] [*]
User Interface [*] [*]
Utilities [*] [*]
Games [*]
Other


Bug Fixes
Development Tools
Michael Pyne committed a change to /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. :)
Diff Revision 740765

Educational
Jasem Mutlaq committed a change to /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.
Bug 152453: kstars can connect but not control lx90 using kubuntu gutsy
Diff Revision 738998

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.
Bug 149997: KWin locks up if rubberband resize is selected
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 739136

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
Diffs: 1, 2 Revision 740044

Matthias Kretz committed a change to /trunk/KDE/kdelibs/interfaces/kmediaplayer/kfileaudiopreview/kfileaudiopreview.cpp:
fix the layout of the preview widget. Have fun watching videos in the file dialog :-)
Diff Revision 740560

Maksim Orlovich committed a change to /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)
Bug 152791: Konqueror don't load some pages with javascript.
Diff Revision 740634

Maksim 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
Bug 105087: image scaling error in konqueror
Diffs: 1, 2 Revision 740639

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.
Diffs: 1, 2 Revision 740677

Urs Wolfer committed a change to /trunk/KDE/kdelibs/kfile/kfiletreeview.cpp:
Fix for:
* #152359: 'select folder' dialog doesn't load correctly values
* #152799: 'folder selection' dialog error while clicking
Bug 152359: "select folder" dialog doesn't load correctly values
Bug 152799: "folder selection" dialog error while clicking
Diff Revision 740692

Albert Astals Cid committed a change to /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
Bug 152752: dolphin part does not correctly load it's message translations
Diff Revision 740701

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 http://techbase.kde.org/Projects/kdepim/kde4bugs.

a bit tweaked by me so it will compile.
Diffs: 1, 2 Revision 740998

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 a change to /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?
Diff Revision 740934

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
View Visual Changes (to 1 file)

Features
Development Tools
Niccolai Giancarlo 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 a change to /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.
Diff Revision 739858

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
View Visual Changes (to 1 file)

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
View Visual Changes (to 2 files)

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
View Visual Changes (to 1 file)

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.
Bug 139283: wish : IPTC Caption comment in search function
Bug 133191: quick search/filter for albums like in amarok
Bug 110136: Wish: Filter textbox in album tree like in amaroks collection lis...
Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 738271

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.
Bug 128231: A way to view pictures recursively in albums and sub-albums at th...
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision 740197

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.
Diffs: 1, 2 Revision 740390

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
Bug 152463: Add an option for enabling/disabling the menu bar
Diffs: 1, 2, 3, 4 Revision 738282

Matthias Kretz committed a change to /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
Diff Revision 738419

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 =)
Diffs: 1, 2 Revision 738454

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 a change to /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
Diff Revision 738543

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
View Visual Changes (to 1 file)

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
View Visual Changes (to 1 file)

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
Diffs: 1, 2 Revision 740199
View Visual Changes (to 1 file)

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.
Diffs: 1, 2 Revision 740748

Kévin 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.
Diffs: 1, 2 Revision 740979

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...
Diffs: 1, 2 Revision 741093

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
View Visual Changes (to 1 file)

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!
Diffs: 1, 2 Revision 741115

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..."
Diffs: 1, 2 Revision 738838

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.
Diffs: 1, 2 Revision 739137

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
View Visual Changes (to 1 file)

Networking Tools
Joris Guisson committed changes in /branches/extragear/kde3/network/ktorrent:
Removed threaded fileview update patch and switched to an approach with QTimers
Bug 152487: programme frose on desktop when open download tab
Diffs: 1, 2, 3, 4, 5, 6 Revision 738262

Cláudio da Silveira Pinheiro committed a change to /trunk/KDE/kdenetwork/kopete/libkopete/avdevice/videodevice.cpp:
Enabled image parameters changes (brightness, saturation and so on) in V4L2 devices.
Diff Revision 738550

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

Nickolai 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 (http://qipim.com/en/) for an example of well-designed icons.
Diffs: 1, 2, 3 Revision 740241

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.
Diffs: 1, 2 Revision 738174

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

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 (+ 50 more) Revision 738470

Rolf Eike Beer committed a change to /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
Bug 152135: kgpg wizard ui errors
Diff Revision 739389
View Visual Changes (to 1 file)

Optimise
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
Casper 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
Diffs: 1, 2 Revision 739632

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
View Visual Changes (to 18 files)

Andreas Pakulat committed a change to /trunk/playground/devtools/kdevelop-pg-qt:
Start a Qt based version of kdevelop-pg
Diff Revision 740708

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 a change to /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 (:=)))
Diff Revision 739453

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 =)
Diffs: 1, 2 Revision 738425

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.
Diffs: 1, 2 Revision 738430

Will Stephenson committed a change to /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.
Diff Revision 738775

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.
Diffs: 1, 2 Revision 738783

Will Stephenson committed a change to /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.
Diff Revision 738831

Luboš Luňák committed a change to /trunk/KDE/kdebase/workspace/ksmserver/shutdowndlg.cpp:
I hate the idiotic useless qt-bugs@ blackhole.
Bug 152596: ksmserver crash on logout - assert triggered
Diff Revision 739134

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 a change to /trunk/KDE/kdebase/workspace/plasma/containments/desktop/desktop.cpp:
Use SmoothTransformation for wallpaper transformation. This way scaled wallpapers look _way_ better.
Diff Revision 739372

Robert Knight committed a change to /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.
Diff Revision 740161

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.
Diffs: 1, 2 Revision 740315

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
View Visual Changes (to 1 file)

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
Diffs: 1, 2 Revision 740567

Kévin 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 a change to /trunk/KDE/kdepimlibs/kabc/contactgroup.xsd:
First idea of an xml-based format for storing distribution lists in Akonadi.
Diff Revision 740250

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.
Diffs: 1, 2 Revision 740745

Networking Tools
Urs Wolfer committed a change to /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
Diff Revision 738426

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
View Visual Changes (to 4 files)

Will Stephenson committed a change to /trunk/KDE/kdenetwork/kopete/plugins/connectionstatus:
Remove connectionstatus as agreed on list
Diff Revision 740111

Matt Rogers committed a change to /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.
Diff Revision 740637

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

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

Jaroslaw 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.
Diffs: 1, 2 Revision 738459

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

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 a change to /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.
Diff Revision 738904

Security
KDE-Base
Maksim 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

Thanks for reading the KDE Commit-Digest!
KDE Commit-Digest by Danny Allen, 2006-2008
All issues in archive by Derek Kite