prev
Issue 81
21st October 2007
by Danny Allen
next


This Week...
Fortune-teller and Keyboard Layout applets for Plasma, KNewsTicker resurrected for KDE 4.0 as a Plasmoid. Rewrite of <canvas> tag support in KHTML. Various new language syntax highlighting in Kate. Internal database storage work in Digikam. More playlist handling work, and support for Magnatune "streaming membership" in Amarok 2. OpenDocument loading of charts in KChart for KOffice 2. Various graphics fixes and a user handbook for the Bovo game. Kolourpaint is now fully ported to Qt4. Continued work on the Eigen 2 library. Further porting away from KDEPrint to the printing facilities provided by Qt4.

Will Stephenson provides a summary of the KDE 4 Hack Week at SUSE:
This week the KDE team and several of the other KDE people at SUSE held the inaugural KDE Hack Week at the openSUSE office in Nuremberg.  The 'Innovation Time Off' concept at Novell allows us to spend a percentage of our time working on projects away from our day-to-day roles, so Klaas Freitag and Cornelius Schumacher (both of the KDE e.V. board) and Andre Duffeck and Daniel Gollub joined Dirk Mueller, Stephan Binner, Luboš Luňák and Will Stephenson in bringing KDE 4 closer to release.

Cornelius worked on KOrganizer, Klaas introduced Strigi to KHelpCenter and tidied its user interface, Will worked on Kopete's usability, Stephan prepared a KDE 4.0beta3 openSUSE based LiveCD, Andre worked on Plasma, adding a context menu to the panel, Daniel prepared a new OpenSync release and worked on Kitchensync, and Dirk worked on the KDE 4.0 Beta 3 release and the new SVN server. Along the way we found time to show off KDE 4 to Novell management, and held the first openSUSE KDE community meeting to make community members' and users' voices heard and open the door to their contributions to KDE on openSUSE.

Harri Porten answers common questions on the state and future of the KHTML web rendering engine used in KDE:
As people on #khtml and elsewhere keep asking the same type of questions I will summarize some of the answers that I can give and which - to my best knowledge - should match the view of other maintainers. This is to inform contributors, bug reporters, other helpers and users about the current state, avoid unfounded irritation and provide the basis for further discussion.

Feedback is greatly appreciated and will be incorporated into an updated version to be placed on konqueror.kde.org or so.

Will KHTML be the HTML rendering engine in KDE 4.0?
Yes. We are currently working on polishing it to get it into shape after so much of the frameworks around it have changed.

Are there any plans to drop KTHML?
No. Despite rampant rumors floating around there are no such concrete plans. We have had several discussions about alternatives but none of the them has yet crystallized as being accepted by the majority as a real option for KDE.

Why don't you pull all the good patches from Apple's WebCore and JavaScript libraries?
We do that to a certain degree since the beginning. More for KJS than for KHTML which is much bigger and platform dependent. Apple's code repository is publicly accessible now which has eased patch extraction. Prior to its opening the code had already forked a lot, unfortunately. Misaligned release schedules, design conceptions and platform needs have also sometimes resulted in incompatible solutions.

Are KDE patches ending up in Apple's code base?
To a small degree only. There were several attempts to establish a tradition of feeding our patches. Apple engineers also sometimes cherry-pick performance improvements on their own - possibly way later than we published it. As the patches at the same time often get reformatted to fit their coding style this does not make the "diff" between the code bases any smaller. As changes never get pushed back to us this is not an overly satisfying experience.

Does KDE profit from Apple's work?
We do in many ways. There are not only improvements and bug fixes that we can adopt but also an increased public awareness of our work and a group of skilled engineers to exchange ideas with. On the downside we are competing for independent contributors and have to live with the fact that some prefer to team up with a shiny and mighty company as opposed to joining our multi-faceted desktop project.

How about joining forces?
This is the obvious solution, of course, and since the beginning there have been various initiatives to establish a common project. So far all such attempts have failed. One has to realize that the Safari team is constantly under immense pressure to produce new features and benchmarks for the next Mac OS X release or whatever Steve Jobs will present at next year's WWDC keynote and does not want to risk giving up full control. As with the Windows version of Safari, work is sometimes done behind the scenes. We have not given up hope of course and hope to find some solution that accommodates the need of all parties.

Why is all of this important?
The attention paid to KHTML and interest in its future is amazing. The number of well-meaning advisors by far outweighs the number of developers actually writing the code. But the interest is fully warranted. The use of Internet technologies will inevitably continue to rise in our applications. And the degree to which we are involved in the development of these technologies will govern our freedom in advancing their use. The Web development environment Quanta built on top of KHTML is such an example. Further opportunities for our mail mail, IRC, blog, news, media, calendaring, messaging and you name it clients are sheer endless. Merely adding a GUI around ready-made 3rd party components will not add much extra value to our framework.

What are maintainers asking for?
To be able to satisfy our user's expectations we need to be able to provide a patched version in case they find a bug. This is particularly important in case of security problems. This requires access to the development repository as well as KDE producing packages out of that repository. Waiting for other vendors to ship bug fix releases is not an option. When it comes to development of new features KDE developers need to have some say into it even if it needs to be coordinated with other parties. In case of KDE-specific needs there needs to be some way to add them.

Isn't this all a rather trivial job?
A Web browser component is about more than plain HTML rendering. Apart from dynamic scripting there is Java, Flash, cookies, URI shortcuts, password managers, security and networking support. And KDE has invested a lot into providing this infrastructure that is being shared with other applications.

