15th October 2006by Danny Allen
On this anniversary, the following statistics represent the project:
- 1419 developer accounts.
- Close to 600,000 individual commits.
- On average, one commit every 5.3 minutes.
- 91 language translations, 31 of which are more than 70% complete.
- 185 people attended the last world conference.
- Around 80 people attended the main KDE celebration in Stuttgart.
Though the official celebration party was held in Stuttgart, Germany, reports reflecting the geographical spread of contributors and supporters flowed in. One such party was held in South Korea, with KDE developer Junkyu Park admirably representing the dragon in Asia.
|Commits||2101 by 193 developers, 4757 lines modified, 900 new files|
|Bugs Opened||327 in the last 7 days|
|Bugs Closed||215 in the last 7 days|
||Cyrille Berger Skott||
Internationalization (i18n) Status
Bug Killers and Buzz
|Alexandre Pereira de Oliveira||
|Allan Sandfeld Jensen||
|Adriaan de Groot||
|Aaron J. Seigo||
There are 62 selections this week
Try harder to find an appropriate parent for the kwallet password dialog.
Based on a suggestion of Lubos, should fix #133861 and might also help with #131756.
This adds a dbus / to kiten, adds the registered name org.kde.kiten (as well as fixing kde.org.kiten_<PID?> to ork.kde.kiten_<PID?>). It also exports all public slots to the /. It is inspired by pong.c and ping.c from qtdbus examples in qt-copy. This should allow radselect to access functions VERY easily. Must find a cleaner way to do the name exporting of the org.kde.kiten model to avoid having to do a registerService("org.kde.kiten").
Change the way we rotate the pages.
Instead of telling the generators to do the work themselves (that was usually destraoying the ld pages and creating the new ones), now we just rotate the page objects deleting only their "mutable" contents.
This way, generators can just return true in their supportRotation() to make okular rotate the pages for them for free. Of course they still have to generate the page pixmaps according to the given page rotation.
Now, there's a new rotationChanged() function in the Generator API so generator that needs it can be norified about the document rotation changing.
Allow the freedom to assign albums thumbnails from any other album.
Backport functionality from Tags icons.
Fix F5 not doing anything on the desktop; this is useful not only when kdirwatch is broken but also when the mimetype of a file changes (e.g. cp /dev/null foo; echo bar > foo -- changes size but also mimetype).
1) summary dialog for file opening errors (session management/startup). Better dialog needed.
2) Now documents are marked after a one second timeout as being viewed. -> You can browse quickly through the file list without marking all documents
3) sort action, without implementation yet
Sorting of systray items. Not for 3.5.x for now, but the patch is at <a href="http://ktown.kde.org/~seli/patches/systray_order.diff">http://ktown.kde.org/~seli/patches/systray_order.diff</a>.
Apply patch from Jose M. Prieto:
Currently the ecmascript objects navigator.plugins and navigator.mimeTypes are defined according only to wether plugins are enabled or disabled globally.
But plugins can also be enabled/disabled by domain or by tab using the KHTMLsettings plugin. These patches address this.
(and let this delay not discourage you to keep on posting patches :-)
reshuffle appearance & fonts tabs into general & dialog tabs.
also, the tabs now have digits for accels - there is just no way for them to have letter accels without conflicts. i'd much prefer the alt-[1-9] accels to be a built-in function of *every* tab widget ...
More improvements to the new layer docker.
Deleting, raising and lowering layers works now. The layer command was split into three different command now: VLayerCreateCmd, VLayerDeleteCmd and VLayerZOrderCmd. The order of the shapes retrieved from the document was corrected.
Restructured the way shapes are stored inside the document. All shapes are now hold in a flat list. The hierarchical storage is provided by the layers. Each shape has a parent shape, which is either a layer or a group being a child of a layer. This was neccessary to provide a nice and clean hierarchical view of the document with the layer docker, which works really nice now. The layer docker can now be used to select and deselect shapes.
Additionally i fixed the ungrouping of groups by also deleting the group shape after ungrouping.
Make the "when to crossfade" drop down box actually work. Tested on both Xine and Helix.
It could be better -- we could have checkboxes or something that would allow users to control whether to fade on play and stop, as well...but with the pushed-up schedule and string freeze, that's for another time.
Make actions for increase/decrease speed repeatable, not toggle.
Reimplement matrix classes using CRTP, as was already done for vector classes. Rough edges remain, will be sorted out in the next days.
TODO: reimplement in the same way LUDecomposition and LinearSolver, move more stuff from MatrixX into MatrixBase in order to let Matrix use it.
Eigen might be more or less done in one week.
Improve memory management of documents: they are no longer destroyed way too early when there are out-side referenced nodes hanging around and that need them. However, since we're refcounting, the documents have to disconnect the children in that case to avoid cycles.. Should fix some crashes with some AJAXy stuff
(Merged from Apple's tree)
Reduce memory usage of mtp plugin. Also simplify code by removing the trackValueList class.
Connecting to the device now also processes events so the UI remains responsive.
Refactored KFileItem to use QSharedDataPointer - which means that it's now allowed to use KFileItem as a value, copying it is cheap, since it's now implicitly shared.
All the current code uses it as a pointer, which is still fine of course, but using it as a value in the future can simplify things like PreviewJob, which used to crash due to sometimes keeping a pointer to a deleted kfileitem.
Refcounting KFileItems is what Waldo has been advocating for a very long time btw, I'm glad to honor his wish after so many years :)
Michael, this is also something to keep in mind if/when rewriting KDirLister.
Eigen's matrices are now required to be square, that allows to move much more code to the base class MatrixBase, and allows many simplifications.
Also moved all operators to base classes. For the assignment ops that means we're inlining them into the subclasses (assignment ops aren't inherited).