Issue 93

13th January 2008 by Danny Allen

This Week...

A whole set of bugfixes and feature additions in Plasma, and various optimisations across KDE. Usability improvements in Blinken. More work on the timeline tool, including fuzzy selection in Digikam. Support for XComposite translucency in the Konsole KPart. QtScript can now deal transparently with all scripting backends supported by Kross. Improvements in KWin Composite effects. Support for an old feature request, "parenthesis highlighting as an expression" in Kate. Continued interface work in the KHotNewStuff2 library. Progress in the Bonjour protocol implementation in Kopete. Support for stroke gradients, and adding and removing rows, columns and cells in the new Table Flake shape in KOffice. Initial import of kio-giobridge, a bridge interface between the KDE and GNOME I/O methods. Work is resumed on the CIA Plasma applet. A Luna Plasmoid (moon phase display) is added to KDE SVN. Dragon Player (formerly Codeine) is moved from playground/multimedia to kdereview, with a view to moving into kdemultimedia for KDE 4.1. The KDE 4 version of Yakuake, essentially a rewrite, is imported into KDE SVN.
Luboš Luňák talks KWin 4.0, and why KDE did not integrate Compiz for its accelerated desktop solution:
KWin, the standard KDE window manager in KDE 4.0, ships with the first version of built-in support for compositing, making it also a compositing manager. This allows KWin to provide advanced graphical effects, similar to Compiz, while also providing all the features from previous KDE releases (such as very good integration with the rest of KDE, advanced configurability, focus stealing prevention, a well-tested window manager, robust handling of misbehaving applications/toolkits, etc.). Unlike Compiz, KWin still functions even when no system support for compositing is available, with only the compositing features being unavailable.

KWin versions in recent KDE 3.x releases included a stand-alone compositing manager called kompmgr, based on the xcompmgr compositing manager. Kompmgr was only loosely tied up with KWin, used only XRender for rendering, and provided only basic features like transparency, shadows, and fade in/out animations. The compositing manager implemented in the version of KWin included with KDE 4.0 is integrated into the rest of KWin, and it can use either OpenGL or XRender for rendering and has a framework for compositing effects, all of which allows KWin to provide a much wider range of features.

Note, however, that compositing support in KWin in KDE 4.0 is still considered experimental, for several reasons. System support for compositing is often problematic (various bugs in the X server, drivers, or other parts of the system), some applications may not be prepared and work well with compositing, the performance may not be adequate, and other problems. Also, while KWin's compositing support is considered usable and reasonably stable, it is relatively new code and has been tested only on a limited range of hardware.

Therefore, compositing support in KWin is disabled by default, and needs to be explicitly enabled. If there are any problems, you can disable it again and report a bug with all relevant information about the problem.

Similar to older KWin versions, it is possible to use KWin with other desktop environments or even as a standalone window manager, as long as the required KDE libraries are installed. Please note that KWin is a pure window manager, and does not provide a panel or handle desktop backgrounds like some window managers do. KWin's compositing features work in the standalone mode, with some functionality missing (because of a missing taskbar, for example), and, while this has not been tested, it is expected that compositing features will work also when running in other desktop environments, possibly with some functionality missing again. Reports on using KWin with other desktop environments are welcome.

Compositing works internally by redirecting window drawing to offscreen memory and composing it on the screen in an additional drawing pass. This means that, in general, a composited desktop (on average) has worse performance than a non-composited desktop (although in some cases it may perform better, be that real improvement (or just perceived) due to animations, better synchronization or similar factors). For example, binding window pixmaps to OpenGL textures (that is, preparing window contents for drawing) can be a relatively costly operation with large windows, making things like animations in a Plasma desktop window or page scrolling in a maximized browser window jerky. Heavy system load can also cause the compositing manager to not repaint often enough, resulting in lagging or jerky screen redrawing.

KWin in KDE 4.0 is also relatively new code, and has not been extensively optimized yet, therefore its performance may not be in some areas comparable with performance of other compositing managers. In such cases performance should be improved with newer versions.

Note that current XRender implementations (in X/drivers) often perform rather poorly and therefore the OpenGL mode should usually have much better performance.

As already said, compositing support in KWin is considered usable and reasonably stable, but due to several reasons it may not work properly for you.

KWin provides support for writing compositing effects that may be loaded into KWin as plugins. These effects communicate with the KWin core using C++ API specially designed for this purpose, making effects not directly dependent on the KWin core or changes in it.

At the time of the KDE 4.0 release, since compositing support is still under heavy development, this API is considered unstable and subject to change. If you write your own effect plugin, you may need to recompile it after a KWin update. KWin will however detect incompatible versions and will not load such plugins (automatic, you do not need to provide any code for it). As the compositing support becomes more stable, this API will be kept backwards and binary compatible just like with other KDE libraries.

At the moment, the API for compositing effects is unfortunately only sparsely documented. Developers interested in writing compositing effects for KWin are suggested to use source code of effects shipped with KWin (the Howto effect in test/ directory as the starting point) and/or ask on the KWin mailing list.

Links to various KWin-related documents are available at Techbase.

Why Not Compiz?

It is possible to use Compiz instead of KWin with KDE, however KWin remains the default window manager. The option of replacing KWin with Compiz had been evaluated before work on compositing features of KWin started and the conclusion was, in short, that it would lead to a lot of work and duplicated effort.

To answer in more detail, several technical things need to be explained. Both KWin and Compiz are a combined window manager and compositing manager. Window manager functionality takes care of all aspects of handling windows, such as their placement, selecting the active one and so on. This functionality is crucial for a desktop - without a window manager it would be very difficult to perform most operations with windows. Compositing manager functionality, on the other hand, can be considered optional - while it brings many new features, it is still very possible to use a desktop (such as with KWin in KDE3).

The reasons to add compositing support to KWin instead of using Compiz include:
  1. Compiz at the present time is very likely the most advanced compositing manager with many features, with a headstart when compared with KWin, however, this cannot be said about Compiz as the window manager, where KWin has the advantage of being a much more tested codebase, providing a more stable, well-tested and robust window manager with many features. Given that, as stated above, window manager functionality is considered to be more important, it would be unwise to force all KDE users to a change that would likely mean regressions in many aspects.

    These regressions would include lesser integration with KDE, visual and behavioral changes (the 'KDE window decorator' shipped with Compiz only mimics the look of KWin's decorations, but does not provide the same functionality, even the Alt+F3 popup menu visibly differs), possible introduction of problems that have already been fixed in KWin, missing features that have already been implemented in KWin, and so on. Developing, testing and bugfixing a window manager can be very demanding work and repeating all the work done on KWin again for Compiz would presumably require a lot of effort. As such, claims that KWin is 'reinventing the wheel' are missing the point, since Compiz, being a relatively new window manager, is re-inventing at least as much, if not more, from other window managers including KWin,

    Also, given that there can be only one window manager and one compositing manager at a time, there would be no possible way to remedy these problems by somehow running Compiz and KWin together.

  2. Compiz currently does not work at all when compositing is not possible, thus requiring a fallback window manager for such case. This in practice would mean that KDE developers would be required to work on improving Compiz and would have to keep KWin at least for maintenance as the fallback for Compiz, thus having two window managers for KDE. Besides the developer work of taking care of two window managers this would also bring many user problems resulting from two different window managers, with differences in the look and feel, feature sets, and bugs.

    It should be also noted that Metacity, GNOME's window manager, has not been dropped in favour of Compiz either, but is still, to our knowledge, under development and adding compositing features to it is a work in progress.

Why not use plugins from Compiz?

This option was considered in the past as well. After examination of Compiz code the conclusion was that this is technically almost impossible. Compiz plugins appear to be merely parts of Compiz that are separated from its core, but which still heavily depend on it - there are even plugins that appear to copy and paste parts of the Compiz core and modify it. Making it possible to use such plugins from KWin would essentially require KWin to become Compiz.

Why add compositing support to KWin when Compiz is better?

There can be different ideas about what better means, but regardless of that, the main aim of KWin is not to replace Compiz. Many users have asked for compositing support in KDE, and, as explained in "Why not Compiz?", the best way to achieve that is considered to be adding compositing support to KWin. KWin aims to provide compositing support, focusing on providing useful compositing features and basic visual effects, while keeping its other strengths.

Here is a video, shown in Aaron Seigo's keynote at the KDE 4.0 Release Event (recorded by Korneliusz of jarzebski.pl), showing the new functionality of the KDE 4.0 KWin:

Inge Wallin discusses the current KOffice development and the upcoming schedule of the KOffice 2.0 release:
As you know, KOffice 2 does not share the same release schedule as KDE at large. The status right now is that most of the infrastructure is starting to fall into place:
  • The Flake shape library is done, but many of the shapes themselves still need work.
  • Color management is working nicely but not all applications make use of it yet.
  • The infrastructure for OpenDocument loading and saving is seeing the finishing touches, but many applications still have big holes in their ODF support.
  • Most applications still need finishing touches on most of the features.
This may sound pretty bad, but the KOffice infrastructure is so powerful that some of the applications are little more than shells that collect relevant parts of the KOffice infrastructure. KChart comes to mind here.

The real power is in the shapes like the text shape used in KWord and vector shapes in Karbon.

The actual release schedule can be viewed here. It says that the first beta will be out Jan 30th 2008, and the final release will be on Apr 30th. That schedule will probably have to be revised, so we don't really know exactly when the release will be, but we still think that a release on this side of Summer 2008 is possible.
At the time of writing, the KDE 4.0 Release Event is in progress at the Google campus in Mountain View, California. There is an amazing atmosphere here, with this event in North America a great rebalance compared to the European-centric Akademy, and with a broader group of attendees. This should really be the start of a great realisation of the North American KDE community - from talking to people at the event, it is already strong.

Konqui and Katie take time out from their busy KDE 4 promotional schedule

At least from my experience, this event, with its concentrated single day of talks, has provided the best single day of any KDE event. The opening keynote by Aaron Seigo was awesome, and should be available by the end of the day (local time!).

Statistics

Commits 2785 by 237 developers, 6963 lines modified, 1873 new files
Open Bugs 15533
Open Wishes 13456
Bugs Opened 432 in the last 7 days
Bugs Closed 277 in the last 7 days

Commit Summary

Module Commits
/trunk/KDE
649
 
/trunk/l10n-kde4
536
 
/trunk/www
361
 
/branches/stable
218
 
/branches/KDE
216
 
/trunk/playground
162
 
/trunk/extragear
125
 
/branches/work
107
 
/trunk/koffice
106
 
/branches/extragear
76
 
Lines Developer Commits
758
 
Laurent Montel
99
 
128
 
Sebastian Kügler
82
 
195
 
Aaron J. Seigo
78
 
300
 
Volker Krause
77
 
158
 
Albert Astals Cid
69
 
148
 
Dirk Mueller
67
 
172
 
Gilles Caulier
63
 
131
 
Anne-Marie Mahfouf
59
 
189
 
Christian Weilbach
54
 
102
 
Allen Winter
48
 

Internationalization (i18n) Status

Language Percentage Complete
Greek (el)
99.47%
 
Swedish (sv)
98.85%
 
Portuguese (pt)
98.82%
 
Japanese (ja)
94.01%
 
Estonian (et)
90.92%
 
German (de)
89.55%
 
Polish (pl)
89.1%
 
Spanish (es)
88.6%
 
Dutch (nl)
87.88%
 
French (fr)
86.99%
 

Bug Killers and Buzz

Person Bugs Closed
Aaron J. Seigo
45
 
Maks Orlovich
31
 
Pino Toscano
26
 
Leonardo Finetti
22
 
Thomas McGuire
16
 
Jason Stubbs
9
 
Robert Knight
9
 
Eike Hein
8
 
Andreas Pakulat
8
 
Tommi Tervo
8
 
Program Buzz
Plasma
9555
 
Amarok
6010
 
KMail
3450
 
K3B
3330
 
Kopete
3075
 
Solid
2155
 
KDevelop
2029
 
SuperKaramba
1982
 
Phonon
1904
 
digiKam
1426
 
Person Buzz
Tobias Hunger
5180
 
David Faure
2135
 
Stephan Kulow
1935
 
Jonathan Riddell
1385
 
Torsten Rahn
1371
 
Aaron J. Seigo
1204
 
Laurent Montel
982
 
Bram Schoenmakers
962
 
Stephan Binner
888
 
Allen Winter
800
 

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

Bug Fixes

KDE Base

Benjamin K. Stuhl committed changes in /trunk/KDE/kdelibs:

Fix occasional blank KIO progress windows that crash when you interact with them

The problem was that jobs were not unregistered, and so if you happened to get a job allocated where a previous job had been, the old job was still registered and confused everything. Fix this by unregistering in the tracker widget's destructor, but make sure not to delete the widget twice.

Harry Bock committed changes in /trunk/KDE/kdebase/workspace/kcontrol/randr:

- Fixed bug where outputs were always unified even when disabled in KConfig
- Disallow free movement of the graphical display rep. for now
- Work on implementing proper output property changes (possibly backlight, TV formats, etc)
- Added API documentation for RandROutput, and started on other classes
- Preliminary multi-monitor virtual display support
- Sync the refresh rate combo box with the currently selected resolution for each output
- Fix window title icon not showing up

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision 758182
Luboš Luňák committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/systemtray:

Work around problems with embedding windows with different visuals/depths.

Ingo Klöcker committed changes in /trunk/KDE/kdelibs/kdoctools:

Fix meinproc's inability to handle source/build/install paths with spaces correctly. This is fixed by using XML catalog files instead of SGML catalog files because XML catalog files can be specified via URLs while SGML catalog files can only be specified as paths without the possibility to properly escape spaces.

Detailed description of the changes:
- Replace all "catalog" files under kdoctools/customization by "catalog.xml" files.
- Add docbook/xml-dtd-4.1.2/catalog.xml (XML version of docbook.cat).

CMakeLists.txt
- Install the "catalog.xml" files instead of the (removed) "catalog" files.

meinproc.cpp
- Make xmllint use the XML catalog files instead of the SGML catalog files. This fixes syntax checking for paths containing spaces.

xslt.cpp
- Set XML_CATALOG_FILES and call xmlInitializeCatalog() which uses the XML catalog files specified by XML_CATALOG_FILES. xmlLoadCatalogs() cannot be used because it expects a space- and/or colon-separated list of file path.

Should eventually be ported to branches/KDE/4.0.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 78 more) Revision 758414
Alex Merry committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:

Last handle rotation fix (hopefully).

Now the handles are drawn where you'd expect on a rotated applet, and rotating an already rotated applet starts where it was when you clicked on the rotate button, rather than jumping back to "not rotated" and moving from there.

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:

* make handles disapear reliably
* don't pop them immediately so just moving the mouse around the screen doesn't cause tons of flickering handles

based on a patch by Cody. thanks, guy!

Diffs: 1, 2, 3 Revision 759079
Maks Orlovich committed changes in /branches/KDE/4.0/kdelibs/kio/kio:

Make sure that ->config() doesn't end up with stale metadata.

Fixes e.g. infinite looping on LiveJournal friends page, and heaven knows what else.

Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src:

fixed HIG color violations

Aurélien Gâteau committed changes in /trunk/KDE/kdebase/workspace/libs/plasma/widgets/tooltip.cpp:

Nicer tooltips:
- No more big font
- Use full width for text label
- Removed gap between main and sub texts

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:

nice solution for no flicker, no jerky hurkey jerky jerk in the toolbox; put an invisible item behind all the tools ;)

Maks Orlovich committed changes in /branches/KDE/4.0/kdelibs/khtml/ecma/debugger/debugwindow.cpp:

Yikes. Another small change producing a big bug. Make sure that exceptionToString doesn't "restore" the exception object being serialized into the global ExecState. That was correct within ::exception in debugger, but not from the general error log.

Brown paper bag time for me.

Makes the frontpage of software.opensuse.org show up fine for me...

Andras, does it fix the problem you were seeing?

Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole/src/Screen.cpp:

Fix grave bug where Konsole would crash when randomly clicking around the terminal window, due to an attempt to allocate a QString with a negative size.

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/icon:

* pass on the shape of the icon widget
* ensure we have a value in our config no matter what, fixes icons not being removed from desktop after turning them on then off at runtime

Harri Porten committed changes in /branches/KDE/4.0/kdelibs/kjs:

Merged in lots of renamed and new number handling functions from JSC. Should not make a functional difference apart of a Acid3 fix hidden in the Number reordering.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 760479
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma/plasma:

KDE-PIM

Marc Mutz committed changes in /trunk/KDE/kdepim/libkleo:

Add a hack to allow output in base64, needed by Kleopatra's UI server (KMail does base64-encoding by itself)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 759611
Christian Weilbach committed changes in /trunk/playground/pim/kblogger/src:

Fixed a huge memory leak. valgrind is great! In general all objects allocated inside a function with its pointers added to a QMap need to be deleted in the destructor via a loop.

Be not that picky about non existing media files. Q_ASSERT is a bit hard here.

Multimedia

Michael Pyne committed changes in /trunk/KDE/kdemultimedia/juk:

Fix binary incompatible loading of JuK's playlists/cache files from KDE 3.5.
This will break loading of playlists/cache from KDE 4.0.0 however!

Networking Tools

Cláudio da Silveira Pinheiro committed changes in /branches/KDE/4.0/kdenetwork/kopete:

Fixed image saturation problem with uvc devices.
Image controls now update accordingly when loaded.
Added new pixel format detection code.

Diffs: 1, 2, 3, 4 Revision 758553
Joris Guisson committed changes in /branches/extragear/kde3/network/ktorrent/libktorrent/net/socket.cpp:

Utilities

David Johnson committed changes in /branches/KDE/4.0/kdeutils/kcalc:

Improved text drawing in KCalcButton. Text is no longer being cut off. The text is still cramped with the Oxygen style, however, because KStyle defines PM_ButtonMargin to be zero.

Features

Development Tools

David Nolden committed changes in /trunk/KDE/kdevelop:

Add full support for foreach statements into the parser and duchain. Add a test to verify the functionality.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 757917
Andras Mantia committed changes in /branches/KDE/3.5/kdewebdev/kommander:

Add selection method for Table widget.

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

Educational

Albert Astals Cid committed changes in /trunk/KDE/kdeedu/blinken:

Provide an easier way to reach the configuration window, will be in KDE 4.1 because it needed a new string and we were too late in the process to add a new string

Albert Astals Cid committed changes in /trunk/KDE/kdeedu/kgeography/src:

Show wikipedia page when clicking on the info icon for non ignored divisions

Code by Kushal Das

Diffs: 1, 2, 3, 4, 5 Revision 758126
Frederik Gladhorn committed changes in /trunk/KDE/kdeedu/parley:

Rather shamelessly copy kigs TipOfTheDay implementation (which is probably not that much different from any other).

Yes we have tips now.

Diffs: 1, 2, 3, 4, 5 Revision 758443
Frederik Gladhorn committed changes in /trunk/KDE/kdeedu/kwordquiz/src/kwqtablemodel.cpp:

Let KWordQuiz use all vocabulary in the file, regardless of lessons.

The only thing I'm not sure how to handle, is the shuffle. Should it destroy the lessons? Or shuffle within each lesson?

In the long run, I personally would prefer to remove the shuffle function from the lib, as only KWQ uses it. Maybe we can come up with a local solution.

Graphics

Gerhard Kulzer committed changes in /branches/extragear/kde3/graphics/doc/digikam:

continue filling up holes, RAW workflow, DAM

Diffs: 1, 2, 3 Revision 757874
Gilles Caulier committed changes in /branches/extragear/kde3/graphics/digikam/digikam:

timeline tool in progress

Diffs: 1, 2, 3 Revision 758284
Angelo Naselli committed changes in /branches/extragear/kde3/libs/kipi-plugins/printwizard:

printwizard now can print more exif info on caption

Gilles Caulier committed changes in /branches/extragear/kde3/graphics/digikam/digikam:

digiKam from KDE3 branch : TimeLine: Fuzzy Selection is now possible!!!

Before this commit, selection been depand of Time Units used with time line. Each unit have a propers selection.

This first approach been not fine...

This commit only make the selection on the less Time Units : Day. All others Units are updated accordinly.

There is only one Selection possible, not one for each Time Units.

A fuzzy range date become when for a week for ex. you have selected only 2 days. The week selection is uncomplete (fuzzy).

This is right too between week/Month and Month/Year Time units.

On the bottom of the widget, the complete selection is annoted by a blue color in background.

A fuzzy selection is annoted by a light-blue color using a drawing pattern.

In fact, this is the same concept used in KPhotoalbum for ex., excepted a major difference : digiKam can select dyscontiguous range of dates (:=)))

Marcel,
i have working hard with algorithms used in this widget. I would to have your viewpoint to be sure than all is fine with TimeLine selection.

Also, the KUrl passed to digiKam search KIO-Slave can be very long. I'm not sure if there is a limit somewhere in KUrl or digiKam Search KIO-Slave.

In theory no (:=)))... If there is one, the DB query will fail, that all (KUrl truncated).

Diffs: 1, 2, 3 Revision 759898

KDE Base

Will Stephenson committed changes in /trunk/playground/base/plasma/applets/system-monitor:

Add support for overlays.

Eike Hein committed changes in /trunk/KDE/kdebase/apps/konsole/src:

Add support for XComposite translucency to the Konsole KPart.

The decision to support translucent painting is made at part creation depending on whether the hosting application is using an ARGB visual and a composition manager has claimed the relevant X selection (via KWindowSystem).

Diffs: 1, 2, 3 Revision 758145
Shawn Starr committed changes in /trunk/playground/base/plasma/applets/cia.vc/ciavc.cpp:

Bring CIA applet back to life. Now with HTML prettyness. It is at least somewhat better now in displaying.

Sebastian Sauer committed changes in /trunk/KDE/kdelibs/kross:

Connect QtScript and Kross together.

1) QtScript as Kross interpreter backend;
We support now both. Kjs+KjsEmbed as "javascript" (mimetype application/javascript and file-extension *.js) and QtScript as "qtscript" (mimetype application/ecmascript and file-extension *.es).

2) Kross in QtScript as QScriptExtensionPlugin;
Each KDE-application using QtScript will be able to transparently access Kross now. Following should be possible from within plain QtScript now;

var action = Kross.action("MyPythonScript");
action.addQObject(action, "MyAction");
action.setInterpreter("python");
action.setCode("print 'hello world'");
action.trigger();

That means, QtScript is able to deal transparent with all supported scripting-backends (Python, Ruby, JavaScript, ...) now :)

See also the samples in <a href="http://websvn.kde.org/trunk/KDE/kdelibs/kross/qts/test.es">http://websvn.kde.org/trunk/KDE/kdelibs/kross/qts/test.es</a>;

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

* restore ability to turn off icons
* prevent it from eating your non-desktop folder icons (which may feel a little odd at first, but desktop folder stuff is legacy support and not doing it this way will screw over others, both applets and people (like it did to me *sob*))
* implement methods that were missing

Diffs: 1, 2, 3 Revision 758522
Jeremy Paul Whiting committed changes in /trunk/KDE/kdelibs/knewstuff/knewstuff2/core:

caching is functional, though not usable yet for large repositories because of issues in the download dialog (responding to entryChanged signals by assuming the entry is now installed, *sigh*.

Will fix that soon however. Also will get difference between CacheResident and CacheReplaceable soon.

Diffs: 1, 2, 3, 4, 5, 6 Revision 758608
Luboš Luňák committed changes in /trunk/KDE/kdebase/workspace/kwin/effects:

Snow effect from Martin Graesslin.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 758626
Luboš Luňák committed changes in /trunk/KDE/kdebase/workspace/kwin/effects:

Add support to Mousemark for drawing arrows.

Luboš Luňák committed changes in /trunk/KDE/kdebase/workspace/kwin/effects:

Shortcut for clearing only the last mark.

Diffs: 1, 2, 3 Revision 758641
Marco Martin committed changes in /trunk/playground/base/plasma/applets/trash:

Some experiments:
- Can be dragged like the other icons
- Simply open with filemanager on click-Now the open/empty trash menu is controlled with an ActionIcon

Mirko Stocker committed changes in /trunk/KDE/kdelibs/kate:

Finally implement this wish, "parenthesis highlighting as expression". I'm not so sure about the checkbox caption I used, just change it if you come up with a better phrase.

Charles Samuels committed changes in /trunk/KDE/kdelibs/khtml:

Support the HTML tag <bdo> (bidirectional override). As a result, support CSS unicode-bidi: override.

First, don't change two CSS properties in html_elementimpl.cpp as it may unexpectedly overwrite a previously set property. This allows us to add the "selector that seems to be still broken" in khtml4.css.

Then make Qt render override text in RTL, even if it's Latin script.

Add a kate variable line because it will make me happy.

Also, fix a bug where it would render <bdo> as not rtl the first time you try to do bidi stuff in konq (per process). This is because some global (!) variables were being used unintialized.

There are still some bugs remaining (non-regression) related to the application of the override. I have some testcases for this but it requires a sacrifice to the bidi.cpp gods.

Kevin Krammer committed changes in /branches/work/dbus-qt4-qt3backport/tools/dbusxml2qt3:

Adding support for the GLib Async annotation

Diffs: 1, 2, 3, 4 Revision 759485
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/plasma/widgets:

implement a doubleClicked signal.

i must admit that using signals that don't exist to implement needed features in applets is an inventive way to force me to implement stuff in libplasma ;)

Davide Bettio committed changes in /trunk/playground/base/plasma/applets/binary-clock:

- Applet resize works.
- Now applet can be added to panel.
- Moved hard coded color values to constructor.

Diffs: 1, 2, 3 Revision 759627
Jeremy Paul Whiting committed changes in /trunk/KDE/kdelibs/knewstuff/knewstuff2/ui:

use new dialog from ui file, with progress indicator on the bottom, all selector controls on one row, etc. to give more space to the content available for download, progress indicator is still pretty wide, maybe should add a status

Alex Merry committed changes in /trunk/KDE/kdebase/workspace/plasma/containments/desktop:

Move the existence check to the renderthread - the preview will now show a blank (solid colour) desktop if the file doesn't exist. And the "None" option for wallpaper works again.

Wilbert Berendsen committed changes in /trunk/KDE/kdelibs/kate/syntax/data/lilypond.xml:

- add *.ily extension (for lily files to be included)
- make file much smaller by removing unnecessary context=#stay attrs
- add new markup underline command
- some more new keywords
- add region attr to comment, so uncommenting block comments work- other improvements

KDE-PIM

Christian Weilbach committed changes in /trunk/playground/pim/kblogger/src/composer.cpp:

Hack Livejournal title support and publish hiding in.

Thomas McGuire committed changes in /trunk/KDE/kdepim/kmail:

Work on the POP filter confirmation dialog:

- Port from K3ListView to QTreeWidget
- Fix layout
- Get rid of hardcoded-with-code icons and radiobuttons.

Instead, use real radiobuttons and real icons (the icons don't exist yet, but I already added it to the oxygen wiki page)
- Make the help button work again
- Fix coding style
- More API documentation
- Make it possible to change the action of multiple items, either with
the right/left keys, by clicking the header or by clicking the radiobutton
- Fix incorrect sorting

The radiobuttons are a bit flickery, but that seems to be a Qt problem with setItemWidget().

Also, change KMail's year to 2008.

Thomas McGuire committed changes in /trunk/KDE/kdepim/kmail:

Add a cancel button to the pop dialog and abort the mail check if that button is pressed.

This also fixes a crash when the user leaves the dialog with the escape key.

Office

Jan Hambrecht committed changes in /trunk/koffice:

When trying to import some oxygen svg icons i noticed we are still lacking support for stroke gradients. Well, no more! :-)

Diffs: 1, 2, 3, 4, 5 Revision 758002
Jan Hambrecht committed changes in /trunk/koffice/filters/karbon/svg:

load stroke gradients now that they are supported in flake
make loading of compressed svg files possible

Diffs: 1, 2, 3 Revision 758009
Boudewijn Rempt committed changes in /trunk/koffice/plugins/tableshape:

Implement adding and removing rows, columns and cells. I guess it's time to start unittesting.

Diffs: 1, 2, 3, 4, 5 Revision 758426
Thorsten Zachmann committed changes in /trunk/koffice/libs/kotext/opendocument:

o add support also for styles in styles.xml. It is possible that there are styles with the same name in automatic-styles in context.xml and styles.xml. Therefore use two different hashes to save the styles.

The office styles are added to both hashes as it turned out to be about 30% faster than using a separate hash.

Diffs: 1, 2, 3, 4 Revision 758532
Martin Pfeiffer committed changes in /trunk/koffice/kformula:

commit work of a long time, includes:
- work on cursor methods
- implementation of TableElement
- some work on GUI
- some work on tests
- some documentation
- some cleanups and removal of old code and a lot of other tiny changes

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 42 more) Revision 759613
Peter Simonsson committed changes in /trunk/koffice:

Add a shape collection docker and disable compilation of the old shapeselector docker.
Add a shape collection resource type to kivio.

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

Multimedia

Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src:

begin adding filters to the services. There is now a filter bar shown for all services, but it only works for the Ampache service so far (and this chickens out every once in a while for some odd reason).

Diffs: 1, 2, 3, 4, 5, 6 Revision 758698
Michael Pyne committed changes in /branches/KDE/4.0/kdemultimedia/juk:

Allow JuK to load "playlists" files created from KDE 4.0.0. Will forwardport to trunk.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 758771
Thierry Bastian committed changes in /trunk/kdereview/phonon/ds9:

update (including a basic cd player)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 22 more) Revision 759897
David Edmundson committed changes in /trunk/kdereview/dragonplayer:

Toggle DVD context menu and toolbar option when watching a Video DVD.

Audio/Video Icon next to recently played items

Stopped Dragonplayer putting empty strings into my recently played list

Diffs: 1, 2, 3, 4, 5 Revision 760417
Shane King committed changes in /trunk/extragear/multimedia/amarok/src/servicebrowser/lastfm:

Start of last.fm service collection.

Diffs: 1, 2, 3 Revision 760603

Networking Tools

Johann Ollivier Lapeyre committed changes in /trunk/KDE/kdenetwork/kopete/protocols/msn/icons:

New MSN protocol icon with oxygen style. Name will be changed later to follow freedesktop

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 758135
Joris Guisson committed changes in /trunk/extragear/network/ktorrent:

- Added time estimation algorithm selection
- Fixed bug in KTorrent algorithm (150866)

Tejas Dinkar committed changes in /trunk/playground/network/kopete/protocols/bonjour:

You can Now Send And Receive Messages
Fixed a Segmentation Fault When You Lose Connection
Watchin The Simpsons

Diffs: 1, 2, 3, 4, 5 Revision 758589
Tejas Dinkar committed changes in /trunk/playground/network/kopete/protocols/bonjour:

Finally Added KConfig Support
Renamed fullName to username everywhere

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 760225
Tejas Dinkar committed changes in /trunk/playground/network/kopete/protocols/bonjour:

Added Support for Looking Up Contact via IP address (needed for some clients like miranda)
Currently, we ignore xmpp IQ packets

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

- some small optimization
- added a more interesting protocol name information in the Protocol column in the packets list
- added the first code to manage the protocol naming information as GUI option: has to be completed
- fixed the incomplete :( documentation... when will be ended?

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

User Interface

Teemu Rytilahti committed changes in /trunk/KDE/kdebase/workspace/kwin/clients/oxygen:

Add ability to add keep above/keep below buttons to the titlebar. To enable, you need to modify oxygenclient.cpp yourself for now.

Diffs: 1, 2, 3, 4 Revision 759107

Games

Gueudelot Olivier committed changes in /trunk/playground/games/ktank/kglengine:

KGLEngine. It works but problem with cmake and OpenGL. Help!

Thomas Gallinari committed changes in /trunk/playground/games/kapman:

- Refactoring the characters move implementation.
- Kapman can not change its direction when the game is paused.

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

Other

Benoît Jacob committed changes in /branches/work/eigen2/Eigen/src/Core:

Patch by Gael Guennebaud, making Eigen compatible with the Intel compiler (icc).

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

Optimization

KDE Base

Riccardo Iaconelli committed changes in /trunk/playground/base/plasma/applets/train-clock/clock.cpp:

Be less noisy, therefore faster, and a couple of one liners to make the clock *really* better (e.g. now the svg is aligned to the grid)

Oh, and animate it. =)

Sebas, check this out.

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/pager:

* don't repaint on every single window update (e.g. typing in konsole)
* don't update more than once every 50ms either

result: a LOT of repaints saved

Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src:

Up to now DolphinView and ColumnWidget contained a lot of code duplication regarding generating previews and the dimming of cut items. This has been refactored by introducing an IconManager which takes care itself about generating a preview and dimming cut items.

This also allows improving the speed of previews in (near) future (at the moment showing previews from the cache is a lot slower than in KDE 3...).

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 759864
Maks Orlovich committed changes in /branches/KDE/4.0/kdelibs/kdeui/sonnet:

Fix some of the major performance problems this causes in textareas in KHTML by not computing spelling correction suggestions when none are needed, as they are extremely expensive to compute... Doesn't help kmail since it does connect the signal...

A better option would be to do the computation on demand.

Also fix a clear logic error, and making word counting make sense some of the time and not none of the time.

This class needs heavy work, however. It rehighlights the entire document when one presses enter. The word counting is still bogus between rehighlights. It hardcodes black when switching the error off... IOW, it needs love from someone with good understanding of QSyntaxHighlighter

Office

Marijn Kruisselbrink committed changes in /trunk/koffice/plugins/musicshape:

cache the need to display accidentals in the notes and update it when it can change instead of recalculating it on rendering. It is needed when engraving too, so this would be horribly expensive.

This isn't used yet anywhere, but it should be properly calculated now.

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

Multimedia

Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src/servicebrowser:

Quite a bit of work on the Service Sql stuff in an attempt to speed up queries and filters. Its better now but not perfect.

Also, I have a strange problem with all albums being added to the list twice, once in the correct location, and once without an artist under various artists.

I need to figure out why...

Diffs: 1, 2, 3 Revision 760120

Utilities

Rolf Eike Beer committed changes in /branches/work/kgpg2:

Completely rework signing/verifying/encrypting/decrypting of files and text

All these operations are now moved into it's own file. This brings down the size of kgpginterface.cpp down by one quarter. Nearly 100kB were too big for a single file anyway. The additional benefit is that now one file does not include kgpginterface.h anymore.

The code is not only moved but cleaned up. There are less member variables of the interface object now, the class is cleaner and the obsolete classes K3Process and K3ProcIO are not used anymore for this purpose.

There are probably still some cornercases not handled correctly but that should be (hopefully) easier to fix now.

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

Games

Luciano Montanaro committed changes in /trunk/KDE/kdegames/kgoldrunner/src:

Optionally draw the background on a pixmap directly.

Disabled by default. Set the environment variable KGOLDRUNNER_USE_PIXMAPS to enable direct pixmap rendering.

It works on my laptop without visual glitches; it almost half rendering time for the egypt theme.

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

Other

Educational

Carsten Niehaus committed changes in /trunk/KDE/kdeedu/cmake/modules/FindOpenBabel2.cmake:

We will soon use Libavogadro for rendering. That needs OpenBabel 2.2 for a couple of weeks (month?) already.

This increases the requirement to 2.2. But all Avo and Kalzium developers are using 2.2 anyway.

This also (obviously) reduces the diff with the FindOpenBabel.cmake file used in Avogadro.

Frederik Gladhorn committed changes in /trunk/KDE/kdeedu/parley/src/parley.cpp:

Let's not scare all new users away - hide most docks on first startup.

KDE Base

Oswald Buddenhagen committed changes in /trunk/KDE/kdebase/workspace/kdm/kfrontend/pics:

revive default_blue background, so there is at least one background available for kdm (and, fwiw, one *sane* background *at all*).

Diffs: 1, 2, 3 Revision 757939
Marco Martin committed changes in /trunk/playground/base/plasma/applets/svgpaneltest:

SvgPanel Test is an applet meant to be an help for Plasma theme designers and a testbed for the SvgPanel class, that aims to manage the painting of the background of applets, popups and the panel, (at the moment they do not share code).

This is the initial commit.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 758363
Norbert Frese committed changes in /trunk/playground/ioslaves/kio-giobridge:

initial commit of kio-giobridge

Diffs: 1, 2, 3, 4 Revision 758438
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:

remove the use of 1209 explicitly now that i have Winter's Magic Formula for default debug space. makes backporting way easier; sorry for the noise of the earlier commit. suppose i should read planetkde.org more closely ;)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 18 more) Revision 758498
Jason Stubbs committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/systemtray/systemtraycontainer.cpp:

Set the background color on the system tray containers to the plasma theme's background color. This works fine with GTK apps on a 24-bit display. Not sure how it goes on 8-bit displays - but that's up to Qt.

Is there a way to listen for theme changes yet?

Dirk Mueller committed changes in /trunk/KDE/kdelibs/kdoctools/meinproc.cpp:

now that --stylesheet is a qt option, meinproc must not offer qt options because that clashes with meinproc's own --stylesheet option.

Davide Bettio committed changes in /trunk/playground/base/plasma/applets:

Added luna plasmoid (luna means moon in italian), a moon phase plasmoid based on kmoon. luna.cpp is only a stub that contain some kmoon's code. phases.cpp and luna.svg's images come from kmoon.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 759072
Marco Martin committed changes in /trunk/KDE/kdebase/workspace:

search for different background svgs when composite is disabledsquared edges without shadows are preferred without composite

Diffs: 1, 2, 3, 4, 5 Revision 759551
Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src/dolphinmainwindow.cpp:

use F3 for "Split View" instead of F10, as F10 is used for "new directory" since KDE 3... (thanks to Aaron for the hint)

Luboš Luňák committed changes in /trunk/KDE/kdebase/workspace/kwin/NOTES_4_0:

First attempt at 'why not compiz' FAQ.

Matthias Kretz committed changes in /trunk/KDE/kdelibs/phonon/libkaudiodevicelist/hardwaredatabase:

Add entries for ATI SB450 HDA Audio and adjust name of similar device (soon I'll be able to write up some rules for consistent naming)

Thanks for the report.

Jonathan Riddell committed changes in /trunk/KDE/kdelibs/kdoctools/customization:

update for new licence policy

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

KDE-PIM

Frode M. Døving committed changes in /trunk/playground/pim/mailody/src:

Move the collectionlist (mailboxes/folders) to a dockwidget on the left.
Headers are not yet shown in the headerview, at all. I need to figure out why.
Added some buttons and menu entries to toggle show/hide of the folderview.

Diffs: 1, 2, 3, 4, 5 Revision 759116
Allen Winter committed changes in /trunk/KDE/kdepimlibs/PLAN:

Friedrich says khalkhi is still on the back-burner and he doesn't have any concrete plans. So moving khalkhi to the "maybe oneday" category.

Christian Weilbach committed changes in /trunk/playground/pim/kblogger/src:

Remove systray support as this is not necessary for kblogger. A plasma launcher or sth. would be possible, for the moment simply use an icon ;-)

Fix a crash due to deleting objects directly.

Fix KWallet support by dummy opening the wallet on system startup.

Diffs: 1, 2, 3, 4 Revision 759466

Office

Boudewijn Rempt committed changes in /trunk/koffice/plugins/tableshape:

Add framework for unittests -- maybe I'll be home early enough tonight to write a few tests.

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

Multimedia

Stanislas Krzywda committed changes in /branches/kscd/isi-kscd/kdemultimedia/kscd:

- Addition of the svg volume picture
- Graphical interface reorganization

Diffs: 1, 2, 3 Revision 758277
Ian Monroe committed changes in /trunk:

Moving Dragon Player to kdereview, for possible inclusion with kdemultimedia.

Harald Sitter committed changes in /trunk/extragear/multimedia/amarok/src:

Remove IconLoader (i.e. Amarok's icon mapping). We are now using the spec defined fallback system (hence use a -amarok suffix for all new icons, in case we have to ship them with our source to prevent a raise of the KDE dependency). Ready to go Oxygen now :-D

I'll check for wrong converted icons (shouldn't be any from looking at the diff) and create a list of icons we need. IconLoader.cpp sticks around for now, since it is a fairly complete list of used icons.

Ian Monroe committed changes in /trunk/kdereview/dragonplayer:

*Elias Probst made a -muted icon, which makes the phonon mute icon usable.
* removed the statusbar volume slider. added a volume toggle action, which toggles a right sidebar with the volume.

This should clear up confusion about the volume slider being a position slider. However I'm not sure I'm a fan of having another button on the toolbar...

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 758712
Kirill Bulygin committed changes in /trunk/extragear/multimedia/kplayer:

KPlayer 0.7 release

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

Networking Tools

Matt Rogers committed changes in /trunk/KDE/kdenetwork/kopete/protocols:

Port all the protocols except MSN to the new KPluginLoader macros

MSN makes use of the hook to provide version information so I didn't port that yet.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 18 more) Revision 757851
Manolo Valdes committed changes in /trunk/KDE/kdenetwork/kget:

Remove the speedlimiter implementation based on resume,suspend calls. this will be implemented on slavebase.

Adds a new interface for containers transfers like metalink. named TransferDataSource.

the idea is to suply data to the container plugin through this interface .

so Multisegkio and bittorrent plugings should implements this interface.

this is the initial commint for this new approach, more will come.

while implementing it on multisegkio.

the interface may change until development, so ideas are welcome

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

Utilities

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

Import the KDE 4 version of Yakuake. This has been rewritten from scratch, and achieves feature parity with the latest of the KDE 3 branch along with a number of improvements and new features. For likely questions and a list of changes refer to the KDE4FAQ and ChangeLog documents, respectively.

Note that due to critical fixes this requires very recent versions of the kdelibs and kdebase modules to work properly; at least Jan 1st. RC2 will _not_ do.

This is fresh code that has seen relatively little testing, so be gentle and expect bugs.

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

Games

Josef Spillner committed changes in /trunk/KDE/kdegames/ksquares/src:

- pump the ksqares+ggz patch into SVN so work on it can continue

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

Other

Benoît Jacob committed changes in /branches/work/eigen2:

Ready for alpha2 release.
- complete documentation
- add TODO
- update copyright years

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 40 more) Revision 758236
Benoît Jacob committed changes in /branches/work/eigen2/Eigen/src/Core:

revert most of previous commit. It really is better to forbid default constructor for dynamic-size matrices. Now why do I feel like a beheaded chicken running around?

Diffs: 1, 2, 3 Revision 758570