Issue 21

27th August 2006 by Danny Allen

This Week...

As the Summer Of Code draws to a close, a mass code import in the Physiks project, and other notable commits for several of the other affiliated projects. Work begins on a Kexi importer for KSpread. Numerous improvements for displaying data in Forms and Table View in Kexi, including support for default values and tooltips for large content. Lots of work on the Kross scripting framework. Improved functionality in Konversation and KFTPGrabber. Speed and memory optimisations in KDevelop and Filelight. An experimintal project begins to integrate the Orca Screen Reader into KDE 4 using D-Bus.
This week saw the conclusion of the Summer Of Code initiative - I chased down some of the projects to catch up on their progress.
Allan Sandfeld Jensen briefly covered his project, avKode, a backend utilising FFMPEG for the Phonon multimedia framework:
The basic idea of avKode was to get a good basic media backend for phonon. I originally looked at Xinelib and GStreamer, but I didn't like either of them.

The problem is that big libraries like GStreamer or Xine reimplement a lot of stuff we already handle in Qt or KDE, object management, IO-slaves, threading etc.

My hope with avKode was that when combining a powerfull decoding library like FFMPEG with the powers of KDE and Qt there wouldn't be much code missing to get a good decent media backend. I've implemented a QWidget for XVideo output, an audio-video synchronization class, a KIO stream wrapper and a FFMPEG decoder wrapper. This is really all that was needed. But there have been some ugly things as well.

The hardest part has been fixing and working around bugs in FFMPEG. The timings FFMPEG reports varies from always 0 to mostly bogus, and length of MPEG files is always reported as being 40ms; just to mention a few huge FFMPEG bugs. Fixing or working around this stuff is really duplicating work already done in the other libraries, and I am really hoping I will soon have most of the major problems nailed, otherwise avkode might turn out to have been a less good idea.

Fortunately the other part of my SoC project, implementing random KIO access, seems to be working fine and have already been commited to trunk.
Sheldon Cumming describes his project Sleek, a new way to visualise information:
The goal of the project is to change how people view calendaring information. A related, more ambitious objective is to change how people view all temporal information, such as timezones, estimated times, creation dates and usage statistics.

I think it's important because I'm especially bored of using full-screen calendaring applications. They pretend to be like a calendar on your desk, but aren't really as they aren't as static (unless you have a second display and leave Kontact or something maximized). In my experience, people in offices would either have their calendar memorized anyways, or be at the mercy of reminder dialogs, which may appear after the subject had left to go get coffee :)

My answer is to have this information, which is exceptionally important, to be always visible while allowing the person give as much focus to the job they should be doing. Then I could probably take down the huge whiteboard calendar I have on my wall.

In practice this appears as a nifty linear clock on any edge of your screen. Very simple, yet different and full of information. You may find you view your day differently as it makes you acutely aware of how much of it is gone already ;)

It doesn't aspire to replace KOrganizer, as KOrganizer is always going to be better at a lot of things. The aim is to complement its capabilities.

The stuff in SVN is kind of old, and after talking to many people about the things it does I'm going to be changing a lot of stuff in the near future.

Here is a mockup of some projected capabilities, and an actual screenshot of the Sleek bar in use - i've been experimenting with different things to make the visuals match the name.
These are only a few of the exciting and interesting projects completed for the Summer Of Code, with many projects making terminal commits this week. Of course, we now have the Season Of KDE projects to look forward to... Good times!
Tobias Hunger, a key developer of the Decibel communications framework, one of the pillars of KDE 4, explains the project in detail:
Let's start with the current progress:

I started coding, but there is nothing worth showing yet. Most of my time is currently spent in discussions with the tapioca (which nowadays implements the telepathy spec, which I consider to be great news!) and telepathy people. There are still some areas that are somewhat hazy to me (or just not properly spec'd out ;-). The existing tapioca Qt4 bindings are mostly defunct, so that is another area that I need to spend more time on than originally estimated.

Near term goals:

Give a presentation about decibel at Akademy in Dublin and have a somewhat-working prototype of Houston, the platform-independent part of Decibel, by then. I am not yet sure whether I'll really make it, but I have high hopes.

Long term goals:

To provide a framework that makes integration of communication and collaboration features into applications as easy as possible. Wow, that is a sentence full of buzzwords, but I do not know how to explain it better ;-)

