prev
Issue 77
23rd September 2007
by Danny Allen
next


This Week...
A security fix developed for KDM, covering KDE 3.3.0 to 3.5.7. A KioBrowser data engine, HDD monitor applet, and general layout work in Plasma. More refinements in Parley (formerly KVocTrain). GeoData subproject in Marble to support popular geographic data formats. An AI player added to Kombination. Development renewed on the KPicross game. Basic printing support in Gwenview. Improved mimetype detection, as per the cross-desktop specifications. More work on text highlighting in Kate. Continued developments and optimisations in Akonadi, including the OpenChange (Exchange) connector. Further work on the GStreamer Phonon backend. Colourspace work in Krita, greater definition given to KChart2. File management part in Konqueror is replaced by a shared Dolphin part usage. More KDE SVN reorganisations.

Brad Hards discusses work on the OpenChange plugin for Akonadi:
Microsoft Exchange support has been a long-requested feature for KMail (add bug number). Of course, if the Exchange administrator has enabled IMAP, then you can use that to get your email. However if you want all the groupware features, then you really need to be able to use the native protocols.

The native protocols are normally called "MAPI", which is slightly misleading, but convenient. There are really two protocols that run over Microsoft Remote Procedure Call (RPC) - one for the message store (the EMSMDB protocol), and one for the address book (the NSPI protocol).

Akonadi is the next-generation groupware infrastructure, currently under development as part of KDE-PIM. Akonadi components communicate using D-Bus (rather than the normally shared library arrangement we normally have within KDE), so to provide "native MAPI" within Akonadi, we need an application that conceptually translates Akonadi D-Bus calls into matching Exchange RPC calls. That would be a lot of work to do from scratch, but fortunately, we don't need to.

There are a couple of applications in the Open Source/Free Software world that have extensive experience with Microsoft RPC - Wireshark and Samba.

OpenChange is a project that builds on Samba (Wireshark is also used for development, but not at run-time) to provide support for the client-side and server-side "MAPI protocols". The client-side consists of two libraries and some command-line applications, and the server-side consists of a server plugin for Samba. Both client and server components rely on Samba 4, which has some architectural changes that really help to build add-ons like OpenChange - certainly it wouldn't be possible to build OpenChange with Samba 3.

The Akonadi resource that I've been working on uses one of the client-side OpenChange libraries to provide access to a Microsoft Exchange server from an Akonadi client application. It will also provide access to an OpenChange server when this is complete. There is a long way to go, but we do have proof-of-concept access to mail and contact information from a Microsoft Exchange server (any of Exchange 5.5, Exchange 2000, Exchange 2003, Small Business Server or Exchange 2007).

The Akonadi OpenChange resource doesn't have much of a GUI, and screenshots of debugging output are pretty boring, but if you use the akonadiconsole demo application, you can see the resource in action.


Note that the folder names are as returned from the server, and all the data in the contact is from the server (created using Outlook 2003 and saved to an Exchange 2007 server). Even the fish image is from the contact created in Outlook.

The Akonadi OpenChange resource can't actually be distributed as a binary at this stage, because of the Samba 4 dependency which introduces a GPLv2 / GPLv3 conflict. I'm confident that will be resolved at some stage in the future though - hopefully for KDE 4.1 which is where Akonadi should become more widely used.

There is still a very long way to go, and (as always) more help is needed in many areas:
  • OpenChange could use some development assistance, and much more testing. Assistance with getting the Windows port to work would also be most welcome.
  • Akonadi is progressing, but still needs some more work. It would be particularly useful if there were more Models and Views. This can be done without access to an Exchange server.
  • I'd love some help with the Akonadi OpenChange resource, especially if you're at all familiar with Outlook/Exchange/MAPI, or Akonadi.
  • Akonadi isn't really designed to send mail (of any kind), but we do need to support sending mail over MAPI protocols. That will require changes to the MailTransport classes within kdepimlibs.
