Issue 72

19th August 2007 by Danny Allen

This Week...

The Summer of Code for 2007 nears its end. Implementation of more features in the Step physics simulation package. More graphical game themes in KMahjongg, KWin4 KShisen, KGoldRunner and KJumpingCube. The start of a new game, KDiplomacy. More development in the Blitz graphics library. Lyrics Plasma applet and other interface work for Amarok 2. The start of the implementation of panels, and a clipboard engine in Plasma. More features in the ODBC Data Sources KControl module. Animation support in the Raptor menu. KCacheGrind is ported to QGraphicsView. MusicXML import function in KOffice. Ability and an application for viewing statistics in KPixmapCaches. KGraphEditor imported, an application to edit "dot" graphs. A new architecture for KMobileTools. KTrace renamed to Inspektor.
Last week, Daniel M. Duley (aka. Mosfet) returned to KDE SVN development. I asked Daniel for a reintroduction and an overview of his work on the Blitz graphics library:
How I came back to developing for KDE?
I've actually been back for a while, I just haven't been making much noise because I haven't had anything to release yet. Nonetheless I've been chatting with various developers and coding my own stuff mostly with Qt 4 for quite some time.

How Blitz came about and what does it do?
Since I've been coding on my own for some time one of the things I've been doing is improving the old effects from KDE3.x. These were originally pretty buggy and sloppily coded, (at least the stuff I wrote ;-). So I dumped the old code and reimplemented most things from scratch using Qt 4. Sometimes I kept the same algorithm, often I used new ones, added a sprinkling of MMX here and there. That type of thing.

My original intention was just to use this myself until the new KDE imaging library, Quasar, became available. Then I'd port the good stuff to that. But when it became apparent that Quasar wouldn't be ready until KDE4.1 and the old KDE effects were hopelessly broken I suggested that they use the filters I have been working on in the meantime. That's how Blitz came to be. Once Quasar is available I'll try to make sure it supports all the stuff Blitz does in order to make the transition for KDE4.1 as easy as possible.

Besides being much better coded the improvements in Blitz are numerous and include:
  • MMX Smoothscaling and a high quality, filtered smoothscale
  • MMX-SSE Grayscale and invert
  • MMX-SSE Sobel edge
  • MMX-SSE Integer convolve
  • MMX-3DNow! Floating point convolve
  • MMX-3dNow! Gaussian blur
  • Inline HSV and interpolation
  • New blurs and sharpens
  • Far more efficient methods for things like despeckle, equalize, normalize, etc...
For the methods that existed before in KDE virtually every one has had multiple improvements and should perform visibly better using either the MMX or plain C++ versions. Each has also been thoroughly tested on 8bit, 32bit RGB, 32bit RGBA, and premultiplied images, (I took a vacation day just to do this >:).

Another thing people may not be aware of is just how much Qt has improved in it's graphics handling, especially using a QPainter on a QImage. If you go looking around Qt's source, (src/gui/painting/), you'll find all sorts of very clever MMX/SSE accelerated goodness. For some of the things we used to do manually using scanlines such as blending images, it now makes more sense just to use Qt. They deserve a lot of credit on this.

Anyways, currently I've been back hacking in KDE's SVN, just going through things and fixing some of the old graphics code. For example I just finished a large KIconEffect rewrite that should both perform much better and fix some bugs with the new Qt4. Small stuff, but someone needs to do it before KDE 4 gets released.

Other things I've been working on...
Some of you may remember an application from the old days of KDE called "Pixie". It was meant to be a high performance image manager for people with a ton of images, (several thousand), per folder. Well, I've been working on that and hope to get an initial version out soon.

With excellent image related applications like Digikam, Krita, KolourPaint and Gwenview around some people may wonder why I'm bringing back Pixie, but for me it's mostly a testbed for trying out new technology, user interfaces, and ideas. I occasionally chat with Aurelien Gateau of Gwenview and Boudewijn Rempt of Krita, share ideas about code, etc... so Pixie has been just a way for me to re-familiarize myself with KDE/Qt and experiment with stuff.