Basically I'd love to see things like whiteboards that are accessible form many applications so that people can share ideas over the network.  Simpler things like better integration of real time communication features into existing applications.

Think about better integration of your real time communication mechanisms into existing applications. Having real-time communication integrated into your mail client springs to mind here: In your list of received mails there could be an icon representing the presence state of the mail senders on networks like ICQ, Jabber or whatever and you can start a chat session with them with one click.

We would like to simplify the way accounts on real-time communication services are handled. A user wants to do things like "chat with my friend X". This does not include subtasks like figuring out which of the installed programs can actually speak the protocol used by the service X frequents, etc. What we envision is that the user selects a contact to talk to (or chat with or video-stream to) and then Houston selects a protocol to use, helps the user with creating an account on the service (if required), puts the user online on the service and fires up the preferred application to handle the protocol used.

What it will bring to the developers:

Not having to worry about the low level details of real-time communications, thus reducing the number of lines of code to integrate features based on that technology into their code.

We strive to provide a framework that people can connect to over D-Bus, implementing only those components that they need to implement to set them apart from their competitors while relying on those provided by Decibel for the rest of them. The Telepathy spec at freedesktop.org already reaches that goal for the low level components of the framework (the Connection Managers that implement the wire protocols, etc.), but there is no framework yet for high level components like chat windows, VOIP dial windows, etc. to plug into Decibel will provide that.

What it will bring to the users:

We hope it will bring better integration of communication and collaboration features into applications :-)

Besides that we hope to improve on the stability of real-time communication software by subdividing the functionality in easy to test parts that communicate over D-Bus. D-Bus isolates the different parts of the system from each other. If for example the IRC Connection Manager dies then the rest of the application will be notified of that event, but the ICQ and SIP streams handled by the same application will not get interrupted.

Then we want to allow the user to centrally manage his communication settings and accounts. This allows him to do things like set his presence information to "away" for all his accounts on all the communications networks he uses.
Keeping with the new technology theme comes a short explanation from lead developer Scott Wheeler regarding the progress of Tenor, an ambitious experiment in contextual linkage.
At my current job I'm doing cross-platform pro-audio stuff, which also has nothing to do with KDE, but for the moment I rather enjoy.

Sponsorship for my KDE work has never been something that I've sought. KDE is one of my hobbies and I'm fine with it staying that way. (Not to mention that I have to have normal full-time employment to remain in Germany where I've been for several years.)

So, then what's with Tenor?

Like I said above, KDE is my hobby. Sometimes I feel like working on it, sometimes I don't. (My life has also been really busy in the last few months, but really it's more of a matter of motivation than time.) When I don't feel like working on it, I don't. It's really that simple.

The desire to work on Tenor for me comes in waves. A couple months back I spent a few weeks hacking on it again. I haven't touched it since then.

So, will Tenor be in KDE 4?

Maybe. Really it depends on if and when I feel like hacking on it or if someone else decides to pick it up and run with it. Think of it as a surprise. ;)

Statistics

Commits 2813 by 224 developers, 6435 lines modified, 2445 new files
Open Bugs 13094
Open Wishes 11498
Bugs Opened 304 in the last 7 days
Bugs Closed 291 in the last 7 days

Commit Summary

Module Commits
/trunk/extragear
491
 
/trunk/KDE
461
 
/trunk/l10n
442
 
/trunk/www
335
 
/branches/stable
264
 
/branches/KDE
171
 
/trunk/playground
168
 
/branches/work
161
 
/trunk/koffice
80
 
/branches/koffice
61
 
Lines Developer Commits
360
 