If you'd like to get involved, please get in contact with me. I'd like to see some corporate involvement too - especially for OpenChange which has potential benefits well beyond KDE (note that I'm not looking for any financial support myself).

Dirk Mueller announces a KDE Security Advisory: KDM passwordless login vulnerability:
Original Release Date: 2007-09-19
URL: http://www.kde.org/info/security/advisory-20070919-1.txt

0. References
CVE-2007-4569

1. Systems affected
KDM as shipped with KDE 3.3.0 up to including 3.5.7. KDE 3.2.x and older and newer versions than KDE 3.5.7 are not affected.

2. Overview
KDM can be tricked into performing a password-less login even for accounts with a password set under certain circumstances, namely autologin to be configured and "shutdown with password" enabled.

This vulnerability was discovered and reported by Kees Huijgen.

3. Impact
KDM might allow a normal user to login as another user or even root without properly supplying login credentials.

4. Solution
Source code patches have been made available which fix these vulnerabilities. Contact your OS vendor / binary package provider for information about how to obtain updated binary packages.

5. Patch
A patch for KDE 3.5.0 - KDE 3.5.7 is available from ftp://ftp.kde.org/pub/kde/security_patches:

ee6c57046902c5b5a32a4699558baafc  post-3.5.7-kdebase-kdm.diff

A patch for KDE 3.3.0 - KDE 3.4.2 is available from ftp://ftp.kde.org/pub/kde/security_patches:

ad7333a336bdbaef7fae5e74cd12119b  post-3.4.2-kdebase-kdm.diff

It has been a while since I last congratulated a contributor on their weekly bug killing score (this reduced bug killing rate really reflects the strong shift in development towards KDE 4, where bugs haven't started to be filed yet), but I feel a hearty thumbs up should go to Urs Wolfer, who closed 38 bugs this week (many of them due to the recent merge of the KRDC Summer of Code project back into trunk)!

Also of note is the "interesting" composition and relatively low percentages of the KDE 4 internationalisation (i18n) status - this will rapidly change once KDE 4 is in string freeze and the translators have a solid target to aim for.


Statistics
Commits: 2688 by 210 developers, 6080 lines modified, 1431 new files.
Open Bugs: 14361
Open Wishes: 13056
Bugs Opened: 140 in the last 7 days.
Bugs Closed: 119 in the last 7 days.

Commit Summary
Module Commits
/trunk/KDE
702
/trunk/l10n-kde4
536
/trunk/playground
244
/trunk/koffice
211
/branches/work
195
/branches/stable
177
/trunk/extragear
156
/trunk/www
155
/trunk/l10n-kde3
68
/branches/extragear
54
Lines Developer Commits
184
Frederik Gladhorn
119
231
Gilles Caulier
105
184
Laurent Montel
95
331
Volker Krause
89
209
Till Adam
73
144
Pino Toscano
63
25
Robert Zwerus
59
82
Allen Winter
57
121
John Tapsell
56
102
Dirk Mueller
49

Internationalisation (i18n) Status
Language Percentage Complete
Portuguese
100.00%
Swedish
99.90%
Greek
95.67%
Japanese
94.17%
Chinese Traditional
87.45%
Spanish
85.63%
German
84.75%
Dutch
84.70%
Nepali
77.22%
Low Saxon
76.06%

Bug Killers and Buzz
Bug Killer Number Of Bugs Closed
Urs Wolfer
38
Pino Toscano
10
Thomas McGuire
10
Rolf Eike Beer
9
Joris Guisson
7
Peter Hedlund
7
Seb Ruiz
4
Frederik Gladhorn
4
Dirk Mueller
4
Mark Kretschmann
4

Program Buzz
Amarok
  6305
K3B
  5640
KMail
  5120
Kopete
  4330
Kontact
  3948
Kate
  3880
KDevelop
  3205
digiKam
  2798
Kicker
  2436
SuperKaramba
  2154


Person Buzz
David Faure
  856
Sebastian Kügler
  854
Stephan Kulow
  771
Matthias Kretz
  654
Adriaan de Groot
  630
Allen Winter
  629
Waldo Bastian
  440
Aaron J. Seigo
  364
Boudewijn Rempt
  340
George Staikos
  322
Commit Countries

Commit Demographics
Sex
95.44 %       Male
2.69 %       (unknown)
1.87 %       Female
Motivation
43.8 %       Volunteer
45.0 %       (unknown)
11.2 %       Commercial
 
Ages
65.34 %       (unknown)
24.7 %       25 to 34
6.89 %       18 to 24
3.78 %       35 to 44
3.46 %       45 to 54
0.136 %       Under 18


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


Bug Fixes
Educational
Anne-Marie Mahfouf committed changes in /trunk/KDE/kdeedu/khangman/src:
- fix KNS for KDE 4 download
- start new Get Hint action (unfinished)
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 713226
View Visual Changes (to 1 file)

Frederik Gladhorn committed changes in /trunk/KDE/kdeedu/parley/src/practice:
At least calculate the % done using double, otherwise it's always zero, as it has been for kde 3.
Diffs: 1, 2 Revision 713283

Anne-Marie Mahfouf committed changes in /trunk/KDE/kdeedu/khangman/src:
as a result of Polishing Day, fix the Hint display to be more intuitive: remove the setting in Config dialog and put "Show Hint" as an action.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 713547
View Visual Changes (to 2 files)

KDE-Base
Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src:
drag and drop fixes for the column view (implied a signal changed which affected other views too)
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 713430

Rafael Fernández López committed a change to /trunk/KDE/kdebase/apps/dolphin/src/kcategorizedview.cpp:
Fix selections problems (like flickering). Click on category select/deselects all items inside it. Ctrl+Click categories lets you add categories to already created selections, as well as inverting selections inside the same category.
Diff Revision 714051

Sebastian Trueg committed changes in /branches/work/soprano2/backends:
Found an impressive threading bugp
I used to lock QReadWriteLock twice for reading when creating an iterator. Once for the method itself with a QReadLocker and once for the iterator. Sometimes that would block.

The problem is that QReadWriteLock favors write locks over read locks, i.e. if a write lock is pending no read lock can be aquired, even a recursive one like the one I did would not get through.

Now for example listStatement would lock, then create the iterator, and then try to lock again. But if between the first and second lock a write operation started, the second read lock would block and wait for the write which in turn waits for the first read lock. -> dead lock.

Wow, it took me hours and hours to find that bug. But it really shows how tricky threaded programming is. :)
Diffs: 1, 2 Revision 714479

Thiago Macieira committed a change to /trunk/KDE/kdebase/apps/konqueror/settings/kio/kmanualproxydlg.cpp:
Patch by Dmitry Ivanov: Fix KDE4 Konqueror proxy settings
Diff Revision 715132

David Faure committed a change to /branches/KDE/3.5/kdelibs/kio/kio/karchive.cpp:
Fix extraction of symlinks from tar/zip files when using copyTo() - at least at the KArchive level.

Unit tests in trunk.
Bug 149903: impossible to open symlink
Diff Revision 715315

David Faure committed changes in /trunk/KDE/kdelibs/kio:
Fix adding symlinks to archives (QFileInfo::symLinkTarget() resolves to a full path, which we don't want in an archive!)

Fix extraction of symlinks
Diffs: 1, 2, 3, 4 Revision 715317

David Faure committed a change to /branches/KDE/3.5/kdebase/kioslave/tar/tar.cc:
Fix wrong redirect when clicking on a symlink in tar:/ (#149903)
Extraction still copies the target -- that's by design in kio due to #5601; tricky problem...
Diff Revision 715318

Greg Martyn committed changes in /trunk/KDE/kdebase/workspace/ksysguard/gui/SensorDisplayLib:
The digital display now displays floats with 2 digits after the decimal. Also, a bug when showing values < 1 was fixed.
Bug 73595: ksysguard kicker applet does not display floating point values
Diffs: 1, 2 Revision 715704

KDE-PIM
Thomas McGuire committed a change to /trunk/KDE/kdepim/kontact/plugins/kmail/kcmkmailsummary.cpp:
Fix signal/slot.

We really need a static source checker for this, I guess there are at least dozens of those wrong connect calls in KDE, especially those in code paths rarely used.
Diff Revision 713211

Allen Winter committed a change to /branches/KDE/3.5/kdepim/kmail/kmsearchpattern.cpp:
Fix bug "The application kmail crashes after startup. Which makes it impossible to access old and new mail."
Bug 140490: The application kmail crashes after startup. Which makes it impos...
Diff Revision 715297

Multimedia
Seb Ruiz committed changes in /branches/stable/extragear/multimedia/amarok:
Always rebuild the dynamic mode cache when in Suggested songs mode, so that we don't land up with stale suggestions
Diffs: 1, 2 Revision 715714

Networking Tools
Joris Guisson committed a change to /branches/extragear/kde3/network/ktorrent/plugins/webinterface/httpclienthandler.cpp:
Make sure body tag is OK in 404 and 500 error defines.
Bug 150023: webinterface plugin 404 error page
Diff Revision 714793

Urs Wolfer committed a change to /trunk/KDE/kdenetwork/krfb/manageinvitationsdialog.cpp:
Fix two issues reported by Dirk:
* don't crash after deleting the first invitation in the list if there are more than one* be able to connect to the VNC server right after the invitation has been created; don't wait until the dialog has been closed
Diff Revision 715692

Office
John Tapsell committed changes in /trunk/koffice/kformula/flake:
This bug took us all day to track down.

Basically QPainter:drawLine and QPainter::drawRect takes 4 ints, not reals, so this lack of precision causes rounding errors at high zooms.
Diffs: 1, 2, 3 Revision 714056

Jan Hambrecht committed changes in /trunk/koffice/filters/karbon/svg:
some gradient handling fixes
implemented loading of images (external files and internal base64 encoded data)
Diffs: 1, 2 Revision 714074

Utilities
Rolf Eike Beer committed a change to /trunk/KDE/kdeutils/kgpg/keylistview.cpp:
Fix list of selected items

Make sure that only visible items are in the list of selected ones. Otherwise the behaviour is very strange:

startup -> mark all -> refresh keys possible

expand a key -> collapse it -> mark all -> refresh keys not possible

This is because in the second example all items get selected, including the invisible signatures.
Diff Revision 714045

Rolf Eike Beer committed changes in /trunk/KDE/kdeutils/kgpg:
Fix UTF8 in Options dialog

I just wanted to replace "--with-colon" with "--with-colons". But then I noticed that this is another place where listing the keys is duplicated and again the UTF8 decoding was wrong. So I moved the more general stuff into KgpgInterface and removed all that hand-made key listing stuff.

An additional goodie is that now the key pairs are listed first in the combo boxes. Since the "always encrypt with" key is usuall one of your secret ones this allows the user to select it much faster than before.
Diffs: 1, 2, 3 Revision 714651

Features
Development Tools
Simon Edwards committed changes in /trunk/KDE/kdebindings/python/pykde4/sip:
Updated PyKDE4 after the weekly BC breaking carnage.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision 714158

Andreas Pakulat committed changes in /trunk/KDE/kdevelop/plugins/documentview:
Initial port to the current API's. It compiles and loads but crashes when opening a file.
Also settings kcm isn't ported yet
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 714599

Andreas Pakulat committed a change to /branches/kdevelop/3.5/src/simplemainwindow.cpp:
A basic version of GotoFirst/LastWindow, it doesn't work with dockwindows as those don't provide a "first" or "last" tab information.
Bug 147134: "Last Accessed Window" shortcut not working
Diff Revision 715142

Educational
Aleix Pol Gonzalez committed changes in /trunk/KDE/kdeedu/kalgebra/src:
Modified 2D Functions structure, now it will be easier to add new function types.
FIXED a couple of bugs that I added in one of the last commits (shame on me :P)
libanalitza is not shared anymore. I prefer to have statically linked by now so I don't have to install on every change.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 713107

Frederik Gladhorn committed a change to /trunk/KDE/kdeedu/parley/src/practice/MCQueryDlgForm.ui:
Enable word wrap for multiple choice dialog form.
Bug 149921: No Word Wrap in Multple Choice Queries of KVocTrain
Diff Revision 713253
View Visual Changes (to 1 file)

Jasem Mutlaq committed changes in /trunk/KDE/kdeedu/kstars/kstars:
improving the autoscan detection process
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 713419

Frederik Gladhorn committed changes in /trunk/KDE/kdeedu:
Make the grammar practice selection much better.
In the config dialog one can check the grammar tests to use now. This also allows for adverb (mixed with adjective or alone) tests.

Give the doc default grammar when using the wizard.

Rewrite the type for test selection funtion as checkType.

Deprecate a function that probably doesn't work, esp if multiple word types are allowed to share a special type.
Bug 106451: comparison forms query ADVERBS
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 714050
View Visual Changes (to 1 file)

Robert Knight committed a change to /trunk/KDE/kdeedu/kalzium/src/somwidget_impl.cpp:
Display melting and boiling point examples in the 'State of Matter' drawer in the user's preferred units (instead of always Kelvin) and include units symbol.
Diff Revision 714569

Frederik Gladhorn committed changes in /trunk/KDE/kdeedu/libkdeedu/keduvocdocument:
Remove irregular plural tags in favour of a real declination class (not used currently). This will also allow support for plurals and dual forms correctly.
Diffs: 1, 2, 3, 4, 5 Revision 714727

Tobias Koenig committed changes in /trunk/KDE/kdeedu/marble:
Major refactoring of the placemark handling.

All code uses PlaceMarkModel now to access the place mark information.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 18 more) Revision 714830

Nikolas Zimmermann committed changes in /trunk/KDE/kdeedu/marble/src/lib/geodata:
Add the prototype of 'GeoData' - a subproject or Marble intended to handle popular geo files like kml (Google Earth), gpx, georss et al.
Build system is still qt-only, Tobias wants to take care of it soon.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 16 more) Revision 714883

Pino Toscano committed changes in /branches/kig/post-kde-3.5/kig/filters:
Improve the compatibility with Cabri1.0:
- read object names
- read Text objects (though, the arguments are untested)
- recognize a font line when present (not used at the moment)
- handle angles correctly
improve the internal readText() function.
Diffs: 1, 2 Revision 715170

Peter Hedlund committed changes in /trunk/KDE/kdeedu/kwordquiz/src:
A KPageWidget-based interface for KWQ. Better use of screen space and actually quite limited code and string changes. Also simplifies the menu and toolbars.
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 715304
View Visual Changes (to 3 files)

Frederik Gladhorn committed changes in /trunk/KDE/kdeedu:
Rewrite the article class using enums, only one get/set function is needed now.

So far we only read/write singular. But support is there for plural and dual.

Deprecated old constructor with arguments, but leave it for now, since porting will take some time.

This breaks compability with articles in kvtml2 docs!

Port parley to use that stuff.
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 715352

Johannes Simon committed changes in /branches/work/kalzium-new-features/src:
Initial implementation of the export dialog.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 715513
View Visual Changes (to 1 file)

Johannes Simon committed changes in /trunk/KDE/kdeedu/parley/src:
Added support for CutAdded support for Cut&Paste.Paste.
Diffs: 1, 2, 3 Revision 715570

Frederik Gladhorn committed changes in /trunk/KDE/kdeedu/libkdeedu/keduvocdocument:
Use Iso date in file instead of unix time. Breaks kvtml2 compability again.
Diffs: 1, 2 Revision 715715

Games
Michal Sciubidlo committed changes in /trunk/playground/games/kombination:
added AI
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 18 more) Revision 713427