On the technology side the most obvious benefit to be gained so far from this is Blitz, (much of which I plan to add to Zack Rusin's Quasar). But I'm also working on different things like a high performance iconview that follows Qt's model/view architecture and other people can use:

Note these are all just early development screenshots of me experimenting with stuff :P

Pixie's high performance icon view.

I also have been playing with KParts and Pixie is now a KParts host that can load any KDE component into a tab and properly merge it's interface. Konqueror it ain't but this is good practice for me and a way to re-familiarize myself with KDE's internals after being gone for so long.

Pixie using a KParts component.

On the user interface side I'm taking a cue from the interfaces you see on newer digital satellite and cable television receivers. I've gotten rid of the statusbar and "spinning gear" progress indicator and replaced them with translucent overlays. This is just me experimenting with user interface ideas.

Using overlays to present information.
Even other KDE components use them.

On a more random note, if you don't make tooltips toplevel windows you can make them translucent without requiring composite and it will work on everyone's machine. The downside: it has to fit into the main window :(

A somewhat ugly tooltip using the mainwindow.

On an even more random note, with improvements in Qt you can now easily do crazy stuff like have a scaled wallpaper that properly shows through all the widgets on top of it. No this is not going to be how the application actually looks, but it's fun to play with!

Crazy scaled wallpaper stuff :)
I've been using this wallpaper from kde-look.org for testing because the spider is right where the widgets meet :)

Jason vanRijn Kasper provides a round up of the progress in the KPilot Summer of Code project, "Enhance KPilot Record-based Syncing":
The KPilot Summer of Code project is winding down to a close, with this Monday being the “pencil's down” date. Bertjan Broeksema has done an outstanding job and has accomplished all that we said we wanted to on our Summer of Code proposal. The problem that we faced in KPilot was that each of our conduits did a lot of things in common, but all of them had their own code for doing these things. This has made maintenance a much harder job than it should be, and has led to some conduits being less feature-complete than they should be - not to mention having too many bugs from the duplicate code.

So the idea was that each of our record-based conduits should be doing the same sorts of things as far as algorithm, process, and flow, and that we should pull as much of this common code out of the conduits (and into some base classes) as possible. This leaves our conduits to be responsible mainly for data transformation (turning a PC calendar VCal record into something that can be synchronized with a Palm database record), and should address the problems listed above.

But while we were at it (and while we were taking the time to think through and design how KPilot should work), we also put as much effort into making it as hard as possible for our conduits to destroy our user's data. It's something that needs to be carefully included in the design process, since it simply doesn't happen by accident (not destroying data during edge cases, etc.). So we made some intentional design decisions that should hopefully result in fewer "KPilot ate my future" e-mails.

We officially had 3 main goals for our Summer of Code project:

KPilot Class Diagram1. Sequence Diagrams and Class Diagrams

We used a loose interpretation of the Rational Unified Process for our project this year. We spent 5 weeks at the beginning of the project, creating the Use Case for our upcoming work, and then laying down some Class and Sequence diagrams which showed how all of the requirements and flows from our Use Case would be realized. We used BOUML for our UML diagrams (I'd have rather used Umbrello, but Bertjan had some difficulties in getting it working on his Gentoo box). All in all, though, I believe we found a good balance between spending enough time to make sure we had a well-thought-out design and having enough time to implement it all.

2. Implementation of the abstract record framework

Since our Use Case focused almost entirely on the functionality required for all of our conduits, Bertjan was able to fairly quickly write the code for the base conduit classes. We found very few design challenges and misses during the code-writing phase, which I credit largely to the thorough work we did on our Use Case and UML models. It goes against the typical Open Source Hacker mindset to spend so much time preparing to code and not actually coding (I mean, coding is the fun part, right?). But Bertjan patiently worked with me through this phase and I think we have some really good quality code as a result. Bertjan also wrote a series of unit tests to help verify his code in the base classes.

Exciting New KPilot Keyring Viewer3. Implementation of a new conduit as proof of concept.

Early on, we weren't sure which route to go - whether we should try to port one of our existing conduits to the new base classes or whether we should just create a new conduit. As it turns out, we did our SoC work in trunk/, which means we didn't have a very stable code base (we're still working on getting KPilot stable in trunk/) to start from. So we decided to create a new conduit to use as an implementation for our new base classes rather than struggle with porting code and also trying to fit it into the new base system. I've been wanting to have a way to sync with the Keyring Palm application (encrypted, multi-purpose Palm database for storing passwords, account numbers, etc.) for a long time now, so we decided to create a new conduit in trunk to test and verify the new base classes. We're just finishing up a few minor nits with it and hope to have it fully functional by EOD, Monday.

So, to summarize, thanks to this year's Google Summer of Code KPilot project, we now have a solid base conduit framework that is implemented in a new Keyring conduit. Our next steps in the KPilot team are:
  • stabilize the daemon and user-visible portions of KPilot
  • finish porting the old conduits over to the new KDE4 APIs
  • port the old/existing conduits over to our new base record framework
  • stabilize, test, wash, rinse, repeat
  • look at OpenSync framework again and (now that we have a common conduit framework in KPilot) see if we can leverage OpenSync's libraries for the underlying syncing algorithms.
Inge Wallin writes an update on the new features (including Summer of Code projects) in Marble (illustrated by screencasts by Andrew Manson):
For some reason, Marble has become a poster boy for the new generation of KDE applications. It's graphic, it's beautiful, fast, and uses Qt4 to it's full potential. It has also managed to gather a sizable development team in almost no time. An interesting thing with Marble is that it exists in two incarnations: one as a KDE application in the KDE-Edu module, and one as a Qt-only version. So to keep up with a good tradition, here are the latest developments.

Two days ago, this Friday, we released version 0.4. Among the new features from last version is a KDE version, configurable legend, improved performance, new map types, better data sets, support for downloading tiles on the fly, and more. See the release announcement above for the full details.

Personally I think that the most interesting "feature" is the improved datasets. For instance we got a new set of satelite images with a resolution of 500m/pixel. Obviously, this is not as good as Google Earth, but it's good enough to make a very impressive map. Since Marble is tile based, and all of this data would make the KDE-Edu module far too large, the tiles with the highest resolutions are stored on a server and downloaded when needed. This will make much demand on the servers when KDE 4 is finally released and millions of users start using this feature. There is an active discussion within KDE on how to solve it.

During the development of 0.4, we managed to attract help from outside KDE. This has lead to support for both MacOS X and Windows.

Even with this impressive list of new features, most of the latest developments within Marble are missing in this release. I am talking about the projects of the Summer of Code students. They are basically ready, but disabled in 0.4. Marble had 3 students, and the next week will mean integration and enabling of all the projects: Flat projection, GPS support and support for Google Earth KML files.

Andrew Manson, GPS programmer writes:
"The GPS GSoC project was to implement GPS device support and GPX file reading and writing. GPX files contain important GPS data such as:
- Trackpoints, which are generally generated by the GPS device as a form of tracing where you have been;
- Waypoints, which are user-defined points of interest, and
- Routes, which contain a series of waypoints that represent a directional path.

The GPX file view is a very simple interface to deal with open GPX files and can be enabled by running marble with the --enableFileView command line argument. GPS tracking is provided by the gpsd project and can be enabled by compiling Marble on a Linux system that has libgps (provided by installing gpsd) installed and running marble with the --enableCurrentLocation command-line argument."

Most of these features will of course be enabled by default after the project is fully integrated.

The second project, support for Flat Projection, was done by Carlos Licea.

Carlos writes:
"The flat projection project has evolved very well, although not as fast, to a point in which it's almost usable now. We have finished almost everything the spherical projection has: texture, place-marks, vectors, distance measures, you name it :).

As usual some task were relatively easy while others were hard, and yet others that 90% of the task was just wrote in one go while the remaining 10% was harder or in some way complex, so that I actually had to think throughly about it.

Just to give a small example: have you ever stopped to think about how Asia crosses the dateline so that mostly of the continent is on one side of the Earth and the rest in the other? Well, I had never before, but now I had to do some voodoo magic and tricks so that the small bit of land that is on the other side of the map gets displayed correctly (for those curious I had to separate the polygon).

So in conclusion, there are a few glitches that need to be solved before this projection it's actually usable but, hey, Marble team is really fast, so it will not take too much time before you can pick "Flat projection" instead of a Spherical Projection".

Finally, support for the standard KML (Keyhole Markup Language) format used by many applications such as Google Maps was done by Murad Tagirov of Belarus.

We were not able to reach him for a comment, but his project is also being integrated right now without too much trouble.
An interview with Carlos Licea, the student working on the "Flat (2d) Projection in Marble" Summer of Code project, can be read here.
As you might have read last week, the author of Kalzium, Carsten Niehaus, removed a couple of features which have been in KDE 3 version of Kalzium but didn't make it into KDE 4.0. The reason is that Carsten doesn't have enough time right now for Kalzium to fix all remaining issues.

This is a call for interested coders to help Carsten maintain Kalzium. If you are interested in improving Kalzium by porting remaining features or adding new one contact the Kalzium mailing list. Thanks.

Statistics

Commits 2547 by 234 developers, 6323 lines modified, 1198 new files
Open Bugs 14204
Open Wishes 12945
Bugs Opened 160 in the last 7 days
Bugs Closed 122 in the last 7 days

Commit Summary

Module Commits
/trunk/KDE
1064
 
/trunk/l10n-kde4
390
 
/trunk/koffice
208
 
/trunk/playground
186
 
/branches/work
160
 
/branches/stable
88
 
/trunk/extragear
77
 
/trunk/www
76
 
/branches/extragear
72
 
/trunk/kdesupport
67
 
Lines Developer Commits
285
 
Arto Hytönen
122
 
209
 
Pino Toscano
96
 
191
 
Laurent Montel
81
 
271
 
Clarence Dang
62
 
55
 
Thanomsub Noppaburana
49
 
260
 
Torsten Rahn
46
 
103
 
Inge Wallin
45
 
44
 
David Nolden
44
 
43
 
Kevin Patrick Scannell
43
 
80
 
Marijn Kruisselbrink
40
 

Internationalization (i18n) Status

Language Percentage Complete
Portuguese (pt)
99.56%
 
Swedish (sv)
98.34%
 
Japanese (ja)
93.79%
 
Greek (el)
91.47%
 
Chinese Traditional (zh_TW)
87.87%
 
Spanish (es)
85.89%
 
German (de)
81.18%
 
Dutch (nl)
76.21%
 
Persian (fa)
74.62%
 
Italian (it)
72.28%
 

Bug Killers and Buzz

Person Bugs Closed
Bram Schoenmakers
24
 
Rolf Eike Beer
19
 
Stefan Nikolaus
19
 
Thomas McGuire
16
 
Tommi Tervo
9
 
Bruno Virlet
7
 
Harald Sitter
7
 
Felix Seeger
5
 
Richard Lärkäng
5
 
Mark Kretschmann
5
 
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 146 selections this week

Bug Fixes

KDE Base

Pascal Létourneau committed changes in /trunk/KDE/kdelibs/kdeui:

Fix handling of shortcuts containing a ';' by adding an extra space after the ';' used to separate each QKeySequence (QKeySequence::toString() do something similar)

Daniel Teske committed changes in /trunk/KDE/kdelibs/kio/bookmarks:

Fix how the ContextMenu are shown, to make it far easier to show a custom contextMenu for your bookmarks.
(This only affects Konqueror, which is also ported with this commit.)

And make the KBookmarkOwner API to enable/disable actions future proof. Instead of using one virtual function per action, use one virtual function with an enum parameter. (Which can be binary compatible extended.)

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 699518
David Faure committed changes in /branches/KDE/3.5/kdelibs/kdeui:

Use KLineEdit instead of QLineEdit so that Ctrl+Insert works for copying out of those fields (I copy all the time from kcolorchooser, so it's frustrating when Ctrl+Insert doesn't work and I have to remember to use Ctrl+C...)

KDE-PIM

Will Stephenson committed changes in /branches/kdepim/enterprise/kdepim/kmail/messagecomposer.cpp:

When sending an encrypted message, with an empty body, and the encryption key selection or encryption prefs selection dialogs were cancelled, mNewBodyPart was deleted without ever having been initialised.

Also init some other vars ASAP. I've looked for cases of things being used uninitialised and this should be safe.

Thomas McGuire committed changes in /trunk/KDE/kdepim/kmail:

Fix the cursor position for templates.
Now %CURSOR works again, this was somehow lost in porting.
Additionally, it is now possible again to set the cursor to the first line.

Utilities

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

Fix saving of display options

The visibility of the columns (like trust and creation date) were only stored if you chose quit from the context menu of the applet, not when you used Alt-F4 or quit from the main window. The options to hide expired keys or show only secret ones were never stored at all.

Diffs: 1, 2, 3, 4 Revision 699444
Rolf Eike Beer committed changes in /trunk/KDE/kdeutils/kgpg:

Improve and fix key exporting

-allow exporting not only to default keyserver, but to any in the config list
-key may also exported as minimal key (e.g. for keysigning parties)

-exporting to local files did not work (gpg doesn't understand file://)

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

Fix wrong import key ids if key server returns complete fingerprint

While at it: use the last 16 bytes of the fingerprint to receive the key.
This should ease the problem with duplicate key ids a bit.

Games

Nicolas Roffet committed changes in /trunk/KDE/kdegames/libkdegames/highscore/kscoredialog.cpp:

Fixed a bug in the highscore dialog.
If you opened it with some tabs and then closed it and played a game of a group that was NOT one of these tabs, if you won, the the dialog and the game crashed... -> not nice.

However, I discovered other serious bugs in this dialog like:
- wrong tag displayed ( -> not the one where you have to type your name!...)
- click on "Close" before "Enter" do not save the highscore
And I'm not writing about the wanted improvements... -> A lot of work for KDE 4.1! ,o)

Features

Development Tools

Allen Winter committed changes in /trunk/quality/krazy2:

New export mode called "textedit", as requested by Mirko.
Prints 1-issue per line in the format, file:line:issue

Mirko, you can help me test krazy2 (which is in trunk/quality) or you can wait until krazy2 is finished and renamed back to "krazy".

Hope this is what you wanted.

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

Create nice dot-graph dumps of the contexts, where relationships between declarations, contexts, definitions, imported contexts, etc. are visualized

Vincent Verhoeven committed changes in /trunk/playground/bindings/krossjava:

Registering multiple scripts seems to work, try "krosstest DelayedScript DelayedScript".

There are problems with inner classes and Java threads, probably related to the classloader.

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

Compute context match qualities and return them to the completion-widget when requested. This will be used for highlighting best matches.

Diffs: 1, 2, 3, 4, 5, 6 Revision 701004
Josef Weidendorfer committed changes in /trunk/KDE/kdesdk/kcachegrind/kcachegrind:

kcachegrind: Port to QGraphicsView

The cause of the slowdown before was the scaling down of the background blending in the birds-eye view. This is fixed by using a QGradient there.

Improvements by taking advantage of the levelOfDetail in paint methods of QGraphicsItems, e.g. scale line width accordingly and leave out tiny names in the birds-eye view.

Educational

Vladimir Kuznetsov committed changes in /trunk/playground/edu/step:

Lots of work done offline:
- item groups in WorldBrowser, loading and saving
- initial version of Gas
- custom context menus for items
- html in notes
- many bugs fixed, even more introduced
- maybe something more which I've forgotten

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 25 more) Revision 700348
Carlos Licea committed changes in /trunk/KDE/kdeedu/marble/src/lib:

Finished the integration of the flat projection.
Where the function were short enough they were just wraped in a switch, where the differents in function were too big they were replaced by 2 different functions.

In order to get a flat map ViewParams' m_projection must be se to Equirectangular and MarbleModel.cpp line 99 Spherical must be changed to Equirectangular. Next steep, bind it to GUI.

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

Implemented collisions between particles and polygons

Pino Toscano committed changes in /trunk/KDE/kdeedu/marble:

Add KConfigXT settings for the KDE GUI.

It has less options than the QSettings used for the Qt GUI, as all the main window saving/restoring is handled automatically by the KDE main window classes.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 701250
Vladimir Kuznetsov committed changes in /trunk/playground/edu/step/step:

Initial units support.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 701492
James Bowlin committed changes in /branches/work/kdeedu_kstars_htm/kstars/kstars:

Labels are now never overlapping the info boxes. The problem _was_ that the coordinates were changing when the boxes weren't being drawn.

[Holy Heisenberg Batman!]

I fixed the problem with the kludge of copying the coordinates every time the boxes are drawn and then using the copies when it came time to reserve space for the boxes in the SkyLabeler. If the coordinates stop changing (when the labels don't move) then this code can be removed.

I made an array of InfoBox* which greatly simplified the drawBoxes() routine and also the new reserveBoxes() routine. The array can be used to simplify a lot of the other code in InfoBoxes but I haven't done that yet.

I also noticed that the InfoBoxes seem to get drawn more often than is needed. The get drawn about 20 times in quick succession at startup and then they get drawn twice per second thereafter. The two draws are in rapid succession and I suspect that just one would suffice.

I'm returning out of SkyMap::drawHighlightConstellation to keep my draws fast. The code that lets the user select this should be waiting for me in the trunk.

Diffs: 1, 2, 3 Revision 699382
James Bowlin committed changes in /trunk/KDE/kdeedu/kstars/kstars/skymapevents.cpp:

Added slewing to the zoom keys: plus, equals, underscore, and minus.

It was a simple change and is pretty cool. I had originally intended to have control+ those keys take larger zoom steps but this was much easier to implement. If people don't like this, I'll be glad to remove it. I did it to make debugging zoom-dependent label thresholds easier.

Pino Toscano committed changes in /trunk/KDE/kdeedu/kig/kig:

use KUndoStack to be more KDE-ish

Graphics

Adam Treat committed changes in /branches/work/kst/portto4/kst/src/libkstapp:

* Labels, refactoring, drawing code, plots are much better now.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 700131
Clarence Dang committed changes in /trunk/KDE/kdegraphics/kolourpaint:

Simulate raster operations -- e.g. selection border -- using stippling.
This should make such visual elements more visible on top of the document content. Backend:

* NOT operations do not require a color since they ignore the source pixels

* All operations need 2 color hints for stippling

* Tweak color hints so that things are clear and look good

* Assert-fail in some raster-simluating methods if transparent colors are passed (not supported yet due to unprotected call to kpColor::toQColor())

* Comments, style

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 700213
Tim Beaulen committed changes in /trunk/playground/graphics/athec/src:

The start of loading style definitions.

Diffs: 1, 2, 3 Revision 700387
Gaël de Chalendar committed changes in /trunk/extragear/graphics/kgraphviewer/src:

Added a Save As action and created a new Edit toolbar

Diffs: 1, 2, 3, 4 Revision 700790
Daniel M. Duley committed changes in /trunk/kdesupport/blitz:

Filling a developer's request by adding a cheap sharpen ported from Imblib2.

I evaluated this before and didn't like it because it's not as good as the convolve based one with it's fancy kernel and proper edge handling. But it's simple and faster. I also added it to the test app to make sure it works.

If your a developer handle it the same way as blur: use sharpen() for quick sharpening and use gaussianSharpen() for higher quality results.

Diffs: 1, 2, 3, 4, 5 Revision 699374
Albert Astals Cid committed changes in /trunk/KDE/kdegraphics/okular:

Back from holiday, let's do some committing :-)
* Update some copyright years and mail addresses
* Search does not block the GUI anymore YUHUUUUU
Well, it it does but it's almost unperceptible, that means the searching methods of Document no longer return a bool but a void and the Document::searchFinished signal is used to know if something was found, nothing was found or the user pressed the cancel button !YES! one can cancel search now :-)
* TextPage no longer holds the area and the current transformed area, it took TOO MUCH memory, now we transform the area each time, it's much more CPU intensive but i could not measure a time loss while searching big documents and i could measure HUNDREDS of MB of usage less.
* MICRO optimization: Change some code to not detach some containers
* I still don't have ADSL so this is something like a "blind" commit, Pino will check it compiles against current KDE, not against what's on my computers

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

KDE Base

John Layt committed changes in /trunk/KDE/kdelibs/kdeui/widgets:

Major code clean-up of date widgets.

1) Replace calls to global calendar with local calendar to allow display of calendar systems other than global
2) Now support full date range of calendar system, e.g. for Gregorian from 2/1/4713 BC to 31/12/9999 AD
3) Don't draw day on table if not a valid date in the calendar system, and
don't allow to be selected
4) Fix lots of direct references to QDate methods with calendar methods to ensure non-Gregorian calendars work properly
5) Removed all magic numbers of 7, replaced with daysInWeek or numRows, allows calendars with more than 7 days in week
6) Renamed lots of locals to more meaningful names to improve readability
7) Simplified several algorithms, fixed others that failed for certain dates
8) Added lots of date validity checks
9) Renamed KDateInternalYearSelector to KDatePickerPrivateYearSelector and moved from KDateTable private to KDatePicker private as that's the only place it actually gets used.
10) Moved a couple of private methods in public class into private class
11) Cleaned out crufty old commented out code, removed too-verbose debug statements

