prev
Issue 112
25th May 2008
by Danny Allen
next


This Week...
Marble gets "temperature" and "precipitation" maps, and a "stars" plugin. More work on "fuzzy searches" in Digikam. Konqueror gets support for crash session recovery and session management. Runners can now be managed using a KPluginSelector-based dialog, and attention-blinking support in Plasma. Various Plasma applets move around KDE SVN before the KDE 4.1 feature freeze takes effect, with WebKit applet support moving into kdebase. SVG stuff from WebKit starts to be integrated into KHTML. More optimisations in KHTML, with KJS/Frostbyte, a version using bytecode and other enhancements, moving back into kdelibs. Start of an implemention of the JavaScript scripting API for PDF documents in Okular, based on KJS. Continued work on KJots integration into Kontact, and creating/editing links between entries in KJots. More work on theming in Amarok 2. Various improvements in kvpnc. More configuration user interfaces in KNetworkManager. Enhancements in the KTorrent bandwidth scheduler plugin. Support for CUPS printing options in KDE printing dialogs. Mailody moves to kdereview. The "OnlineSync" plugin is merged into Akregator. Initial commit of a new MSWord-to-ODF filter for KWord, and a caligraphy tool for Karbon. KDevMon is ported to KDE 4. Development of the Shaman2 package manager is moved into KDE SVN (playground/sysadmin). The PHP-Qt bindings move from playground/bindings to the kdebindings module. KDE 4.1 Beta 1 is tagged for release.

Bart Coppens writes about the next-generation tile system recently introduced to Krita:
First, some background. For about as long as there has been a "modern" Krita, it has always had a "tiled backend". This means that the raw image data of its paint devices (layers, etc) was chunked into squares of 64x64 pixels. That meant that instead of always needing to have all image data in memory, we have had the ability to only keep the most recently used pieces of image in the memory, while swapping older data into swapfiles.

For example, if we are drawing in a big picture, we typically change only a small piece of the image at a time. Most parts aren't changed at all, and can be swapped to disk without much of a cost.

Another example is undo data. If you start painting, we need to store information about past image states. Usually this information will not be needed anymore by the user, but we have to store it for the unexpected case where it *will* be needed. This information can just as well be stored in disk, instead of sitting in the memory.

Reducing the memory footprint is extremely important, especially on machines with less RAM: if we would not manually swap out our data, other applications of the user might be swapped out, which is usually undesirable.

Now, our specific implementation of paint devices led to some interesting advantages over other applications like The GIMP. Unfortunately for us (and luckily for The GIMP), our tile backend was good enough to get along with, so we didn't innovate as much anymore. However, with GEGL picking up a lot of steam lately, this means that we are starting to miss out on some very cool features that the GIMP will have (or even has already). To ensure that Krita is also able to do those things, I've been slowly reworking our old backend code into a more flexible design (as far as the other API allows for that, of course).

One of the major issues I have worked on up to an initial stage is trying to make the tiles backend somewhat more robust in a multi-threaded environment. Our old code was pretty ugly in that regard. The code regarding tile management was safeguarded by a single big lock (called the "Big Krita Lock" ;-)). After the rewrite, I'm hoping that more parts will be more usable in a multi-threaded context. Some work still remains to be done, but I'm hopeful that with the new code, it should be a lot easier to implement the required changes than with the Krita 1.6 framework (famous last words!).

Another new feature that is already implemented is the introduction of shared tiles. This means that multiple paint devices can have a single source of tiles in memory (a sort of implicit copying of tiles). We already had a rudimentary approach for a single kind of tile: the "default" tile. That meant that if a paint device was read at a place where the corresponding tile wasn't yet created, it used a single tile as a "source" for all those empty spots.

Unfortunately that approach wasn't scalable enough to be used throughout Krita. The rewritten code takes care of that, and we should be able to have several whole paint devices share the exact same tile data.

The feature I've been playing with most recently, is the ability to load the content of paint devices directly from image files. The old (and current) way of loading an image file is to read in the image, and copy all data into a paint device (or multiple devices in case of multiple layers). This unfortunately means that you have the same data available twice: all data for the layer is already present in source image, and then we load it into Krita (and then swap it out again) anyway.

Giving paint devices the ability to get their data directly from a file thus means that we cut out this middle step. In the long run, this should give an improvement in memory/swap usage of *big* image files. Of course, this implies a penalty because you have to decode part of the image each time you want to access some tile data. We'll just have to find out at which point it will be in our favor to use this approach.

Currently this functionality is merely implemented at the backend level, so Krita just has some nice code that abstracts most ugly things away from the file format people. I've ensured myself that the backend works (at least decently) by writing a unit test that fakes loading an image from a file directly. I'm guessing that in time, other Krita developers who have greater affinity with the image loading code will try to implement the code needed to load specific image formats.

The most interesting surprise while developing all this, is that my new code unintentionally detects some new Krita memory leaks :-). At Krita shutdown, the new code has much more stringent consistency checks, including one that complains if it thinks it's leaking tile data (which it did!). Much to my surprise, if I enabled the check, it got triggered by some different places in Krita that appeared to leak memory at exit.

As for the future, I'm hoping to iron out all the bugs, of course ;-). Obviously, I'd like to see more features, and one of them that I've been wanting to implement for more than a year is a MipMap for the paint devices at the tile-level. It's something that GEGL and The GIMP already have, and I think that Krita would also benefit from it. Basically, the idea is that you efficiently pre-"render" some scaled-down versions of your image, so that you become a lot faster when zooming out.