Luciano Montanaro committed changes in /trunk/KDE/kdegames/kpat:
Added card dialog to KPat
Diffs: 1, 2, 3 Revision 715108

Albert Astals Cid committed changes in /trunk/KDE/kdegames/ktuberling/pics:
Train Valley by Jocelyn Etienne
Diffs: 1, 2, 3 Revision 715230
View Visual Changes (to 1 file)

Jeremy Paul Whiting committed changes in /trunk/playground/games/kpicross:
done porting to the point it builds and runs, but not much else
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 21 more) Revision 715630
View Visual Changes (to 2 files)

Pino Toscano committed a change to /trunk/KDE/kdegames/ksudoku/src/gui/welcomescreen.cpp:
disable the "get new variant" button, if the feature is not implemented yet
Diff Revision 715663

Jeremy Paul Whiting committed changes in /trunk/playground/games/kpicross/src:
actually runs and is playable (though not very nice interface) and win condition is not checked I think
Diffs: 1, 2, 3, 4, 5 Revision 715679
View Visual Changes (to 1 file)

Jeremy Paul Whiting committed changes in /trunk/playground/games/kpicross/src:
make the board scalable, and use KDE color scheme for drawing lines and numbers
Diffs: 1, 2, 3 Revision 715730

Graphics
Aurelien Gateau committed changes in /trunk/KDE/kdegraphics/gwenview/app:
Added very simple printing support.
Diffs: 1, 2, 3 Revision 714322