How about using QtWebKit ones it comes out?
QtWebKit is a port of the forked KHTML sources that aims at providing a ready-made HTML component to Trolltech customers without relying on KDE (other than incorporating the WebKit sources with KDE origin). It just is a platform port without any influence on the feature set and therefore useless for KDE's purposes. See the "Why is all of this important?" and "What are maintainers asking for?" questions for more details.

So what are the plans?
As the current alternatives would mean dropping our code and losing all influence on development these are not real options. So we'll simply stick to our code base for now and keep on merging in improvements ourselves. The code is pretty good, surpassing other browsers in speed and features in some areas.

Of course, we would be very much interested in joining forces with others having the same development goals. And we'll keep the discussion about cooperation going. One approach I could imagine is to merge our work (thousands of commits done over the recent years) into a WebKit branch and switch over to that one day. This wouldn't be a branch like Nokia's that diverges from the main line more and more. Instead we could branch it off trunk regularly and simply re-apply our KDE-specific patches.


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


Bug Fixes
Development Tools
Hamish Rodda committed a change to /trunk/KDE/kdevelop/languages/cpp/cppparsejob.cpp:
Prevent trying to translate cursors against an unopened file - revision 1 is always the "file has been opened" revision (unless starting a document from scratch... potential bug here but truly very minor if so, especially in comparison to the crashes this fixes for now)
Diff Revision 726324

Games
Nicolas Roffet committed a change to /trunk/KDE/kdegames/kblackbox/kbbgraphicsitemonbox.cpp:
There was a problem with the drag and drop: the 2nd time you wanted to move the same item, the initial position was initial position of the first move.

It's now fixed. :)
Diff Revision 725109

Aron Boström committed changes in /trunk/KDE/kdegames/bovo:
Finally fix a bug that has been there since the very dawn of Bovo.
When switching theme, the background was left untouched outside of the grid, which wasn't very pretty when the new theme had another background color.