Another thing that would be very cool is sharing of a single paint device across applications. This would be quite interesting for collaborative painting applications. GEGL already has some support for this (this was demonstrated at Libre Graphics Meeting 2008 very recently), and I'm hoping that Krita will join the club. My work towards loading tiles directly from "disk" should be generic enough to also easily allow files to be loaded from the network and so on. I'm guessing that the hardest part there would be handling the synchronization issues, etc (but without trying an implementation, I don't know for sure).

There are of course lots of other things on the todo-list, but they are more small implementational details (like using QAtomicInt now that it is available for real through Qt 4.4). That's it for now!

Note: People wanting to try out this code will have to manually enable it at compile time. Just change the USE_OLD_TILESYSTEM value in krita/image/CMakteLists.txt. Be aware that most changes are not visual, and that there remain some known issues with the code!

Percy Camilo Triveño Aucahuasi talks about taking over maintainership of KColorEdit:
I'm the current maintainer of KColorEdit. Artur Rataj was the former maintainer but he asked me to work on this project. The following things are finished:
  • Ported the old version to KDE 4
  • Now it uses the Model/View design to list colors
  • Added new features, like moving items
  • Improved the load dialog
  • Fixed all the bugs from the previous version
All of these things were discussed in my communication with Artur, and so he has been my guide up until now. I always sent Artur screenshots and reports of the current status of KColorEdit, and he gave me his opinion about the progress of development.

My goal is to create a fun and useful application to edit and create color palettes.

The problems that this application solve are basically the creation and editing of color palettes. While there are many tools that can do this, they are often non-Free software. There is Agave from GNOME which tries to assist in the same tasks. Many image editors like Krita, GIMP, and Kolourpaint have embedded widgets/dialogs to manage the color palette, but with KColorEdit this task is performed in a better way, and all of these image editors can import the files that KColorEdit creates.

With the current state of KColorEdit, you can perform all the things of the previous version and more, like adding comments to your palette, moving the items, adding a name to your palette, view a description of your palette, manage 2 views of your palette, and so on.

In the near future, I want to ensure KColorEdit has the same features of many tools that perform the creation of palettes. Also, I will continue to report the status to Artur.

In a technical way, here are the things that KColorEdit should do in the future:
  • Select a color from an image, the desktop, and from a gradient
  • Show the colors with many schemes, like complementary colors (the complement of the current color)
  • Add many colors to the palette in a "line", meaning that if I define a line in some colorspace then the application automatically adds all the colors that follow this line (with a delta).
    I'm not sure if you are familiar this feature, but let me say that it could be very useful.
  • Generate a "presentation" of the palette, you can define how to view the palette (aside from default views)
  • And finally, add the undo/redo feature with the Memento pattern, but I think that KDE 4 has its own implementation of this pattern.
I have been working in this application for about five months, so of course I have more technical comments:
  • This application would be more easy to maintain (and also I think other apps) if we had a common API to represent color selection, for instance the color selector of KColorDialog is an embedded widget, it would help more if this "selector widget" was someting like a KColorSelector class in the API, the same with the color selector of Krita (i'm talking about the triangle color selector that looks similar to the GTK color selector), this would be for instance named KGtkColorSelector.
    In short we should define a common interface for color selectors. I had to cut code of KColorDialog and KOffice to use those implementations (of course I respect the credits).
  • There isn't a "KColor" class that wraps QColor, but there are so much actions that this class could do, like get the luminance of the color, or convert between colorspaces, etc. I think that there is a class named "KColor", but it is in the playground module, and so I can't used.
  • KColorCollection doesn't have support for comments, only for one description.
  • It would be great if all palette stuff had a model/view design, KColorCells (possible view) and KColorCollection (possible model) do not follow this concept.
From my experience, I don't see the point of the application KColorChooser, as KColorEdit can replace the duplicated functionality between the two. I have already sent an email to the kde-core-devel list about this topic, but have unfortunately received no feedback yet from my proposal.


Lots of people killing lots of bugs this week, which is nice to see (with summer approaching!).


Statistics
Commits: 3284 by 247 developers, 8218 lines modified, 1593 new files.
Open Bugs: 16543
Open Wishes: 14177
Bugs Opened: 481 in the last 7 days.
Bugs Closed: 422 in the last 7 days.

Commit Summary
Module Commits
/trunk/KDE
1144
/trunk/l10n-kde4
599
/trunk/playground
266
/trunk/extragear
260
/branches/extragear
170
/trunk/koffice
136
/branches/work
127
/trunk/kdesupport
96
/branches/kdepim
96
/branches/stable
95
Lines Developer Commits
321
Gilles Caulier
143
258
Aaron J. Seigo
116
211
Marc Mutz
104
196
Laurent Montel
92
193
Anne-Marie Mahfouf
87
195
Allen Winter
74
140
Lukas Appelhans
66
166
Pino Toscano
63
58
Chusslove Illich
56
175
Jaroslaw Staniek
50

Internationalisation (i18n) Status
Language Percentage Complete
Ukrainian
99%
Portuguese
99%
Swedish
98%
Greek
97%
Japanese
90%
German
87%
Spanish
85%
Estonian
85%
Polish
84%
Galician
83%

Bug Killers and Buzz
Bug Killer Number Of Bugs Closed
Pino Toscano
60
Aaron J. Seigo
57
Christophe Giboudeaux
37
Leonardo Finetti
28
Will Stephenson
25
Michael Leupold
23
Peter Penz
22
Luboš Luňák
18
Dennis Nienhüser
13
Matthew Woehlke
13

Program Buzz
Amarok
  9815
K3B
  4875
KMail
  4840
Kopete
  3320
KDevelop
  2595
Plasma
  2489
Kaffeine
  2037
Kate
  2001
Solid
  1873
Kontact
  1790


Person Buzz
David Faure
  2110
Stephan Kulow
  1749
Aaron Seigo
  1390
Torsten Rahn
  1367
Jonathan Riddell
  1132
Laurent Montel
  1030
Stephan Binner
  782
Thiago Macieira
  668
Zack Rusin
  638
Adriaan de Groot
  631
Commit Countries

Commit Demographics
Sex
94.7 %       Male
7.25 %       (unknown)
1.72 %       Female
Motivation
50.5 %       Volunteer
37.0 %       (unknown)
12.7 %       Commercial
 
Ages
60.7 %       (unknown)
23.8 %       25 to 34
7.90 %       18 to 24
7.37 %       35 to 44
3.35 %       45 to 54
0.491 %       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 [*] [*] [*]

There are 216 selections this week.

Bug Fixes
Educational
Jason Harris committed changes in /trunk/KDE/kdeedu/kstars/kstars:
Reorganizing initFocus():

+ Fix bug #162059: when leaving the program in Horizontal coordinates and not tracking on the sky, the initial position on next startup should be the same Alt/Az coordinates. Fixed.

+ When leaving the program tracking on a star named "star", the initial position on the next startup should be that same star, Fixed.

They seem like simple fixes, but it actually took quite a bit to fix these. Another symptom of the bubble-gum-and-duct-tape nature of the startup code...

Is it worth trying to backport this fix to the 3.x codebase?
Are we going to have 3.5.10?
Bug 162059: the view direction changed during subsequent program starts
Diffs: 1, 2, 3, 4, 5 Revision 809477

Torsten Rahn committed changes in /trunk/KDE/kdeedu/marble:
- Fixing two bugs with one patch:

- The Smear effect which was due to the 1 bit images being read via the jumptable8.
- The slow timedemo benchmark due to the Atlas View using the pixelValue method.

This fixes the performance entirely ( it's back to 14 fps for me ).
Diffs: 1, 2, 3 Revision 810574

Patrick Spendrin committed changes in /trunk/KDE/kdeedu/marble:
make the kml files standard compliant ( to version 2.1 )
http://earth.google.de/kml/kml_tags_21.html
regenerate the cache files
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 811439

Jason Harris committed a change to /trunk/KDE/kdeedu/kstars/kstars/kstarsinit.cpp:
Well, that wasn't so hard after all.
KStars no longer exits when starting up below the horizon. I simply moved "show()" so it came before initFocus().

As a bonus, the user will now see the below-horizon view rendered before the message box appears, so they can make a more informed decision about resetting or not...
Diff Revision 811449

Torsten Rahn committed changes in /trunk/KDE/kdeedu/marble:
* TileLoader.cpp:

This fixes the most obvious issues with the tile downloading.
The only real other issue left is speed: We need to improve the HttpDownloadManager to have better algorithms to better prioritize the currently needed tiles.

- Fix what is probably Marble's most hated bug:
Tiles being "stuck". The culprit: when a new tile was successfully downloaded and the temporary "replacement" tile was still in the cache, that replacement tile should have gotten removed from the cache to make way for the real one.

* HttpDownloadManager.cpp:

- Increase number of activated downloads to hopefully get the speed a little bit up
Diffs: 1, 2, 3, 4 Revision 811953

Games
Fela Winkelmolen committed a change to /trunk/KDE/kdegames/kbreakout/levelsets/default.levelset:
Make level 8 a lot easier
Bug 162105: Level 7 is too easy and Level 8 is just too hard
Diff Revision 809950

Will Stephenson committed changes in /trunk/KDE/kdegames/ksudoku/src/gui/views:
Fix build failure when OpenGL is found. You can't use compiler preprocessor conditionals in moc'ed header files because the -D definitions are not passed to automoc.

Instead, exclude the source file that needs openGL from the build using cmake.
Diffs: 1, 2, 3 Revision 810290

KDE-Base
Zack Rusin committed changes in /trunk/playground/base/quasar:
lots of fixes to make the basic example kinda work
Diffs: 1, 2, 3, 4, 5 Revision 809556

Robin Pedersen committed a change to /trunk/KDE/kdelibs/kate/script/data/ruby.js:
Included division operator at the end of line in detector for "continuing" statements.

Fixes the test cases previously marked as "known failures".
Diff Revision 810321

Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src:
when going back in history apply the keyboard focus to the the previously shown directory
Bug 156550: Going back in dolphin doesn't return me to the position where I w...
Bug 158590: remember previously selected folder on enter-and-leave
Diffs: 1, 2, 3, 4 Revision 810493

Aaron J. Seigo committed a change to /trunk/KDE/kdebase/workspace/krunner/resultscene.cpp:
fix tab keyboard focusing.
i think i've unbroken nearly everything i broke now.
whee.
Diff Revision 810609

Maksim Orlovich committed a change to /trunk/KDE/kdelibs/kjs/CommonIdentifiers.h:
Fix recent frequent crashes regression:
This traits method requires in-place construction, not update (which is why it's called constructDeletedValue, not copyDeletedvalue...)

Oddly enough, this bugfix was made by possible by the Champions League final.
Diff Revision 810833

Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole/src:
Fix "Show 'New Tab' and 'Close Tab' buttons on tab bar" setting not being applied correctly on startup.

Test for the tab bar being explicitly hidden with isHidden() rather than just isVisible() which will return true if the setting is applied before the container widget is shown.
Bug 157015: Missing corner widgets (new shell. close tab)
Bug 162420: The "new tab" and "close tab" buttons don't a...
Diffs: 1, 2 Revision 810949

Marco Martin committed changes in /trunk/KDE/kdebase/workspace/plasma/desktoptheme:
adding the missing svgs in the theme, needed to fix the theme update on every applet.
they are only a placeholder for now, will be replaced with the final artwork for the final release
Diffs: 1, 2, 3, 4 Revision 811136
View Visual Changes (to 3 files)

Maksim Orlovich committed changes in /trunk/KDE/kdelibs/kjs:
Fix a KJS crash on gmail.
The problem was that in some cases, such as event evaluation (which is a function context with callingContext being the globalExec) we would break the chain of active execStates.

That meant we couldn't update them right when moving the stack due to expansion (It also means that they won't get marked sometimes.

Good thing I didn't put in smarter stack code that never puts in things yet --- otherwise it would take 3 days to debug instead of half a day)
Diffs: 1, 2, 3, 4 Revision 811376

KDE-PIM
Thomas McGuire committed a change to /trunk/KDE/kdepim/kmail/objecttreeparser.cpp:
Don't crash when replying to HTML mail.
Bug 162259: Kmail crashes when answering a message
Diff Revision 809234

Till Adam committed changes in /trunk/KDE/kdepim/kmail:
At least on OSX and Windows the job can't be accessed after the nested event loop returns, as the primary event loop will be entered from quit(), which processes delete events (from deleteLater()) which nukes the job.

Cache the audit log in the executor to work around this.

Scary problem, this is probably relied upon a lot, with KJobs all over the place.
Diffs: 1, 2, 3 Revision 812090

Multimedia
Christian Esken committed changes in /trunk/KDE/kdemultimedia/kmix:
Bugfix: In a multi-soundcard scenario it was not possible to configure the Views independently (e.g. PCM hidden for ALL Views or shown for ALL Views).

KMix in KDE4.0 wrote wrong group names like [View.Base.Base.Front:0], with a duplicated "Base" which should have been the SoundcardId, like in [View.Base.ALSA::HDA_NVidia:1.Front:0]. Workaround: If found, write back correct group name.

After all Views are filled, delete all bad groups.
Diffs: 1, 2, 3, 4, 5 Revision 809460

Christian Esken committed changes in /trunk/KDE/kdemultimedia/kmix:
Bugfix: The KMix DBUS call masterDeviceIndex(), that is available in KDE3.5.x was not available in KDE4.0.
Re-adding it, as absence causes major KMilo headache (actually bugs).
Diffs: 1, 2, 3 Revision 810026

Mark Kretschmann committed a change to /trunk/extragear/multimedia/amarok/src/context/layouts/ContextLayout.cpp:
Temporary fix for crash on exit with plasmoids.
Introduces a small memory leak, which I prefer to crashing.
Diff Revision 810241

Mark Kretschmann committed changes in /trunk/extragear/multimedia/amarok/src:
remove hydrogen's stuff

Removed Hydrogen's hack which was supposed to make the Progress-Slider smooth; this hack could never have worked correctly.

Instead, I made it so that the engine sends out timer ticks with a shorter interval, which gives us more precision, and it also eliminates the weird bugs.

Additionally I made the code simpler and cleaner.
Diffs: 1, 2, 3, 4 Revision 810808

Michael Pyne committed a change to /trunk/KDE/kdemultimedia/juk/main.cpp:
Fix a bug in trunk causing JuK to close (not crash although that's what it looks like) when:
* JuK is closed to system tray
* You click on the cover in the track announcement popup, and
* You close the big cover that pops up.

In this situation, Qt thinks that the "last window" has closed and quit()s JuK.
Diff Revision 811012

Michael Pyne committed a change to /branches/KDE/4.0/kdemultimedia/juk/juk.cpp:
Fix bug 144427 (JuK crashes if main window open on logout) in KDE 4.0.

I was not able to reproduce but the reporter did a very good job of hunting down the cause and came up with a patch which I tweaked to fix the underlying issue. Basically, we do too much in queryExit().

We already had a slot called slotAboutToQuit() (which was similarly mislabeled) so I used the "official" means of hooking up to QCoreApplication::aboutToQuit(), and implemented the reporter's patch of setting the deleted object to 0 in case we try to delete it again somehow.
Bug 144427: crashes on session logout if the main window is visible
Diff Revision 811443

Michael Pyne committed a change to /branches/KDE/3.5/kdemultimedia/juk/juk.cpp:
Forgot to backport this to KDE 3.5, which is what bug 144427 was reported against.
The bug report was so useful that I want to reward the reporter so if you're still using 3.5, it should crash less now.
Bug 144427: crashes on session logout if the main window is visible
Diff Revision 811447

Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src:
2 patches from Dennis Nienhüser for correctly updaing the Osd and TrackToolTip when the metadata of a track ( such as a Last.fm stream ) changes.

Also handles changes to album covers. Good stuff, thanks Dennis! :-)
Diffs: 1, 2, 3, 4 Revision 811952

Networking Tools
Christoph Thielecke committed changes in /trunk/playground/network/kvpnc:
* duplicate options regarding default route removed
* auth type on ipsec import fixed
* default section type handling fixed
* translation updates
* use network option added
* psk secrets file fixed on ipsec import
* option for open profile manager after import added
* option for ipsec vpn mode (transport/tunnel) added
* cert path on ipsec import fixed
* private key on ipsec import fixed
* debug options in preferences dialog fixedhttp proxy options in preferences dialog fixed
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 17 more) Revision 809769
View Visual Changes (to 7 files)

Office
Jan Hambrecht committed a change to /trunk/koffice/filters/karbon/svg/svgexport.cc:
Handle mimetypes properly when exporting images.
I consider wish #113014 implemented now.
Bug 113014: add image export to Karbon14 SVG filter
Diff Revision 809266

Thomas Zander committed a change to /trunk/koffice/kword/part/frames/KWTextDocumentLayout.cpp:
Fix runaround-policy "No Runaround" to work properly.
Details: When a no-runaround frame intersects with a textframe the proper behavior is to suspend text layout for the whole intersection.

The previous implementation would suspend text layout for the entire frame, which could cause infinite layout-loops.
Diff Revision 811520

User Interface
Riccardo Iaconelli committed a change to /branches/KDE/4.0/kdebase/runtime/kstyles/oxygen/oxygen.cpp:
fix south and north tabs (corners were broken since qt4.4).
actually rewriting half the tab code.
Diff Revision 812148

Features
Accessibility
John Layt committed changes in /trunk/KDE/kdeaccessibility:
Use KdePrint::createPrintDialog() to create QPrintDialog including new Cups Options tabs.

Keep the QPrinter instead of creating it each time so user settings are preserved between prints.
Diffs: 1, 2, 3, 4, 5, 6 Revision 811865

Development Tools
Jakob Petsovits committed changes in /trunk/KDE/kdesdk/kate/app:
Remember the document list's sort settings in the session.

This is especially nice for "Custom" order settings, where the order was previously lost each time when reloading the session.
Diffs: 1, 2, 3 Revision 810491

Educational
Henry de Valence committed changes in /trunk/KDE/kdeedu/marble/data:
Added temperature maps (July and December).
TODO: make them colourize with their own colours rather than the srtm ones
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 809394
View Visual Changes (to 2 files)

Torsten Rahn committed changes in /trunk/KDE/kdeedu/marble:
- Per aspera ad astra! Now I just need to take the earth's orbit and spinning into account and we can drop KStars in favour of Marble ;-)

- Adding Stars plugin to Marble. Still needs polishing and adjustment for time.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 17 more) Revision 809778

Carsten Niehaus committed changes in /trunk/KDE/kdeedu/kalzium/plasmoid/applet/didyouknow/svg:
COmmiting Jarles great artwork
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 810326
View Visual Changes (to 6 files)

Henry de Valence committed changes in /trunk/KDE/kdeedu/marble/data/maps/earth:
Added precipitation maps.

For reference, 0-127mm goes in pixels 0-127, 128-255mm goes in pixels 128-191, 256-511mm goes in px 192-222, and 512-1024mm goes in 223-255.

Any place getting more than 1.024 metres of rain per month is too wet and set as 255.
Diffs: 1, 2 Revision 810432
View Visual Changes (to 2 files)

Benoît Jacob committed changes in /trunk/KDE/kdeedu/kalzium:
* Add explanatory label in "Measure" tab
* When saving, set default extension to .cml
* Much more helpful error messageboxes when saving fails.
* Disable zoom eyecandy
* Remove Help button (sorry Joh, it was great in 4.0 but with the much expanded feature set in 4.1, that material now makes much more sense to have in a separate handbook. SVN remembers the text that you wrote, which is still a great starting point for that handbook section).
Diffs: 1, 2, 3, 4, 5 Revision 810538
View Visual Changes (to 1 file)

Torsten Rahn committed changes in /trunk/KDE/kdeedu/marble:
- Start of adding bilinear pixel interpolation to improve image quality.
Doesn't work yet.
Diffs: 1, 2, 3, 4 Revision 811223

Inge Wallin committed changes in /trunk/KDE/kdeedu/marble:
Move handling of the active region to the projection helpers.

This is part of the ongoing work to make a good structure for projections.

NOTE: Active region for the Mercator projection does not work yet.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 811621

David Capel committed changes in /branches/work/soc-parley/parley/practice:
Parleypractice now loads from vocab files and has a "show answer" button (which is the beginning on a Hint framework)

TODO:
* Make the interface prettier (it's improving...)
** SVGs
** Spacing, perhaps?

* Quit
** Statistical summary dialog on quit
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 811950

Games
Ian Wadham committed changes in /trunk/KDE/kdegames/kubrick/src:
Add more of Singmaster moves feature, including all messages.
Still some problems with compound moves, undo and redo.
Diffs: 1, 2, 3, 4, 5, 6 Revision 809075

Johannes Bergmeier committed changes in /trunk/KDE/kdegames/ksudoku/src/themes:
- Added scrible theme
Diffs: 1, 2, 3 Revision 810059
View Visual Changes (to 1 file)

Tom Vollerthun committed changes in /trunk/playground/games/nonogram/src:
Combobox for game-packages, so you can switch between packages if there's more than one.
Not of much use yet, since there's only one package.
Diffs: 1, 2, 3 Revision 810239

Tom Vollerthun committed changes in /trunk/playground/games/nonogram:
- Use all three mouse buttons for different types of toggles (lmb: undefined/on/off mmb: undefined/off rmb: undefined/on)
- GUI deuglification: (some) colors and number positioning
- SOME changes in datastructure:
- prepare for multicolored games
- store _state_ of grid entries in addition to color
- be able to convert hints (list of numbers) to QString for serialization
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 812169

Graphics
Pino Toscano committed changes in /trunk/KDE/kdegraphics/okular:
Start implementing the JavaScript scripting API for PDF documents, thanks to Harri and Maksim and the brand-new public KJS API.

This starts the implementation of some of the API objects needed, like App, Console, Data, Document, Field, FullScreen, Spell, Util.

Also, workaround the fact that we cannot change the read-only status for form fields.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 9 more) Revision 809259

Marcel Wiesweg committed a change to /trunk/extragear/graphics/digikam/libs/database/haar/haariface.cpp:
Interface Haar calculation with database.

1) Indexing:
Methods accept filename, imageid, with preloaded QImage or DImg.
The obtained Haar::SignatureData is serialized into a QByteArray (class DatabaseBlob does that with the help of QDataStream) and written into the ImageHaarMatrix table.
Modification data and unique hash from the Images table (identifying the current file) are copied to the table.

2) Searching:
The original paper suggests a data structure where (for each color channel, for positive and negative) for each pixel a list contains those imageids that have a significant coefficient at that place. Such a structure requires pre-reading and approx. 5MB/10,000 images.

