Issue 22

3rd September 2006 by Danny Allen

This Week...

Kickoff, the experimental application menu alternative developed by SUSE, is imported into KDE SVN. Import of the work to support SVG scalable tilesets in KMahjongg. KViewShell gets support for LZW compressed fax files. Strigi gets support for the D-Bus Inter-Process Communications (IPC) service, KBFX, a prospective element of Plasma, gets full support for Strigi. Kaffeine gets DVB plugin support. Amarok sees fundamental changes in a key statistics technology, along with a name change of the technology to "Amarok File Tracking (AFT)". Development of SafeSite, a network-aware "phishing" protection service proceeds. Interface changes in KTorrent.
Sebastian Trueg, lead developer of K3b, describes his path on the way to K3b 1.0:
It has been said a million times that I should release K3b 1.0, that K3b was stable enough and so on. But I did not want to listen. There were still many things I wanted to fix. One important part was the Video DVD ripping capability, which was very much outdated and unstable. It needed a rewrite. I finally did that. Now ripping Video DVD titles with K3b is, in my opinion, very easy and straight forward. K3b's Video DVD ripping feature, of course, does not provide as many settings and tweaks as DVD::Rip but I think it is usable by nearly everybody. If you know how to rip audio CDs in K3b, you also know how to rip Video DVD. It works just the same.

A second important issue was the data verification which never worked reliably due to charset conversion problems that I was not able to work around properly. Now I rewrote that one also letting K3b compare complete image checksums instead of comparing every single file. The advantages of this approach are the faster verification process and that it just works. The downside is that you don't know which files were not properly written in case verification fails. Well, maybe I can get to that for K3b 2.0. ;)

Anyway, K3b 1.0 is on its way and I am quite proud of what I accomplished so far. Sure, I still have a huge TODO list and big ideas for the future but that will always be the case. For now, the features K3b 1.0 will provide are a very good base.

Ok, I already mentioned it: K3b 2.0. What are my plans? For now there are two main topics: the complete redesign of the underlying K3b library including K3b's own CD/DVD image format (which is already working BTW) and Video DVD creation. For now there is an excellent wizard like tool for this but I always wanted to have Video DVD creation in K3b. But getting it right takes a lot of work. That's why it has been postponed to K3b 2.0.

Currently I am working on fixing bugs. As you may know, bugs.kde.org still contains hundreds of bugs related to K3b, most of which can simply be closed due to duplication or because they are already fixed or outdated. But I would love to get the list cleared for K3b 1.0 (hint, hint: help me!).
Emanuele Tamponi talks about the progress he has had with the Summer Of Code project, "Bezier and Scissors Tools for Krita":
The project born after a conversation with Bart Coppens on IRC: he asked me to develop a Framework for Curves in Krita and then two tools based on it: a "Bézier Tool" and a so-called "Intelligent Scissors Tool". The Summer Of Code was starting, so why not spend the summer gaining some money for university by coding something for KDE? It was a nice idea :)

So I started. At the beginning, I didn't know much about what I was going to do, but aided by Bart Coppens and all the other Krita/KOffice developers, I quickly got on track :)

The project consisted of 3 parts: a Framework, and two Tools. The Framework provides developers with the ability to quickly develop a tool that draws or selects "curves", that is, lists of points. It gives you the possibility to define "manageable" curves, that have control points for handling. Changing just a line, a tool can either draw a curve or select an area out of it. It is based on the idea of a function, calculateCurve, that converts the data that the user gives to Krita into a list of points, that then can be easily drawn with standard (still virtual if you want to change them) functions.

The second step was applying this framework to a "Bézier Curve Tool". Bézier are "smooth" curves obtained with a parametric function of up to four points. They are used to paint fonts, car design, and whatever else you want to be "smooth". I developed it relatively quickly, and it's split into a "Bézier Drawing Tool" and a "Bézier Selection Tool", just to let you draw/select bézier areas.