Still some outstanding corner cases with the weeks combo, e.g. in year -4713, and underlying KCalendarSystem methods still relying on occasionally invalid dates in their algorithms, but is only at extremes of date range.

Diffs: 1, 2, 3, 4, 5, 6 Revision 699386
Percy Leonhardt committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:

Added a signalplotter to plasma.

Diffs: 1, 2, 3 Revision 699576
Daniele Galdi committed changes in /branches/work/soprano2/soprano/query:

Initial memory management support

Diffs: 1, 2, 3 Revision 700051
Rafael Fernández López committed changes in /trunk/KDE/kdelibs/kutils:

Better delegate size depending on system settings (on fonts specifically). They won't seem as a toy, and more plugins will fit on the same view size :)

Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole:

Support for -e command line argument to specify a custom command to run when starting Konsole. Also added a -p command line argument which can be used to change almost any other option for that Konsole instance using the same syntax as the konsoleprofile tool. Update TODO.

Diffs: 1, 2, 3, 4 Revision 700451
Sebastian Trueg committed changes in /branches/work/soprano2:

* Made Parser a separate plugin.
* Introduced Plugin class which is the new base class for Backend and Parser.
* Moved the redland parser stuff into the new plugin raptorparser (still linking to redland though)

The new parser is not tested yet!

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 20 more) Revision 700504
Ian Ventura-Whiting committed changes in /trunk/playground/base/datasources:

This commit includes the following ODBC Data Sources KCM updates:
* Users can now add user data sources using a wizard.
* Administrators can add user, system and file data sources.
* You can delete old data sources.

The next commit will include code to both test and edit data sources. :-)

Diffs: 1, 2, 3, 4 Revision 700535
Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole/src:

Add --new-tab command line option which starts new instance in a new tab rather than creating a new window.

Peter Penz committed changes in /trunk/KDE/kdelibs/kfile/kurlnavigator.cpp:

insert the protocol- and host-widget before the (optional) drop down button -> if the available width is too small, the drop down button is beside the path as expected

Daniel M. Duley committed changes in /trunk/KDE/kdelibs/kdeui/icons:

Very much needed developer-luvin for KIconEffect :)

I kept the same algorithms and this does not require Blitz, nonetheless this class was pretty nastified so this update pretty extensive. Due to this I also wrote a companion kiconeffect test to make sure everything works.

Changes so far include:

Don't use QColor just to get rgb components of a pixel.
Don't use pixel() and setPixel() when looping through an image.
Don't use the old fp-style alphablending, use integers.
Slightly more efficent math.
Check for premultiplied images.
Use KColorScheme, not KGlobalSettings.
Use QSysInfo and not defines

Still a little more work to be done but this should be much better.

Robert Knight committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:

Add LayoutAnimator class. This provides a way to animate changes in layouts. eg. Fading in new items, fading out removed items, moving and resizing items smoothly as the layout changes. The layouts themselves need some small changes to make use of this class, and the client code must create the animator, attach it to the layout and choose the animation effects to use.