The current approach here does it the other way round.
It reads each sigle signature from the database, goes through its list of pixels with significant coefficient, and looks if the query signature has significant coefs as well at that pixel.

A simple benchmark searches 750*133 images (->100,000) in three seconds on my (relatively slow) machine.
Of course, I may have introduced bugs, which will show up once we have a GUI for creating searches. (searching for identical images works)
Diff Revision 809391

Pino Toscano committed changes in /trunk/KDE/kdegraphics/okular/core:
add simple method for white borders detection, patch by Eran Tromer, thanks!
Diffs: 1, 2 Revision 809465

Gilles Caulier committed changes in /trunk/extragear/graphics/digikam/digikam:
new widget to draw a sketch.
Will be used with future Fuzzy search based on Haar wavelet engine.
Diffs: 1, 2 Revision 809724

Gilles Caulier committed changes in /trunk/extragear/graphics/digikam/digikam:
digiKam from trunk: enable fuzzy search view based on a drawing sketch. Not yet suitable.

MOCUP: http://digikam3rdparty.free.fr/Screenshots/temp/sketchfuzzysearch.png
Diffs: 1, 2, 3, 4, 5 Revision 809790

Andrew Walker committed changes in /branches/extragear/kde3/graphics/kst/src/extensions/js:
in javaScript add support for Kst.addToOutput('text') which will append 'text' to the command output.
The function can be called multiple times within a function to add multiple lines of output.
Diffs: 1, 2, 3, 4, 5, 6 Revision 809952