(Don't tell anyone, part of this is a really, really duct tape solution.)

Also: remove previous duct tape fix from high contrast theme.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 726795
View Visual Changes (to 1 file)

KDE-Base
Allan Sandfeld Jensen committed changes in /trunk/KDE/kdelibs/kio:
Store all http-headers in the cache.
Helps bad PHP -> JavaScript abuse like jQuery
Bug 149723: KHTML fails jQuery test suite
Diffs: 1, 2, 3 Revision 725638

David Faure committed changes in /trunk/KDE/kdebase/apps:
Use standard action names for up/back/forward/home. This fixes konq having two Go menus.
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 725970

Sebastian Pipping committed changes in /trunk/KDE/kdelibs/kate/syntax/data:
Fixes for C/C++ highlighters:
- Recogize comments after #define (#108370)
- Folding for for all proprocessor conditionals (only for "#if 0" before) (#124362)
- Folding for multi-line comments was missing in C++ highlighter
- Error marking for preprocessor lines not in #(define|elif|else|endif|if|ifdef|ifndef|include)
- Sync notice added
- Version number incremented to same value
Bug 108370: C/C++ syntax highlight doesn't distinguish comments on the same l...
Bug 124362: collapse code between precompiler #if #endif
Diffs: 1, 2 Revision 725983

Rafael Fernández López committed a change to /trunk/KDE/kdebase/apps/dolphin/src/infosidebarpage.cpp:
On the Information panel the further information such as "Date", "Size", "Type" was being cut off if it was being shrinked. That shouldn't happen. This prevents this information to be hidden or cut off, and so this is always shown.

Albert: I also solved the previous bug you reported (places view not showing selected items at the first click) on a different commit
Diff Revision 726522

Rafael Fernández López committed changes in /trunk/KDE/kdelibs/kdeui/icons:
This code fixes the icon loading for 4.0. This code _needs_ to be reviewed when Qt 4.4 is out. I will personally take a look on this when the time comes. Right now, as the SVG renderer is just broken on Qt, what we do is to resize from PNG's.
Diffs: 1, 2 Revision 726710

Jaroslaw Staniek committed a change to /trunk/KDE/kdelibs/kdeui/kernel/kstyle.cpp:
The patch fixes sort indicator (PE_IndicatorHeaderArrow element):
only 'down' arrow was displayed before.

All KStyle-based styles were affected like Oxygen or Plastik, so only plastique worked properly.

As a sanity check I test QStyleOptionHeader::sortIndicator and State_UpArrow/State_DownArrow flag.
Diff Revision 726930

Luboš Luňák committed a change to /branches/KDE/3.5/kdebase/kioslave/thumbnail/thumbnail.cpp:
Sigh ... non-truecolor images have a palette, and it should not be just ignored as if everything was 32bpp. Convert to 32bpp to avoid the problem (bnc:334965)
Diff Revision 727043

Hamish Rodda committed changes in /trunk/KDE/kdelibs/kate:
Fix katepart so that the whole view does not re-layout and repaint on each keystroke.

This is essentially removing a hack I inserted when I was porting and having difficulties with drawing. It is a rather large change to how things work even though the amount of code changed is relatively small. Please notify me if you find any rendering regressions.
Diffs: 1, 2, 3, 4, 5 Revision 727209

Networking Tools
David Faure committed changes in /trunk/KDE:
Rename default emoticons theme from Default to kde4.
Existing config files can still say "Default", the code interprets that as "kde4".
Found emoticons in use in kopete and kpimutils (for e.g. kmail); no kde4-konversation yet.
Diffs: 1, 2, 3, 4, 5, 6 Revision 725907

Joris Guisson committed changes in /branches/extragear/kde3/network/ktorrent:
Fix two crashes :
- One when trying to download an empty link with the RSS plugin (150879)
- Crash at exit when the RSS plugin was loaded
Bug 150879: crash when nothing to download in rss feed
Diffs: 1, 2, 3 Revision 726720

Roman Jarosz committed changes in /trunk/KDE/kdenetwork/kopete/protocols/oscar/liboscar:
Reduce file transfer CPU usage from 100% to 2% during send :D
Diffs: 1, 2 Revision 727548

Office
Thomas Zander committed changes in /trunk/koffice/libs:
Fix usecase where enlarging the actual document (like adding a page in kword) would move the view down a bit on every page-add.

Loading a big document (which adds pages after loading) now correctly keeps the canvas on the position it started on.
Diffs: 1, 2, 3 Revision 727014

Features
Development Tools
Hamish Rodda committed changes in /trunk/KDE/kdevelop/plugins/appwizard:
Restore support for importing a project

Could someone with knowledge of the intended .kdev4 structure check that the output is correct?
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 726208
View Visual Changes (to 1 file)

Games
Aron Boström committed a change to /trunk/KDE/kdegames/doc/bovo/index.docbook:
Add Bovo documentation. Look out for:
* Bad English and lack of logic.
* It builds, but I can't seem to figure out how to view it.

Now, it just needs a review (and subsequent corrections).
Diff Revision 725989

Graphics
Gilles Caulier committed a change to /trunk/extragear/libs/kipi-plugins/metadataedit/plugin_metadataedit.cpp:
kipi-plugins from trunk (KDE4) : XMP metadata editor : new option to remove all XMP metadata from a selection of pictures. This option work exactly like Remove EXIF or Remove IPTC.
Diff Revision 725799

Marcel Wiesweg committed changes in /trunk/extragear/libs/libkexiv2/libkexiv2:
Merge changes to get information for new database schema in digikam:

GPS:
- split up in getGPSLatitudeNumber, getGPSLongitudeNumber, getGPSAltitude
- add checks that the denominator is not (I have one RAW image here, KODAK-DCSPRO.DCR, where invalid info with denominator 0 is returned. In any case, 1/0 is not 0)
- add getGPSLatitudeString, getGPSLongitudeString to get XMP-like GPS strings
- add a setGPSInfo method which takes the XMP-style strings
- add methods to convert from/to XMP-style string format
- add a method to convert to user-displayable numbers (in ° ' '' between 0 and 60)

Exif:
- add getDigitizationDateTime

Xmp:
- add getXmpTagVariant to get an XMP tag value as a QVariant (similar to getExifTagVariant, but with support for LangAlt etc.)
Diffs: 1, 2, 3, 4, 5 Revision 726404

Marcel Wiesweg committed a change to /trunk/extragear/graphics/digikam/libs/dmetadata/metadatainfo.h:
Add a namespaced enum of all those fields that will be retrieved from the metadata of a file and possibly stored in the database. This list is our choice for digikam.
Diff Revision 726406

Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/libs/database:
- Add an initial implementation of the V4toV5 major schema upgrade - move Images and Albums to new tables - create one AlbumRoot from KConfig info - create file filter settings from KConfig info - TODO: one complete scan - port Rating, Comment, Date (overwrite values read by ImageScanner with those found in the db!)

- modify and rearrange parts of the updater logic
Diffs: 1, 2 Revision 726428

Pino Toscano committed a change to /trunk/KDE/kdegraphics/okular/part.cpp:
make print preview working again (of course, just for few document types, as QPrinter sucks and kdeprint is too good)
Diff Revision 726764

KDE-Base
Christopher Blauvelt committed changes in /trunk:
SolidDevice engine is feature complete and ready for inclusion in trunk.
Diffs: 1, 2 Revision 725242

David Faure committed changes in /trunk/KDE/kdelibs/kdecore:
KService: support for storing Actions defined in .desktop files into ksycoca4.

While writing the unit test for this, I noticed that the binary representation (like, in ksycoca) of a single KService was 3700 bytes. This is because KConfigGroup::entryMap returns all translated entries. After filtering those out, the KService is down to 755 bytes; and the whole ksycoca4 went from 9.0M to 1.5M!

Seems to be an unexplained KConfig behavior change, which should be fixed, though.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 725525

Maksim Orlovich committed changes in /trunk/KDE/kdelibs/khtml:
A major rework (really rewrite except for the graphics bits) of the <canvas> support, to fix the fundamental problems the previous implementation had. Essentially, it used to store all the bits in the renderer, and have the painting state split between an ephemeral painter (which went away on every repaint), and the JS context object. The way it's spec'd in HTML5 is that the canvas element/its context manage the canvas area and the painting state, and the renderer merely scales. So, I did the following:

1) The context, gradients, patterns, are all proper DOM objects, giving the information the expected lifetime.

2) The DOM context object keeps track of all the painting state itself, updating the painter as needed, and provides the canvas APIs

3) khtmlImLoad gets a new CanvasImage class, that provides a way of using its scaling cache features for this sort of thing. It's not a great fit (it's really meant for something more static), but it's reasonable

4) The JS part is now just a standard wrapper object, with some extra parameter checking, and a bit of code to split the type-unsafe things nicely.

Should we perhaps provide this as part of our C++ DOM in 4.1 or a later 4.0.x release?

