Issue 30

29th October 2006 by Danny Allen

This Week...

Work on Decibel and the KDE-based NEPOMUK components accelerates. The Unity web rendering engine experiment is removed from KDE SVN, due to a change in the circumstances that prompted its creation. KTabEdit, a guitar tablature editor is imported into the KDE SVN playground. A branch of kde-pim for improvements in future 3.5 releases shows promise with the introduction of several new features. QMA, an experimental email client, continues to mature and is renamed Mailody. Usability and file format support refinements in Amarok. Speed optimisations in KViewShell and KFTPGrabber. More improvements in the state of games in KDE 4.
Ian Ventura-Whiting introduces the three database tools imported into KDE SVN last week:
Even though the Kexi team, as well as others, are adding some excellent database tools to KDE, ODBC support is one area that is still poorly supported. ODBC is used in a wide variety of business applications and is a key requirement for more advanced users. I have been working on a number of tools to help bridge this gap and plan to work closely with developers of other KDE database tools.

The first program, Data Sources, is a tool for configuring ODBC drivers and data sources. Users of similar tools on other platforms will be pleased to see how similar this tool looks, feels and operates. Data Sources makes things even simpler, with auto-detection of missing ODBC drivers and wizard-based configuration. It also shows users only the options needed to configure a data source, whilst advanced configuration options are still accessbile. At the moment, the program is a fully working Qt 4.2-based application and I intend to move it into a KCM module. (Currently located at trunk/playground/base/datasources, screenshot)

SQL Query, as the name suggests, is a tool for querying databases. It allows a user to open ODBC data sources, or use the Qt database drivers. Users can browse databases, execute SQL statements or run SQL scripts. I plan to add many more features to this program, including importing and exporting database data. This program is currently Qt 4-based and I intend to make use of the KDE 4 libraries, add syntax highlighing to the SQL editor and add other important functionality. (Currently in trunk/playground/office/sqlquery, screenshot)

The last tool, ODBC Statistics, is a small tool for monitoring ODBC connections. (Currently in trunk/playground/sysadmin/odbcstats)
The past weekend saw the second bug triage day, concentrating on the kde-pim module. This follows on from the highly-effective first bug triage day which targeted Konqueror several weeks ago.