Gilles Caulier committed changes in /branches/extragear/kde3/libs/kipi-plugins/flickrexport:
kipi-plugins from KDE3 branch : several improvements into FlickrExport tool:

- added support RAW files: embeded JPEG preview is used to export RAW image to Flickr
- all others image formats supported by Qt are properlly drived now. The uploaded image is always converted to JPEG. Uploading work with previous implementation _only_ if image been resized.
- plugin dialog layout rewritten. more suitable.
Bug 154289: Cannot upload RAW images
Diffs: 1, 2 Revision 810297

Gilles Caulier committed changes in /branches/extragear/kde3/libs/kipi-plugins/flickrexport:
kipi-plugins from KDE3 branch : FlickrExport tool : UTF-8 support
- Use KURL to host addPhoto url
- new method to compute MD5 signature based on KURL.

I have tested to upload photo using accentuate char from Tags or comments.
Now all work fine.
Bug 155270: Tags with non-Latin characters dropped during image export
Bug 153758: FlickrUploader fails to upload photos whose caption contains acce...
Diffs: 1, 2 Revision 810651

Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/digikam:
Create an XML search based on the Haar signature of the sketched QImage.

TODO: Only the very first change triggers a new search
TODO: Color selector is a bit broken (starts with black, blue is a violet?)
Diffs: 1, 2 Revision 810778

Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/utilities/searchwindow:
Add the class AnimatedClearButton.
It is based on (internal) code from KLineEdit for the clear button that dynamically appears in a KLineEdit when text is entered.