Pino Toscano committed a change to /trunk/KDE/kdegraphics/okular/shell/shell.cpp:
as starting directory in the open document dialog, use the path of the current document, not the one of the first file open
Diff Revision 714820

Adam Treat committed changes in /branches/work/kst/portto4/kst/src/libkstapp:
* Refactor layout commands once again. Now they should maintain state and be completely reversible.
Diffs: 1, 2, 3, 4, 5 Revision 714874

Jan Kundrát committed changes in /branches/extragear/kde3/graphics/kphotoalbum:
Show image label in infobox and thumbnail tooltip
Diffs: 1, 2, 3, 4, 5 Revision 715697

KDE-Base
Jeremy Paul Whiting committed changes in /trunk/playground/base/colors2:
colortable initial checkin, responds to changes in the colorSet combobox, but not much else
Diffs: 1, 2, 3 Revision 713036

Ivan Čukić committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:
BorderLayout initial import
Diffs: 1, 2, 3, 4 Revision 713071

Rivo Laks committed a change to /trunk/KDE/kdebase/workspace/kwin/effects/data/blur-render.frag:
Make blur work with ARGB windows
Diff Revision 713247

Rafael Fernández López committed changes in /trunk/KDE/kdebase/apps/dolphin/src:
Create the new architecture for KCategorizedView. Now DolphinModel is created, inheriting KDirModel for returning valid data for the role of the category of an item. DolphinSortFilterProxyModel implements now methods lessThanCategoryMethod and lessThanGeneralMethod from KCategorizedSortFilterProxyModel.

The only thing that needs to be adapted is the keyboard navigation on the KCategorizedView.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 20 more) Revision 713319