Eike Hein
122
 
187
 
Dirk Mueller
87
 
86
 
Jonathan Riddell
81
 
71
 
Renato Pavičić
70
 
324
 
Hamish Rodda
62
 
114
 
Stephan Kulow
60
 
132
 
Gilles Caulier
59
 
58
 
Rinse de Vries
52
 
136
 
Frans Englich
47
 
42
 
Helio Castro
42
 

Internationalization (i18n) Status

Language Percentage Complete
Swedish (sv)
99.94%
 
Portuguese (pt)
99.73%
 
Danish (da)
98.75%
 
Spanish (es)
97.17%
 
Dutch (nl)
97.16%
 
Italian (it)
93.84%
 
Estonian (et)
93.48%
 
French (fr)
93.01%
 
Greek (el)
92.99%
 
German (de)
92.14%
 

Bug Killers and Buzz

Person Bugs Closed
Luboš Luňák
34
 
Dirk Stoecker
34
 
Frank Osterfeld
31
 
Andreas Kling
27
 
Eike Hein
22
 
Martin Aumüller
19
 
Tommi Tervo
18
 
Gilles Caulier
16
 
Christophe Thommeret
14
 
Mark Kretschmann
13
 
Program Buzz
Amarok
3297
 
KDevelop
713
 
SuperKaramba
709
 
Kontact
708
 
KMail
704
 
Kopete
701
 
K3B
693
 
Kate
684
 
Kicker
612
 
digiKam
469
 
Person Buzz
Aaron J. Seigo
293
 
wheels
256
 
zogje
242
 
telex
242
 
David Faure
238
 
pipitas
233
 
riddell
223
 
boud
216
 
George Staikos
202
 
Anne-Marie Mahfouf
192
 

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

Bug Fixes

Development Tools

Hamish Rodda committed changes in /trunk/KDE/kdevelop:

More stability - this time, allow the user to close a project and/or
kdevelop while background parsing is progressing.

Add mutexes to KDevLanguageSupport which can be locked to protect
language support resources while processing continues. This is a
per-thread mutex because otherwise all the background threads sit around
while one executes (which kind of defeats the point).

Extend abort + lock support to c# and java parse jobs.

Lock the smart interface mutex before it is deleted (thus preventing the
editor from disappearing)

Instead of dequeueing pending jobs (which doesn't give you a definitive
dequeued signal... yet?), abort them all. Not 100% right because the
progress bar gets stuck.

Fix the smart interface in the editor integrator so that
1) the smart interface doesn't suddenly appear while parsing
2) the lookup doesn't have to happen all the time.

Remove queue policies from jobs which haven't executed. This is in an
attempt to stop access to deleted policies in job destructors.. Didn't
work initally, but might actually be working now (will have to test).
For the moment the policy deletion is commented out.

Add projectClosing() signal to KDevProjectManager, so that you can do
stuff before the project has closed.

Maybe now I can get back to some features...

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 10 more) Revision 576211
Dirk Mueller committed changes in /branches/work/icecream-make-it-cool/daemon/main.cpp:

finally fixed the daemon crash we had all the time in Trysil

Office

Bart Coppens committed changes in /branches/koffice/1.6/koffice/krita/ui/kis_custom_image_widget.:

Obey the transparancy setting in the custom image dialog. Note that it changes the opacity of the initial layer, not the fill color of it (just like it used to do before, iirc).

Multimedia

Ian Monroe committed changes in /trunk/extragear/multimedia/amarok:

*Mongrel now builds. So now Amarok has a DAAP server that works with Banshee
and Amarok. iTunes support is in the works (holding off ChangeLog entry until
so).
*Re-enabled Zeroconf. Still need to fix the segfault.

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

Utilities

Max Howell committed changes in /trunk/extragear/utils/filelight/src/part/radialMap/map.cpp:

Maybe fixes this crash on startup. I can't reproduce so I can't be sure.
RC2 will be released tomorrow or today if I have time.

Features

Development Tools