Code is adjusted and extended for our needs.
Diffs: 1, 2 Revision 811793

Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/utilities/searchwindow:
Show a clear button when a search field contains valid data.
The clear button should be well known from line edits, so I hope that users will understand what the button means.
It has the same modest animation like the one from kdelibs.
Diffs: 1, 2 Revision 811794

KDE-Base
Eduardo Robles Elvira committed changes in /trunk/KDE/kdebase/apps/konqueror/src:
Adding support for crash session recovery + session management =)
Commiting before the feature freeze..
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 809038
View Visual Changes (to 2 files)

Rafael Fernández López committed changes in /trunk/KDE/kdelibs/kutils:
The basics are working and ported.
Filtering and sorting.
Diffs: 1, 2 Revision 809112

Rafael Fernández López committed changes in /trunk/KDE/kdelibs/kutils:
Dependencies code is working as before, KPluginSelector now behaves as before, plus sorting and filtering features.
Using Goya for drawing code.
Less code and more clear
Diffs: 1, 2 Revision 809130

Fredrik Höglund committed changes in /trunk/KDE/kdebase/workspace/ksmserver:
Add a version of the fade-to-gray effect that works when compositing is disabled.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 809215

Germain Garand committed changes in /trunk/KDE/kdelibs/khtml:
implementation for contentEditable/designMode

based on work by Apple developers and Leo Savernik.
Still needs further work, but should be reasonably stable.
Bug 48302: khtml support for designMode and contenteditable=true
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 60 more) Revision 809453

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/krunner:
use kpluginselector to allow selection of runners; based on patch by Ryan Bitanga
Diffs: 1, 2, 3, 4, 5 Revision 809861

Luboš Luňák committed changes in /trunk/KDE/kdebase/workspace/kwin:
Shortcut for temporarily suspending compositing.
Useful when one wants to run something graphically intensive like a game or when compositing goes awry and one wants to see the checkbox that turns it off.
Bug 155581: Shortcut To Turn Off Compositing
Diffs: 1, 2, 3, 4 Revision 810031

Chani Armitage committed changes in /trunk/KDE/kdebase/workspace:
* basic keyboard shortcuts for desktop-containment-switching
* setContainment went virtual so that switches can be done reliably
Diffs: 1, 2, 3 Revision 810098

Germain Garand committed changes in /trunk/KDE/kdelibs/khtml:
Full parsing of doctype by the HTML Tokenizer

patch by Gustaw Smolarczy, improving upon a webkit patch.

slightly modified to provide a turnaround for broken behaviour of KHTMLPart::write() noticed by Gustaw.

Fixing Acid 3's 18th test.
Bug 156947: Konqueror 4 fails Acid3 test
Bug 92670: DOCTYPE not correctly parsed
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 810117

Robert Knight committed a change to /trunk/KDE/kdebase/apps/konsole/src/main.cpp:
Add a command-line option --force-transparency which enables support for transparency even if no compositing manager is running when Konsole is started.
Bug 162333: No transparency if no compositing manager was present at starup
Diff Revision 810442

David Faure committed changes in /trunk/KDE/kdebase/apps/lib/konq:
Plugin support is back - do you want to give it a try?
Diffs: 1, 2, 3, 4 Revision 810480

Davide Bettio committed changes in /trunk/KDE/kdebase/workspace/krunner:
keyboard arrows support added. (code needs to be improved).
Diffs: 1, 2 Revision 810527

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/krunner:
rather cool but slightly experimental selection system
Diffs: 1, 2, 3, 4, 5 Revision 810587