Richard Dale committed changes in /trunk/playground/base/plasma/applets/ruby-clock:
* Added a patch from Matthias Kretz to change the way a ruby applet is loaded and use generic plugin code. Thanks to Matthias for the patch.
* The next step is to move the plugin to kdebindings/ruby/korundum as it can be used by any ruby plugin
Diffs: 1, 2, 3, 4, 5, 6 Revision 713423

David Faure committed changes in /trunk/KDE/kdelibs/kdecore:
Support for multiple occurences of the same key in a ksycocadict, with unit test for both modes (hash and multihash).

This is going to be used very soon for a extension->mimetype sycoca hash.
Diffs: 1, 2, 3 Revision 713564

David Faure committed changes in /trunk/KDE/kdelibs:
Improve mimetype detection as discussed on the XDG list (thread "Shared-mime checking order"), implementing algorithm suggested by Alexander Larsson.

This makes mimetype detection more reliable (same results in all apps, instead of KFileItem not knowing when to refine the mimetype later), faster (when a single extension matches, no mime-magic is needed), and more flexible (we finally handle the case of conflicting extension definitions, like *.ogg or *.doc which can be msword or plain text, we figure out which one it is using mime-magic).

Ported the binary search in the "fast patterns" list to an actual multi-hash in ksycoca (KSycocaDict), which allows to get "all mimetypes matching a given extension", and which should also be much faster (less seeks).

Now I just hope that those changes to the spec will be accepted, otherwise we'll have a useless spec on one hand and a nice implementation in gnome and kde on the other hand...
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 713615

Rivo Laks committed changes in /trunk/KDE/kdebase/workspace/kwin/kcmkwin/kwincompositing:
Add Effects tab to the compositing config module. It contains the list of all effects which has it's separate module ATM.
Diffs: 1, 2, 3 Revision 713933
View Visual Changes (to 1 file)

Rivo Laks committed changes in /trunk/KDE/kdebase/workspace/kwin:
Add automatic driver detection for compositing options.
This is used to set sane defaults and work around possible driver bugs.
Also, if you have a "whitelisted" driver (nvidia >= 96.39 or intel >= 20061017) then compositing will be enabled by default for you.
Diffs: 1, 2, 3, 4, 5, 6 Revision 714004

Rivo Laks committed changes in /trunk/KDE/kdebase/workspace/kwin/kcmkwin/kwincompositing:
Beginnings of confirmation dialog shown when critical compositing settings are changed. When user doesn't click Yes in 10 secs then changes are reverted.
Diffs: 1, 2 Revision 714104

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:
Containment: an Applet grouping class, also provides for background painting via plugings (well, Applets actually)
Diffs: 1, 2, 3 Revision 714170

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma/plasma:
- form factors are no longer global to Corona, so we just beging to ignore them from the application code
- the context menu is once again handled by things in the library
- one desktopview per screen (xinerama)

this leaves the panel completely broken (so we don't create one). this is the next thing to tackle
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 714181

Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src:
allow to configure the column width of the columns view
Diffs: 1, 2, 3, 4 Revision 714342

Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src:
implemented keyboard navigation for the column view
Diffs: 1, 2 Revision 714392

Ivan Čukić committed changes in /trunk/playground/base/plasma/engines/kiobrowser:
Initial commit of the KioBrowser engine
Diffs: 1, 2, 3, 4, 5 Revision 714456

David Faure committed changes in /trunk/KDE/kdelibs/kdecore:
Better solution for resolving the README.txt glob conflict: take longest match (as discussed on xdg list).
Diffs: 1, 2, 3, 4 Revision 714531

Sebastian Kügler committed a change to /trunk/playground/base/plasma/applets/digital-clock/clock.cpp:
Make digiclock layout better for larger formfactors, decrease horizontal spacing between elements as those looked a bit disconnected.
Diff Revision 714592

Sebastian Kügler committed a change to /trunk/playground/base/plasma/applets/digital-clock/clock.cpp:
More pixel-size corrections, the clock renders sharply here now.
Diff Revision 714594

Petri Damstén committed changes in /trunk/playground/base/plasma/widgets:
Svg widget that can also act as a meter.
Diffs: 1, 2, 3, 4, 5 Revision 714795

Sebastian Pipping committed a change to /trunk/KDE/kdelibs/kate/utils/katesearchbar.cpp:
(1) Pressing hotkeys again (Ctrl+F and Ctrl+R by default) selects the line edits current text (2) pattern now inited from selection in incremental mode as well (3) fix for bug leaving one highlighted char when deleting the last remaining letter of a previously matching pattern
Diff Revision 714948

Petri Damstén committed changes in /trunk/playground/base/plasma/applets/hdd:
intial import of hdd monitor applet
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 715160
View Visual Changes (to 1 file)

Rivo Laks committed changes in /trunk/KDE/kdebase/workspace/kwin:
Add separate option for smooth scaling in XRender mode. It's slow (software scaling), so it's disabled by default.
Diffs: 1, 2, 3, 4, 5 Revision 715200
View Visual Changes (to 1 file)

Sebastian Pipping committed changes in /trunk/KDE/kdelibs/kate/utils:
First highlighting bits (not accessable through GUI yet for good reason...)
Diffs: 1, 2 Revision 715381

Petri Damstén committed changes in /trunk/playground/base/plasma/widgets/svgwidget:
Support for using svg as a pushbutton.
Diffs: 1, 2 Revision 715552

Albert Astals Cid committed changes in /trunk/KDE/kdelibs/kate:
And now Ctrl+Shift+H does selected text backwards
Diffs: 1, 2, 3 Revision 715577

Sebastian Pipping committed changes in /trunk/KDE/kdelibs/kate/utils:
Match indication for replace bar as well
Diffs: 1, 2 Revision 715718

KDE-PIM
Volker Krause committed changes in /trunk/KDE/kdepim/akonadi/libakonadi:
Implement command pipelining.
Seems to have no effect on a single core system but speeds up the collectioncreator test by 10-20% on a dual core system.
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 713083

Tom Patzig committed changes in /branches/extragear/kde3/pim/kdebluetooth/libkbluetooth:
-wrapper classes for the new obex-data-server
Diffs: 1, 2, 3, 4 Revision 713467

Till Adam committed a change to /branches/work/kdab-post-4.0/kdepim/kleopatra/uiserver/decryptcommand.cpp:
Send out results for each succesful decryption job immediately, but collect results for all of them. Show aggregated dialog at the end of all jobs. Prepare offering continue/cancel on errors.
Diff Revision 714344

Robert Zwerus committed changes in /branches/work/arzie_akonadi:
Finished revision checking, including added unit test. Allow ItemStoreJob with only a DataReference (instead of an Item). Update Resources to support revision checking.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 714438

Jason vanRijn Kasper committed changes in /trunk/KDE/kdepim/kpilot:
- phew.
- porting effort required for kpluginfactory changes
- thanks to help from PutHuhn and bbroeksema
- there's no telling whether we're functionally equivalent to what was here before. especially suspect is anything that used arguments to our plugins/conduits. but at least now our config widgets show up correctly in kpilot's configuration screen again.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 56 more) Revision 714961

Brad Hards committed changes in /trunk/KDE/kdepim/akonadi/resources/openchange:
Big update of the OpenChange akonadi resource.

This resource can now download a Contact (essentially an address book entry) from the Exchange server and present it as a KABC::Adressee object. Renders OK in akonadiconsole.

Also add in the start of a decompressor for the compressed RTF that is found in several places in Exchange RPC data.
This is being ported from code that mostly does the same thing, but definitely needs more work before being deployed.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 715129

Marc Mutz committed a change to /branches/work/kdab-post-4.0/kdepim/kleopatra/uiserver/uiserver.cpp:
Implement ridiculous backwards-compatibility hack: the port written is in network byte order... Sigh.
Diff Revision 715169

Multimedia
Tim Beaulen committed changes in /trunk/playground/multimedia/phonon-backends/gst/kcm:
Get the kcm to build.
The Gst backend now shows up in the phonon kcm.
Diffs: 1, 2 Revision 713175

Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src:
Just as a relaxing sunday evening project, try to create a simple, alternate playlist view displaying data from the playlist model. Switch views by pressing star icon in playlist toolbar. I know this is somewhat controverisal and might face immediate removal, but I wanted to try it out none the less :-)
Diffs: 1, 2, 3, 4, 5 Revision 713228