David Nolden committed changes in /branches/work/kdevelop-teamwork.kdevelop:

Make forward-sessions work again, make the user-icons for them consistent, add user-management to the file-collaboration-sessions(using the tree-view), more debugging..

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 22 more) Revision 574781
Jakob Petsovits committed changes in /trunk/KDE/kdevelop/languages/csharp/parser:

Support for variables in the C# binder.

Diffs: 1, 2, 3, 4, 5 Revision 575592
Jakob Petsovits committed changes in /trunk/KDE/kdevelop/languages/csharp/parser:

* Display classes, members etc. with access policy and modifiers
* Add support for constants

That's it, people - so much for the C# SoC!
Of course, there's still a million things to improve,
so don't expect me to disappear too soon :D
Maybe with less time invested though.

Thanks for everyone's support and welcoming attitude!

Diffs: 1, 2, 3 Revision 575613
Adam Treat committed changes in /trunk/KDE/kdevelop:

Add top-level UI mode and docked window mode to kdevelop 4.

This should be roughly analagous to what designer 4 does. Right
now, the top-level UI mode does not place the top-level windows
in any kind of smart manner, but everything in time... Top-level
UI mode should be good for Xinerama users and those who want a UI
similar to designer or XCode.

This patch completely changes the API for KDevMainWindow and how plugins
are inserted into the UI. The API has been simplified and I've modified
all the plugins to use this new API. Individual plugins that inherit
KDevPlugin no longer need to worry about adding themselves and removing
themselves from KDevMainWindow as this is accomplished by the plugin
controller.

However, individual plugins that inherit KDevPlugin and wish to have some
sort of UI need to override a couple of new virtual functions in KDevPlugin.

1) virtual Qt::DockWidgetArea dockWidgetAreaHint() const;
2) virtual bool isCentralPlugin() const;
3) virtual QWidget *pluginView() const;

The docs for these methods can be found in KDevPlugin. The quanta devs
will want to modify their plugins to use this new API.

In order to switch between UI modes, I've created a new KCM. In the future,
this KCM might hold other UI options, like whether a taskbar entry should
appear for plugin windows in top-level mode or whether the mainwindow should
always stay on top... etc, etc.

This is all still very rough, but you have to start somewhere, right?

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 40 more) Revision 576055
Hamish Rodda committed changes in /trunk/KDE/kdevelop/plugins/valgrind:

Whoops, didn't mean to commit my valgrid changes, but since I have...
add the other work too

I'm working on using xml output from valgrind, and allowing output to
come from any tcp location, but it's quite a way from being finished.

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

first steps to the new parser

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 576494
Adam Treat committed changes in /trunk/KDE/kdevelop:

Introduce a KCM for the backgroundparser. Next: add options for number of threads.

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

Starting to flesh out the new c++ type system. The builder still has a long way to go, but it got pretty quickly to this stage...

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 577068
David Nolden committed changes in /branches/work/kdevelop-teamwork/kdevelop/lib/dynamictext:

continue working on the text-transformation-algorithm. Now it finally works correctly, all test-cases are successful.

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

Educational

Harish Kukreja committed changes in /trunk/playground/edu/physiks/physiksbase:

Final result of Summer of Code work for Physiks

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 57 more) Revision 575246
George Wright committed changes in /branches/KDE/3.5/kdeedu/klatin/klatin/data/vocab/sk:

Slovakian vocabulary files

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

Graphics

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

now it is possible to specify the icon size in used in the browser - esp usefull for showing larger images for persons in an icon view

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 575228
Jesper Pedersen committed changes in /trunk/extragear/graphics/kphotoalbum/demo:

added a category image for pets, and changed persons to show in an icon view

Diffs: 1, 2, 3 Revision 576046
Gilles Caulier committed changes in /trunk/extragear/graphics/digikam/digikam:

digikam from trunk : albums gui : New menu option to force the refresh of album contents. The thumbnails will be recomputed by digikam kio-slave.

