Issue 126

31st August 2008 by Danny Allen

This Week...

Interface work and new applets specialised for use on MID (small form factor) devices, beginnings of applets-in-the-systray, and work on a new calendar popup widget design in Plasma. A collection of new comic provider sources, and use of Solid to detect network availability in the "Comic" Plasmoid. The "Spellcheck" runner moves to kdeplasma-addons, a revival of the "Strigi" Plasmoid, and a new "XEyes" Plasma applet. Two new layout modes for the "present windows" effect in KWin-Composite. Even more bug fixes in Kicker for KDE 3.5. A basic "revision history" implementation, and the beginnings of code generation support, in kdevplatform (the basis of KDevelop 4). Support for loading 100e8 stars in KStars. Get Hot New Stuff for downloading new skins in KSirK. Support for exporting to JPEG in Darkroom. The ability to pick a colour from the desktop in KColorEdit. Support for video annotations (using Phonon) in Okular. Marble integration in Mailody displaying the network route an email has taken. Automatic language detection and a range of bug fixes in Sonnet. Dramatic speedups in AdBlock filtering in KHTML. A configuration dialog and KConfig support in kio_bookmarks. Initial implementation of KOSDWidget-based KNotify OSD plugin. Various work on PowerDevil, with a move into kdereview. Import of a KIO thumbnailer plugin for RAW camera files. An experimental library to abstract away media player interfaces. Initial version of an Open Collaboration Services client, "Attica", and an Akonadi resource for handling users. Version 1.0 of the Lancelot alternative menu is tagged for KDE 4.1. KDE 4.1.1 is tagged for release.
Cornelius Schumacher writes about work to implement the Open Collaboration framework (introduced in the first keynote at Akademy 2008) in KDE:
For the SUSE HackWeek, I decided to take on the challenge to do an implementation of some of the ideas Frank Karlitschek presented in his Akademy keynote. Dirk joined me, as well as Dirk Mueller and Sebastian Trueg for a couple of days, so we had a nice team of people working on it at the SUSE offices in Nuernberg.

We achieved two main results. First, we did a lot of work on the Open Collaboration Services API, which is a specification for a HTTP API for interfacing with community web sites. The specification is hosted on freedesktop.org, and opendesktop.org (which includes kde-apps.org and kde-look.org) has a first implementation of it.

Next, we implemented a desktop client for the API. Its working title is "Attica", after the Greek region where democracy was born. The client includes a library to access the API, an Akonadi resource for handling people data, a data engine for Plasma, and a GUI application mainly for testing the client library and the Akonadi resource. Attached screenshots show the application as it displays opendesktop.org people through Akonadi, and the Akonadi console with the debug view on the resource.


Obviously there still is a lot to do. The client library for accessing the Open Collaboration Services API has to be extended to cover more of the API, the Akonadi support has to be completed and then of course we need more and better user interfaces.

One thing I would like to provide is something like a person widget, which can be used to easily integrate people into applications. It would give access to the community by providing links to related people, or could be used for direct communication.

Another thing which I would love to see is an application to view and interact with groups of people, which is a bit more oriented at the people and not so concentrated on the data as current addressbooks are. This could provide a more natural and useful way to interact with all the data about people which is distributed over the desktop and make it easier to keep in touch with people and keep track of what's going on in the different groups you are involved with.

Finally it would be fantastic to solve the problem of multiple data sets of the same person. The more person data we are able to pull in, the more frequently you get multiple entries of the same person in your addressbook. We need a way to merge these, so that there is only one entry per person containing the aggregated information. A possible way would be to use NEPOMUK for this and there already is some code which could be used to achieve this goal.

It will be interesting to see where this goes. There are lots of opportunities and the potential to implement unique new features for the desktop which take benefit of the fact that we have a fantastic community around our software.
Kevin Krammer discusses the plans for Akonadi integration in KDE-PIM 4.2:
At Akademy 2008, several of the KDE-PIM developers gathered to discuss which goals we wanted to accomplish for the KDE 4.2 release.

While one of our most important long term goals is obviously the porting of our applications to an Akonadi-based PIM infrastructure, we determined that porting even just the core applications would not be possible within the limited time range until the feature freeze in early November.

However, we still wanted to move as much as possible towards this goal so we discussed options for softer and safer migration paths than full porting.

Since we are talking about calendar and contact data of a lot of users there is little room for failure, which is why we needed a concept which would allow an "emergency stop", i.e. falling back to data handling as shipped with KDE 4.1.

We decided that the only viable way to guarantee this exit strategy was to keep the applications as compatible with the traditional data handling as possible. So what we are going to do is focus on getting the users' PIM data safely "into Akonadi", meaning that access to it will be managed by the Akonadi server.

On the application side we are going to provide access to this centrally managed data through two plugins (calendar and contacts) compatible with the traditional KDE-PIM framework (called "KResources"). In commit logs you will often see them being referred to as "bridges", as in helping two different parties to reach out to one another.

Actually we are also working on bridges the other way around, i.e. to make sure any kind of currently available technology for accessing PIM data is also available for getting it "into Akonadi".

Additionally we are working on a tool to automate this whole migration as much as possible, ideally not requiring any effort on part of the end user in any way.

To stay with the bridge metaphor, the one for contacts is ready for intrepid test drivers in both directions, i.e. accessing contact data managed by Akonadi from traditional applications like KAddressBook, as well as using existing KResource plugins to get data "into Akonadi".

Statistics