Chani Armitage committed changes in /trunk/KDE/kdebase/workspace:
clicking an available desktop containment sets the view to that containment
now it's much easier to jump to the activity you want :)
Diffs: 1, 2, 3, 4, 5 Revision 810614

Dmitry Suzdalev committed changes in /trunk/playground/base/plasma/applets/notify:
Getting ready to show notifications in a toplevel window:
Create a MainWidget class which acts as a container of a Notifications (previously this code was in an applet class itself)
Diffs: 1, 2, 3, 4, 5 Revision 810656

Viacheslav Tokarev committed changes in /branches/work/khtml-blaze:
Add all svg stuff from webkit and start to integrate it into khtml
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 591 more) Revision 811362

Tobias Hunger committed changes in /trunk/kdereview/decibel:
Start work on making the ContactManager work asynchronous.
Diffs: 1, 2, 3, 4, 5 Revision 811537

Tobias Hunger committed changes in /trunk/kdereview/decibel/src/server:
beginnings of the contact manager state machine.
Should build, but is incomplete, so won't work.
Diffs: 1, 2, 3, 4 Revision 811541

Tobias Hunger committed changes in /trunk/kdereview/decibel/src/server:
Continue work on contactmanager and change headers of contact connector base class and kde4 header, although not implementation, to take a cookie with all method calls.

Daemon actually builds now, although still a bit of work to be done before it will work
Diffs: 1, 2, 3, 4, 5, 6 Revision 811545

Erlend Hamberg committed changes in /trunk/KDE/kdelibs/kate:
add support for some basic vi normal mode commands
Diffs: 1, 2, 3, 4, 5 Revision 811730

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/tasks:
* complete attention blinking implementation; not configurable, but that would be a feature rather than a regression fix
* move out the static items, put them in the applet class and use that between all items.
* disable the fade in/out animations for now as they are way to slow atm =/

we really need to do some profiling of this code as it feels rather slow now, and it should be very snappy
Diffs: 1, 2, 3, 4 Revision 811929

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:
finish yet another 4.1 feature gap: allow the user to select what to do on drop.

the text is a bit lame for icon, it should be "link to file" or something similar but that string doesn't seem to be handy and we're in a string freeze =/

at least it works =)
Diffs: 1, 2, 3 Revision 811949

Will Stephenson committed a change to /trunk/extragear/plasma/applets/frame/frame.cpp:
If the frame is instantiated with a URL in its args, start displaying that image.
This allows the user to drag images onto the desktop and create Picture Frames in doing so.
Diff Revision 811962

Riccardo Iaconelli committed changes in /trunk/KDE/kdebase/workspace/plasma/containments/folderview:
Before we make a contaiment out of it (are we going to make it for 4.1 with the freeze?), and we're able to choose it, at least add an option to make folderview's background transparent, so it doesn't hurt your eyes. ;-)

Not sure about what doing by default, but I guess I'll keep it opaque (as it is now), so people understand that is a plasmoid.

ACK'd on review board by logixoul.
Bug 162526: Turn Off/On Folder View's Background (plasmoid)
Diffs: 1, 2, 3 Revision 812032

Nuno Fernades Pinheiro committed changes in /trunk/KDE/kdebase/apps/kdepasswd/kcm/pics:
Tv avatar
Diffs: 1, 2, 3, 4, 5, 6 Revision 812140
View Visual Changes (to 5 files)

Nuno Fernades Pinheiro committed changes in /trunk/KDE/kdebase/apps/kdepasswd/kcm/pics:
Me? with my reputation ?
Diffs: 1, 2, 3, 4, 5, 6 Revision 812145

Nuno Fernades Pinheiro committed changes in /trunk/KDE/kdebase/apps/kdepasswd/kcm/pics:
one more 5 to go
Diffs: 1, 2, 3, 4, 5 Revision 812150

KDE-PIM
Frank Osterfeld committed changes in /trunk/KDE/kdepim/kleopatra:
add certificate signing
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 809759
View Visual Changes (to 1 file)

Stephen Kelly committed changes in /trunk/KDE/kdepim/kjots:
Workaround to make kontact load and save books from the kjots appdata directory.
Also autosave books if neccessary when closing embedded kjots.
Diffs: 1, 2, 3, 4 Revision 810041

Stephen Kelly committed changes in /trunk/KDE/kdepim/kjots:
KJotsLinkDialog feature.
Allows the user to easily create and edit links between kjots entries.
Bug 160695: Links between the pages
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 810058

Stephen Kelly committed changes in /trunk/KDE/kdepim:
Add D-Bus interface to KJots, allowing the New Page and New Book actions to work when running in Kontact.

This squashes a four year old bug.
Bug 73609: WISH: integrate KJots with Kontact
Diffs: 1, 2, 3, 4, 5, 6 Revision 810464

Marc Mutz committed changes in /branches/kdepim/enterprise4/kdepim/kleopatra:
Add start of new implementation of certifcate details dialog.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 810821
View Visual Changes (to 1 file)

Volker Krause committed changes in /trunk:
Add item part namespaces.
This is necessary to distinguish between remote parts that can be retrieved from the resource (payload) and local parts (attributes), which again is necessary to finally implement all the fetch modes advertised in ItemFetchScope.

Existing data should be converted correctly, but you need to update the server as well as the client library.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 812135

Multimedia
Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src:
Lots of work on the new background.

* Push rendering the background down to the MainWindow and make everything else transparent to make it shine through
* Add a few custom widget subclasses that do not render anything themselves
* Remove rendering of the backgronud from other widgets

This commit represents work in progress and there is still some serious wonkyness ( if that is not already a word, I hereby declare myself the inventor ) going on with the context view, and lots of dead code that I need to remove.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 809339

Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src:
Add a custom, themable, QSplitter and use it in MainWindow.
I have tried my hand at some very subtle splitter handles.
They are not very pretty, but hey, they are themable :-)
Diffs: 1, 2, 3, 4, 5 Revision 810660

Lukáš Lalinský committed changes in /trunk/kdesupport/taglib:
Support for POPM ID3 frame
Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 811137

Networking Tools
Christoph Thielecke committed changes in /trunk/playground/network/kvpnc:
* mschap auth selection added (pptp)
* mschap-v2 auth selection added (pptp)
* option for disabling ipx added (pptp)
* option for disabling tcp header compression added (pptp)
* option for disabling magic number negotiation added (pptp)
* option for disabling protocol field compression added (pptp)option for disabling address/control compression added (pptp)
* lzo compression is now disabled by default (openvpn)
* psk fixed at openvpn config file import fixed
* authentication algorithm fixed (openvpn)
* automatic auth inconsistency fix fixedfinal picture in profilewizward added
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 43 more) Revision 810619
View Visual Changes (to 4 files)

Christoph Thielecke committed changes in /trunk/playground/network/kvpnc:
* verify ca cert option added (racoon)
* support for strongswan 4.2.2rc6 fixed (plutostderrlog file option)
* logviewer menu option fixed
Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 811191
View Visual Changes (to 2 files)