5) In general, this was brought in line with HTML5 as best as I could, not being a graphics guy. At least the type checking should be close... assuming I understood it right

There are still gaps/missing features and bugs, of course, but this should serve as a solid foundation.

Various portions were reviewed by Allan, Germain, Harri and Fredrik, hopefully totally covering everything.

(Oh, and I need to figure out how to testcase this properly; I've been using a bunch of web-available testsuites, but we need something for khtmltests)
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 725649

Clarence Dang committed a change to /trunk/KDE/kdelibs/kdeui/actions/kfontaction.cpp:
Make KFontAction mostly work -- at least enough for changing font in KolourPaint:

* Make changing the font in the GUI update the action (call i.e. setFont())

* Make programmatically calling setFont() update the GUI, but not fire a signal (mimicks KDE 3.5 behavior)

* Make createWidget() set the created combobox to the action's current font

This took a surprising amount of time to write (don't ask).
Diff Revision 725702

Craig Drummond committed changes in /trunk/KDE/kdebase/workspace/kcontrol/kfontinst/kcmfontinst:
Improve appearance - especially when themed with oxygen
Diffs: 1, 2 Revision 725926

Andriy Rysin committed changes in /trunk/KDE/kdebase/workspace/kcontrol/kxkb:
- plasma applet (initial code)
- fix couple of crashes
- some cleanups
Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 726099

Dominik Haumann committed a change to /trunk/KDE/kdelibs/kate/syntax/data/erlang.xml:
add erlang for kde4
Bug 113484: Erlang syntax highlighting support
Diff Revision 726393

Sebastian Pipping committed a change to /trunk/KDE/kdelibs/kate/syntax/data/scala.xml:
Stephane, we just added your Scala highlighter for Kate to the KDE repository. Please forward future patches to kwrite-devel. Thank you!
Diff Revision 726403

Sebastian Pipping committed a change to /trunk/KDE/kdelibs/kate/syntax/data/noweb.xml:
Noweb highlighter by Scott Collins added
Diff Revision 726482

Sebastian Pipping committed a change to /trunk/KDE/kdelibs/kate/syntax/data/dtd.xml:
Add DTD highlighter by Andriy Lesyuk
Diff Revision 726691

Sebastian Pipping committed changes in /trunk/KDE/kdelibs/kate:
New wildcard match engine
Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 727168

Alexis Ménard committed changes in /trunk/playground/base/plasma/applets/solidnotifier:
Add a future method to call Solid Ui service when the notifier will be clicked
Diffs: 1, 2 Revision 727554

KDE-PIM
Marc Mutz committed changes in /branches/work/kdab-post-4.0/kdepim/kleopatra:
Implement a shared key cache. Oh, how I wish I could have used boost.multi_index for that :/
Diffs: 1, 2, 3 Revision 725493

Antonio Aloisio committed changes in /trunk/playground/pim/kblogger/src/plugins:
Initial KIPI Plugins support
- Added setupplugins Class.
Diffs: 1, 2, 3 Revision 725612

Volker Krause committed changes in /trunk/KDE/kdepim/akonadi:
The agent manager now handles all kind of agents, not just resources.
This includes support for autostarting single-instance agents such as the mail threader.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 727187

Thomas McGuire committed a change to /trunk/KDE/kdepim/kmail/kmfoldertree.cpp:
Don't allow drag&drop from the favorite folder view to the folder tree.
It does not make sense and does not work.
Diff Revision 727491

Multimedia
Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src:
some more work on collabsible albums. I think I will need to optimize the playlist some before progressing further with this work as it stresses it quite hard at the moment. But we already knew that the playlist was not optimised at all and contains lots of lots of O(n) stuff still
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 725477

Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src:
Try out a new way of regrouping albums in the playlist. As of rigth now it is not much faster than the old one, but as it does not requre regrouping of the entire playlist in most cases, it has potential tp become a lot faster if the internal datatypes are optimised (such as using hashes instead of lists).

Grouping seems to work correctly, but there are still some issues with redrawing the playlist leaving some thing looking slightly broken untill a redraw is triggered.

This grouping aproach also has the advantage that information about collapsed groups are not disarded every time a regroup is triggered. Oh, one more thing, removing single items from the playlist seems to send it into some kind of an infinite loop at the moment...
Diffs: 1, 2, 3, 4, 5, 6 Revision 725868

Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src/servicebrowser/magnatunestore:
initial prototype support for the yet_to_be_released magnatune streaming membership service
Diffs: 1, 2, 3 Revision 726227

Nikolaj Hald Nielsen committed a change to /trunk/extragear/multimedia/amarok/src/playlist/PlaylistGraphicsView.cpp:
Dont animate items that when neithe rthe old or new y position is within the visible area of the playlist. This change actually makes the playlist usable with a large number of tracks (I tested it with just over 3000 tracks).

The only really bad performance problem with the playlist right now is collapsing and expanding albms wiht a large umber of tracks. 10-20 tracks are almost instantanious, but collapsing someting with about 100 tracks (yeah, kind of a corner case) takes 10-20 seconds...
Diff Revision 726256

Dan Meltzer committed changes in /trunk/extragear/multimedia/amarok/src/collectionbrowser:
Implement sorting in the collectionbrowser by Track Number.

We reimplement lessThan in the proxyModel to do so. Note that this sort order does not propogate down to the source model, which means that adding items to the playlist from the collection does not insert them in the sorted order. I'm not quite sure the proper way to fix this at present, will investigate.
Diffs: 1, 2 Revision 726580

Dan Meltzer committed changes in /trunk/extragear/multimedia/amarok/src:
Sort tracks when they are added to the playlist as well. This could possibly cause problems if the user does not want them sorted by track number on insertion, but I'm not sure if that would ever be the case
Diffs: 1, 2, 3, 4 Revision 726583

Dan Meltzer committed changes in /trunk/extragear/multimedia/amarok/src:
Show track numbers in the collection browser. This should probably be an option, but I'm not sure where the option should go.
Diffs: 1, 2, 3, 4, 5 Revision 726697

Matthias Kretz committed changes in /trunk/playground/multimedia/phonon:
- compile controlwidgets with the rest
- store the PCM I/O ideas in playground...
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 727098

Networking Tools
Michaël Larouche committed changes in /trunk/KDE/kdenetwork/kopete/kopete:
Finished Kopete D-Bus interface initial version
Diffs: 1, 2, 3 Revision 726495

Joris Guisson committed changes in /trunk/extragear/network/ktorrent/plugins:
Krzysztof has ported his stats plugin, and added an option to not draw the background grid, which fixes 150889.
Bug 150889: statistics plugin: please remove background grid
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 19 more) Revision 726708
View Visual Changes (to 3 files)

Frerich Raabe committed changes in /trunk/KDE/kdenetwork/knewsticker:
- Porting KNewsTicker to KDE4 (and Plasma, and Qt4, and whatnot); unfortunately so many things changed (and so many other things I want to rewrite anyway) that I can just as well throw everything away and start from scratch. At least I don't have to do the RSS parsing anymore, I'll use the 'syndication' library from kdepimlibs.

This is a minimum plasmoid, it's visible in the list of applets. So far, so good.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 727142

Frerich Raabe committed changes in /trunk/KDE/kdenetwork/knewsticker:
- Start looking like a scrolltext by implementing the renderer a bit and adding some sample news items. Very crude yet. In particular, it's flickering somehow and I'm not sure how to fix this.
Diffs: 1, 2, 3, 4 Revision 727181

Frerich Raabe committed changes in /trunk/KDE/kdenetwork/knewsticker:
- Instead of doing the scrolling ourselves (like I did since KDE2), let's try using QGraphicsItems instead. Each item in the scroller is a QGraphicsItem and we scroll them by calling moveBy() on them.

Pro:
Very simple to implement, very little code.
A lot of features (event handling on the items) for free

Contra:
Slow as well (each KNT instance takes 15% for me, and I'm not sure why)
Diffs: 1, 2, 3, 4, 5 Revision 727383

Frerich Raabe committed changes in /trunk/KDE/kdenetwork/knewsticker:
- Introducing a 'NewsTickerItem' which behaves like a hyperlink. Now you can click things to open the respective page.
Diffs: 1, 2 Revision 727411

Frerich Raabe committed changes in /trunk/KDE/kdenetwork/knewsticker:
- Started a KConfigXT based configuration facility (at least the font size and the color is now configurable).
Diffs: 1, 2, 3, 4, 5, 6 Revision 727482
View Visual Changes (to 1 file)

Office
Cyrille Berger committed changes in /trunk/koffice/krita/plugins/paintops/dynamicbrush/programs/basiccoloring:
make the editing of a basic coloring program fully functionnal (hopefully)
Diffs: 1, 2, 3 Revision 725168

Boudewijn Rempt committed changes in /trunk/koffice/krita:
Two things in this commit:

a) the qpainter canvas refactoring (that, as noted before, is still buggy)
b) lots of work on the node/layer/mask refactoring. Still very buggy, but there has been progress since my last commit on this topic: clicking the relevant buttons now do insert new layers. They are just not selectable.