To gauge the scale of the existing bug mountain, there are approximately 2600 open bugs registered against KMail, with a further 700 outstanding in KOrganizer. With the bug-crushing effort on Saturday, Will Stephenson reports that there were over 40 people in the co-ordinating IRC channel (#kde-bugs) at the peak of the bug-fixing zeal, with many non-programmers using their talents with good effect.

With two successful events now completed, we will surely see a fresh announcement and challenge within a few weeks - which part of KDE should fear the wrath of the KDE Bug Squad next?

Statistics

Commits 1991 by 194 developers, 4576 lines modified, 1053 new files
Open Bugs 13166
Open Wishes 11842
Bugs Opened 254 in the last 7 days
Bugs Closed 345 in the last 7 days

Commit Summary

Module Commits
/trunk/KDE
325
 
/trunk/www
274
 
/trunk/l10n
252
 
/trunk/extragear
243
 
/trunk/playground
194
 
/branches/stable
164
 
/branches/work
151
 
/trunk/koffice
119
 
/branches/KDE
70
 
/trunk/kdenonbeta
47
 
Lines Developer Commits
237
 
Laurent Montel
79
 
147
 
Gilles Caulier
62
 
115
 
Stephan Kulow
57
 
115
 
Pino Toscano
48
 
107
 
Sebastian Trueg
42
 
155
 
Frans Englich
40
 
97
 
Tom Albers
36
 
85
 
Martin Aumüller
36
 
35
 
Erik Kj
34
 
180
 
Jarosław Staniek
34
 

Internationalization (i18n) Status

Language Percentage Complete
Portuguese (pt)
99.98%
 
Danish (da)
99.82%
 
Swedish (sv)
99.73%
 
Spanish (es)
96.92%
 
Dutch (nl)
96.48%
 
Greek (el)
95.21%
 
Italian (it)
93.88%
 
French (fr)
93.4%
 
Estonian (et)
92.77%
 
German (de)
92.6%
 

Bug Killers and Buzz

Person Bugs Closed
Will Stephenson
43
 
Alexandre Pereira de Oliveira
40
 
Bram Schoenmakers
33
 
Martin Aumüller
23
 
Maks Orlovich
19
 
Volker Krause
18
 
Martin Koller
17
 
Tommi Tervo
15
 
Jeff Mitchell
10
 
Allan Sandfeld Jensen
10
 
Program Buzz
Amarok
6765
 
KMail
4320
 
Kopete
3800
 
Kate
3650
 
K3B
3180
 
KDevelop
2910
 
Kat
2046
 
digiKam
1835
 
Kontact
1494
 
Quanta
1446
 
Person Buzz
Adriaan de Groot
1018
 
David Faure
895
 
Stephan Kulow
793
 
Waldo Bastian
610
 
Jarosław Staniek
418
 
Jonathan Riddell
368
 
Zack Rusin
362
 
George Staikos
342
 
Stephan Binner
266
 
Aaron J. Seigo
258
 

Commit Countries

Commit Demographics

Sex

Age

Contents

  Bug Fixes Features Optimization Security Other

Accessibility

     

Development Tools

  [] []   

Educational

  []    

Graphics

  [] []   

KDE Base

[] []    []

KDE-PIM

  []    

Office

  [] []   []

Konqueror

     

Multimedia

[] []    []

Networking Tools

[] [] []   

User Interface

  []    

Utilities

[] []    []

Games

[] [] []   []

Other

     

There are 85 selections this week

Bug Fixes

KDE Base

David Faure committed changes in /branches/KDE/3.5/kdelibs/kio/kio/kmimetype.cpp:

Patch from Modestas Vainius to fix Bug 122020 (kdesvnd action menu issues)
He said, and I agree:

Do not time out when waiting for the reply for the X-KDE-GetActionMenu DCOP call. DCOP protocol is synchronouos by design and a reply for the timed out call (i.e. garbage) still arrives and might be falsely returned as a valid reply for the subsequent DCOP call on the same connection. The application currently known to be badly hurt by this is kdesvn and its konqueror service menu integration. Its X-KDE-GetActionMenu might take longer than current 100 milisecond timeout to complete. As a result then, a late reply will "pollute" a main DCOP connection of the client application (e.g. konqueror) causing further DCOP failures.

Maks Orlovich committed changes in /branches/KDE/3.5/kdelibs/khtml:

Prevent crash-inducing recursion of detach due to blur events
happening when widgets with focus get destroyed, by quietly shifting
the focus to the view...(#135384, probably #124342 --- best I can tell given
imperfect information); also affects some bugs which I separately closed as
non-reproducible, but which involved such a sequence

Also fixes freezing in #92497, as we no longer try to find something
to focus when nothing is focusable..

Jessica Hall committed changes in /branches/KDE/3.5/kdebase/doc:

fix up various typos in kdebase docs. Natalie, I suspect that the go menu missing is a Kubuntu customisation since it is here in my vanilla 3.5 branch. Thanks for filing such great bugreports so faithfully.

Multimedia

Alexandre Pereira de Oliveira committed changes in /trunk/extragear/multimedia/amarok/src/contextbrowser.cpp:

when the track (and thus the lyrics) changes, reset scrollbar position of lyrics tab to the top

Martin Aumüller committed changes in /trunk/extragear/multimedia/amarok/src/playlist.cpp:

make playlist context menu tall enough for the side pixmap by always showing the 'stop playing after this track' entry

Networking Tools

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

Hide passwords from recent site list in quick connect dialog.

Joris Guisson committed changes in /trunk/extragear/network/ktorrent/libktorrent/mse/streamsocket.cpp:

Addes some safety checks on IP addresses before connecting to peers. This should prevent bug 136392.

Utilities

Eike Hein committed changes in /trunk/extragear/utils/yakuake:

Fix crash when kpart in a tab other than the currently selected tab goes down.

Games

Stephan Kulow committed changes in /trunk/KDE/kdegames/kpat/dealer.cpp:

don't allow autodrop if cards are moving

Features

Development Tools

Alexander Dymo committed changes in /trunk/KDE/kdevelop/languages/ruby/parser:

More ruby parser improvements:
- recognize comments
- recognize scoped names (ala Foo::Bar ) as proper module names
- recognize ruby symbols
- recognize if/unless/while/until statement modifiers
- two consecutive method calls without parens are no longer parsed as one statement

Now the parser understands pretty sophisticated ruby programs!

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

Educational

Jason Harris committed changes in /trunk/KDE/kdeedu/libkdeedu/kdeeduplot:

Implementing non-colliding text labels in kdeeduplot, based on kmplot code.

It works, but it could probably be faster. You don't need to know anything about it to use the feature, it all happens behind the scenes. Just add some items with labels and enjoy the magic.

However, in the interest of inspiring optimization, here's a brief description of how it works.

KPlotWidget now has a private array of floats: PlotMask[100][100]. This is a rough division of the content of the plot into a 100x100 grid. Where the plot is empty, the array is zero, where it has content, it is >0. When items are added to the plot (points, lines, bars, or labels), the corresponding positions in PlotMask are incremented by an amount that can vary for different kinds of items (for example, right now Bars don't increment as much as points or lines).

The function KPlotWidget::placeLabel() is responsible for positioning item labels. It attempts to place the label close to the point to which it belongs, while minimizing the label's overlap with masked regions of the plot. Ideally, it won't overlap with masked regions at all. This is done in a rather brute-force way: it tests label positions in a 40x40 grid around the position of the point, and determines the "cost" for placing the label at each position. Higher cost is incurred for (a) overlapping with a masked region, (b) being further from the point position, and (c) extending beyond the bounds of the plot. The position that has the lowest "cost" is then adopted, and the label is drawn at that position.

You can get an idea of the CPU impact of this cost-analysis using the test suite I added to kdeeduplot. Display the "Points, lines and bars" plot, and then resize the window. Note the smoothness of the redraws. Now display "Points, lines and bars with labels" and resize the window. The redraws take much longer in this case.

Diffs: 1, 2, 3, 4 Revision 599914

Graphics

Jesper Pedersen committed changes in /trunk/extragear/graphics/kphotoalbum:

* The feature dialog now test if we can show video thumbnails.
* The feature dialog now tests better to see if we can show videos.
* New application icon

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 600187
Pino Toscano committed changes in /trunk/playground/graphics/okular/ui:

Create a new AnnotationEngine to select some text from the current page, and make it able to distill Highlight annotations. Now you can hightlight th text in your document, wooo :)

Diffs: 1, 2, 3 Revision 598201
Gilles Caulier committed changes in /trunk/extragear/libs/kipi-plugins/htmlexport/themes/s0:

kipiplugins from trunk : new HTML Export theme named "s0" from Petr Vanek
See <a href="http://www.yarpen.cz/digikam">http://www.yarpen.cz/digikam</a>; for details

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 598959
Pino Toscano committed changes in /branches/KDE/3.5/kdegraphics/kpdf/core/generator_pdf/generator_pdf.cpp:

Show a 'keep password' checkbox when using a wallet so the user can decide if he wants the password saved in the wallet.

KDE Base

Kevin Ottens committed changes in /branches/work/kdehw/backends/hal:

Add a new power management backend using HAL.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 598219
Kevin Ottens committed changes in /trunk/KDE/kdelibs/solid:

Add a kcm to control backend preferences.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 598771
Luboš Luňák committed changes in /branches/work/kwin_composite:

Support for animations, still some todo's pending.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 598831
Jos van den Oever committed changes in /trunk/playground/base/strigi/src/streams/zipinputstream.cpp:

Check the header of streamed zip files as valid too, because we now support it in Strigi.

Torsten Rahn committed changes in /trunk/playground/base/marble/src:

Adding initial support for default placemark binary cache

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

KDE-PIM

Tom Albers committed changes in /trunk/playground/pim/mailody:

Improve communication with KAddressBook:
- addressbook is now loaded asynchronous, so the composer opens instantly and addressess follow later.
- delete from addressbook and open address from the addressbook sidebar
- add an address to the addressbook from the addresslist.

Diffs: 1, 2, 3, 4 Revision 600084
Allen Winter committed changes in /branches/work/kdepim-3.5.5+/kmail:

New template goodies from Dmitry:
1. Conversion phrases into templates
2. Per-identity templates
3. Templates are used also with multi-message forward (was missed)
4. C-style correction of templatesconfigurationimpl.cpp
5. Minimal and default sizes of templates configuration widget diminished a
little; folder properties are not so huge now.
6. Several commands added: %CCADDR, %CCNAME, %CCFNAME, %CCLNAME, %OCCADDR, %OCCNAME, %OCCFNAME, %OCCLNAME

Please continue testing templates.
Great work Dmitry! Glad to have you helping with KMail.

Now we need to get some code from Johnathan :)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 597910
Tom Albers committed changes in /trunk/playground/pim/qma/src:

Make it possible to send attachments. Will tune later...

Diffs: 1, 2, 3, 4, 5, 6 Revision 597923
Tom Albers committed changes in /trunk/playground/pim/qma/src:

Composer attachment experiment failed. Show attachments in a separate listview next to the addresses. Sort of Thunderbird solution. Hide/Show automatically.

Tom Albers committed changes in /trunk/playground/pim/qma/src:

- Save all the sizes of all the splitters and all the listviews out there

- Implement poor mans autoexpand folder with childeren on hover when dragging message, wonder if I missed something in the api....
Almost time to prep a tarball.

Diffs: 1, 2, 3, 4, 5 Revision 598490
Allen Winter committed changes in /branches/work/kdepim-3.5.5+/kmail:

Monur's KMail Message Tagging
as found on <a href="http://www.kde-apps.org/content/show.php?content=36322">http://www.kde-apps.org/content/show.php?content=36322</a>;

Cleaned-up just a bit by me.

Monur, didn't you want to do more with this feature, like adding colors?

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 12 more) Revision 598587
Allen Winter committed changes in /branches/work/kdepim-3.5.5+:

Johnathan Marten's Create Template from Composer.

When creating a new message you can save that message as a template.
Templates are stored in a new "templates" folder.

Hand-patched by me, with style changes.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 9 more) Revision 598593
Tom Albers committed changes in /trunk/playground/pim/qma:

from the todo list:
- dont close composer without warning when there is data
- check for duplicate addresses in the composer
- sort indicators in the composer missing
- reworked the listviews, so the delete column is always visible and column 1 always takes as much space as possible.
- context menu with delete is not needed now in those lists
- renamed 'file' to 'attachment' in composer
- add a space between organisation and emailaddress

Diffs: 1, 2, 3, 4 Revision 598787
Tom Albers committed changes in /trunk/playground/pim/mailody:

Logo!!!!

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 599119
Allen Winter committed changes in /branches/work/kdepim-3.5.5+/kmail:

HTML Signatures

Apply patch that Jason Keirstead provided over 1.5 years ago.
Please test.

Allen Winter committed changes in /branches/work/kdepim-3.5.5+/kmail:

Improved templates support from Dmitry:

1. Coding style fixes.
2. Little refactoring.
3. Custom reply/forward templates added (David Faure ask for them on list)
4. Various bug fixes, including major one -- wrong charset on %TEXT command

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 19 more) Revision 599665
Allen Winter committed changes in /branches/KDE/3.5/kdepim/libkholidays/holidays:

Add a holidays for Greece.
Submitted by Dimitris. Thanks!

Office

C. Boemann committed changes in /trunk/koffice/krita/ui:

When hitting escape during dragging a point the drag will be canceled

When dragging a point more than 15 pixels outside the widget the point
is deleted (unless you drag it back inside)

hitting exacpe while dragging outside will probably crash at the moment

Can't test it as krita is not working at the moment

Martin Pfeiffer committed changes in /trunk/koffice/libs/kformula:

first draft for the attribute processing system, the functionality is outlined, the class does not compile nor is any mehtod complete especially the scriptLevel things will be changes again as they are wrong designed... so much to do

Cyrille Berger Skott committed changes in /branches/koffice/1.6/koffice/filters/krita:

import/export eps files using graphics magick

Diffs: 1, 2, 3, 4 Revision 598224
Jarosław Staniek committed changes in /branches/koffice/1.6/koffice/kexi:

* Kexi Query Designer supports parameter queries *

Query Designer
- New: Added support for parameter queries in design and SQL view.
User is asked for entering value of a parameter in a dialog window.
Paramers can be of any type except Object.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 23 more) Revision 599352
Sebastian Sauer committed changes in /trunk/koffice/libs/kross:

more work on kjsembed-backend

Diffs: 1, 2, 3, 4, 5 Revision 599384
Jan Hambrecht committed changes in /trunk/koffice/karbon/dockers:

Implemented thumbnail painting for shape containers
(see <a href="/issues/2006-10-29/files/karbon_hidden_rect3.png">http://www.gfai.de/~jaham/karbon/karbon_hidden_rect3.png</a>;)

Nice eh!

Thomas Zander committed changes in /trunk/koffice/krita/image:

New class;
we need a better way to do progress notification for various actions.
A simple usecase is a user action or filter that can be split into multiple
subactions which each have their independent progress indication.
We want to show the total progress in a progressBar.

This new class does that and all of the following features:
* threadsafe
* be able to handle more than one concurrent action
* be safe
* be cancelable
* non-modal
* be fast
* be really easy to use

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

Multimedia

Alexandre Pereira de Oliveira committed changes in /trunk/extragear/multimedia/amarok/src/organizecollectiondialog:

Improve layout of organize files dialog a bit.

Martin Aumüller committed changes in /trunk/extragear/multimedia/amarok/src/metadata:

read audio properties from wav files

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

allow for transferring .wav files to ipods

Mark Kretschmann committed changes in /trunk/extragear/multimedia/amarok/src:

Magnatune icon for the browser. Thanks to apachelogger for making it! :)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 598234
Tim Beaulen committed changes in /trunk/KDE/kdemultimedia/phonon-gst:

Implement seeking.

Now trying to get Juk to actually seek.

Diffs: 1, 2, 3, 4, 5 Revision 598471
Gwenael Casaccio committed changes in /trunk/playground/multimedia/ktabedit:

Add zoom support and correct the view

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 89 more) Revision 599324
Alexandre Pereira de Oliveira committed changes in /trunk/extragear/multimedia/amarok/src:

*Try* to convert old dynamic playlists, instead of just ignoring them.

Seb Ruiz committed changes in /trunk/extragear/multimedia/amarok/src:

Support for %genre and %composer fields when guessing tags from filename

Diffs: 1, 2, 3 Revision 599500
Maximilian Kossick committed changes in /trunk/extragear/multimedia/amarok/src:

support for user-definable labels:)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 599504
Alexandre Pereira de Oliveira committed changes in /trunk/extragear/multimedia/amarok/src/contextbrowser.cpp:

When the script can't find lyrics, provide a link for a web search.

Mark Kretschmann committed changes in /trunk/extragear/multimedia/amarok:

Playlists are now saved with relative paths by default. I think this is what most users want.

Networking Tools

Joris Guisson committed changes in /trunk/extragear/network/ktorrent:

Changes :
- Added advanced preference page
- Moved GUI update interval and memory usage option to advanced pref page
- TOS field of IP packets is now configurable
- Hash checks during uploading of big chunks can now be turned off

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 598498
Roman Jarosz committed changes in /trunk/KDE/kdenetwork/kopete/protocols/oscar:

Add support for editing ICQEmailInfo and ICQNotesInfo.
All user info classes are implemented :)

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

Added two more per-site settings, "use site IP for passive mode connections" and "disable 'force active mode to use this IP' for this site".

Diffs: 1, 2, 3, 4 Revision 598768
Andre Duffeck committed changes in /trunk/KDE/kdenetwork/kopete/protocols/yahoo:

Now it's possible to send messages to chatrooms. i've also removed the possibility to have several chats opened, as the yahoo
protocol apparently does not allow that.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 598806
Christian Hubinger committed changes in /trunk/extragear/network/kmyfirewall:

* WARNING: APPLICATION NOT RELIABLE AT THIS POINT! DO NOT USE FOR PRODUCTION!
* More work on MultiTarget configuration
* Make new Target Configuration handling work
* Import old setting in localhost, on upgrade
* Lots of code cleanup & small fixes
* Update Version String to 1.1.0 - to much changes and new features -> name it so

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 39 more) Revision 599091
Michaël Larouche committed changes in /trunk/KDE/kdenetwork/kopete/protocols/telepathy:

List contacts from Telepathy and create Temporary MetaContact from now.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 600208

User Interface

Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/actions:

new icons

Diffs: 1, 2, 3, 4 Revision 597908
Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/actions:

new icons

Diffs: 1, 2, 3 Revision 598215
Riccardo Iaconelli committed changes in /trunk/playground/artwork/Oxygen/ruphy:

New icon (beta) for recycled files

Riccardo Iaconelli committed changes in /trunk/playground/artwork/Oxygen/theme/svg/devices:

Two new icons for the cdaudio device (mount and umount).

Riccardo Iaconelli committed changes in /trunk/playground/artwork/Oxygen/ruphy:

Changements are now reflected in my folder.

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

Utilities

Stephan Binner committed changes in /trunk/kdereview/kerry:

finish rewrite as kcm modules

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 598193
Jaison Lee committed changes in /trunk/KDE/kdeutils/kjots:

Better exporting, and add ability to import.

Diffs: 1, 2, 3, 4, 5, 6 Revision 598254
Michaël Larouche committed changes in /trunk/playground/games/gamefu:

Add gamefu_launch, a commandline tool that launch the specified URL in arguments.

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

Games

Mauricio Piacentini committed changes in /trunk/KDE/kdegames/kmahjongg:

Reenable Board Editor and the ability to load a layout from disk. Editor is restored to previous functionality, but it needs new controls to specify the initial board size and to add/remove lines and columns now that the game supports dynamic board sizes.

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

Optimization

Development Tools

David Nolden committed changes in /branches/kdevelop/3.4/languages/cpp:

limit the maximum count of computed comments to 1000, so showing a VERY long completion-list doesn't take all that long

Graphics

Wilfried Huss committed changes in /branches/work/kviewshell-0.7/kviewshell/shell/marklist.cpp:

Don't rebuild all of the thumbnail widgets everytime their size has changed.
This makes rotation in large documents much faster.

Wilfried Huss committed changes in /branches/work/kviewshell-0.7/kviewshell/shell:

Optimizations of the Thumbnail list.

We now only create thumbnail widgets for thumbnails that are really visible in the viewport. That means we need to create only a very small number of widgets, and not one widget per page as before.

This gives a huge performance boost for all operations, expecially loading and closing of documents, and rotating the view, since the creation and especially deletion of QWidgets is quite slow.

The performance gain is only noticable for very large documents with 1000 or more pages.

There are still a few little regressions, which I will fix later.

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

Office

Ariya Hidayat committed changes in /trunk/koffice/libs:

this is my fourth-attempt on memory-efficient DOM.
now it's faster, using less memory, and more compatible with Qt 4.2's QDom

Diffs: 1, 2, 3 Revision 599952

Networking Tools

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

Basic queue and transfer speed optimisations.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 598099

Games

Mauricio Piacentini committed changes in /trunk/KDE/kdegames/kmahjongg:

After a lot of preparation, finally removed full redraw at every tile addition and removal. There is still some room for optimization, but at 800x600 play area the game is now using less than 1% of a 2GHz cpu, with minimal redrawings.

Unfortunately, this change is for KDE4 only and can not be backported to 3.5.x series.

Other

KDE Base

Volker Krause committed changes in /branches/work/akonadi-autodbcode:

Work branch to port Akonadi to auto-generated database code. It just breaks too much to do it in-place.