Note: The keyboard shorcut for this action is F5

Barth Netterfield committed changes in /trunk/extragear/graphics/kst:

Add a hack to tests which allows dirfiles to be replayed at 5Hz frame rate. Now you can relive the exitement and terror of all your favorite balloon flights while realisticly testing kst in real-time mode (rating: PG13)

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

KDE Base

Leo Savernik committed changes in /branches/KDE/3.5/kdelibs/kate/part:

Backport kate modeline per mime-type/extension enhancement.

This allows for a properly configured .kateconfig for KDE4 development
to be used within KDE 3.5.5+

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

Add more correct version of the pdf parser. This one does not just scan for "stream" and "endstream" but actually parses all the tokens in the pdf file. Content streams are not parsed yet. This is required for text extraction.

Diffs: 1, 2, 3 Revision 575192
Luboš Luňák committed changes in /branches/KDE/3.5/kdelibs:

Add support for more icon contexts, make sure non-existent contexts are not shown in the icon dialog (#120562).

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

powermanager:
* Add basic dcop interface (see also issues regarding KUniqueApp)
* Read number of brightness levels dynamically
* onBattery() needed an extra not :-)

Aaron J. Seigo committed changes in /trunk/KDE/kdelibs/kdeui:

clear button inside the line edit.

Diffs: 1, 2, 3, 4, 5, 6 Revision 576410
Nikolas Zimmermann committed changes in /branches/work/unity/WebKit/WebCore:

Implemented mimetype detection, and setting the correct mimetype
in the ResourceRequest, _before_ calling begin(). The approriate
documents (either for SVG/HTML/XHTML) will be created now! :-)

Finally we can enable SVG_SUPPORT by default!

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

Expansion of the archivereader Qt4 gui functionality.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 577128
Riccardo Iaconelli committed changes in /branches/work/kde4/playground/base/plasmagik/src:

Lots and lots and lots of various improvements/fixes/whatever.
I cannot really remember them all (I've been working for 2 weeks w/o Internet).

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

KDE-PIM

Eduardo Pereira Habkost committed changes in /branches/work/opensync-integration/kitchensync/src:

Added very simple configuration GUI for google-calendar plugin

Diffs: 1, 2, 3, 4 Revision 574743
Frank Osterfeld committed changes in /trunk/KDE/kdepim/akregator/src:

towards a saner browser implementation

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 574816
Marco Gulino committed changes in /trunk/playground/pim/kmobiletools/mobile-kioslaves/obex:

Implementing choose-connection-by-url, instead of hardcoding it.
I used a syntax similar to existing obex:/ ioslave from kdebluetooth, and i also used bluetooth as a fallback when transport is not specified, so now our kioslave can replace kdebluetooth one.
Thanks martirc for his good work here.

Diffs: 1, 2, 3, 4, 5 Revision 576015
Narayan Newton committed changes in /trunk/KDE/kdepimlibs/kxmlrpcclient:

-- Initial HTTP-Digest Auth Support
-- Switch query to a QMap based metaData variable for all
KIO::Job metaData handling, including UserAgent and Digest
-- Added some doxygen commands

Diffs: 1, 2, 3, 4 Revision 576404
Tobias Koenig committed changes in /trunk/KDE/kdepim/akonadi:

Added support for status information to PIM::AgentInstanceModel
and make use of it in AgentInstanceView.

Furthermore added nice icons for the ical and knut resource.

To test the live status information update, just start akonadi_control
and akonadiconsole, then add a new knut agent instance and see...

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 577094
Frank Osterfeld committed changes in /trunk/KDE/kdepim/akregator/src:

do not hardcode colors in article list. Make them configurable now with hardcoded defaults, as soon as the new extended color scheme with colors for unread and new is in place, these defaults will be used.

This is KDE4 only, I will request to add it for 3.5.5, too.

Frank Osterfeld committed changes in /trunk/KDE/kdepim/akregator/src/browserrun.cpp:

show error messages in the htmlpart instead of using annoying popups

Office

Jan Hambrecht committed changes in /trunk/koffice/libs/flake:

move baby, move!

Implemented basic moving of control points.
It lacks a corresponding command to undo/redo the
editing. Moving of smooth control points has to
be improved.

Adam Pigg committed changes in /branches/koffice/1.6/koffice/filters:

Initial import of kspread kexi import filter.

Features:
Import selected tables/queries + custom sql statement from a .kexi (file based) database.
Each table/query is a seperate sheet
Field names on top row in bold/ligh gray bg
Hope the commit works!

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 575113
Bart Coppens committed changes in /branches/koffice/1.6/koffice/krita/ui/kis_tool_freehand.cc:

Due to popular request: allow freehand painting strokes to start outside the image area. This would be especially handy together with wishlist item 132759

Sebastian Sauer committed changes in /trunk/koffice/libs/kross:

Initial implementation of the kjs/kjsembed backend.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 576682
Sebastian Sauer committed changes in /trunk/koffice/libs/kross:

Be able to use kjs e.g. from python;

import Kross
kjsaction = Kross.action("MyKjsScript")
kjsaction.setInterpreter("javascript")
kjsaction.setCode( "println(\"Hello world from Kjs\");" )
kjsaction.trigger()

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

More work on the ruby-backend.

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

Multimedia

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

Add audio converter and resampler

Diffs: 1, 2, 3, 4, 5, 6 Revision 575110
Ian Monroe committed changes in /trunk/extragear/multimedia/amarok:

*Now I'm using Mongrel <a href="http://mongrel.rubyforge.org/">http://mongrel.rubyforge.org/</a>; instead of WEBrick
to provide HTTP functionality to the DAAP server due to some blocking bugs of the latter.
*So is now the server is now known to work with both Banshee and Amarok as clients!
*I've imported Mongrel (which has a small C extension) into Amarok and quickly descended into Makefile.am hell. So I could use some help again. :) The first mongrel directory is currently not in SUBDIRS.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 18 more) Revision 575261
Vincenzo Di Massa committed changes in /trunk/KDE/kdemultimedia/phonon-nmm:

Added support for multi AudioOutput on each AudioPath. GraphHandler has been refactored. GraphHandler needs fixes in nodes deallocation and on sink nodes connection to the rest of the branch. The graph is constructed for the first sink, then the other sinks are connect without caring about different formats (needs to be fixed addind a node lookup in stage3 to add a converter node before the sinks with different input formats)

Diffs: 1, 2, 3, 4, 5, 6 Revision 575371
Seb Ruiz committed changes in /trunk/extragear/multimedia/amarok/src/mediadevice/daap:

A cute little loading animation for the Daap server item in the browser when connecting to the machine!

Diffs: 1, 2, 3, 4 Revision 575856
Jeff Mitchell committed changes in /trunk/extragear/multimedia/amarok/src:

Most of the algorithm to (theoretically) safely and atomically write UIDs to files. Still need to figure out a good way to switch taglib's fileref around.

Sebastian Trueg committed changes in /trunk/extragear/multimedia/k3b/src:

Robert Wadley had a very cool idea: he created a K3b theme with transparent widgets that adjusts to the selected KDE color scheme.
It turned out to be very simple to adjust K3b to fully support this. In doing so I also improved the design of all the K3b themed windows and made sure they reacted properly on KDE color scheme changes.

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

Introduces a number of new things:
1) A transactional algorithm to safely modify files (with either complete success or complete failure) has been implemented to make saving tags safe(r?). This is contained in the new helper class MetaBundleSaver. Class usage is easy: create an instance, call prepareToSave() to get a taglib fileref pointer, do you work on that fileref, call doSave(), then cleanupSave(). Cleanup is separate in case you decide not to do the doSave()
call after all, for instance if you encounter an error when working with the fileref.
2) MetaBundle gets a new method: safeSave(). Call safeSave() in place of save() to transparently use this transactional save method. This will update the same tag fields as a call to save() does.

Note there are some minor bugs to be worked out with MetaBundleSaver, namely that it seems to sometimes miss KIO's signals, but other than that it seems to work well.

Diffs: 1, 2, 3 Revision 576759
Matthias Kretz committed changes in /trunk/KDE/kdemultimedia:

I think the Phonon xine backend is ready for trunk. Playback of URLs supported natively by xine should all work (including radio streams). It's audio only so far.

Networking Tools

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

- Torrent mimetype file installation is now optional through configure (disabled by default)
- Tweaked piece downloading to not be to aggresive on slower peers

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 574832
Ivan Vasic committed changes in /trunk/extragear/network/ktorrent:

Added KT blacklist GUI. Removed KT format filter from IPFilter plugin and merged into integrated ip filter.

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

Log each network (or server, if it doesn't belong to a network) to a separate logfile instead of logging all of them
to "konversation.log".

Diffs: 1, 2, 3, 4 Revision 575715
Eike Hein committed changes in /trunk/extragear/network/konversation:

Implement revert-to-defaults for the nicklist theme prefs page.

Diffs: 1, 2, 3 Revision 575717
Jernej Kos committed changes in /trunk/extragear/network/kftpgrabber/src:

Added "Resume all", "Overwrite all" and "Skip all" options to the "on file exists" dialog.

Eli MacKenzie committed changes in /trunk/extragear/network/konversation/src:

Implement a new method of breaking up texts that are too long to send in one message.

- text displayed in the window matches what is sent to the server
- works only for channels and queries
- should work with all supported encodings, but this will need heavy testing - multibyte especially
- patch includes lots of debugging lines, change the KV macros to kdDebug to enable

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 576455
Jernej Kos committed changes in /trunk/extragear/network/kftpgrabber/src:

Implemented connection keepalive for FTP connections using NOOP.

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

Added support for passing an URL via the command line.

User Interface

Kenneth Wimer committed changes in /trunk/playground/artwork/Oxygen/theme/svg/actions:

putting the blue buttons back

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

new icons

Diffs: 1, 2, 3 Revision 576867

Other

Simon Hausmann committed changes in /trunk/qt-copy/src/gui/util:

- add support for notications on tooltip requests. X11 only and makes it
possible to implement dynamic tooltips. Requested at http://lists.kde.org/?l=kde-core-devel&m=115420977227759&w=2

Diffs: 1, 2, 3 Revision 577111

Optimization

Development Tools

Hamish Rodda committed changes in /trunk/KDE/kdevelop:

Reduce the time on one of my test cases by 40%... thanks to
Valgrind/Callgrind/KCachegrind. It was spending lots of time comparing
KUrls.

Whoever came up with this cursor + url scheme anyway... oh, that was me. It's not
needed now like it was before, because I've decided not to actually
#include sources in the preprocess stage, but to parse each file
separately.

Diffs: 1, 2, 3, 4, 5, 6 Revision 576244
Hamish Rodda committed changes in /trunk/KDE/kdevelop/languages/cpp/parser/rpp:

Major speedup brought about by removing QTextStream.

I knew that QTextStream would be a bit of a compromise, but I had no
idea how much it actually was.

This shaves 50% off the time to fully parse a file, so the old code must
be at least an order of magnitude worse.

Anyway, in total I've taken 80% off the time to parse a file... woohoo!

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

KDE Base

Aaron J. Seigo committed changes in /branches/KDE/3.5/kdebase/kicker/taskbar:

get rid of lots of double paints, e.g. when kwifimanager updates it's
icon and then it's title every second or two .. or when using plastik
and it decides to call repaint(false) on the button just because it's a
qtoolbutton. =/

Office

Sebastian Sauer committed changes in /trunk/koffice:

* made invert.py working again. We are 300% (yes, 3 times) faster with the new framework.
* merged filterconfig into filter.
* don't know why the progressbar isn't displayed. theoretical it should work :-/

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

Utilities

Max Howell committed changes in /branches/filelight/1.1:

1.1 branch, memory optimisations. A depressing 2MB in 19MB, by using
vectors instead of double-linked lists. Can I save more memory and put
the "bloated" crowd wrong? I'll try, but I expected this saving to do
better! Maybe I should gzip the memory, that would shut them up :-/

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

Other

Accessibility

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

Experimintal project to integrate Orca Screen Reader into KDE4 using D-Bus.

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

KDE Base

Simon Edwards committed changes in /trunk/playground/base/systemsettings/menu:

Fixes to the module layout for KDE 3.5.4 to bring it into line with Ellen's design.

Diffs: 1, 2, 3, 4 Revision 576321
Nikolas Zimmermann committed changes in /branches/work/unity:

Finally I can commit the UseKIO.patch!
Because of David's excellent work kio_http works fine again, so does unity+kio.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 576374
Jos van den Oever committed changes in /trunk/playground/base/strigi/src:

Copied the archivebrowser Qt4 demo application to the new implementation of the archive reader.

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

A new Chapter of KBFX starts here:

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 209 more) Revision 576711
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma:

start moving this towards sensibility
not much to see yet, but people are looking at this and understandably
scratching their head since it's not obvious that a lot of this was
sketching versus implementing... well, that's starting to change.

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

KDE-PIM

Allen Winter committed changes in /trunk/KDE/kdepimlibs/kcal:

Alarm Class Cleanup:
- beginnings of a unit test
- full d-pointer implementation
- complete doxyification
- kdepim styling
- kdepim indenting
- eliminate all krazy issues

Note: this was a non-trivial amount of work for a moderate size class.
In particular, you can go nuts writing apidox. But I hope to use it
as a "template" for further cleaning in kcal and elsewhere in kdepimlibs.

Drop me a line if you are interested in my style checker perl program.
I doubt the style checker will ever be integrated with krazy but I might
put it into kdesdk/scripts if there is enough interest.

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

Office

Sebastian Sauer committed changes in /trunk/koffice:

Re-activated the KSpread scripting plugin.

* Well, in fact only _one_ single scripting.(h|cpp) is needed now since we are reusing transparently the dbus-adaptor classes to access the whole KSpread functionality on the fly.
* We are not limited to the dbus-functionality since we are also able to manipulate e.g. the Document or the View class direct.
* Arguments as well as returnvalues are just working. Also not limited to the types dbus knows. We are able to pass QVariant's, QMetaType's as well as e.g. QObject instances.
* The unittest.py contains some first examples to demonstrate that. To see the unittest.py in the "Script Manager" it's for now needed tpo add following lines by hand to your ~/.kde4/share/config/kspreadrc file;
[scripts]
names=unittest
unittest_file=/opt/kde4/share/apps/kspread/scripts/unittest/unittest.py (or wherever you have the python-file)
unittest_text=Unittest

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

Enabled parts of Krita's scripting-plugin again.
* merged things together
* provide ScriptingModule as with KSpread to have a "Krita" main-/root-module.
* Moved scripting-menuitems to Tools to be more consistent with KSpread and Kexi.
* scripting/kritacore/* is disabled for now. Will be ported later.

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

Multimedia

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

A quick port of phonon akodebackend to avkode

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 575119
Sebastian Trueg committed changes in /trunk/extragear/multimedia/k3b/src/projects:

Drop the on-the-fly checkbox in favor of the new cache-image checkbox.

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

Networking Tools

Eike Hein committed changes in /trunk/extragear/network/konversation/src/konvdcop.cpp:

Break everyone's DCOP scripts by fixing the capitalization of
the main interface object. When the hatemail arrives, please
have the "you were supposed to use 'default'" excuse ready.

Chani Armitage committed changes in /trunk/KDE/kdenetwork/kopete/protocols:

switch to the new qca hash stuff (sorry if this breaks for people using an older qca!)

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

Utilities

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

icon converted to SVG and revised by Robert Lihm

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