More work will follow tomorrow.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 35 more) Revision 725175
View Visual Changes (to 1 file)

Jaroslaw Staniek committed changes in /trunk/koffice/kexi:
GUI
- local toolbars now entirely belong to KexiViews, not to KexiWindows, for smoother GUI updates
- flow layout: it is now possible to set vertical/horizontal alignment of items
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 27 more) Revision 725425

Johannes Simon committed changes in /trunk/koffice/kchart/shape:
* Added more options to the ChartTypeToolWidget
* Simple 3D support for bar charts, line charts, and pie charts
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 725480
View Visual Changes (to 1 file)

Johannes Simon committed changes in /trunk/koffice/kchart/shape:
More work on ChartProxyModel. Now most of the functionality that's needed is implemented. Changes now allow us to set
* the data direction ( setDataDirection( Qt::Orientation ) and dataDirection() )
* whether the first column or row is to be treated as a header:
- setFirstRowIsHeader( bool ) and firstRowIsHeader( bool )
- setFirstColumnIsHeader( bool ) and firstColumnIsHeader( bool )

Also, mapToSource( QModelIndex ) works, and mapFromSource( QModelIndex ) needs some testing as I haven't done that yet.

With this implementation of the proxy model, it's expecting pure table data.
Headers in the source model - that is, accessible through sourceModel()->headerData() -
will be ignored.
Diffs: 1, 2, 3, 4 Revision 726628

Thomas Zander committed a change to /trunk/koffice/libs/flake/KoCanvasResourceProvider.h:
Add a new property that applications should set while they are 'loading' a document.
This allows all tools, dockers etc to ignore any changes and thus avoid slowness due to repaints or worse, race conditions and crashes.
Diff Revision 726948

Inge Wallin committed changes in /trunk/koffice/kchart:
Start of OpenDocument loading of charts!