Commits 3469 by 244 developers, 12975 lines modified, 1797 new files
Open Bugs 16759
Open Wishes 14376
Bugs Opened 325 in the last 7 days
Bugs Closed 276 in the last 7 days

Commit Summary

Module Commits
/trunk/KDE
830
 
/trunk/l10n-kde4
501
 
/trunk/playground
326
 
/branches/extragear
299
 
/trunk/extragear
278
 
/branches/stable
262
 
/branches/KDE
192
 
/trunk/koffice
177
 
/trunk/kdesupport
102
 
/branches/work
101
 
Lines Developer Commits
599
 
Gilles Caulier
271
 
386
 
Thomas McGuire
228
 
224
 
Laurent Montel
121
 
141
 
Andi Clemens
118
 
101
 
Allen Winter
105
 
107
 
Chusslove Illich
96
 
3835
 
Volker Krause
86
 
522
 
Frank Osterfeld
77
 
106
 
Pradeepto Bhattacharya
77
 
182
 
Rafael Fernández López
77
 

Internationalization (i18n) Status

Language Percentage Complete
Estonian (et)
99%
 
Galician (gl)
99%
 
Greek (el)
97%
 
Low Saxon (nds)
92%
 
French (fr)
92%
 
Japanese (ja)
89%
 
German (de)
86%
 
Italian (it)
85%
 
Chinese Traditional (zh_TW)
84%
 
Dutch (nl)
84%
 

Bug Killers and Buzz

Person Bugs Closed
Zack Rusin
34
 
Lydia Pintscher
30
 
Maks Orlovich
16
 
Christoph Cullmann
13
 
Tobias Koenig
13
 
Pino Toscano
11
 
Bram Schoenmakers
10
 
Aaron J. Seigo
10
 
Mark Kretschmann
9
 
Luboš Luňák
8
 
Program Buzz
Amarok
9815
 
K3B
4875
 
KMail
4840
 
Kopete
3320
 
KDevelop
2595
 
Plasma
2489
 
Kaffeine
2037
 
Kate
2001
 
Solid
1873
 
Kontact
1790
 
Person Buzz
David Faure
2110
 
Stephan Kulow
1749
 
Aaron J. Seigo
1390
 
Torsten Rahn
1367
 
Jonathan Riddell
1132
 
Laurent Montel
1030
 
Stephan Binner
782
 
Thiago Macieira
668
 
Zack Rusin
638
 
Adriaan de Groot
631
 

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

Bug Fixes

KDE Base

Rafael Fernández López committed changes in /trunk/KDE/kdelibs/kdeui/widgets:

Fix all (or almost all) toolbar problems.

Now, in detail:
- We need two restoreState method calls when applying the main window settings.
One before we set the toolbars again, and another after that.
The first call will setup them, the second will do the right math with them (since toolbar text position, icon size... was set).

- Actually compress potential sync's with a proper timer
- When dirtying the settings, save directly (of course, for almost all actions, not for moving or resizing, which are compressed).

This prevents us from saving incorrect settings if toolbars have been removed/changed on the meanwhile, and thus, making QMainWindow::saveState() storing incorrect values.

Zack Rusin committed changes in /trunk/KDE/kdelibs/kdecore/sonnet/filter.cpp:

after replacing a word, restart before that word

Rafael Fernández López committed changes in /trunk/KDE/kdelibs:

Ok. Now, this is the ultimate toolbar fix!
The root of all evil was: we iterate over all toolbars when restoring the application (on loading): that means, when you are going to restore the first toolbar, a save was being triggered, saving all toolbars, so all toolbars except the first weren't set up, and being saved their default settings => no good.