Kirill Bulygin committed changes in /trunk/extragear/multimedia/kplayer/kplayer:
Further KDE 4 porting work.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 17 more) Revision 714405

Matthias Kretz committed changes in /trunk/playground/multimedia:
libphononmixer: Qt-style API to access the hardware mixer. Only ALSA implementation for now.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 12 more) Revision 714441

Matthias Kretz committed changes in /trunk/playground/multimedia/phonon/mixer:
the ALSA API is very twisted, hide one more of those API horrors in the C++ wrapper; now it actually lists controls
Diffs: 1, 2 Revision 714541

Gwenael Casaccio committed changes in /trunk/playground/multimedia/ktabedit/src:
Dead notes support
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 714572

Gwenael Casaccio committed changes in /trunk/playground/multimedia/ktabedit/src:
Initial support of bend edition
Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 714700

Tim Beaulen committed changes in /trunk/playground/multimedia/phonon-backends/gst:
I'll need a way to visualise what's going on otherwise it's going to be too hard and too abstract.

This little program will (in the future) show the complete phonon pipeline and in each item the respective gstreamer pads.
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 714865
View Visual Changes (to 1 file)

Tim Beaulen committed changes in /trunk/playground/multimedia/phonon-backends/gst:
With my little debug app in place, the real work can begin.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision 715526
View Visual Changes (to 4 files)

Tim Beaulen committed changes in /trunk/playground/multimedia/phonon-backends/gst:
Start reimplementing the media object.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 715579
View Visual Changes (to 1 file)

Gwenael Casaccio committed changes in /trunk/playground/multimedia/ktabedit/src:
Add initial support for new effects (tie note, ...)
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 715644

Networking Tools
Matt Rogers committed changes in /branches/work/kopete/break-the-contactlist/kopete:
Separate the model creation from the view class.

Use KopeteWindow to be the controlling object for both the view and them model. Since we'll most likely being using proxy models to implement the contact grouping schemes, we need to have an external entity controlling what model the view uses. Besides, the view knowing about it's model is just wrong anyways. :)
Diffs: 1, 2 Revision 713239

Joris Guisson committed changes in /trunk/extragear/network/ktorrent:
Added IPv6 support for bittorrent connections
Bug 146248: IPv6 transfer not supported
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 713551

Olivier Goffart committed changes in /trunk/KDE/kdenetwork/kopete/kopete/config/accounts:
Drag and drop in the iaccount config.

I still need a way to disable droping account as root element.
Diffs: 1, 2, 3 Revision 713977
View Visual Changes (to 1 file)

Joris Guisson committed changes in /trunk/extragear/network/ktorrent:
Added import dialog, this is no longer a plugin like in the KDE3 version, it's now part of the main application.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 714088
View Visual Changes (to 1 file)

Urs Wolfer committed changes in /trunk/KDE/kdenetwork/krdc/vnc:
Port to QQeue; thus make scroll wheel again working.

Thanks to Dirk's comment to use QQeue, this was just a 15 minutes task. Thanks!
Diffs: 1, 2 Revision 714148

Javier Goday committed changes in /trunk/KDE/kdenetwork/kget:
Added an option to enable or disable the system tray icon
Bug 149727: System tray should be optional
Diffs: 1, 2, 3 Revision 715597
View Visual Changes (to 1 file)