Third and last step was the most exciting one: develop the "Intelligent Scissors". This tool is like "Select Shapes" in the GIMP and "Magnetic Lasso" in Photoshop and combines the best features of the two. It uses 3 algorithms to get the work done: edge detection, non-maximum suppression to obtain a thin line out of the previous algorithm, and then A* algorithm to find the optimal path through the calculated edges.

But the "magic" of this tool comes now: it follows your mouse while you are moving it, so it selects the edges that *you* follow. This way, it can be fast (because it automatically adds other "control points" when your mouse is too distant from the last control point added) and at the same time it is very precise, because you see the edge it has found and you can, if you want, correct it. This behaviour has been taken from Photoshop.

I've taken a behaviour from the GIMP too: you can modify the curve before making the final selection. So, while you use the tool, if you see that a section of the curve is wrong, you can hit the "Ctrl" key to switch to "Manual Mode": the tool stops following the mouse and lets you manually select, delete, add (in the middle of the curve too) control points. Then you hit "Ctrl" again, return to "Automatic Mode" and after a single click the tool starts to follow your mouse again. Easy, isn't it?

Some screenshots:
  • Bézier Curve Tool (1, 2)
  • Magnetic Outline Selection Tool (1, 2)
Luckly I finished the tool right around the 21th August deadline, so it's all OK for Summer Of Code :) The two months of development gave me the opportunity to enter the world of Open Source: I'm now amazed with how fast and good KOffice 2.0 is developing, so I'd like to participate in the development of the Flake graphical object library very much, but also on other parts of Krita, KOffice or even KDE! But I like also other open source projects, so, perhaps, I could participate as documenter/developer/patcher for them too :) It's an amazing world and I think that its fast growth will bring great advantages to all.
Staying with the KOffice theme, KOffice 1.6 saw a feature freeze on 1st September, which leads up to the release of KOffice 1.6 Beta 1 on Friday 8th September.
This week saw further developments in Strigi, the leading indexing and search contender for KDE 4. Jos van den Oever gives us a quick update on current progress:
Strigi now has full D-Bus support. It is now possible to query and steer Strigi through simple scripts in all languages that support D-Bus. Examples are in the SVN repository under playground/base/strigi/src/searchclient. Current examples are written in Python, one with Qt3 as the GUI, and the other using GTK. Nothing stands in the way of creative search integration in Plasma.

Compiling has been reported to be a bit difficult for some people, although the #kat IRC channel has people that can help. Also inotify support is a bit whimsical at the moment so that's best disabled until better scrutinized. But why let that get you down, it's no worse then setting up dbus in the first place :-)

Hail to all scripters out there: a call for imaginative queries!

So, what kind of queries are possible?

Examples include:
  • give me all mp3 files in my home directory
  • all emails that have "commit-digest" in them
One thing in development which will be awesome is numerical comparison, for the backends that support it, the last thing remaining being to extend the API to support this feature. Then, you can say "give me all email from last week that were larger than 1 MB". What we would like is for people to come up with crazy queries and then we can see if we can implement them, an example being "give me all email that has xls attachments" - the information is there, but the query language cannot yet handle that so we have to move quickly if we want to keep ahead of Beagle, their latest release has wildcard support, so we have to work hard!
This week saw an interesting effort to see how many UNCONFIRMED bugs in Konqueror could be processed, or "triaged", in one day, which became the inaugural Konqueror Bug Day on Wednesday 30th August.

About 150 bugs were dealt with kung-fu style, with the running count now past 250. To visualise the magnificance of this achievement, see this graph (with the sharp fall at the end).

To push this momentum into a continuous downward trend, a new IRC channel, #kde-bugs, has been created where people interested in bug triage can discuss the process. Just like writing documentation, bug triage is an ideal way for less-technically inclined people to contribute positively to KDE. Every weekend from now should see a bug effort targeting a different area of KDE. Beginners are welcome, so join #kde-bugs today to participate!

Statistics

Commits 2687 by 212 developers, 5807 lines modified, 1216 new files
Open Bugs 12945
Open Wishes 11492
Bugs Opened 333 in the last 7 days
Bugs Closed 476 in the last 7 days