Diffs: 1, 2, 3, 4, 5 Revision 700844
Daniele Galdi committed changes in /branches/work/soprano2/soprano/query:

Finally we have a first version of Query API.

We have finished an internal query rappresentation that provide a way to convert different RDF query language into a common Soprano::Query rappresentation.
This is very powerfull because we can Convert a SPARQL query to an equivalent RDQL and vice versa.

May ways are now open...fulltext search, query optimization, custom triplestore...etc.

Memory management isn't completed but for now we have happy enough.

Diffs: 1, 2, 3, 4, 5 Revision 700852
Sebastian Trueg committed changes in /branches/work/soprano2:

An attempt for a query parser plugin API (my plans changes... :(

Diffs: 1, 2, 3, 4, 5 Revision 700887
Rafael Fernández López committed changes in /trunk/KDE/kdelibs/kutils:

Full support for RTL languages. Remove links "More Options" and "About"
and put buttons instead.

Siraj Razick committed changes in /trunk/playground/base/raptor:

Basic and simple animations and 3D flip support : This is not production code yet ;-) )

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 700935
Bernhard Loos committed changes in /trunk/KDE/kdelibs/solid:

This adds a method to Solid::Processor to query the instruction sets supported by the CPU.
The hal back end doesn't use hal but the cpuid instruction. Hal has no support for the instruction sets afaik.

Many thanks to jpwhiting and mwoehlke for many tests and review.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 700972
David Nolden committed changes in /trunk/KDE/kdelibs/kate/completion/expandingwidgetmodel.cpp:

use quint64 for the color-mixing while visualizing match-qualities, and keep alternating those colors. This makes match-quality highlighting actually work (see kdevelop)

Rivo Laks committed changes in /branches/work/soc-iconcache/kpc_stats_viz:

Add patch for getting KPixmapCache statistics as well as an app for visualizing them.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 701089
Matthias Kretz committed changes in /trunk/KDE/kdebase/runtime/phonon/xine:

use new up-/downstreamEvent functions to implement
- aboutToDeleteVideoWidget
- aspect ratio
- scale mode
- mouse events
- audio volume changes

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 701092
Matt Broadstone committed changes in /trunk/KDE/kdebase/workspace/plasma/plasma:

Initial implementation of panels

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

KDE-PIM

Volker Krause committed changes in /branches/work/kmail-favorite-folder-view/kmail:

allow to add favorites from the folder tree context menu

Diffs: 1, 2, 3, 4, 5 Revision 700004
Bertjan Broeksema committed changes in /trunk/KDE/kdepim/kpilot/conduits:

Record syncing of the keyring conduit seems to work. Needed to fix a couple of things for that:

* Make hhdataproxy generate a bit more realistic temporary id.
* After the syncing is finished first setEndCount is called (which sets the endcount of the CUD counters and when the commit is finished syncFinished is called which give the proxy the change to clean up things like resetting sync flags.
* Set the id as a QString::number( 0 ) and not just 0.
* The backup database is now updated by record conduit. No need for implementing classes to bother about that.
* Make the check in hhrecord for setting an id working properly.
* The keyringdataproxy must read the zerorecord when opened with a path to a file.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 700429
Matthias Lechner committed changes in /trunk/KDE/kdepim/kmobiletools/kmobiletools:

Ok, the foundation of kmobiletools' new architecture is finally ready.

Sorry I can't give a complete change log for this commit ;-), but the most important change is:
We can now define and implement so called "core services" which are the counter-part of an interface defined by an engine and which automagically can determine at run-time if they are supported by the current engine (for example if the engine which communicates with the mobile phone implements an address book interface, the corresponding address book service is loaded which presents the user with the address book information).

So now it's possible to extend KMobileTools dynamically at runtime which opens new possibilities in user participation (e.g. you could now easily create a plasma applet which presents phone information).

What we need to do from here is (TODO):
- remove and port old classes to the new architecture
- implement all available interfaces for the fake engine to be able to test all features (and at the same time refine the interface
definitions themselves...)
- complete at least the address book core service and create a sms core services (I don't want any feature regression)
- finally port the available engines to the new interface driven architecture

**What we need urgently is manpower. Porting the existing classes is not that hard and needs only basic Qt knowledge.**

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 48 more) Revision 700493
Marc Mutz committed changes in /trunk/KDE/kdepim/kleopatra/tests/test_keylistmodels.cpp:

Implement -flat and -hierarchical options, and honour them.

Mike Arthur committed changes in /trunk/KDE/kdepim/korganizer:

Add initial HTML editor for incidences.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 701220
Juan González Aguilera committed changes in /branches/work/soc_kdebluetooth4:

First version of the btpm. Actually it just display known remotes, indicating if they are alive through icon greying. It also let's you select whether to show only remotes alive or not.

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

Office

Sebastian Sauer committed changes in /trunk/koffice/kword/part:

Added KWStatusBar that implements additional stuff displayed in the statusbar.

So far we have;
* Modified/Saved document state
* Current Page/Total number of pages
* Mouseposition X:Y

May an idea to make this configurable and be also able to add even more infos (e.g. zoom and statistics :)

Diffs: 1, 2, 3, 4, 5 Revision 699115
Sebastian Sauer committed changes in /trunk/koffice/kword/part:

made displaying current page number work && added zoom-control back to the statusbar (that is still disabled in the hope the dockwidget-crasher will be fixed or already got :)

Marijn Kruisselbrink committed changes in /trunk/koffice/shapes/musicshape/core/MusicXmlReader.cpp:

load voices for notes as well. This will work properly for all files generated by the music shape, but it won't work correctly for all valid MusicXML files in general. To make that work the whole loading needs to become quite a bit more complex.

Pierre Ducroquet committed changes in /trunk/koffice/libs/kotext:

Add support for saving paragraph styles...

Currently, only alignment is saved, other properties must be added in KoParagraphStyle::saveOdf.

BTW, small cleanups in the style saving code...

Diffs: 1, 2, 3, 4 Revision 700520
Marijn Kruisselbrink committed changes in /trunk/koffice/shapes/musicshape:

change the way the part details dialog works; it is still not possible to change the number of staves of a part, but I think the bahavior improved a bit

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 700828
Jan Hambrecht committed changes in /trunk/koffice:

Added support for displaying shape config widgets in the path tool options widget.
Added a pathShapeId() function to KoPathShape to return a specific path shape id.

As a start, I added a star shape config widget for editing the star properties.

If a single path shape is selected and the path tool is active an (existing) config widget for that shape is then shown in the tool options docker.

Next thing to do is to apply the config changes to the selected shape. And then to create some more config widgets for the other parameter shapes.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision 700977
Marijn Kruisselbrink committed changes in /trunk/koffice/shapes/musicshape:

start implementing a musicXML import function; this still needs a lot of sanity checks, but the basics are there

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 701186
Jan Hambrecht committed changes in /trunk/koffice/shapes/pathshapes:

implemented a config widget for the rectangle shape which is automagically shown in the path editing tool

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 701521
Pierre Ducroquet committed changes in /trunk/koffice:

Add a first 'proof of concept' to save pictures. The PictureShape part is working, the KWord part is not perfect yet (problems with anchors and positionning)

Multimedia

Leo Franchi committed changes in /trunk/extragear/multimedia/amarok/src/context:

new lyrics applet, with svg (courtesy of beast). no lyrics are actually displayed yet, but this is a qdbus issue i'm working on.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 699153
Christoph Pfister committed changes in /branches/work/kaffeine4/kaffeine/src/dvb:

add support for removal of devices (through solid signals)

Diffs: 1, 2, 3 Revision 699293
Leo Franchi committed changes in /trunk/extragear/multimedia/amarok/src:

yay, lyrics applet works :)
note: the layout code isn't there yet. it'll take some major refactoring as now the *applet* needs to define its minimum height, and the layout needs to take care of that, instead of vice versa.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 699433
Martin Aumüller committed changes in /trunk/extragear/multimedia/amarok/src/strigi:

pretty ugly mp4/mov stream analyzer

Diffs: 1, 2, 3, 4 Revision 699730
Mark Kretschmann committed changes in /trunk/extragear/multimedia/amarok/src/MainWindow.cpp:

Make the toolbar gradient less gross. Lighter alpha value.

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

First (very small) baby step towards a new Service info plasma applet to replace the small window in the bottom of the services: Add a simple observer base class

Jeff Mitchell committed changes in /trunk/extragear/multimedia/amarok/src/portabledevices/kioslaves/mtp_backend:

Add get functionality to MTP (not tested) and some cleanup

Leo Franchi committed changes in /trunk/extragear/multimedia/amarok/src/context/applets/lyrics:

umpteenth attempt at making the lyrics applet sane. split the theme into two separate SVGs, no more funky calculations in the applet code. mostly works, lyrics are a little bit lower than flush with the header box when the lyrics are very long, but thats minor.

Diffs: 1, 2, 3, 4, 5 Revision 700612
Bart Cerneels committed changes in /trunk/extragear/multimedia/amarok/src/playlistmanager:

A framework for managing Meta:Playlists that can be provide from other application parts.

Richard Lärkäng committed changes in /trunk/extragear/multimedia/kaudiocreator:

Add macro for "Artist initial"

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

Work towards a generic plasma engine for providing context data relevant to the service that is currently being browsed. WIP. Still need to create an applet and define exactely what data should be provided

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 700913
Jeff Mitchell committed changes in /trunk/extragear/multimedia/amarok/src/portabledevices/kioslaves:

Deleting works, kinda, although Dolphin crashes (seems internal KIO crash). Getting might work too, but haven't tested it yet.

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

Networking Tools

Cláudio da Silveira Pinheiro committed changes in /branches/work/kopete/comunip/libkopete/avdevice/videodevice.cpp:

UVC colors are handled fine now.YUV-colorspace code cleaned-up and fixed, now working for every colorspace Kopete may ask to a videocard/webcam.

Urs Wolfer committed changes in /trunk/KDE/kdenetwork/krdc:

Implement new send-special-keys-to-remote-desktop action.

This way the user can send for example already used shortcuts to the remote desktop without execute them on the local machine.

This action is now also available in the remote view toolbar (fullscreen toolbar).

Urs Wolfer committed changes in /trunk/KDE/kdenetwork/krdc/rdp:

Add option to use current screen resolution for RDP connection. This is usefull for fullscreen mode.

Jernej Kos committed changes in /trunk/extragear/network/kftpgrabber/src:

Reimplemented the tree view to use the new directory model. Adapted the model to support a single directory lister used by both models (for detailed and tree views).

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision 700427
Dario Massarin committed changes in /trunk/KDE/kdenetwork/kget:

Make the downloads start immediatly after adding it through the dbus interface. Note that in order to do that, the interface has been changed. The newly added downloads, once added, are started without starting the whole queue.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 700552
Javier Goday committed changes in /trunk/KDE/kdenetwork/kget:

Usage improvements in the konqueror LinkList extension, described here: <a href="http://okular.holehan.org/KGet/LinksList#toc4/">http://okular.holehan.org/KGet/LinksList#toc4/</a>;

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

User Interface

David Jonathon Miller committed changes in /trunk/KDE/kdebase/runtime/pics/oxygen/index.theme:

pretty much rewritten

* all directories are now listed
* changed scalable sizes from MinSize=1 MaxSize=256 to MinSize=32 MaxSize=256
* scalable/small/?? min/max sizes are set to the dir size the svgz's are drawn for
* removed references to the filesystems directory.
reasons: not in spec, no icons in ours anyway

Nuno Fernades Pinheiro committed changes in /trunk/KDE/kdebase/runtime/pics/oxygen:

new scribus icons

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 700505
David Jonathon Miller committed changes in /trunk/KDE/kdebase/runtime/pics/oxygen:

emblems redrawn, now look a lot like a plasma applet

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 700826
David Jonathon Miller committed changes in /trunk/KDE/kdebase/runtime/pics/oxygen:

small versions of new emblems

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

new icons -- emotes :) -- only 22x22 and 16x16 at the moment. bigger sizes to follow

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

Utilities

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

Honor trust level even when signing in terminal

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

Implement "double click on signature jumps to key"

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

Implement setting the primary user id of a secret key.

While at it improve deleting a user id: preselect the selected user id in gpg command window.

Nicolas Ternisien committed changes in /trunk/playground/sysadmin/ksystemlog/src:

Using a new log system (with colors, prototype functions, file line,...), but still based on kDebug() and friends

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 40 more) Revision 699662
Rolf Eike Beer committed changes in /trunk/KDE/kdeutils/kgpg:

Improve popup menus

-"Generate key pair" should not show up in any popup menu
-importing of several missing signatures at once works now

Games

Luciano Montanaro committed changes in /trunk/KDE/kdegames/kgoldrunner/themes:

A retro theme for KGoldrunner.

Diffs: 1, 2, 3, 4, 5 Revision 699070
Eugene Trounev committed changes in /trunk/KDE/kdegames/kjumpingcube/pics:

Added test background for kjumpingcube. Improvements to follow.
Ian, I have added 6 new elements to the theme: face1, face2..., face6 they are to make it possible to create nmbered theme later.

Mauricio Piacentini committed changes in /trunk/KDE/kdegames/libkmahjongg/tilesets:

Add the beautiful Traditional tileset by Shamus.

Diffs: 1, 2, 3, 4 Revision 699629
Mauricio Piacentini committed changes in /trunk/KDE/kdegames/libkmahjongg/tilesets:

Adding Alphabet tileset by Raquel Ravanini, to be used by KShisen and KMahjongg.

Diffs: 1, 2, 3, 4 Revision 699633
Mauricio Piacentini committed changes in /trunk/KDE/kdegames/libkmahjongg/backgrounds:

Add Light Wood background by Raquel Ravanini, a good bg to use with Alphabet tileset.

Diffs: 1, 2, 3, 4 Revision 699634
Luciano Montanaro committed changes in /trunk/KDE/kdegames/kgoldrunner/themes:

Added a variation on the Nostalgia theme, with blue, shadowed bricks.

Diffs: 1, 2, 3 Revision 699894
Ian Wadham committed changes in /trunk/KDE/kdegames/kgoldrunner/src:

Implement new level-selection dialog box, simplified menu and last game and level saved in config, the default (for first-time players) being Tutorial level 1.

Diffs: 1, 2, 3, 4, 5 Revision 700986
Nicolas Roffet committed changes in /trunk/KDE/kdegames/kblackbox:

Huge changes.
I was a long time offline and could not commit them separately. I try to summarize:
- I moved the elements of the left (score and balls) in the view itself. So the game looks better and is better integrated. It's also more like the other KDE games of KDE 4. The great think is that it's now possible to drag and drop the balls directly. :o)
- I added some "What's this?" texts.
- I changed the way the score is calculated. It's more like "arcade" now as the elapsed time counts.
- I added highscore support with the class of libkdegames.
- I fixed some bugs and EBN points.
- Some small usability improvements also.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 17 more) Revision 700987
Eugene Trounev committed changes in /trunk/KDE/kdegames/kwin4/grafix:

My take on 'pretty' theme for kwin4. Lots of changes this time. Please try it out and comment.

Optimization

Educational

James Bowlin committed changes in /trunk/KDE/kdeedu/kstars/kstars:

Experimental: Am now drawing a filled rectangle the color of the sky background behind transient star labels. I'm not doing it for non-stars ATM so you can compare and contrast the two different ways. If the object is surrounded by empty space, there is no visual difference. I noticed the biggest difference when the object was in the Milky Way because then you see the rectangle clearly.

It would be easy and fast to first check to see if the transient label would overlap an existing label and then only draw the background rectangle in the case of an overlap. PLMK if you would like to see this. It would be very easy to implement. IMO it is best to always draw the rectangle and thus ensure the transient label is always legible.

Also cleaned up SkyMap::drawTransientLabel() a little bit.

BTW: I don't know why the asteroid transient labels don't exactly overlap the normal labels.

James Bowlin committed changes in /trunk/KDE/kdeedu/kstars/kstars:

Changed the mesh level from 5 to 4. This seemed to speed things up when the screen was zoomed out. You are encouraged to try different mesh levels yourself. You can change it in skymapcomposite.cpp on line 55. I don't recommend using levels greater than 6.

FYI:

level # of trixels
----- ------------
2 128
3 512
4 2,048
5 8,192
6 32,768

Added 4 new data files that contain pre-computed indices for the constellations. This greatly speeds up the constellation boundary initialization. If the index file does not exist, we fall back to computing the indices. There is a separate index file for mesh levels 3 through 6. There is also a mechanism for creating the data files in ConstellationBoundaryLines::init() by setting verbose to -1. This will cause the indices to be computed and printed on stdout.

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

KDE Base

Sebastian Trueg committed changes in /branches/work/soprano2:

Added class BindingSet which holds a copy of one row of query result bindings for caching purposes.

Internally it is nothing more than a QHash but it is quite useful when you want to iterate over a query result and use each row to do something to the model (again the problem that iterators are invalidated by model actions)

Now that I could finally test my optimized inferencing algo I found the last (hopefully) bugs and it works. It got a bit more complicated but I think i did a good job in designing the code and I think I never before documented code this well (which still does not mean that everyone can understand it from the start ;)

The tests were very encouraging. I got a major speed improvement by my optimizations.

Maybe I will write my algo down in a little paper these days, just for fun (and to make Nepomuk reimplement it in java ;)

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

Smoother animations for the pixmap viewer if the pixmap is changed constantly during small time slots (thanks to Rafael Fernández López for the original patch!).

Diffs: 1, 2, 3 Revision 700580
Enrico Ros committed changes in /trunk/KDE/kdebase/workspace:

Faster background drawing. Speeds up a lot zooming operations and general compositing.

Diffs: 1, 2, 3 Revision 701053
Rivo Laks committed changes in /trunk/KDE/kdelibs/kdeui/icons/kpixmapcache.cpp:

Use a background thread for automatic cache size limiting so that it won't block ui.

Office

Stefan Nikolaus committed changes in /trunk/koffice/kspread/Cell.cpp:

Commands
Autofill, Copy & Paste, Cut & Paste
Rewrite Cell::encodeFormula to use the formula tokens. This ensures, that the LOG2() function will not be identified as cell reference and the processing should be faster and more reliable than the old algo.

Stefan Nikolaus committed changes in /trunk/koffice/kspread/Sheet.cpp:

OpenDocument Loading.
Speed up for loading of repeated rows. Comments, conditions, styles and validities are stored in RectStorages and repeated rows often have only styles set, but no contents. Take advantage of this fact. For cells with contents it stays slow, because the iteration can't be avoided.

Other

Development Tools

Adriaan de Groot committed changes in /trunk/kdesupport/taglib/taglib:

Somewhat hackish; might be better off as a downstream patch.

Sun Studio fails on taglib because Map specializes in too many ways;
adding the class keyword reduces the specializations to one and it's ok, but not all specializations of Map actually use T as a template class parameter. So introduce a #define to switch that around.

Original patch from Stefan Teleman, pared down by me.

Diffs: 1, 2, 3 Revision 700759

Educational

Inge Wallin committed changes in /trunk/KDE/kdeedu/marble:

Rename KAtlasFlag into DeferredFlag

This concludes the name changes from KAtlasFoo, and thus erases the last traces of this historic name. Death to KAtlas! Long live Marble!

I for one greet our new Geo overlord!

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 701334
Jasem Mutlaq committed changes in /trunk/KDE/kdeedu/kstars/kstars:

Removing 'setup telescope' page from startup wizard, since the telescope wizard is meant to aid the user to connect immediately to the telescope and doesn't save any settings, so it doesn't make sense to include it in the startup wizard. Also removing ccd preview since no drivers are using this.

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

First revision of the manual to reflect recent changes in KStars. Mostly in INDI for now, but a complete revision is planned.

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

INDI Apogee Alta driver has been converted to INDI Library environment standards. Hopefully, we'll have some testing soon to make sure it works fine with the actual CCD.

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

Graphics

Clarence Dang committed changes in /trunk/KDE/kdegraphics/kolourpaint/imagelib/effects/kpEffectFlatten.cpp:

No more KImageEffect in KolourPaint at all: Port Flatten Effect from KImageEffect to Blitz.

Clarence Dang committed changes in /trunk/KDE/kdegraphics/kolourpaint/imagelib/effects/kpEffectEmboss.cpp:

* Port "Emboss" effect from crashing-and-will-be-killed KImageEffect to Blitz

* Remove unneeded #include

Allen Winter committed changes in /trunk/KDE/kdegraphics/kolourpaint/CMakeLists.txt:

kolourpaint requires Blitz now.
You'll need to update kdelibs before re-building kdegraphics.

Gaël de Chalendar committed changes in /trunk/extragear/graphics/kgraphviewer:

new program in kgraphviewer: kgrapheditor, allowing to edit dot graphs

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

KDE Base

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

Use always float as the floating point type for compositing
<a href="http://lists.kde.org/?l=kwin&m=118493073424327&w=2">" target="_blank">http://lists.kde.org/?l=kwin&m=118493073424327&w=2">;(http://lists.kde.org/?l=kwin&m=118493073424327&w=2)</a>.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 18 more) Revision 700026
Rafael Fernández López committed changes in /trunk/KDE/kdebase/apps/kfind:

Porting issues. This code needs a general review

Diffs: 1, 2, 3, 4 Revision 700093
Allen Winter committed changes in /trunk/KDE/kdelibs/kfile/kfilewidget.cpp:

Apparently KMimeType() can return 0.
So handle that situation.

(yay! now I get a working Save As dialog from ksnapshot)

Sebastian Trueg committed changes in /branches/work/soprano2/soprano/query/query.h:

Some throughts added.
The comments are not meant as criticism but mostly questions for my understanding.

Rivo Laks committed changes in /trunk/KDE/kdelibs/kdeui/icons/kiconcache.cpp:

Periodically check for icontheme updates and discard the cache on theme updates. This should make the icon cache fd.o icontheme-spec compliant and thus it can probably be considered to be Done now :-)

Sure, some smaller things still remain todo, but that should be just performance improvements and bugfixing.

Arto Hytönen committed changes in /trunk/KDE/kdelibs/khtml:

backed down on most of the explicit ctors as khtml and DOM code is kinda shaky with them... :-)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 701586
Thiago Macieira committed changes in /trunk/KDE/kdelibs/kdecore/io/kdebug.cpp:

Turn extended debug info on by default. Let's see if people like it.

Fredrik Höglund committed changes in /trunk/playground/base/plasma/engines:

Start work on a clipboard engine for plasma.

Diffs: 1, 2, 3, 4, 5, 6 Revision 699352
Daniel Teske committed changes in /trunk/KDE/kdebase/workspace/kicker/menuext/konsole:

Remove the importing of old bookmarks. As old is before kde 3.0.
(I think somewhere around kde 2.2.) And that is using a depreceated class KNSBookmarkImporter. (Dead code, I presume, but still.)

Matthew Woehlke committed changes in /trunk/KDE/kdebase/runtime/kioslave/thumbnail:

Remove KPixmapSplitter dependency (trying/planning to kill off the class)

Ivan Čukić committed changes in /trunk/playground/base/plasma/applets/lancelot/app:

Lancelot application base import

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

Icons are a runtime dependency -> moved to kdebase/runtime as discussed

David Faure committed changes in /trunk/KDE/kdelibs/khtml/khtml_part.cpp:

Don't tell people "Something is very wrong in KHTMLPart!" when they simply forgot to run dbus

Mickael Marchand committed changes in /branches/work/kconfig_sql:

creating branch to commit my patches :
API change in kconfig really basic SQL backend

this is work-in-progress

Mickael Marchand committed changes in /branches/work/kconfig_sql:

so we have a (as suggested by ossi in June) KConfigFileBackend in order to make KConfigBackend less "file" dependent.
KConfigINI now inherits KConfigFileBackend

I have also changed some functions names to match a more generic concept of namespaces instead of pure "files" (this still is not really great since KConfig is used to open files by full path name apparently -think of icon theme configuration file for example-)

KConfig also has a setFilePermission function that needs to be removed (was does FilePermissions means for a DB ?) (not used anywhere in KDE)

probably lots of other stuff I forgot, but you'll find your way in the code ;)

and, the SQL backend, just a basic sqlite one for now (not even checking for locks/nb of connexions/... etc)

till now, I was able to get kconfigtest to success all tests with the DB backend, and was able to run kwrite, modifying options etc

there are stills major things to fix :)
feel free to comment and help

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

Office

Inge Wallin committed changes in /trunk/koffice/filters/karbon/oodraw/oodrawimport.cc:

Some QString::null -> QString() conversions while waiting for a compile at work. 200 Krazy issues in 5 minutes... not bad :-)

Marijn Kruisselbrink committed changes in /trunk/koffice/shapes/musicshape/MusicShape.cpp:

initially start with a one-part, one-staff, one-bar piece of music, instead of the random notes I had earlier

Multimedia

Matthias Kretz committed changes in /trunk/KDE:

move phonon-xine backend to kdebase/runtime

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

A new take on the top bar. Much cleaer and more spacious, the order of items is still debatable, but easy enough to fiddle with.

Diffs: 1, 2, 3 Revision 701040

Networking Tools

Dario Massarin committed changes in /trunk/KDE/kdenetwork/kget:

* Renamed menu item "Open" to "Import Transfers"
* The default group leads to confusion. Renamed to "My Downloads".
What do you think about this?
* The items in the view have been all centered, apart from the filename.
* New start & stop buttons for each group. Hope you like. Comments are wellcome.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 699974
Charles Connell committed changes in /trunk/KDE/kdenetwork/kopete/plugins/cryptography:

Cleanup
GUI:Less intrusive behavior of unsupported protocol warning

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 701014
Matt Rogers committed changes in /branches/work/soc-kopete-messenger/protocols/messenger:

Compile MessengerProtocol

I give up though. There's too much here that doesn't compile.

Diffs: 1, 2, 3, 4, 5 Revision 701029
Urs Wolfer committed changes in /trunk/KDE/kdenetwork/doc/krdc:

update the KRDC documentation. Part of my SoC project.

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

Utilities

Isaac Clerencia committed changes in /trunk/playground/sysadmin:

Rename ktrace to inspektor

Diffs: 1, 2, 3, 4, 5, 6 Revision 700496
Henrique Pinto committed changes in /trunk/KDE/kdeutils/kregexpeditor:

* Fix spelling errors reported by Krazy
I'm not really sure this is worth the effort since kregexpeditor seems basically unmaintained, but...

Diffs: 1, 2, 3 Revision 699106

Games

Patrick Spendrin committed changes in /trunk/playground/games/KDiplomacy:

Starting new project KDiplomacy more informations on irc.freenode.net #kde-diplomacy

Nicolas Roffet committed changes in /trunk/KDE/kdegames/doc/kblackbox:

Updated the manual of KBlackBox. This was needed because of the huge changes since the version 0.3.

if you have time and feel like reviewing the text before the string freeze, it would be realy nice (for the sake of the english version). If you cannot, I hope someone else will do this. Thanks.

Nicolas Roffet committed changes in /trunk/KDE/kdegames/libkdegames/kstandardgameaction.cpp:

Add "..." to the text of the action "Show High Scores" as this action opens a dialog. This is a KDE (and Windows...) standard.

Other

Adriaan de Groot committed changes in /branches/KDE/3.5/kde-common/admin/detect-autoconf.pl:

With layers and layers of dealing-with-auto* magic in various systems, we find conflicts between various people trying to be smart.

The FreeBSD ports system now installs auto*-wrapper to act kind of like detect-autoconf.pl already -- but detect-autoconf.pl finds -wrapper and thinks that it's the latest version of the autotool in question. Short-circuit that by skipping the -wrapper tools.

Patch figured out by [ade], Ade & lofi.