Javier Goday committed changes in /trunk/KDE/kdenetwork/kget/core:
Show the Kio::renameDialog when a transfer has the same name that other
Bug 141847: Multiple downloads with the same destination file shouldn't be al...
Bug 138843: kget needs an autorename feature
Diffs: 1, 2, 3, 4, 5, 6 Revision 715621

Office
Cyrille Berger committed changes in /trunk/koffice/krita/plugins/viewplugins:
initial framework for tonemapping
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 713390

Cyrille Berger committed changes in /trunk/koffice/krita/colorspaces:
add a XYZ HDR colorspace (float 32bits) (minus the convertion function that might makes the colorspace usefull)
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 713603

Cyrille Berger committed a change to /trunk/koffice/krita/colorspaces/xyz_float_hdr/kis_xyz_hdr_colorspace.h:
victory, values are correctly transformed and in the correct range !
Diff Revision 713916

Cyrille Berger committed changes in /trunk/koffice/krita/plugins/viewplugins/tonemapping:
implements the bookmarking of tone-mapping operators configuration
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 714482
View Visual Changes (to 1 file)

John Tapsell committed a change to /trunk/koffice/kformula/flake/MultiscriptElement.cpp:
Multiscripts now work! At the layout, painting, loading and saving :)
Diff Revision 715107

Cyrille Berger committed changes in /trunk/koffice/krita/plugins/paintops/dynamicbrush:
add the skeleton of the basic dynamic program
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 715115
View Visual Changes (to 1 file)

Thomas Zander committed changes in /trunk/koffice/libs/flake:
You know; on zoom we never actually called 'update'. We just accidentally updated the selection if called from the tool, which left repainting artifacts if the selection was not full screen.

Fix that by actually updating the canvas.
Diffs: 1, 2, 3, 4 Revision 715176

Cyrille Berger committed changes in /trunk/koffice/krita/plugins/paintops/dynamicbrush/programs/basic:
add the possibility to enable/disable size, angle and scattering
Diffs: 1, 2, 3 Revision 715510
View Visual Changes (to 1 file)

User Interface
Luciano Montanaro committed changes in /trunk/KDE/kdeartwork/kwin-styles/kstep:
Ported to KDE4. There are still some glitches, however.
Diffs: 1, 2 Revision 714315