Simon Hausmann committed changes in /branches/work/unity:

- this is obsolete, thanks to Nikolas's excellent work of feeding everything
back into Apple's repository (and more!)

Thiago Macieira committed changes in /trunk/KDE/kdebase/workspace/startkde:

Use a slightly more intelligent way of detecting whether the D-Bus daemon is running: instead of trying to kill -0 it, try to connect to its address (using qdbus).

This has the added benefit that it works with the autolaunch method that was introduced with D-Bus 0.94. If you're using 0.94, you no longer need to run "eval `dbus-launch --auto-syntax`" before starting your KDE4 applications (this is valid for individual applications, not just startkde).

Note: this requires qdbus to be in your $PATH. But everyone has Qt 4.2's bindir there, right?

Tobias Hunger committed changes in /branches/work/decibel:

Initial checkin. Please read the README for infos on status, etc.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 30 more) Revision 599056
Scott Wheeler committed changes in /trunk/KDE/kdelibs/kdecore:

This function is both broken and unneeded (QKeySequence has a constructor for int). BIC, but not SIC.

Alt-Tab and friends all work properly now (in KWin).

Office

Boudewijn Rempt committed changes in /trunk/koffice/krita:

Reinstate the filters menu -- and the filters
appear to be working just fine.

Diffs: 1, 2, 3, 4 Revision 599870
Cyrille Berger Skott committed changes in /trunk/koffice/krita:

- first step of refactoring the configuration of the filter system (more on a mail later), the configuration isn't anymore created in the filter but in the widget
- disable most of the filters, as the change need more work on libraries

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 600144
Inge Wallin committed changes in /branches/koffice/1.6/koffice/kchart/kdchart:

Import KDChart 1.1.4.

I had to disable support for QSA, since it didn't compile. If you
want to reenable it, then remove the # in Makefile.am and remove #if 0
in KDChart.cpp.

In KDChartVectorTable.cpp, I had to disable the destructor since it
was defined in both the .h file and the .cpp file. Apparently, the
author works with gcc version 3.x. :-)

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

Multimedia

Gwenael Casaccio committed changes in /trunk/playground/multimedia/ktabedit:

Import KTabEdit, a tablature editor

Utilities

Daniel Gollub committed changes in /branches/work/kdebluetooth-dbus-integr:

Got kio_bluetooth working with the latest bluez DBus API.
Removed bluez linking and any socket communication.
kio_bluetooth is at the moment hardcoded on the first Adapter.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 599560

Games

Mauricio Piacentini committed changes in /trunk/KDE/kdegames/CMakeLists.txt:

KBattleship is broken (unmaintained?) Re-enable it when it is working with KDE4, or when a maintainer is found, as it is preventing the building of the kdegames module at this time

Stephan Kulow committed changes in /trunk/KDE/kdegames/kpat:

ported simple simon (I wanted to create an animation for whole slots, but I'm unable to beat that freaking simon)

Diffs: 1, 2, 3, 4, 5 Revision 598632
Mauricio Piacentini committed changes in /trunk/KDE/kdegames:

Reenabled kbattleship, problem was in CMake files modified a couple of
days ago.

Frans Englich committed changes in /trunk/kdenonbeta/kdom/patternist:

Dump dependency on QtGui by not using Qt::escape. This makes libpatternist link to about half as many libraries.

Some things are, pardon my french, hard to understand in Qt, in my eyes. Qt::escape(), a practical little helper function for escaping text, is placed in the Qt namespace but then in the QTextDocument header, as opposed to QtGlobal. Implicitly, a function that has nothing to do with GUI, is placed in QtGui, creating a dependency on a whole new library for only that function.

Same goes for QAbstractProxyModel. The item/view framework provides a nice separation between content and presentation, but by placing QAbstractProxyModel, a class that operates on the data level independently of display details (right?), in QtGui, one again prevents modularization.

The argument I've heard is that QtCore is supposed to stay small, but I wonder if such optimizations(can Qt::escape() and QAbstractProxyModel really be considered big?) are more worth than proper engineering.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 599033