Commit Summary

Module Commits
/trunk/KDE
620
 
/trunk/www
347
 
/branches/stable
314
 
/trunk/l10n
302
 
/trunk/extragear
301
 
/trunk/playground
213
 
/branches/work
175
 
/branches/KDE
138
 
/trunk/koffice
83
 
/branches/koffice
78
 
Lines Developer Commits
320
 
Hamish Rodda
81
 
204
 
Laurent Montel
78
 
169
 
Stephan Kulow
77
 
135
 
Dirk Mueller
63
 
89
 
Gilles Caulier
49
 
123
 
Eike Hein
44
 
91
 
David Faure
42
 
47
 
Jos van den Oever
39
 
86
 
Sebastian Kügler
36
 
70
 
Marcus Furlong
35
 

Internationalization (i18n) Status

Language Percentage Complete
Portuguese (pt)
100%
 
Swedish (sv)
99.45%
 
Danish (da)
98.8%
 
Dutch (nl)
96.86%
 
Spanish (es)
96.85%
 
Estonian (et)
94.2%
 
Italian (it)
93.54%
 
French (fr)
92.78%
 
Greek (el)
92.57%
 
German (de)
92.34%
 

Bug Killers and Buzz

Person Bugs Closed
Andreas Kling
103
 
Robert Moore
50
 
Philip Rodrigues
45
 
Tommi Tervo
30
 
Seb Ruiz
26
 
Andras Mantia
25
 
Danny Allen
22
 
Eric Kjeldergaard
19
 
Mark A. Taff
14
 
Luboš Luňák
14
 
Program Buzz
Amarok
3237
 
Kopete
751
 
Kontact
698
 
Kate
694
 
KMail
689
 
SuperKaramba
686
 
K3B
686
 
KDevelop
682
 
Kicker
561
 
aKregator
455
 
Person Buzz
David Faure
286
 
zogje
257
 
George Staikos
242
 
telex
233
 
pipitas
230
 
Aaron J. Seigo
223
 
boud
221
 
riddell
221
 
wheels
220
 
carsten
205
 

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 87 selections this week

Bug Fixes

Development Tools

Andras Mantia committed changes in /branches/KDE/3.5/kdewebdev/quanta:

Fix a long-standing bug that I could finally somewhat reproduce, which caused growing of quantarc until it was too large to handle, caused by the automatic backup system.

Fix also other bugs in the auto-backup.
Change symlink handling, so paths are resolved after reading from config files. Hopefully it doesn't introduce new bugs.

Andras Mantia committed changes in /branches/KDE/3.5/kdewebdev/quanta:

Save As asked for confirmation of "save before close" for modified files due to the setEncoding() call. This was confusing and could result in data loss as well. For now, remove the possibility to change the encoding in the save dialog (users should change the encoding and save later or save and change later).

Possiby fixes #131728 (I cannot reproduce it with this version).

Andras Mantia committed changes in /branches/KDE/3.5/kdewebdev/quanta:

KDE Base

Stephan Kulow committed changes in /trunk/KDE/kdebase/workspace/kdm/backend/ctrl.c:

avoid crash if some religion celebrates easter in december

Will Entriken committed changes in /trunk/KDE/kdelibs/khtml/khtml_ext.cpp:

my first bugfix commit

fixes JJ: Right mouse click - search at google - ampersand issue.

Multimedia

Allan Sandfeld Jensen committed changes in /branches/work/avkode/avkode:

Improvements and bug-fixes. Now phonon/mediaplayer works

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

Networking Tools

Percy Leonhardt committed changes in /trunk/extragear/network/knemo/knemod:

Fixed calculation of transfer speed. The former method was meant to be more accurate but obvioulsy wasn't. Maybe I should add a history to avoid 'jumping' of the transfer speed.

Diffs: 1, 2, 3, 4, 5 Revision 577639
Diego Iastrubni committed changes in /trunk/extragear/network/konversation/src/konversationmainwindow.c:

fix the tab movement on RTL desktops

Features

Accessibility

Gary Cramblitt committed changes in /trunk/playground/accessibility/orca-dbus:

Add capability to output D-Bus xml for each at-spi object interface. Signals are missing because events are not in the at-spi IDL files.

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

Development Tools

Jens Herden committed changes in /trunk/KDE/kdewebdev/quanta/quantacore:

first implementation of the dombuilder

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 578271
Hamish Rodda committed changes in /trunk/KDE/kdevelop:

Initial support for converting a duchain from its on-disk representation to editor ranges and cursors, and initial highlighting.

Makes documents highlighted from just after opening. Seems to be a bug
with highlighting of uses though...

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 579123
Hamish Rodda committed changes in /trunk/KDE/kdevelop/languages/cpp:

Beginnings of code completion support - extract data for the model from a specified context.

Not even linked in yet

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

Ok, that rocked. I improved the way KXQTS compares fragment baselines(rather, I made it do it correctly). This caused 257 unexpected passes. That's 2%.

Diffs: 1, 2, 3, 4, 5, 6 Revision 579293

Educational

Jason Harris committed changes in /trunk/KDE/kdeedu/kstars/kstars:

1. Change mouse pointer to Qt::PointingHandCursor when the mouse is on the image widget in the Details dialog. This provides a visual hint to the user that the widget is clickable (to open the Thumbnail picker).

2. Change all KShortcut( "Ctrl+C" ) to KShortcut( Qt::CTRL+Qt::Key_C ).

Diffs: 1, 2, 3 Revision 580208

Graphics

Stefan Kebekus committed changes in /branches/work/kviewshell-0.7/kviewshell:

added framework so plugins can specify that they mark hyperlins themselves

Diffs: 1, 2, 3, 4, 5 Revision 577624
Jesper Pedersen committed changes in /trunk/extragear/graphics/kphotoalbum:

It is now possible to set up sub categories in the annotation dialog, simply by dragging items onto other items.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 9 more) Revision 577968
Wilfried Huss committed changes in /branches/work/kviewshell-0.7/kviewshell/plugins:

Support LZW compressed fax files. This adds a dependency to libtiff.

Aaron J. Seigo committed changes in /branches/KDE/3.5/kdegraphics/ksnapshot/ksnapshot.h:

make it more obvious that this can be dragged by changing the cursor on hover to a hand and drawing a drag grippy on the pixmap. weeeeee... now maybe people will figure it out that you can drag the damn thing ;)

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

Add an "Exit Full Screen Mode" action to the contextmenu when we are in fullscreen mode.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 578255
Gilles Caulier committed changes in /trunk/extragear/graphics/digikam/digikam:

digikam from trunk : new batch tool to re-generate all albums items thumbnails for all icon sizes. Use the new Tools/Rebuild all Thumbnails option for that.

This tool can take a while on slow computers (you can take a coffee (:=)). Note : you cannot use digiKam during thumbnails processing.

KDE Base

Siraj Razick committed changes in /trunk/playground/base/kbfx_plasma/src:

Mouse Over Scroll Firefox style scroller

Siraj Razick committed changes in /trunk/playground/base/kbfx_plasma/plugins/strigi:

Strigi plugin stub plugin: coding comes next

Diffs: 1, 2, 3, 4, 5 Revision 578168
Sebastian Kügler committed changes in /trunk/playground/base/guidance/powermanager:

Handle cpu hotplugging gracefully

Diffs: 1, 2, 3 Revision 578428
Aaron J. Seigo committed changes in /branches/KDE/3.5/kdebase/kicker/applets/minipager/pagerbutton.cpp:

ok, only move the window if your moving it on the same desktop via the pager. feels a bit odd to me (though i'm starting to get used to it already) and based on user feedback isn't what people expect. it does break a bit with literalism, but if it aligns better with expectation

.........

there's also some BR#s that this applies to but my day has been way too frustrating to go searching for them right now.

Sebastian Kügler committed changes in /trunk/playground/base/guidance/powermanager:

powermanager:
* Remove battery-related items from popup when no battery found
* Change systray icon accordingly
The applet becomes basically an access applet to functions such as CPUfrequency and suspend/hibernate

Jos van den Oever committed changes in /trunk/playground/base/strigi:

Added initial support for DBus communication to Strigi.

Four functions are supported at the moment but the complete interface will be implemented shortly. Right now, getStatus, countHits, getHits and stopDaemon are implemented.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 578680
George Staikos committed changes in /trunk/KDE/kdelibs/kio:

I'm starting to get scared that I might lose this code so I want it in svn now. The basics work, and all that really remains is some testing and implementation of services. SafeSite is a URL analyzer that can aggregate data from a variety of service providers in an attempt to determine if a given URL may be malicious, or a "phishing" attack. It needs to be implemented at the application level, and would be very well suited to KMail, Konqueror, and Kopete. The choice and weight of services should be configurable and they should all default to off or prompt for privacy purposes.

Diffs: 1, 2, 3, 4, 5, 6 Revision 578716
Siraj Razick committed changes in /trunk/playground/base/kbfx_plasma:

full strigi support

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 578883
Jonathan Riddell committed changes in /trunk/playground/base/guidance/powermanager/icons:

Updated icons from Ken Wimer, plus SVG sources

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 14 more) Revision 578916
Jos van den Oever committed changes in /trunk/playground/base/strigi/src/daemon:

Better DBus support. The DBus binding is now generated from the clientinterface.h and Introspection is supported.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 579039
Luboš Luňák committed changes in /branches/KDE/3.5/kdebase/startkde:

In addition to $KDE_FULL_SESSION add also KDE_FULL_SESSION X property set on the root window (of the default screen). This allows detecting whether KDE is running even from things like "ssh -X" or kdesu which don't preserve the environment. See the comment for more details.

Flavio Castelli committed changes in /trunk/playground/base/strigi/src/searchclient:

Added "edit preferences" to strigiclient, added filtering rule configuration menu

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 579768
Dominik Haumann committed changes in /trunk/KDE/kdelibs/kio/kfile/kfiledialog.cpp:

fix the right way: honor protocols that do not support directory listing.

I'm not 100% sure whether a call of locationEdit->lineEdit()->setModified(true); right in front of the return is needed (I think not), so please review ;)

Luboš Luňák committed changes in /branches/KDE/3.5/kdebase/khotkeys/shared:

Avoid translation to Qt keycode and back, makes it possible to input even things like "dead_acute" that have no Qt keycode.

Diffs: 1, 2, 3 Revision 580188

KDE-PIM

Danny Kukawka committed changes in /branches/KDE/3.5/kdepim/kmailcvt/filter_mbox.cxx:

Added support to read X-Status from mails while import mbox and set correct state back to the imported mails in KMail

Marco Gulino committed changes in /trunk/playground/pim/kmobiletools/kmobiletools/mainpart:

KMobileTools now can find bluetooth devices (and services) by libkbluetooth.
GUI: New wizard page to use the feature above.

Diffs: 1, 2, 3, 4 Revision 578695
Volker Krause committed changes in /trunk/KDE/kdepim/akonadi/server:

Implement DELETE command.
In contrast to RFC 3501 it also deletes still existing content and sub-collections.

Diffs: 1, 2, 3, 4 Revision 579749

Office

Bart Coppens committed changes in /branches/koffice/1.6/koffice/krita:

Much better implementation of indirect painting. Adds the Alpha Darken composite op, as suggested by Ilmari Heikkinen. Currently only workingly implemented for RGBA8 and Grey8, the rest is pending. This adds correct indirect painting in the following cases:
* Paint with opacity varying according to tablet pressure (cool effect, especially with the non-first layer's composite op being set to darken alpha too)
* Paint on layer mask with indirect painting
* Paint on adjustment layer (pending actually working implementation of alpha darken on alpha colorspace)
* Paint with the brush op being different from 'Normal', on a layer that has a different from 'Normal' composite op. Or so =)
Thing that doesn't work yet: indirect painting on selections :(
Users of Krita Development Versions: beware! You will need to recompile koffice/filters/krita (and I even need to manually enter the magick dir and compile that manually) too, in case you only svn up in koffice/krita and make there. This is because the patch changes some things in, amongst others, the PaintLayer, on whose structure the filters depend.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 577939
Sebastian Sauer committed changes in /trunk/koffice/krita/plugins/viewplugins/scripting:

Krita is able to use the Python Image Library (PIL, see <a href="http://www.pythonware.com/library/">http://www.pythonware.com/library/</a>;) now to import and export from additional 38 fileformats.

* not much testet yet.
* expect some probs with non-rgb images.
* since PyQt does not currently run with qt 4.2 snapshot tkinter is used for the gui.

Diffs: 1, 2, 3 Revision 578002
Bart Coppens committed changes in /branches/koffice/1.6/koffice/krita/plugins/paintops/defaultpaintops:

Add the posibility that the user can, for the brush paintop, edit a curve that controls the way that the tablet pressure is translated into size, opacity and darkness. The default is to not use these curves, of course, but giving the user the chance to edit it is a plus (because I get the impression that at max pressure, my tablet seems to give a more discrete and pixelated feel, so with my tablet it is nice that now I can set opacity to 100% at half of the maximum pressure).

Diffs: 1, 2, 3, 4 Revision 578147
Thomas Schaap committed changes in /trunk/koffice:

Implemented support for encrypted documents in KOffice. Opening documents is completely transparent. Note that saving documents is not implemented in the GUI yet, nor is it currently functioning fully correct: there are still interoperability problems. Also moved KoXmlReader from libs/kofficecore to libs/store.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 578873
Alfredo Beaumont Sainz committed changes in /branches/koffice/1.6/koffice/lib/kformula:

UI: Changes to support new behavior based on sequences. Still has quite a bit number of issues, but it behaves better than old UI, allows to work quite well and has no known crashes. And goes before feature freeze, yay !

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 579348
Bart Coppens committed changes in /branches/koffice/1.6/koffice/krita/ui:

Loading and saving of masks in the Krita Native Fileformat

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

* implemented loading and saving of grid data
* added some getters to KarbonGridData and made some others const
* made some cleanups in configure dialog and connected defaultSlot to defaultClicked signal
* the snapping and visible state of the grid are not saved/loaded (or should they?)

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

Multimedia

Christophe Thommeret committed changes in /trunk/extragear/multimedia/kaffeine:

dvb plugin support

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 578116
Matthias Kretz committed changes in /trunk/KDE/kdemultimedia/phonon-xine/ui:

starting the Ui backend part by looking at KMPlayer code

Diffs: 1, 2, 3, 4, 5 Revision 578154
Sebastian Trueg committed changes in /trunk/extragear/multimedia/k3b:

* Make K3b compile with KDE 3.2
* Make libdvdread an optional dependancy (no Video DVD ripping without it) including --without-libdvdread configure option
* Added K3b option to keep the action dialogs open after the process finished (this was the default behaviour in K3b 0.12. Now the default is back to its old state: close the dialog. This can be changed in the misc K3b settings.)
* Show the splash screen as soon as possible
* Check for transcode & vcdxrip and warn if they are not available while the user attempts to rip a Video CD/DVD.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 34 more) Revision 578398
Jeff Mitchell committed changes in /trunk/extragear/multimedia/amarok/src:

ATF -> File Tracking (Amarok File Tracking (AFT)? :-)). New read-only algorithm per discussions in IRC. Less robust, but works on read-only collections and is possibly safer. Also possibly drop the ATF moniker, since we're not using embedded tags anymore to track.

Diffs: 1, 2, 3 Revision 578666
Seb Ruiz committed changes in /trunk/extragear/multimedia/amarok:

* Remove the option to enable/disable history in dynamic mode. It is now on always.
* Disable "Played tracks to show" option if tracks are not removed from dynamic mode, when creating a new dynamic playlist
* Reduce the minimum available tracks to show to 0.
* The beginnings of restoring purged items for podcasts (got caught up in the commit).

Joe Rabinoff committed changes in /trunk/extragear/multimedia/amarok/src/moodbar.cpp:

Store moods with music now saves mood files as hidden files (i.e., they begin with a dot).

Networking Tools

Percy Leonhardt committed changes in /trunk/extragear/network/knemo/knemod:

Redesigned the status dialog. Merged traffic and statistics tab andmerged connection and ip tab.

Diffs: 1, 2, 3, 4 Revision 577759
Giovanni Venturi committed changes in /trunk/playground/network/ksniffer:

I dedicate some time in this summer to my KDE sniffer... I hope I can continue
I've seen a lot of things to fix to release version 0.2

I've made some changes in the configuration dialog implementing the possibility to turn off the warning when in the capture you get 0 packets

Now if a network error occurs I can detect it and stop the sniffing

I have to change the way 'ksniffer' communicates with the suid 'sniff' because is not so good now...

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 577897
Jernej Kos committed changes in /trunk/extragear/network/kftpgrabber/src:

Multiple queue and session related changes:
- better handling of multiple connection threads per session
- better handling of connection losses
- removed directory scanning from TransferDir
- consolidated TransferDir and Site common code to QueueGroup- minor cleanups

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 577907
Jernej Kos committed changes in /trunk/extragear/network/kftpgrabber/src/widgets/browser:

Implemented a better filtering widget.

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

Big new changes:
- Switched to IDEAl style GUI
- Added grouping feature

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 35 more) Revision 578183
Eike Hein committed changes in /trunk/extragear/network/konversation:

* Support %nick as a placeholder for the current nick in the auto-connect commands.

* Don't balk on leading whitespace in the auto-connect commands. I assume I'm not the only one who by reflex puts a space after the separating ";".

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

The search plugin is now part of a tool view and opens tabs as necessary.
This means that:
- it is now possible to do multiple searches at the same
- tabs can be closed

Diego Iastrubni committed changes in /trunk/extragear/network/konversation/src/ircview.cpp:

This is a work arround for bug 112755. Now conversation support BIDI completely. The problem was caused by a bug in QTextEdit. See the bug report for a full explain.

I also documented, blah... just gave a link... which explains what are those BIDI constants used in the source.

Diego Iastrubni committed changes in /trunk/extragear/network/konversation/src/ircview.cpp:

this is an experimental patch which aims at testing a new algorythm for detecting the direction of the string: istead of checking the first strong character, this tests for the whole sentence and counts the appearence of LTR and RTL chars. this also counts for neutral chars and if the sentence has no real direction, the next stage will be to keep the direction of the last line.

this will help people writing lines like:
:)

after writing a hebrew/arabic line. the smilie will be also RTL.

as a bonus, on the commented code i cached up the string length. no need to compute it all the time. another small optimization should be using pointers and not arrays (or QChar::at() ) which is o(n) instead of o(1).

boy, how i miss qt4 :)

User Interface

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

new icons

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

new version/icons

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

new icons

Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/devices/ipod.svg:

new icon

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

some flags

Diffs: 1, 2, 3, 4 Revision 578032

Games

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

Initial drop of KMahjongg rewrite to add SVG support. Not complete yet, need to port drawing code to QGV and restore loading of custom tilesets and backgrounds, among others. Commiting to avoid losing work. Basic functionality is working, including window resizing (still need adjustments, centering, clean up)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 578338
Albert Astals Cid committed changes in /trunk/playground/games/kiriki/src:

add printing, carsten wanted it

Diffs: 1, 2, 3, 4, 5, 6 Revision 580002

Other

Stephan Kulow committed changes in /branches/work/suse_kickoff/kicker:

implement a nicer back button

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

Optimization

Development Tools

Dirk Mueller committed changes in /branches/work/icecream-make-it-cool/services/scheduler.cpp:

- implement job preloading. 4% speedup in a two computer setup.

Dirk Mueller committed changes in /branches/work/icecream-make-it-cool/BENCH:

- new benchmark round. make-it-cool is now up to 19% faster than trunk

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

after some profiling, greatly improve the performance of the code-completion. The main bottleneck is removed now(by using implicit data-sharing in the TypeDesc-class). Some overall optimization would still be useful.

Diffs: 1, 2, 3, 4 Revision 578311
Andras Mantia committed changes in /trunk/KDE/kdewebdev/quanta:

Make the new parser about 100x faster. Now it is faster than the old one, but does not build the dom tree yet.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 579341
Matt Rogers committed changes in /trunk/KDE/kdevelop/lib/kdevpersistenthash.cpp:

Don't iterate over the hash. This is 5 times faster than iterating over
the hash. From Adam's box:

real 6m12.953s
user 5m59.642s
sys 0m1.304s

From my box with the patch:

real 1m9.290s
user 0m39.038s
sys 0m1.976s

Our boxes are about the same speed so the speedup is huge. To quote adam:

holy crap that's *SO MUCH BETTER****

Office

Alfredo Beaumont Sainz committed changes in /branches/koffice/1.6/koffice/lib/kformula/sequenceelement.cc:

UI: First changes to move from an application based on single elements to an aplication based on sequence of elements. These changes allow to traverse formulas faster. Still very buggy.

Sebastian Sauer committed changes in /trunk/koffice/krita/ui:

Improved speed of all filters by some hundred percent.

Sebastian Sauer committed changes in /trunk/koffice:

Added the bytes() and setBytes() methods to be able to manipulate the pixels direct. This is rock fast (near C++ speed), but very experimental stuff!

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

Other

Accessibility

Gary Cramblitt committed changes in /trunk/playground/accessibility/orca-dbus:

New approach. A more robust base class and lots of type data -- a typelib

Educational

Andreas Nicolai committed changes in /trunk/KDE/kdeedu/ktouch:

Merged changes from KTouch version 1.6 (KDE 3.5.4) into current QT4/KDE4 trunk version. Fixed some Qt3 compat issues and replaced QVector, QValueVector, QValueList classes with QList.
Replaced std::set with QSet. KTouch compiles and runs but does not work properly yet.

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

Graphics

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

KPhotoAlbum crashed when renaming a category while the browser was showing that category. This made me finish up an old ongoing refactoring of using the category names as few places as possible, and instead use the CategoryPtr.

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

KDE Base

Jos van den Oever committed changes in /trunk/playground/base/strigiapplet/src/jstream:

Port the jstream:// kio slave to the new archivereader code in strigi.

KDE-PIM

Yang Sheng committed changes in /branches/kdepim/knotes-sok:

Create a branch of KNotes for Season of KDE's development

Office

Sven Langkamp committed changes in /trunk/koffice/krita:

reenable Krita flake shapes. Only the paintdevice shape can be inserted for now

Diffs: 1, 2, 3, 4, 5, 6 Revision 579292

Networking Tools

Andre Duffeck committed changes in /trunk/KDE/kdenetwork/kopete/plugins:

Import Privacy Plugin into svn.
This plugin allows flexible filtering of messages by sender and/or by content.

Manolo Valdes committed changes in /branches/work/make_kget_cool/kget/transfers/multisegmentkio:

add dir for Multi-Segment plugin.

Games

Urs Wolfer committed changes in /branches/work/make_kget_cool/kget:

KGet is now QT3_SUPPORT free! (Except the Konqueror plugin. The plugin needs some more work anyway.)

Diffs: 1, 2, 3, 4 Revision 580196

Other

Benoît Jacob committed changes in /trunk/kdesupport/eigen:

This patch removes the buffer manager and reverts to doing dynamic memory allocations without shame. Eigen must just keep focus on simple things, it's not intended for large computations, and anyway my implementation was not so good.

Diffs: 1, 2, 3, 4 Revision 578628
Stephan Kulow committed changes in /branches/work/suse_kickoff:

"kickoff"
WARNING: it's crashing here and there if $USER != "dirk"

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 70 more) Revision 579212
Matt Broadstone committed changes in /branches/work/ktoolbox:

my version of the QToolBox

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