Now we use a flag for not saving when we are loading (makes sense, doesn't it ?) ;)

Diffs: 1, 2, 3, 4 Revision 852496
Maks Orlovich committed changes in /branches/KDE/4.1/kdelibs/kjs/nodes2bytecode.cpp:

Make sure to have breaks jump to before the EndForIn instruction so that the for in stack entry isn't leaked.
Fixes explosive memory consumption on <a href="http://www.chron.com/">http://www.chron.com/</a>; stories.

(Perhaps following olliej's approach and using GCable objects for the context would be a good idea, since it'd simplify all of this, and lighten ExecState)

Andreas Hartmetz committed changes in /trunk/KDE/kdebase/workspace/libs/plasma/CMakeLists.txt:

Fix build breakage done by infidels trying to make this holy codebase compile on non-blessed systems.
Yes SaroEngels, I'm looking at you ;)

Lucas Murray committed changes in /trunk/KDE/kdebase/workspace/kwin/effects/presentwindows.cpp:

Force window switching mode to use the regular grid as well as putting all windows on the same screen if using a multi-monitor system.

Also fixed the incorrectly highlighted window when window switching is first activated.

Benoit Minisini committed changes in /branches/KDE/3.5/kdebase/kicker/applets/systemtray:

Fully fix the system tray layout algorithm.
Force the size of embedded icon windows to be lower or equal than the default icon size.
The margin between icons is one pixel, not two anymore.

Benoit Minisini committed changes in /branches/KDE/3.5/kdebase/kicker/applets/clock:

The normal clock does not flicker anymore.
When kicker is transparent, the normal clock and the fuzzy clock are drawn with a shadow.
The width calculation of the normal clock has been fixed.

Benoit Minisini committed changes in /branches/KDE/3.5/kdebase/kicker:

Rewrites the panner class that is the base of panels and taskbars, so that it does not inherit QScrollView, but implements just the needed features.
This way, things are faster and there is less flicker.
The scrolling of panels and taskbars is now smooth.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 854164
Benoit Minisini committed changes in /branches/KDE/3.5/kdebase/kicker:

The taskbar correctly refreshes its big kicker tip when the window icon has changed.
The big kicker tip is now automatically hidden when the client has nothing to show anymore.
All timers are stop in any case when the big kicker tip is hidden.
The big kicker tip round look is better now.

Diffs: 1, 2, 3 Revision 854853

KDE-PIM

Rafael Fernández López committed changes in /trunk/KDE/kdepim/kontact/src/mainwindow.cpp:

Correctly save window information.
What was happening mainly?

Well, if we save/restore from the same group and config file, the main toolbar is saved with a certain width (it had some elements on the first plugin) and when switching to another plugin its size can change, but it is restored from the same file, what makes it have an incorrect size.

We always want to make different groups for each plugin, so the window/toolbars are adapted correctly.

Multimedia

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

Do not auto-save playlists, instead save only after the playlist data has changed.
A 3-second window is used to avoid repeatedly trying to save during rapid changes.

Cover manager was already fixed a couple of weeks ago.

I believe this should help for bug 165899 (JuK causes high amount of wakeups) although the timer was set to fire infrequently so there's probably more going on.

Networking Tools

Guillaume Pothier committed changes in /trunk/KDE/kdenetwork/krdc/vnc:

Fix concurrency issues.
In particular this should fix crashes when a connection is closed either from krdc or from the server side.

Bug reporters, please check if you can still reproduce the crashes with this patch (this is for trunk, backporting to 4.1 in a few minutes).

Details:
1- Disconnect signals from the client thread to the vncview when the latter is deleted.
This fixes a 100% repeatable crash that occurs when I close a vnc tab that is connected to an ubuntu machine running the vino vnc server (aka gnome desktop sharing)

2- Remove the buf global variable.
I wasn't able to get a reproducible crash due only to this variable because of the above item, but getting rid of that variable is the sanest thing to do I think.

Features

Development Tools

Evgeniy Ivanov committed changes in /trunk/KDE/kdevplatform:

* Basic Revision history implementation, including DVCScommit class and interface implementation for Git. It works correctly with simple revision history (actually it works fine with all things could be done with DVCS in KDevelop). Simple history with merges is ok too.

* Some API documentation (essential).
* Branching tests for GitExecutor (but can be used in all executors).
* Few Easter Eggs for translators :)
* Fixes for Git to allow CommitManager to work correctly with "no commits" repos.
* Some minor fixes/changes.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 852252
Hamish Rodda committed changes in /trunk/KDE/kdevplatform/language:

Start work on a code generation framework (which will incorporate refactoring eventually).

For now just some experimental work on providing a new class dialog which is as language independent as possible, but still allows language-specific customisations.

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

Add beginnings of code generation support, starting with a new class wizard.

This is still very experimental and will no doubt be rearranged, but it is able to create a header for an lgpl licenced class.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 853083
Manuel Breugelmans committed changes in /trunk/playground/devtools/kdevelop4-extra-plugins/sloc:

Source Lines of Code report plugin using CLOC [<a href="http://cloc.sourceforge.net/">http://cloc.sourceforge.net/</a>;].

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

Educational

Akarsh Simha committed changes in /trunk/KDE/kdeedu/kstars/kstars:

Including support for loading 100e8 stars.

This patch includes:
+ Removal of some deprecated code
+ Splitting of StarComponent into StarComponent and DeepStarComponent
+ Separation of named and unnamed stars
+ Support for both 16-byte per star and 32-byte per star data files

The changes are still experimental and might break some features or introduce some bugs.

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

Graphics

Cyrille Berger Skott committed changes in /trunk/playground/graphics/darkroom:

allow to export to JPEG

Diffs: 1, 2, 3, 4, 5, 6 Revision 851722
Pino Toscano committed changes in /trunk/KDE/kdegraphics/okular:

add a video widget class that encapsulates a Phonon video player and includes all the logic for repeated playbacks, media controls, etc

at the moment, it provides just playback and repeat mode

Diffs: 1, 2, 3 Revision 851956
Pino Toscano committed changes in /trunk/KDE/kdegraphics/okular/ui:

Load video widgets for the video annotations of the document in the main page view.
Add them as part of the page items, so they can be resized, moved and shown/hidden automatically according to the related pages.

Diffs: 1, 2, 3 Revision 851960
Pino Toscano committed changes in /trunk/KDE/kdegraphics/okular/ui:

- add a real basic control bar with the play/pause and stop actions for the movie control, only shown whether the movie asks for it
- make the "click to play" function working for the video area only

Pino Toscano committed changes in /trunk/KDE/kdegraphics/okular/ui:

few improvements to the video widget (yay for airport hacking):
- add a seek slider to the control bar, that "becomes" a button that popups it when there is too few space for it
- more robust even filter on the phonon video widget
- "eat" the tooltip events, so we don't have tooltips coming from eg the page view

Percy Camilo Triveño Aucahuasi committed changes in /trunk/extragear/graphics/kcoloredit/src:

* Picking color from desktop ... done

Diffs: 1, 2, 3 Revision 854801
Tobias Koenig committed changes in /trunk/KDE/kdegraphics/okular/ui:

Inhibit screen saver during presentation mode

KDE Base

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

Support for unredirecting fullscreen windows, i.e. games etc. can paint directly and not be slowed down by going through compositing.

Turned on and no UI option in the naive hope that it won't cause any real problems.
Maybe effects doing window previews should get API to suspend unredirect though.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 851742
Alessandro Diaferia committed changes in /trunk/playground/base/plasma/applets/previewer:

first implementation of FastPreview

Diffs: 1, 2, 3 Revision 851754
Aike J. Sommer committed changes in /trunk/playground/base/plasma/screenmanagement:

API now supports refresh-rate, rotation and reflection.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 21 more) Revision 851811
Martin Gräßlin committed changes in /trunk/KDE/kdebase/workspace/kwin/effects:

Cube & co becomes zoomable (usage: + and -).
Adding also a config option to define the default zoom.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 852059
Lucas Murray committed changes in /trunk/KDE/kdebase/workspace/kwin/effects:

Two new layout modes for the present windows effect
Keyboard operation now works correctly in present windows on multi-monitor setups

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 852066
Marco Martin committed changes in /trunk/playground/base/plasma/applets:

activitybar applet:
a small tabbar that switches the desktop view between various activities aka containments

basically works but still doesn't try to listen to modifications like addition, removal etc of containments

Diffs: 1, 2, 3, 4, 5, 6 Revision 852186
Martin Gräßlin committed changes in /trunk/KDE/kdebase/workspace/kwin/effects:

Make cylinder and sphere work with multi screen setup.
Span on all screens is only option as scaling on one screen results in abstract art.
So the option is removed from config dialog.

Diffs: 1, 2, 3, 4, 5, 6 Revision 852200
Tobias Koenig committed changes in /trunk/KDE/kdeplasma-addons/applets/comic:

Listen to Solid for network status changes and reload comic if network becomes available.

Diffs: 1, 2, 3 Revision 852244
Martin Gräßlin committed changes in /trunk/KDE/kdebase/workspace/kwin/kcmkwin/kwincompositing:

Easy to use config options to select the effect for window switching (alt+tab) and for desktop switching.

So no more searching through all effects to enable one effect and disable the conflicting effects.

Tobias Koenig committed changes in /trunk/KDE/kdeplasma-addons/dataengines/comic:

Add new comic providers for
* Ctrl+Alt+Delete
* NichtLustig
* Calvin and Hobbes

Patch written by Matthias Fuchs.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 852726
Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src:

Provide a common iconsize-widget for the settings dialog of the icons-, details- and column-view.
The current version still requires some improvements (Labels on the left + right, preview, ...).

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 852961
Sebastian Kügler committed changes in /trunk/playground/base/plasma/applets:

New System Bar applet.
A concept version of the new system tray-like functionality for devices where we don't need the systray.

This applet is specifically for MID, such as Maemo platforms.

Therefore, it will make some assumptions about size, display, user interaction, etc.

At this point, it merely compiles, though.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 852965
Sebastian Kügler committed changes in /trunk/playground/base/plasma/applets/CMakeLists.txt:

New control applet for MID hardware.
Click on the icon, and you can set brightness and volume.

We'll need some nicely styled widgets here.
I've been playing with Plasma::Widget::Label and a 'normal' QWidget popup. Both won't pop up on plasma-mid, though.
And it doesn't actually do anything, more a ui concept as addition to the systembar.

Luboš Luňák committed changes in /trunk/KDE/kdebase/workspace/ksplash/kcm/installer.cpp:

Support also uncompressed themes, patch by Björn Ruberg.

Lucas Murray committed changes in /trunk/KDE/kdebase/workspace/kwin:

Added feature to only invert the colours of selected windows
Fixed shader alpha blending

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 853224
Tobias Koenig committed changes in /trunk/KDE/kdeplasma-addons/applets/comic:

Clicking on the comic plasmoid with mid mouse button opens a 1:1 zoomed version of the strip now.

Diffs: 1, 2, 3, 4, 5 Revision 853315
Zack Rusin committed changes in /trunk/KDE/kdelibs/kdecore:

implement automatic detection of languages (pretty lame but works)

Diffs: 1, 2, 3, 4, 5 Revision 853321
Sebastian Kügler committed changes in /trunk/playground/base/plasma/applets:

(As Jason is moving houses, I'll use this opportunity to sneak my code in)

Beginnings of applets-in-the-systray.
This commit adds a new protocol (Systemtray::MID::Protocol) and a corresponding subclass to Systemtray::Task (which would be Systemtray::MID::Task).
The Systemtray::Manager now also loads MID::Protocol. MID::Task loads an applet and pass this as QGraphicsWidget up to the Systemtray::Manager.

Pretty much everything seems to be in place, but after loading the applet, the taskCreated(task) signal is not received by the manager, (it's sent from the protocol after loading the applet).

Can someone help me out and have a look why the signal is never received (and keep me from banging my head against a wall)?

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 853392
Cornelius Schumacher committed changes in /trunk/playground/base/attica:

Initial version of Open Collaboration Services client.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 27 more) Revision 853536
Sebastian Kügler committed changes in /trunk/playground/base/plasma/applets/mid_control:

The Midcontrol applet starts to work.
It's now using extenders to show the controls widgets when clicked on it.

Diffs: 1, 2, 3 Revision 853586
Aaron J. Seigo committed changes in /trunk/KDE/kdeplasma-addons/applets/notes:

* allow exporting of notes to file
* save and restore scroll position

based on patches by Björn Ruberg

Adrien Bustany committed changes in /trunk/playground/base/nepomuk-kde/annotationplugins/runners:

Improve PIMO document handling.
Still needs some polishing.

Diffs: 1, 2, 3, 4 Revision 853752
Cornelius Schumacher committed changes in /trunk/playground/base/attica/src:

Implement activity view.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 853956
Xavier Vello committed changes in /trunk/playground/ioslaves/kio_bookmarks:

Add configuration dialog and kconfig support
Code stolen from the kio cache KCM

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 853961
Xavier Vello committed changes in /trunk/playground/ioslaves/kio_bookmarks:

* implemented bookmarks:/config to call the configuration dialog
* changed path handling (regexp)
* new ?size=int parameter, echoImage modified
* remove protocol from img src

Diffs: 1, 2, 3, 4, 5 Revision 854006
Urs Wolfer committed changes in /trunk/playground/libs/webkitkde/kdewebkit/searchbar.cpp:

Add search-as-you-type functionality.
Patch by Bernhard.

Cornelius Schumacher committed changes in /trunk/playground/base/attica:

Create Akonadi Resource for accessing Open Collaboraton Server users.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 19 more) Revision 854077
Michael David Howell committed changes in /trunk/playground/libs/webkitkde/kdewebkit:

Add a toggle for search-as-you-type.

Diffs: 1, 2, 3 Revision 854187
Martin Gräßlin committed changes in /trunk/KDE/kdebase/workspace/kwin/effects:

Cube/Cylinder/Sphere can be used for "walk through desktop" functionality.
This new mode has to be enabled in the settings.
Default is off.
Mouse functionality is disabled in this tab box mode.

Luboš Luňák committed changes in /trunk/KDE/kdebase/runtime/kcontrol/componentchooser:

Support for launching a WM's configuration tool.

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

Support replacing the WM while KDE is running.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 854490
Matthias Fuchs committed changes in /trunk/KDE/kdeplasma-addons/dataengines/comic:

Added comic provider for
* Doonesbury
* The Boondocks
* Extralife

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 854605
Davide Bettio committed changes in /trunk/playground/base/plasma/applets:

Added ccalendar.
The aim of ccalendar is to implement nuno's calendar mockup and to replace actual plasma calendar with this new one.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 854622
Ben Cooksley committed changes in /trunk/playground/base/kdisplay:

Add initial implementation of KOSDWidget based knotify osd plugin.
compiles, but otherwise untested

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

Add a global configuration option for animation speed.
See description of Effect::animationTime() for how-to-use.

TODO: Effects need to reload config after doing the change in the kcm.
NOTE: Default TimeLine constructor now creates invalid object, it is necessary to explicitly call setDuration() in order to ensure all animations respect this setting.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 35 more) Revision 854690
Aike J. Sommer committed changes in /trunk/playground/base/plasma/screenmanagement/kephal:

Publish Outputs for each Screen over d-bus.

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

KDE-PIM

Volker Krause committed changes in /trunk/KDE/kdepim/akonadi/clients/akonadiconsole:

Add a simple Nepomuk property viewer.

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

Add a MarbleWidget to Mailody which shows which route a mail message has taken to reach you.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 854944
Kevin Krammer committed changes in /trunk/KDE/kdepim/kaddressbook/features:

Implemented a three year old TODO :)
React on changes to sub resource properties

Multimedia

Daniel Caleb Jones committed changes in /trunk/extragear/multimedia/amarok/src/dynamic:

A big solver experiment: Most of the work is now done by a genetic algorithm before switchng over to annealing.

This seems to work better in my testing, but the real test will come when more biases exist.

Networking Tools

Eike Hein committed changes in /branches/extragear/kde3/network/konversation:

Add a network settings lookup fallback to retrieving the key of a channel.
Previously, this relied solely on the channel's mode map.
Closes the brief gap between a channel join and the server's reply to MODE where possible, so that e.g. reconnecting directly after auto-joining a channel with a key doesn't result in a failed rejoin due to not having the key by way of the MODE reply yet.

Roman Jarosz committed changes in /trunk/KDE/kdenetwork/kopete:

Add incoming file transfer request into chat window and remove the old dialog.
Add globally unique id into Kopete::Message.
Add defualt incoming file transfer request style to make it work with all styles.

File transfer request look can be changed with Incoming/FileTransferRequest.html in chat style.
Supported style tags are: fileName, fileSize, fileIconPath, saveFileHandlerId, saveFileAsHandlerId, cancelRequestHandlerId

Save, save as and cancel buttons have to have id="%saveFileHandlerId%", id="%saveFileAsHandlerId%", id="%cancelRequestHandlerId%".

For now we don't support Adium style because they require JavaScript (security problem).

Alexander Rieder committed changes in /trunk/KDE/kdenetwork/kopete/protocols:

begin my work on the IRC-protocol, making the editaccount dialog and the network config dialog a bit more functional.

adding irc protocol again to the CMakeLists.txt as optional

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

Added patch from Aaron Seigo which adds drag and drop support to plasma applet (will only work on KDE 4.2).

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

Utilities

Dario Freddi committed changes in /trunk/playground/utils/powerdevil:

Commit worth some days of work, while I was away. Here goes the most important changes:

* Added a KRunner that allows to change the current profile ("set-profile")
* Added a basic Applet. This is meant to be a placeholder, since I'm not good at all with Plasma Applets.
* Improved the Plasma engine, now it has all the needed informations.
* Added more methods/signals to DBus interface, mainly for the Plasma stuff.
* Improved profile support
* Some changes to the GUI in the config dialog
* All powerdevil modules are now ready for l10n. Added also Messages.sh. All the modules are translated from "Powerdevil" catalog.
* Added a "capability" page to the KCModule, where you can see what your system is capable of
* Added support for powersaving schemes
* Added support for turning off CPUs (where possible)
* Added more notifications
* Various fixes, and some more stuff I could have forgot writing about

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 20 more) Revision 853274
Dario Freddi committed changes in /trunk/playground/utils/powerdevil:

New layout for profiles, and new polling system.
Kudos to Lithium and KDE4Powersave for the idea.

Diffs: 1, 2, 3, 4, 5 Revision 853737
Luboš Luňák committed changes in /branches/work/~seli/randr:

KDED module to detect monitor setup changes.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 853803
Dario Freddi committed changes in /trunk/playground/utils/powerdevil/plasma:

Adding support for changing governors through KRunner

Diffs: 1, 2, 3, 4 Revision 854083
Rolf Eike Beer committed changes in /trunk/KDE/kdeutils/kgpg:

Rewrite KGpg first start wizard to use KAssistantDialog instead of Q3Wizard

This also improves the assistant in several ways:
-allows to search for gpg binary if it is not in path
-improve searching for GnuPG config file
-ask GnuPG for config file before guessing it's location
-checks for the newer version first if both are present
-add quirk for Windows location of config file
-adds summary page at end of assistant
-allows user to choose if key generation dialog should be started or not
-when the default key is set in assistant save full fingerprint instead of only last 8 byte

By the way: the GUI stuff was more or less copied from the UIC generated file.
If anyone has improvements feel free to commit it or mail me a patch.

Harald Hvaal committed changes in /trunk/KDE/kdeutils/ark/plugins/libarchive:

Added adding files support to libarchivehandler.
Will recompress the whole archive, as libarchive does not support adding to compressed archives.

Still to come is preserving of archive format, progress feedback and better error handling.

Dario Freddi committed changes in /trunk/playground/utils/powerdevil:

Adding further actions to the KRunner, fixing capability detection

Diffs: 1, 2, 3, 4, 5, 6 Revision 854293
Dario Freddi committed changes in /trunk/playground/utils/powerdevil:

Adding the possibility to Lock the screen when idle

Games

Stefan Majewsky committed changes in /trunk/playground/games/palapeli/game:

Commit the framework for the next-generation Palapeli interface.
This will consist of widgets appearing on the puzzle table.
They should be usable with both mouse and keyboard (unlike the current solution esp. of load and save actions, these have problems with keyboard shortcuts).

These files are going into a new subdirectory of game/ as I would like to tidy up the mess of classes there a bit.

By now, there is no interface which actually uses the new framework.
That is my main job for the next days.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 852459
Stefan Majewsky committed changes in /trunk/playground/games/palapeli/game:

Implementation of Import and Export using the new interface model, and various improvements across Palapeli to adapt to the new interface.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 852793
Gaël de Chalendar committed changes in /trunk/KDE/kdegames/ksirk:

Added support to KHNS to download new skin; static skin is now on newstuff.kde.org

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

Optimization

KDE Base

Eduardo Robles Elvira committed changes in /trunk/KDE/kdebase/apps/konqueror/src:

optimization: Adding support for delayed initilization of closed window items so that konqueror loads faster and with less memory fooprint

Diffs: 1, 2, 3 Revision 852166
Viacheslav Tokarev committed changes in /trunk/KDE/kdelibs/khtml:

some work on adblock filtering:
- 7.6x performance speedup: from 15.2 sec to filter 20000 random urls with kubuntu standard set of filters down to only 2 sec now
- better compatibility with adblock plus (now handles whitelisting too)

Diffs: 1, 2, 3, 4 Revision 852301
Viacheslav Tokarev committed changes in /trunk/KDE/kdelibs/khtml:

More performance improvement for adblock filtering.
1.3sec instead of 2sec now on the same test case (originally it was like 15sec)
(better/smarter handle wild cards now)

Multimedia

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

JuK optimizapalooza!

* Add whatever X-DBUS-foo line KUniqueApplication says we need.
* Restructure the startup sequence to postpone all the hard work until after the GUI is setup as much as possible to allow passing our reply over DBUS ASAP.
* Don't call hasCover from PlaylistItem like, ever. I made CoverInfo::hasCover() take longer when I added support for APIC frames but didn't catch all unnecessary instances of their use last time. Luckily this is the big win and is backportable.
* Also, don't force CoverInfo::coverId() to call hasCover() for no reason.

Hopefully this should remove the egregrious Plasma freeze-ups while starting but even after returning from KUniqueApplication::newInstance() quickly it seems to take a while for the reply to go over the D-BUS...

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

Other

Development Tools

Michael Pyne committed changes in /trunk/KDE/kdesdk/scripts/kdesvn-build:

Change up the default module branches to automatically apply saner default branches for some modules with respect to the global branch setting.

For example if you set "branch 4.1" globally and have no branch preference for kdesupport you'll get trunk for now (later to be changed to the mythical stable-kdesupport-stuff tag).
For phonon you'd get 4.2, etc.

Michael Pyne committed changes in /trunk/KDE/kdesdk/scripts/kdesvn-build:

Alright, I think this is a neat change.
kdesvn-build has supported an automatically generated symlink in the log directory called latest for awhile now, which puts you in the log directory for the last build run.

Now, instead of symlinking latest to the last build run, latest holds a directory of symlinks.
Each symlink is named after the module concerned and links back to the last build run for that module.
That way you always have easy access to the logs for the last build run of a module without having to run find or anything crazy.

You should find that using it is effectively the same unless you have tools of your own that depend on $logdir/latest being a symlink.

Graphics

Pino Toscano committed changes in /trunk/playground/graphics:

On behalf of Unai Garro, import his KIO thumbnailer plugin for RAW camera files, that uses kdcraw and kexiv2.

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

KDE Base

Michael Jansen committed changes in /trunk/KDE/kdelibs/kdeui/dialogs/kshortcutseditor.cpp:

Remove the code for subgrouping the actions in a action collection with special named actions ("Group:").

It assumes actions in a collection keep the order they where inserted.
That's not true anymore since the KKeyChooser -> KShortcutsDialog redesign.

It doesn't work with global shortcuts either.
kwin is the only user of that functionality I found.

We have to find a way to provide that functionality differently.
For the reason have a look at kates "configure shortcuts" dialog.

Anyone an idea? I think of creating something like KActionGroups.

Sebastian Kügler committed changes in /trunk/playground/base/plasma/applets/news:

Use Plasma's color scheme rather than hardcoded colors.

It doesn't work well right now, and given the variation of black color themes, it's kind of hard to test.
In Aya, the news applet still looks like ass, though. :/

Nick Shaforostoff committed changes in /trunk/KDE/kdebase/workspace:

improvement: make systemsettings more 1024x600 netbooks friendly

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 851963
Ivan Čukić committed changes in /branches/work/lancelot/tags/lancelot-1.0:

Tagging 1.0 version for KDE 4.1

Rob Scheepmaker committed changes in /trunk/playground/base/plasma/applets/kuiserver:

Update kuiserver applet to use PopupApplet, which, since my previous commit, allows a lot of otherwise duplicate code to be removed, so rejoyce :).
Still some issue with detaching extenderitems from a plasma::dialog.

Marco Martin committed changes in /trunk/KDE/kdebase/workspace/plasma/shells/desktop:

configuration interface for the activity name, for now it's a simple line edit empty by default

maybe using some sensible default like the containment name?

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

handle resizing of the window better; man, when you know the hardware won't change on you things are soooo much easier.

Rafael Fernández López committed changes in /branches/KDE/4.1/kdelibs:

Backport all toolbar fixes.

PLEASE REVIEW.
This has been a crazy cherry picking of commits from trunk. I double checked, and I believe everything is fine.

Diffs: 1, 2, 3, 4, 5, 6 Revision 852565
Maks Orlovich committed changes in /branches/KDE/4.1/kdelibs/khtml:

Backport ad filtering improvements ---
mostly huge (~7.6x) performance improvements thanks to vtokarev's ultra-cool RK implementation, some compatibility improvements (e.g. understanding @@ whitelist directives) and a bit of refactoring so we don't clutter khtml_settings.cc with computer science.

Diffs: 1, 2, 3, 4 Revision 852593
Ryan P. Bitanga committed changes in /trunk:

Move the spellcheck runner to kdeplasma-addons

Olivier Goffart committed changes in /trunk/playground/base/plasma/applets:

Commit the so-much wanted xeyes clone plasma applet that I developed at Akademy

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

resize handle now is a button (oh my god, need badly a new resize icon)
different graphics and logic in the ruler handles

Diffs: 1, 2, 3, 4 Revision 852914
Rafael Fernández López committed changes in /trunk/KDE/kdelibs/kdeui:

So now we have fast transitions on kfadewidgeteffect (setOpacity was evil), we can do transitions on page dialogs... at least lets see how responsive is this on trunk :)

Diffs: 1, 2, 3 Revision 853594
Martin Gräßlin committed changes in /trunk/KDE/kdebase/workspace/kwin/effects:

Reworked the UI for cube configuration.
There are two tabs (basic and advanced) now and the whole UI is more clearly arranged.

Diffs: 1, 2, 3 Revision 853730
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/pager/pager.cpp:

avoid trusting the windowing environment to always be sane (*sigh* having to support things like people switching window managers mid-session is just so .... what's the word for it .. inane.)

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

Funny how awesome ideas are often so awfully simple.
Test whether compositing really works by simply trying to do it and test the result - create a small testing window with known content, do the same with it like with normal windows, grab the screen contents, compare with the original, doesn't match? -> fail.

It still would be nice to have something similar for performance.

Diffs: 1, 2, 3, 4 Revision 854549
Jos van den Oever committed changes in /trunk/playground/base/strigiplasmoid:

Strigi plasmoid revival.

David Faure committed changes in /trunk/KDE/kdebase/apps/konqueror:

Unify the konqueror.rc forks again. After the past work on moving filemanagement-specific actions to dolphinpart, there was no real difference left between konq-webbrowsing.rc and konq-filemanagement.rc.

Just the hiding of reload and stop in filemanagement, but those are very useful for remote directories anyway, so let's have them back.

On the other hand konqueror.rc kept rotting away but was still used as default in many places...
So we had bugs like "RMB on a link, the new window has text under icons because it uses konqueror.rc instead of konq-webbrowsing.rc" -- which shows that the konqueror.rc/konq-webbrowsing.rc distinction made no sense either.

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

Stop the compositing timer when idle.

Marco Martin committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:

this patch removes the centering and makes the tabbar to take up all the width when it's not like a tabwidget and there is some sizepolicy/preferred sizes setting fixes that makes it behave better in a panel (especially vertical ones)

KDE-PIM

Kevin Krammer committed changes in /trunk/KDE/kdepim/akonadi/resources/kabc:

Add improved KResource plugin selection assistant so we can use KWindowSystem::setMainWindow() and combine the two dialogs into one

Diffs: 1, 2, 3, 4, 5 Revision 852713
Kevin Krammer committed changes in /trunk/KDE/kdepim/kresources/akonadi/kabc/resourceakonadiconfig.cpp:

Get rid of the tabs.
Moveed the Akonadi resource KCM to a separate dialog which can be accessed through a button since managing Akonadi resources is not a very common task and shouldn't make the config widget unnecesarily large

Tobias Koenig committed changes in /trunk/KDE/kdepim/kitchensync/src:

Add first version of common configuration widgets

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

Office

Benoît Jacob committed changes in /trunk/koffice/CMakeLists.txt:

Remove the cmake code disabling eigen asserts.

Explanation: eigen2 asserts are far less costly than in eigen1 because they are bypassed in eigen's internal computations; also especially in Krita code the conditions tend to evaluate at compile-time hence the asserts are removed anyway by the compiler.

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

Painting with potato brushes works again.
I blame me bumping my head last sunday for not having seen the problem earlier.

Diffs: 1, 2, 3, 4 Revision 852797
Boudewijn Rempt committed changes in /trunk/koffice/krita/plugins/paintops:

Remove the preview widget because we'll be using the generic one for all paintops very soon.

Diffs: 1, 2, 3 Revision 853283
Jeff Mitchell committed changes in /trunk/koffice/filters:

KOffice links again!

Someone owes me massive quantities of beer.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 853385
Girish Ramakrishnan committed changes in /trunk/koffice:

Say hello to KoTextDocument.

Currently, we have no place to store meta data of the text shape's QTextDocument.
We have the style manager residing in the layout which is not an ideal place.
A place to store automatic list styles is also needed.

My initial thoughts were to have a KoTextDocument that subclasses QTextDocument that stores all this information.

Thomas pointed out that it would be nice to stick in all information in a QTextDocument somehow.
So, the approach chosen, is to store all the meta data as resources using QTextDocument::addResource().

To have a nice mechanism to access them, KoTextDocument is just a wrapper on top of QTextDocument.

Currently, the patch only stores the style manager but more will follow.

An important thing to know is that we should now use QTextDocument::clear() with care since it will clear away the resources too.

If you want to only clear the contents, one must use a QTextCursorto select all + clear selection.

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

Multimedia

Alex Merry committed changes in /trunk/playground/libs/libkmediaplayercontrol:

An idea to play around with: a library to abstract away media player interfaces (mpris, juk, xmms 1.x, mpd and so on).

Currently doesn't have a hope of compiling, and is largely just copied from the nowplaying plasma dataengine.

Needs thought on the API.
Ideas welcome.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 14 more) Revision 851915
Casey Link committed changes in /trunk/extragear/multimedia/amarok:

This patch allows a user to alternatively build libmp3tunes against libgcrypt instead of OpenSSL.
Linkage with OpenSSL is a possible GPL license violation which might cause problems for distributions to ship Amarok 2 with mp3tunes enabled.

However, Libgcrypt is LGPL and surely safe.
Hence the patch prefers Libgcrypt to OpenSSL if both are installed.
Thanks to the patch submitter Modestas Vainius.

Diffs: 1, 2, 3, 4, 5, 6 Revision 853016
Alex Merry committed changes in /trunk/extragear/multimedia/amarok/src/EngineController.cpp:

playPause() isn't the only way Amarok can be paused or start playing.

Instead, listen to Phonon state changes.
This means that the signal is triggered every time the track changes as well, but I can't see a way around that short of keeping track of the current state and comparing it (and doing the same for "stopped").

Note that we treat buffering as playing.

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

Make the Zoom In action in the context view actually work.

Lesson to learn: Typos in method names _can_ have bad side effects ;)

Seb Ruiz committed changes in /trunk/extragear/multimedia/amarok/src/scripts/importer/main.js:

More progress porting the ruby script to QtScript.

Peter Zhou committed changes in /trunk/extragear/multimedia/amarok/src/dialogs/ScriptManager.cpp:

script files do not need executable permissions anymore

Maximilian Kossick committed changes in /trunk/extragear/multimedia/amarok/src/statemanagement:

draft of application state management code

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

User Interface

Michael Pyne committed changes in /trunk:

Initial import of the KDE asciiquarium screensaver to kdereview to begin the review process for kdeartwork

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

first draft of the MID shell as discussed at akademy.
right now it compiles and that's about it ;)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 851952
Michael Pyne committed changes in /trunk/kdereview/asciiquarium/src:

Change name of KDE Asciiquarium to "Asciiquarium" in the screensaver dialog box (KDE is rather redundant and needless there).

Add a tooltip and whatsthis text to the .ui file for the settings widget as well.

I apologize for changing the text as I see that it's already being translated but this will be the last such change.

Utilities

Dario Freddi committed changes in /trunk/playground/utils/powerdevil:

Removing powerdevil, moving it to kdereview

Other

Dirk Mueller committed changes in /tags/KDE/4.1.1:

KDE 4.1.1

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