This is the last large item on the TODO list before we can start working on the details. This patch handles ODF loading in the KChartPart. What we need now is some handling on the ChartShape side.

This should be fairly easy, since there is lots of code in the old KChart to steal from.
Diffs: 1, 2 Revision 727549

User Interface
Johann Ollivier Lapeyre committed changes in /trunk/KDE/kdebase/runtime/pics/oxygen:
specific game icon to give a hint. This specific green is made on purpose to be harmonized with in games hint (usability)
Diffs: 1, 2, 3, 4, 5 Revision 725633
View Visual Changes (to 5 files)

Casper Boemann committed changes in /trunk/KDE/kdebase/workspace/kwin/clients/oxygen:
Add dividing line below titlebar
Fiddle with metrics of buttons ad text a bit
We are mostly done with win dec now - Only hover on buttons missing
Diffs: 1, 2 Revision 726799

Matthew Woehlke committed a change to /trunk/KDE/kdebase/runtime/kstyles/oxygen/lib/helper.cpp:
glows: remove fuzz, increase bias - this way glows don't overlap the edge so much (in theory not at all but the AA is not perfect), and round slab glows don't look "broken" (i.e. gaps in the edge)
Diff Revision 727067

Optimise
KDE-Base
Luboš Luňák committed changes in /trunk/KDE/kdebase/workspace/kwin:
Don't do any compositing when nothing is visible anyway (e.g. when switched away from the X session).
Diffs: 1, 2, 3, 4 Revision 726713

Multimedia
Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src/playlist:
dont animate items bound for beyond the visible area... This greatly speeds up expanding large groups of items, and looks almost as good during the animation. Also fix speed when collapsing large groups and a few crashes
Diffs: 1, 2, 3 Revision 726321

Other
Development Tools
Michael Pyne committed a change to /trunk/KDE/kdesdk/scripts/kdesvn-build:
Exchange a Perl warning that dfaure found for a more understandable warning. Or in other words kdesvn-build may build all of extragear or playground in one pass but I'm loath to call it "supported"
Diff Revision 725560

Educational
Patrick Spendrin committed a change to /trunk/KDE/kdeedu/kstars/kstars/CMakeLists.txt:
So I hope that doesn't change anything for linux and will make it work for win32; As a result:http://img141.imageshack.us/my.php?image=kstarsrw0.png
Diff Revision 726490

Torsten Rahn committed changes in /trunk/KDE/kdeedu/marble/src/lib/geodata/data:
- Importing Murad's base classes and "re-namespacing" them to the GeoData namespace. The Document and Folder stuff needs to get merged later on.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 26 more) Revision 726594

Games
Aron Boström committed changes in /trunk/KDE/kdegames/bovo/themes:
Since there are some glitches with theme switching, and some serious painting issues with the gomoku theme, disable the gomoku and spacey themes and change the background color of the high contrast theme to white.

Thus, there are no visible problems left with theme painting.

Revert this as 4.0 hits the world.
Diffs: 1, 2 Revision 725491
View Visual Changes (to 1 file)

Graphics
Clarence Dang committed a change to /branches/kolourpaint/control/kde4port/unreviewed_patches/suspicious:
Finally, after years (!), all of trunk/KDE/kdegraphics/kolourpaint/ has been ported to Qt4 or marked with "COMPAT". Hopefully, there are no more silent semantic changes to Qt4 that I missed.
Diff Revision 725029

John Layt committed changes in /trunk/KDE/kdegraphics/okular:
Port from KPrinter to QPrinter, remove dependency on KDE4_KDEPRINT_LIBS.

*** Note this is not a complete port, most of the generators use the printFiles method which Qt 4.3 does not support, these have simply been commented out until we find a solution. At least it removes the dependency so we can remove from kdelibs.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 26 more) Revision 725660

Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/libs/database:
At the time it was a nice idea to write the absolute path and the status of album roots dynamically into the database so that they were available from SQL.
But now I see that this is not the way to go. It does not allow sharing DBs (not that we support that officially, or say that it works, but people will do it once we support MySQL, and this would break it), and it does not work with read-only DBs.

So now, we always have the album root id and use CollectionManager then which has all the necessary information.

Adapt a lot of SQL.
Diffs: 1, 2, 3, 4 Revision 726439

Eli Fidler committed changes in /branches/work/kst/portto4-objectstore/kst:
HUGE commit!!! Project build and runs. Most tests work.

Introduce ObjectStore, which is responsible for creating, naming, storing, and accessing all Kst::Objects.

many, many cleanups

rebuild Equation parser

fix Matrix::resize()

spacing fixes everywhere
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 143 more) Revision 726751
View Visual Changes (to 2 files)

John Layt committed changes in /trunk/extragear/graphics/ligature:
Port from KPrinter to QPrinter, remove dependency on KDE4_KDEPRINT_LIBS.

I was unable to test as ligature segfaulted on startup even before I started work.
Normally I wouldn't commit this, but ligature will break on Monday anyway when KDEPrint is removed from kdelibs, so at least this way it builds OK.

Note this is only a partial port as QPrinter does not support printFiles or non-continuous print ranges required for the page selection side-bar. We are currently developing the solution for this and will finshing porting when that is ready in about 2 weeks.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 19 more) Revision 727412

KDE-Base
Richard J. Moore committed changes in /trunk/KDE/kdebase/workspace/plasma/runners/calculator:
- Use QtScript instead of launching bc - it's faster and avoids starting a new process. Could do with making the regexp that decides when to use this runner a bit more relaxed.
Diffs: 1, 2 Revision 725062

John Tapsell committed changes in /trunk/KDE/kdebase/workspace/ksysguard/libksysguard/processui:
Try to make it a bit more friendly:

* If a process is stopped, the context menu will include "Resume stopped process", which prompts for root password if needed
* If a process is a zombie, no option to kill/renice will be given
* Added context menu option to select and jump to the parent process, if applicable
* Added context menu option to select and jump to the process that is debugging it, if applicable
* When multiple processes are selected, the context menu options change to "Kill processes" etc.
Diffs: 1, 2, 3, 4, 5 Revision 725157

Hoàng Đức Hiếu committed changes in /trunk/playground/base/plasma/applets:
add fortune-teller applet, it prints stdout of /usr/games/fortune
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 725408

Kévin Ottens committed changes in /:
Bye bye kio media. Liked you, but unfortunately Solid and KFilePlacesModel are prettier now...
Diffs: 1, 2 Revision 725532

David Faure committed changes in /trunk/KDE/kdelibs/kdecore/tests:
Added test for KConfigGroup::entryMap(). This shows that translated keys are present in the entryMap.

Any KConfig guru for removing them from there? (and hopefully from memory altogether, after parsing?)

KDE3 had them when using KConfig but not when using KDesktopFile, very weird stuff [see k-c-d].
Diffs: 1, 2 Revision 725554

Jos van den Oever committed changes in /trunk/kdesupport/strigi:
This is a rather big patch that moves the code for the actual indexes into loadable plugins.

Strigi has always abstracted the index containing all the search terms. This means you can use any database by implementing three classes: IndexManager, IndexWriter and IndexReader. Only one thing was missing: loading these index types from plugins. In practice this meant that different indices need to be added at compile time. It also meant no GPLed databases can be used.

For Nepomuk, Sebastian Trueg has written an implementation of a Strigi index that stores the data in the Nepomuk storage. In doing so, he has created a direct need for indexes as plugins.

So I've writting the code to make this possible and I've attached it as a patch. Since we are in freeze I'm asking you all to have a look at it. The plugin loading part is basically the same as what we use for loading the analyzer plugins.

So what does the patch add:
- add a class IndexPluginLoader (not public) that looks in the strigi plugin directory for files named strigiindex_$name.{so,dll} and loads them if they define createIndexManager and deleteIndexManager.
- ports all strigi code to use it
- removes the compile-time lib${name]index.so libraries and uses the plugins instead

No public API is changed by this code. It does add a macro REGISTER_STRIGI_INDEXMANAGER for easily registering an IndexManager in a plugin.

In hindsight, we should have added this much earlier as it makes (will make) the build system dependencies much cleaner.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 20 more) Revision 725782

Rafael Fernández López committed changes in /trunk/KDE/kdelibs/kdeui/icons:
KIconLoader now returns more quality icons if the requested size is not a standard one. This means that if the size requested is not standard it will try to load the icon from the SVG format before than trying to load the PNG image and then resizing it (what leads to a worse image quality).

In the case that not SVG was found and PNG was, the change on KIconTheme assures that it will stop on the closest size bigger than the selected (for example, it will stop on 22x22 if you requested a 19x19 pixels icon size) and then resize it.

This will only happen if the SVG wasn't found. If the size is a standard one, go on with the normal procedure: load the PNG that is faster than drawing a SVG and since no resizes are needed no quality is lost.
Diffs: 1, 2 Revision 725955

David Faure committed changes in /trunk/KDE/kdebase/apps/konqueror/sidebar/trees/init:
media:/ and system:/ are no more
Diffs: 1, 2, 3, 4 Revision 725965

Aaron J. Seigo committed a change to /trunk/KDE/kdelibs/kfile/kfilewidget.cpp:
user friendly hand holding can go into the breadcrumb; this combo should be easily and predictably edittable. if the user switches to full edit mode, they know what $HOME is.
Diff Revision 726807

Daniel Molkentin committed changes in /trunk/KDE/kdelibs/kdeui:
add Oxygen color palette
Diffs: 1, 2, 3 Revision 727094

Dirk Mueller committed a change to /trunk/KDE/kdebase/apps/konsole/src/SessionController.cpp:
this assert hits here. I wasn't able to figure out why that happens, given that if one konsole crashes, all konsole's disappear (great concept!) hacking around seems to help.
Diff Revision 727397

Josef Spillner committed changes in /branches/work/knewstuff2/knewstuff-polishing/knewstuff2/ui:
- mockup implementation of progress indicator, which isn't linked to the engine yet
Diffs: 1, 2, 3, 4 Revision 727519

Albert Astals Cid committed a change to /branches/KDE/3.5/kdelibs/kdeui/kactionclasses.cpp:
Revert r706570 which fixed a corner case in kaffeine and broke zoom settings on kpdf, kghostview, kview and basically anything using editable kselectations

You'll have to find a fix that does not break all the other applications using the same class as you

Please next time be extra careful when touching kdelibs code
Bug 150944: kview lost custom zoom
Diff Revision 727528

KDE-PIM
Casper Boemann committed changes in /trunk/KDE/kdepim/kontact:
Change various frames to make a nicer visual appearence
Mostly a matter of using styled frames rather than ugly win95 type
And also remove the big around-it-all frame.
Diffs: 1, 2, 3 Revision 725206

Thorsten Staerk committed changes in /trunk/KDE/kdepim/ktimetracker:
Exporting to csv files works, now we un-bloat the UI by removing the printing possibility.
Diffs: 1, 2, 3, 4, 5, 6 Revision 725255

Networking Tools
Charles Connell committed changes in /trunk/extragear/network/kopete-plugins/cryptography:
Use kleo for encryption and signing
Don't crash the chatwindow config pane by assuming it uses a protocol (which it doesn't)
Increment version from 1.2 to 1.3.0 in lieu of kleo usage and async decryption
Diffs: 1, 2, 3, 4, 5 Revision 725133

Pino Toscano committed changes in /trunk/extragear/network/ktorrent:
Change most of the tooltips with simple (= non-formatted) text to not use rich text.
This makes them much easier to be translated, and no more hardcoded fonts.
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 727022
View Visual Changes (to 7 files)

Frerich Raabe committed a change to /trunk/KDE/kdenetwork/knewsticker/TODO:
- These weren't implemented in the last seven years, they're probably not going to in the near future :-)
Diff Revision 727418

Frerich Raabe committed changes in /trunk/KDE/kdenetwork/knewsticker:
- Instead of hardcoding news items, use the syndication lib from kdepimlibs to fetch the KDE news
Diffs: 1, 2, 3, 4, 5 Revision 727430

Office
Inge Wallin committed changes in /trunk/koffice/kchart:
Convert ChartTypeCommand to handle an embedded ChartShape instead of the built-in KDChart.

This is in preparation to remove the built-in KDChart totally, thus finishing the move to ChartShape.
Diffs: 1, 2, 3, 4, 5 Revision 725074

Cyrille Berger committed changes in /trunk/koffice/krita/plugins/paintops/dynamicbrush/programs/basiccoloring:
* remove the "purity" tab, it's not needed as hue/saturation/brightness can be associated with a sensor
* gives good name to widget in the ui file* make checking/unchecking the "enable" checkbox, enable/disable widgets
Diffs: 1, 2, 3 Revision 725116
View Visual Changes (to 1 file)

Dag Andersen committed changes in /trunk/koffice/kplato:
"Port" to QPrinter.
Printing hasn't worked before, and doesn't now, so "porting" was quite easy ;)
Diffs: 1, 2 Revision 725365

Cyrille Berger committed changes in /trunk/koffice:
move the CMYK to a subdirectory of libs/pigment (this is probably not an optimal solution, but no reasonnable true solution appeared in two weeks, and as files are easy to move, if a better solution comes, those files will be easily moved to an other location, so don't worry !)
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 726488

Johannes Simon committed a change to /trunk/koffice/kchart/shape/ChartShape.cpp:
Little workaround for the chart not getting updated after setting a new source model. I myself think this is a pretty ugly fix, as it is done by recreating the entire diagram, so I marked it as a 'FIXME'. But still better than it was before, I'd say.
Diff Revision 726672

Johannes Simon committed a change to /trunk/koffice/kchart/shape/ChartShape.cpp:
Yes!! KDChartAbstractDiagram::doItemsLayout() is the function I was looking for ;D
It updates the diagram after we changed the models data. Setting the data direction and firstRow/ColumnIsHeader for a chart now works flawlessly.
Diff Revision 727462

Johannes Simon committed a change to /trunk/koffice/kchart/shape/ChartLegendConfigWidget.ui:
No real work on the legend tool so far, just a couple of ideas how we could arrange the config elements.

The position property is still missing in there, since I'll code some custom-tailored widget for that one later ;-)
Diff Revision 727544
View Visual Changes (to 1 file)

Other
Benoît Jacob committed changes in /branches/work/eigen2:
Merge WrapArray into FromArray. Less code. The downside is that we're using one more const_cast. But I think that anyway trying to maintain const strictness in Eigen2 is not worth the hassle.

Konstantin: so the code snippet I sent you won't work anymore, replace wrapArray with fromArray.
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 725140

Benoît Jacob committed changes in /branches/work/eigen2/src/Core:
make shameless use of const_cast to reduce code redundancy. This means Eigen2 gives up enforcing constness. I really tried to enforce it, but it really was much hassle because our expression templates can be lvalues (not only rvalues) and so much code had to be written twice.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 10 more) Revision 725345

Dirk Mueller committed changes in /trunk/kdesupport/qca:
so, I learned that the official way to build qca is via qmake and that cmake is just a hack. a hack that works, unlike qmake. except that it doesn't install man pages and that the pc file is different.

the remaining bit is to create the crypto cert directory, I haven't figured out how to do that with cmake yet
Diffs: 1, 2, 3 Revision 726674

User Interface
Casper Boemann committed changes in /trunk/KDE/kdebase/runtime/kstyles/oxygen:
This is going to be popular: reduce the size of toolbuttons in toolbars

Also fix the hover effect of toolbuttons outsie toolbars

And finaly move the menubar 2px up
Diffs: 1, 2 Revision 726806

Jakob Petsovits committed changes in /trunk/KDE/kdebase/runtime/pics/oxygen:
Icon naming spec (and IANA MIME type) compliance:
Remove a lot of formerly used mimetype icons for which the proper replacement already exists, and move the other ones to their correct name.

As KDE 4 uses the XDG shared MIME database, no one should be affected by these changes anymore.

If someone is, remember not to directly load icons from the mimetype category by specifying their names.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 168 more) Revision 727205
View Visual Changes (to 22 files)

Security
Development Tools
Dirk Mueller committed a change to /branches/KDE/3.5/kdevelop/languages/python/kde_pydoc.py:
implement some basic html escaping to avoid injection issues in the help browser
Diff Revision 726268

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