Christoph Thielecke committed changes in /trunk/playground/network/kvpnc:
* checking for tail added
* path for tail can be specified
* extra routes for pptp added
* replace defaultroute test
* fixedlogviewer process refresh fixed
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 811215
View Visual Changes (to 1 file)

Will Stephenson committed changes in /branches/work/knetworkmanager/knetworkmanager-0.7/src:
Add GSM + CDMA configuration UI
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 811832
View Visual Changes (to 2 files)

Will Stephenson committed changes in /branches/work/knetworkmanager/knetworkmanager-0.7/src:
Support PPP settings in the UI.
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 811882
View Visual Changes (to 1 file)

Joris Guisson committed changes in /trunk/extragear/network/ktorrent/plugins/bwscheduler:
Items on the bandwidth schedule can now be moved around on the same day.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 811993

Joris Guisson committed changes in /trunk/extragear/network/ktorrent/plugins/bwscheduler:
Schedule items can now be moved to another day with drag and drop
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 812001

Joris Guisson committed changes in /trunk/extragear/network/ktorrent:
Colors of the bandwidth scheduler can now be changed
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 812033
View Visual Changes (to 1 file)

Office
Boudewijn Rempt committed changes in /trunk/koffice/krita/plugins/painterlyframework:
Use xml-ish illuminant files
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 809946

Sebastian Sauer committed changes in /trunk/koffice:
headers+footers got saved correct now.
next step; support page-styles.
Diffs: 1, 2 Revision 810401

Lorenzo Villani committed changes in /trunk/koffice/kexi/webforms:
* Ladies and getleman: introducing the HTTPStream class, wrapping shttpd_printf call and allowing me to avoid:
- shttpd_printf(arg, "%s", string) all around in the code
- sending HTTP headers everytime I want to output something
- having to write arg->flags |= SHTTPD_END_OF_OUTPUT

* typedef struct shttpd_arg Request (hides shttpd_arg data type)
* removed some bits of code used for testing
Diffs: 1, 2, 3, 4, 5, 6 Revision 811225

Roopesh Chander committed changes in /trunk/koffice:
Tab positions support added. With some tap dancing to make it testable.

(Dance is to store a list as a format property from within a QtScript.)
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 811249

Thorsten Zachmann committed changes in /trunk/koffice/libs/kopageapp:
* implement thumbnails for pages.
* use the thumbnails
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 811460

Roopesh Chander committed changes in /trunk/koffice/libs/kotext:
Tab type and tab delimiter character support is back (using Qt4.4's QTextOption::Tab now).
Testcase included.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 811645

Benjamin Cail committed changes in /trunk/koffice/filters/kword/msword-odf:
handle bold, underline, italics, page breaks, font color, font size, superscript, subscript, and strikethrough in the filter
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 811858

Dag Andersen committed changes in /trunk/koffice/kplato:
1) Popup progress dialog for milestones.
2) Make ganttviews configurable.
3) Make use of relation types in KDGantt
4) Update relations in ganttview when tasks are moved.
Diffs: 1, 2, 3, 4, 5, 6 Revision 812187

Other
Justin Karneges committed a change to /trunk/kdesupport/qca/examples/sasltest/sasltest.cpp:
cleanup. add extra features, including ability to specify protocol name
Diff Revision 810930

Optimise
Development Tools
David Nolden committed changes in /trunk/KDE/kdevplatform/language/duchain:
Optimizations to the import-structure stuff:
- Allow doing "temporary" imports, which is imports that are not recursively propagated into importers(needed in C++).
- Do not maintain the shortest path for now, it's too slow in very complicated cases. Any path is ok.
- Do not compute the recursive imports until they are requested for the first time. This saves us from expensive computations where it's not needed.
- Add mechanisms to import and unimport multiple contexts at a time, for speedup.

All this stuff has a test in kdevelop, and it still succeeds.
Diffs: 1, 2, 3, 4 Revision 809879

David Nolden committed changes in /trunk/KDE/kdevelop/languages/cpp:
- Move the thread-priority setting into the preprocess-job, so it's done earlier.
- Do less importing of contexts in cppparsejob, and flag temporary imports as such using a new flag.
- Add temporary imports using the new mechanism for that added to TopDUContext.

Together with the patches to TopDUContext, this greatly reduces the bottleneck in that area, so far that we can now start worrying about other stuff like memory-usage again.
Diffs: 1, 2, 3, 4 Revision 809889

Games
Pierre Ducroquet committed changes in /trunk/KDE/kdegames/konquest:
Use KPixmapCache... It seriously improves the performances...
Diffs: 1, 2, 3, 4, 5 Revision 809284

KDE-Base
Fredrik Höglund committed a change to /trunk/KDE/kdelibs/khtml/misc/paintbuffer.h:
Improve performance when rendering CSS opacity layers, by using CompositionMode_DestinationIn to reduce the alpha of the layers before rendering them, instead of using QPainter::setOpacity().

With this change we no longer end up in QPainterPrivate::draw_helper(), and the rendering is fully accelerated in hardware with drivers that accelerate Xrender.
Bug 154420: Website causes massive xorg/konqueror cpu usage (regression)
Diff Revision 809426

Maksim Orlovich committed changes in /branches/work/kjs-frostbyte/kjs/bytecode:
Noticed when debugging why KJS is ~7% slower with g++-4.3.1-pre than with 4.2.3:

When doing immediate number -> value conversion that can't result in an immediate value, we don't have to check whether it fits into immediate again at runtime, so can just use jsNumberCell and saves some cycles.
(~1.2% speedup..)
Diffs: 1, 2 Revision 810339

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/krunner:
do all the moves at the end of setting up the items ... waaaay smoother
Diffs: 1, 2 Revision 810599

Maksim Orlovich committed changes in /branches/work/kjs-frostbyte/kjs/bytecode/generator:
It really doesn't make sense to generate extra immediate variants for tiles, since if we had an immediate value we are extremely likely to be able to do the conversion in place, so avoid generating these for an easy ~2.6% speedup.
Diffs: 1, 2 Revision 810824

Aaron J. Seigo committed a change to /trunk/KDE/kdebase/workspace/krunner/resultscene.cpp:
obvious optimization that occurred to me while standing up to go make dinner: now only actually new match results will get traversed twice, and then only when there are existing items that haven't been claimed yet.

in practice this is rare, so this is nearly as efficient as the original algo and may well be an even call now without the updateId stuff.

huzzah.
Diff Revision 811008

Maksim Orlovich committed changes in /branches/work/kjs-frostbyte/kjs:
Avoid going through the whole toString-property-lookup-deal when converting a object value to a UString, when the programmer isn't certifiably insane (AKA when toString on strings isn't customized)

This is about a 1% speedup on SunSpider, primarily because it reduces GC heap allocations by 2.35%
Diffs: 1, 2, 3, 4 Revision 811831

Maksim Orlovich committed a change to /branches/work/kjs-frostbyte/kjs/value.cpp:
Take advantage of UString's sharing machinery here, to avoid some malloc/free's. 10% speedup on string-base64
Diff Revision 811834

