prev
Issue 111
18th May 2008
by Danny Allen
next


This Week...
Improved drag-and-drop of applets, and enhanced usability using the "Panel Controller" in Plasma. Grouping of notifications in the "Notify" Plasmoid, and continued progress in the "NetworkManager" applet. Animations in the "Pager" applet. SuperKaramba integration into Plasma is revived. More work on theming in Amarok 2.0, with the "Current Track" and "Wikipedia" applets re-enabled. A return to work on the Raptor menu. Initial steps toward a "satellite layer" plugin for Marble, with initial support for molecular editing in Kalzium. Copy-and-paste of vocabulary entries in Parley. "Singmaster" moves functionality in Kubrick. Support for searching the database by GPS position, and "fuzzy searches" (using a user-drawn sketch) based on the Haar algorithm (from imgSeek) added to Digikam. A "start page" is added to Gwenview. More functionality added to Beagle KIOSlave. A "quick reply" function is added to Mailody. Kontact gets a plugin for KJots. An import dialog added to assist in migrating from the KDE3 to the KDE4 version of KTorrent. Full support for the Windows platform in KTorrent trunk. Optimisations in the next-generation tile system of Krita. Work on loading ODF presentation notes in KPresenter. KNewStuff2 moves to Goya for handling and displaying items. Support for AIFF and RIFF audio file formats in TagLib. Initial import of Nonogram into playground/games. libkscan replaces libksane in kdegraphics. kdelirc moves from kdeutils to playground/utils. Phonon moves from kdelibs to kdesupport, "the never-freezing new home of Phonon".

Marco Martin introduces the new Plasma "Panel Controller" for resizing and repositioning the panel:
In KDE 4.0, it was impossible to configure the panel size and position at all, though fortunately the 4.0.x series gained a configuration dialog to resize the panel. Nevertheless, it was still a little limited and had some bugs. The good news is that with KDE 4.1 it will be quite simple to do almost whatever you wish with panels - even having a really wacky setup!


There is a new recent feature in Plasma that I think deserves a little explaination about the choices made. Right after the "Tokamak" Plasma meeting, the Plasma panel had a little "cashew" toolbox icon on its right that did nothing. Now clicking on it pops up a new widget that is intended to be a drop-in replacement for the panel configuration dialog accessible from the right mouse button click on an empty area of the panel (and somewhat to replace the entire right mouse button menu, that is neither not very accessible, intuitive, or discoverable).

Now, clicking on the toobox icon pops up a new widget (with alpha-blending goodness if you have compositing enabled). This entity (which is a drop-in replacement for the old configuration dialog) can do several things, like adding widgets, killing the panel, and resizing/repositioning the panel.


To resize the panel, it is sufficient to drag the window edge, like any other window, and by dragging the "window" itself you can move the panel to the other screen edges.

Now the interesting part: moving and resizing the panel is just like formatting a paragraph with a word processor. But why?

In KDE 4.1, the panels will be able to automatically grow/shrink when you add and remove applets (in the future, applets like the task manager will also be able to make the panel grow or shrink), so the user will want to be able to set where the panel starts, the direction where it grows and maximum and minimum sizes that limit the growth/shrinkage of the panel. In a way, it's like a paragraph aligned to the left, center or right of the page, which explains the three "paragraph" alignment buttons :).

At this point, to complete the metaphor what could be better than a ruler similar to the one used in word processors to decide the indentation and margin sizes? Other types of controls would have been possible, like simple handles at panel edges, but this is the only one that is able to really manage the concept of growing and shrinking panels in an intuitive manner. Since a video is worth more than 1024 words, here it is:

Download Plasma Panel Controller video (7.8 MB, AVI)

Lukas Appelhans talks about the current state and the future of the Raptor menu:
In April, we began to rewrite Raptor from scratch, after a new version of Qt was released, which brought many improvements for us and made much of the old code invalid.

Our current team contains:


We have the background rendering mostly finished and we are focusing now on the "TOM" plugin and the "Nuno-User-Interface" plugin. The TOM plugin is our version of a Task-Oriented Menu. But it can be whatever the user wants it to be, as it basically provides a structured menu.

It will provide an optional model for Raptor and other KDE apps.


In the future, we want to have Raptor not only as a normal application menu, but with added functionality. It will have intelligent history and more user interface plugins.

You can find our new homepage at http://www.raptor-menu.org>. If you have questions and want to ask us directly, then #raptor on irc.freenode.net or our mailing list is a good place for discussion!


Statistics
Commits: 2641 by 247 developers, 6313 lines modified, 1951 new files.
Open Bugs: 16519
Open Wishes: 13985
Bugs Opened: 259 in the last 7 days.
Bugs Closed: 250 in the last 7 days.

Commit Summary
Module Commits
/trunk/KDE
795
/trunk/l10n-kde4
491
/trunk/extragear
343
/trunk/playground
198
/trunk/koffice
146
/trunk/kdesupport
137
/branches/stable
106
/branches/work
97
/branches/extragear
73
/trunk/www
68
Lines Developer Commits
537
Pradeepto Bhattacharya
99
213
Gilles Caulier
96
191
Pino Toscano
85
177
Nikolaj Hald Nielsen
56
55
Chusslove Illich
54
91
Dan Meltzer
46
119
Albert Astals Cid
44
45
Christian Ehrlicher
40
60
Oswald Buddenhagen
37
37
Marcell Lengyel
37

Bug Killers and Buzz
Bug Killer Number Of Bugs Closed
Leonardo Finetti
40
Thomas McGuire
21
Pino Toscano
19
Dennis Nienhüser
19
Tristan Hoffmann
16
Bart Van Assche
14
A. Spehr
13
Michael Pyne
9
Linus Östberg
9
Joris Guisson
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 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
94.7 %       Male
7.25 %       (unknown)
1.72 %       Female
Motivation
50.5 %       Volunteer
37.0 %       (unknown)
12.7 %       Commercial
 
Ages
60.7 %       (unknown)
23.8 %       25 to 34
7.90 %       18 to 24
7.37 %       35 to 44
3.35 %       45 to 54
0.491 %       Under 18


Contents
  Bug Fixes Features Optimise Security Other
Accessibility
Development Tools [*]
Educational [*] [*]
Graphics [*] [*]
KDE-Base [*] [*] [*]
KDE-PIM [*] [*] [*] [*]
Office [*] [*] [*]
Konqueror
Multimedia [*] [*] [*] [*]
Networking Tools [*] [*] [*]
User Interface [*]
Utilities [*] [*]
Games [*] [*] [*]
Other [*] [*]

There are 213 selections this week.

Bug Fixes
KDE-Base
Luboš Luňák committed changes in /trunk/KDE/kdebase/workspace/kwin:
Show the composite overlay window only before the first painting pass actually needs to flush the output to the screen.

Avoids windows temporarily disappearing during KDE startup or similar visual glitches.
Diffs: 1, 2, 3, 4, 5 Revision 806387

Albert Astals Cid committed changes in /trunk/KDE/kdebase/runtime/kioslave/fish:
Make waitforpid only wait for the childPid we spawned, not all, this makes communication with kded work again
Convert QStringList qlist to QList<QByteArray> so we don't get pointers to temporal const char * when doing qlist.first().toLatin1()

Moving childPid to the .cpp file as plain C variable is not very nice but i'm not used to working with signals et al so not sure what's the best way of doing it.

This makes fish:// work again for me
WEEEEEEEE :-)
Diffs: 1, 2 Revision 806784

Marco Martin committed a change to /trunk/KDE/kdebase/workspace/plasma/plasma/panelcontroller.cpp:
deferred panel resize upon mouse button release, this is a workaround to a massive slowdown happened with qt 4.4 final.

The target is to restore the previous behaviour for kde 4.2 fixes also the resizing of the panel when is at the top of the screen.
Diff Revision 807048

Luboš Luňák committed a change to /branches/KDE/4.0/kdebase/workspace/kwin/scene_opengl.cpp:
Restore color settings after painting background.
Fixes splashscreen being fully black during KDE startup, not that I understand why.
Diff Revision 807453

KDE-PIM
Thomas McGuire committed a change to /trunk/KDE/kdepim/kmail/kleojobexecutor.cpp:
Don't crash when quickly switching signed messages.

The problem was that the sub-event loop of KleoJobExecutor would process user input, which made it possible to switch messages while the job was being executed.

That caused trouble when returning from the sub-event loop.

Thanks to Volker for the solution.
Bug 162049: Quickly walking over new signed messages with + or N crashes with...
Diff Revision 807341
Discussion

Thomas Thrainer committed a change to /trunk/KDE/kdepim/libkdepim/kdateedit.cpp:
Making the date picker popup a child of the combobox.
Otherwise, problems occure when embedding the KDateEdit in an itemview (as in the todo view of KOrganizer).

This is because QStyledItemDelegate monitors focus changes and only ignores those which are between different child widgets of the editor.

As the popup was no child of the editor, QStyledItemDelegate thought that the focus moved away from the editor, and closed it.

So no interaction with the popup was possible.

That's fixed now.

There should be no impact on all other use cases.
Diff Revision 808725

Multimedia
Nikolaj Hald Nielsen committed a change to /trunk/extragear/multimedia/amarok/src/widgets/SliderWidget.cpp:
oooook...
last commit did actually not make a lot of sense on its own as it actually cached stuff twice...
fix that and greatly simplify the volume slier rendering code
Diff Revision 807021

Leo Franchi committed changes in /trunk/extragear/multimedia/amarok/src/context:
fix crash-on-removing-applet. it's the simplest bugs that haunt you...
also, some other code cleanup and removal of redundant code
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 807451

Leo Franchi committed changes in /trunk/extragear/multimedia/amarok/src/context/applets:
make themes load again. yay!
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 807773