Matthew Woehlke committed changes in /trunk/playground/artwork/Oxygen/style/toys:
new scrollbar code (this time it's the old code, heavily tweaked)... only vertical for now
Diffs: 1, 2 Revision 714445

Matthew Woehlke committed a change to /trunk/playground/artwork/Oxygen/style/toys/scrollbartest.cpp:
more color tweaking for scrollbars, this seems to actually work for dark/light extremes (and is a little more true to the reference color in general)
Diff Revision 714485

Matthew Woehlke committed changes in /trunk/KDE/kdebase/runtime/kstyles/oxygen:
improve scrollbar helper code (don't need height), grow scrollbar sliders to fill their groove... this simplifies the drawing code quite a lot and "fixes" the not-bug "can't move vartical scrollbar slider all the way to the top"
Diffs: 1, 2, 3, 4 Revision 714593

Matthew Woehlke committed a change to /trunk/playground/artwork/Oxygen/style/toys/scrollbartest.cpp:
Make Eike Hein happy :-). More specifically, use drawEllipse with some filler drawRects to render a mask for the slider, then set SourceAtop earlier, then use a regular rect for the base fill. This is because drawRoundRect is too bloody hard to control :-(.
Diff Revision 714601

Matthew Woehlke committed changes in /trunk/KDE/kdebase/runtime/kstyles/oxygen:
Bring improved scrollbars into the style; split the scrollbar class into its own file (hmm, this makes copying code from/to the toys much easier...). Scrollbars are now drawn in their final inactive color.

TODO: draw scrollbars in hover color when hovered (and if possible, when their associated view has focus?)
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 715408

Utilities
Nicolas Ternisien committed changes in /trunk/playground/sysadmin/ksystemlog:
Add the Authentication Log Mode and remove the useless Boot Log Mode
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 713448

Rolf Eike Beer committed a change to /trunk/KDE/kdeutils/kgpg/tips:
Update tip-of-the-day file

-make sure items are valid HTML
-add some more tips
Diff Revision 714042

Nicolas Ternisien committed changes in /trunk/playground/sysadmin/ksystemlog:
Add more log line detection in Authentication log mode
Remove SSH log mode (replaced by Authentication log mode)Add Daemons log mode
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 16 more) Revision 714218

Nicolas Ternisien committed changes in /trunk/playground/sysadmin/ksystemlog/tests/testFiles:
Add log files set for Samba, Apache, Mysql and User
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 714698

Nicolas Ternisien committed changes in /trunk/playground/sysadmin/ksystemlog:
Add some improvement, generate a Html output (example at http://stuff.forum-software.org/compatibleKioSlaves.html)
Diffs: 1, 2, 3, 4, 5, 6 Revision 715609
View Visual Changes (to 1 file)

Optimise
KDE-Base
Marc Mutz committed changes in /trunk/KDE/kdelibs/kdeui/icons:
Constructing a KIcon must surely be one of the more often-used parts in program startup. The funnier that this is prematurely pessimized by passing around and assinging a QStringList that's unused in 99.99% of cases. Shy away from default arguments. Esp. if you go ahead and switch on them in the function body! This is BC+SC
Diffs: 1, 2, 3, 4 Revision 713923

Sebastian Pipping committed changes in /trunk/KDE/kdelibs/kate:
Use SmartRange to make Replace All use less memory
Diffs: 1, 2, 3 Revision 715676

KDE-PIM
Volker Krause committed changes in /trunk/KDE/kdepim/akonadi/server/src/storage:
Add a simple cache for record objects. So far only used for small, rarely changing tables since it doesn't have any memory limit yet and ensuring cache consistency requires quite some work.

Nevertheless, it reduces database access by about 30% on average which currently is equivalent to overall performance improvement.
Diffs: 1, 2, 3, 4 Revision 714048

Multimedia
Seb Ruiz committed changes in /trunk/extragear/multimedia/amarok/src/playlist:
Drop tracks in the correct position and move/animate only the necessary items. (hence, much faster)
Diffs: 1, 2 Revision 713974

Other
Development Tools
Laurent Montel committed changes in /trunk/kdereview:
add kaider
Diffs: 1, 2 Revision 713094

Matt Rogers committed changes in /trunk/KDE/kdesdk:
Remove the required dependance on kdepimlibs.

kdepimlibs is only used for the kbugbuster kcal resource plugin and shouldn't keep all of kdesdk from compiling. So we make it optional and everything is all fun and good again. :)
Diffs: 1, 2 Revision 715721

Educational
Tim Sutton committed a change to /trunk/KDE/kdeedu/marble/install_mac/3_dmg.sh:
Added a helper script to create a compressed disk image containing the application bundle.
DMG still needs aplication folder shorcut added and some suitable background graphics.
Diff Revision 713755

Johannes Simon committed a change to /branches/work/kalzium-new-features:
Kalzium branch for new features.
Diff Revision 715511

Games
Jeremy Paul Whiting committed changes in /trunk:
move kpicross out of kdenonbeta
Diffs: 1, 2 Revision 713538

Tom Albers committed changes in /tags/unmaintained/4:
These were moved from kdegames to playground/games, but they should have been moved to this place.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 713549

Andreas Beckermann committed changes in /:
kpoker was moved from kdegames to playground, that's correct, but in the meantime it was heavily updated and (even if development is not currently active) is not unmaintained. it belongs to playground.
Diffs: 1, 2 Revision 713587

Mauricio Piacentini committed changes in /trunk/KDE/kdegames/kmahjongg:
BoardEditor is in lousy shape, needs a rewrite. Disable menu item and related classes for now, hopefully will be revived soon.
Diffs: 1, 2, 3, 4 Revision 714430

Graphics
Jesper Pedersen committed a change to /trunk/extragear/graphics/kphotoalbum/kphotoalbumui.rc:
It is considered bad user interface design to have too much in the toolbar, so lets not have the change icon style in the toolbar.
Diff Revision 713575

Clarence Dang committed changes in /trunk/KDE/kdegraphics/kolourpaint:
Tweak version number and clearly mark as "BETA" because I'm seriously beginning to wonder whether I will actually be able to finish the port on time :(
Diffs: 1, 2 Revision 713793

Gilles Caulier committed changes in /trunk/extragear/graphics/digikam/data:
move icc profiles files to libkdcraw
Diffs: 1, 2 Revision 714396

Tom Albers committed a change to /trunk/playground/graphics/pixieplus:
Move pixieplus from kdenonbeta. The maintainer has indicated to port the application when KDE4 is usable.
Diff Revision 714496

KDE-Base
Albert Astals Cid committed changes in /trunk/KDE/kdebase:
set some X-KDE-System-Settings-Parent-Category so that the kcm appear at the same place they do on kubuntu 7.04

Some places are discussable, but for starters better showing them somewhere that nowhere

There are some kcm that still aren't shown anywhere
Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 713151

John Tapsell committed a change to /trunk/KDE/kdelibs/kdeui/widgets/ktoolbar.cpp:
Change "Lock Toolbars" context menu to "Unlock Toolbars" when locked
Diff Revision 713194

Thiago Macieira committed a change to /trunk/KDE/kdebase/workspace/plasma/engines/weather/ions/ion.cpp:
Don't use QAtomic -- it's not public API.

Your private object is a QObject, so you're not writing thread-safe code anyways.
Diff Revision 713460

Ivan Čukić committed changes in /trunk:
According to the meeting decisions, moving filebrowser engine to plasma's trunk
Diffs: 1, 2 Revision 713515

Dominik Haumann committed changes in /trunk/KDE/kdelibs:
in favour of KDE's configuration mechanism/KPluginSelector remove from KTE::Plugin interface:
* bool supportsConfigDialog()
* void configDialog(QWidget*)
* void readConfig(KConfig*)
* void writeConfig(KConfig*)

Small BIC change within kdelibs. should not affect any other modules.
Diffs: 1, 2 Revision 713550

Petri Damstén committed changes in /trunk/playground/base/plasma/applets/news:
Add some default feeds
Diffs: 1, 2, 3, 4 Revision 713995

Rivo Laks committed changes in /trunk/KDE/kdebase/workspace/kwin:
Remove kwineffects config module as it's functionality is now offered by kwincompositing module
Diffs: 1, 2, 3 Revision 714019

Rivo Laks committed a change to /trunk/KDE/kdebase/workspace/kwin/kcmkwin/kwincompositing/main.cpp:
Set focus to No button initially, so enter = revert changes. I'm not completely sure about this, but it could help to prevent accidential confirms
Diff Revision 714128

Urs Wolfer committed changes in /trunk/KDE/kdebase/apps/dolphin/src:
Dolphin is now QT3_SUPPORT free
Diffs: 1, 2, 3, 4, 5, 6 Revision 714564

David Faure committed changes in /trunk/KDE/kdebase/apps/konqueror:
old code, be gone
[replaced with dolphinpart]
Diffs: 1, 2 Revision 714565

Dirk Mueller committed a change to /trunk/KDE/kdelibs/kjs/CMakeLists.txt:
rename js to kjs binary because js conflicts with seamonkey