Multimedia
Nikolaj Hald Nielsen committed a change to /trunk/extragear/multimedia/amarok/src/MainWindow.cpp:
_Greatly_ optimize rendering by not repainting the _entire_ main window background if just a little part of it ( such as the part below the slider in the toolbar ) changes.

Interestingly enough, this brings back to life the "stitch the background together" code that I all but discarded yesterday.
Diff Revision 809814

Other
Justin Karneges committed a change to /trunk/kdesupport/qca/src/qca_core.cpp:
if we look up a feature, and of the known providers it is only supported by the default provider, don't go scanning the drive to see if there's a plugin to take precedence.

this optimizes usage of built-in features, so that if there's no plugin present for, say, "sha1", the qca app won't hit the disk drive every single time it is invoked just to see if a plugin supporting "sha1" has appeared.

the drawback is that if you want a plugin to take precedence over the default provider, then it needs to be installed before the application is run (or, the app can use QCA::scanForPlugins during runtime, to force the plugin to get noticed).
Diff Revision 810546

Other
Development Tools
Keith Isdale committed changes in /trunk/KDE/kdewebdev/quanta/plugins/kxsldbg:
- improvements
· - make use of new settings model in KXSLDbg
· - provide a KControl configuration dialog (not compiled nor used for KDE 4.1)
· - refactor how outputmodel is created
· - remove redundant configuration dialog implementation

- bug/bug fixes
· - correct how the KXSLDdg toolview is shown in Quanta
· - correct the declations/implmentation of KDevKXSLDbgViewFactory functions (add virtual keyword as required)
· - add missing xsldbg-source icon for "Run .. KXSLDbg" menu
· - hide the KXSLDdbg tool bar items if KXSLDbg is not ready to run
· - the menu item "Run .. KXSLDbg" now acutally starts/stops KXSLDbg as intended
· - correctly load/save configuration when "Run .. KXSLDbg" menu item is used
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 809012
View Visual Changes (to 2 files)

Anne-Marie Mahfouf committed a change to /trunk/KDE/kdesdk/kapptemplate:
add new kapptemplate from kdereview
Diff Revision 809209

Andreas Pakulat committed changes in /trunk/KDE/kdevplatform/plugins:
Remove the ugliest hack in the world. David if you find that an API doesn't work the way you need it to, you shouldn't use it. #define private public is not acceptable in KDevelop codebase.

Also disable teamwork as it now won't compile anymore, as soon as a maintainer steps up to fix this it can be re-enabled.
Diffs: 1, 2 Revision 809314

Thomas Moenicke committed changes in /trunk:
* moving PHP-Qt bindings to kde-bindings trunk
Diffs: 1, 2 Revision 809447

Richard Dale committed a change to /trunk/KDE/kdebindings/ruby/plasma:
* Completely remove the ruby plasma bindings before commiting the new version
Diff Revision 809707

Simon Edwards committed changes in /trunk/KDE/kdebindings/python/pykde4:
PyKDE4 compiles again on KDE 4.1. (not updated to 4.1 yet)
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 29 more) Revision 811888

Educational
Marcus D. Hanwell committed changes in /trunk/KDE/kdeedu:
Updated snapshot to Avogadro library 0.8.0.
Ported Kalzium to use it.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 109 more) Revision 810034
View Visual Changes (to 5 files)

David Capel committed changes in /branches/work/soc-parley/parley/practice:
Parleypractice is now entirely seperate from Parley proper (a different cmake project) and right now has a basic QString-based question and answer test working.

I'm using WoC for everything; I think this will give me a lot of flexibility later on.

Thanks to some help from #kde-devel and jpwhiting, I got inheritance of the eduwidgets from both the interfaces and the qwidgets working without Qt complaining.

TODO in the near future:
* Get question/answer sets loading (the test questions are hardcoded atm ;) )
* Play with SVGs some
* Make the test application prettier (its really rough right now)
* Implement the Hint EduWidget

First SoC commit!
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 811037

Torsten Rahn committed changes in /trunk/KDE/kdeedu/marble:
- Give at least a minimum of attribution to OSM (more prominent attribution yet to come!) in the About dialog.
Diffs: 1, 2, 3, 4 Revision 811372

Torsten Rahn committed a change to /trunk/KDE/kdeedu/marble/data/credits_authors.html:
- Adding Jens-Michael Hoffmann, Patrick Spendrin, Henry de Valence, Simon Schmeisser and Claudiu Covaci to the author list.

We really need to port this over to the KDE version...
Diff Revision 811529

Torsten Rahn committed changes in /trunk/KDE/kdeedu/marble:
- Given that the previous OSM tile shipped with Marble was licensed under the Creative Commons Attribution-ShareAlike 2.0 license and given that Debian doesn't approve this license as a "free" license we replace the very low resolution tile by a simple blue square for now.

Later on we'll add a public domain map in the style of the original OSM tile.
Diffs: 1, 2 Revision 811998
View Visual Changes (to 1 file)

Torsten Rahn committed a change to /trunk/KDE/kdeedu/marble/src/lib/AbstractScanlineTextureMapper.h:
- committing before somebody has the chance to see it ....
Diff Revision 812039

Games
Gaël de Chalendar committed changes in /trunk/KDE/kdegames/ksirk:
- postponed map scrolling arrows to 4.2;
- some ebn issues solved
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 809985

Stefan Majewsky committed changes in /trunk/playground/games/palapeli/src/gamestorage:
Import of the new GameStorage classes.

In the next days, these will replace most of the current storage logic.

The new GameStorage is designed to be flexible and lightweight, to be eventually moved to libkdegames in case that other game programmers are interested in using this framework.
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 810324

Tom Vollerthun committed a change to /trunk/playground/games/nonogram/TODO:
Merged most of jeremy's todo from kpicross
Diff Revision 810399

Graphics
Gilles Caulier committed changes in /trunk/extragear/graphics/digikam/digikam:
restore Tools/Search and Tools Advanced Search menu options
Diffs: 1, 2 Revision 809269

KDE-Base
Aaron J. Seigo committed a change to /trunk/KDE/kdebase/workspace/plasma/applets/pager/pager.cpp:
* guard slightly beter in the hover against invalid indexes
* don't flicker the current desktop
* remove some unused variables
* don't talk about "panels" in comments. one should be thinking about containmnets, not panels

this code could really use a good scrubbing. it's a little crufty in places.
Diff Revision 808989

Aaron J. Seigo committed a change to /trunk/KDE/kdebase/workspace/libs/plasma/CMakeLists.txt:
* add Service to the build
* pop the library rev number up since the changes are so drastic since 4.0.x
Diff Revision 809022

Lukas Appelhans committed changes in /trunk/playground/base/raptormenu/libtom:
Redesign of libtom, now we only have TaskGroups and TaskItems and let the CMakeLists.txt use kde4_add_library
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 809154

Alexis Ménard committed changes in /trunk/extragear/plasma/applets: