prev
Issue 115
15th June 2008
by Danny Allen
next


This Week...
In a long-planned move, the FolderView Plasmoid also becomes a containment (which enables it to fill the desktop space). The FolderView Plasma applet gets standard folder interaction context menu items. First version of CommandWatch Plasmoid, which displays output of a given console command. Support for displaying the running state of plugins and terminating jobs, abstraction of code completion (leading to initial code completion support for Java), and the clearing out of bug reports in KDevelop 4. Integration of the Panaramio online service into Marble. Work on loading themes in Parley. A "drawing history" and support for undo/redo in the sketch widget of Fuzzy Search in Digikam. More features in the "vi input mode" project for Kate. More work on the new MessageListView project of KMail, and a keyring database editor for KPilot. Various developments across Amarok 2, including an early "NepomukCollection". Start of an implementation of the famous "cube switch" effect for KWin-composite. Fully auto-generated Kimono C# bindings. More work on the "Table" tool in KOffice, with other developments including progress in the Kexi reports and web interface components. The "GeoShape" (based on Marble) moves to playground/office.

Marco Martin writes about two new Plasma developments, an animated tab bar, and the web browser Plasmoid:
With Qt 4.4 we have the possibility to directly use traditional Qt widgets in Plasma. This is very powerful because it gives us the access to the full set of widgets that every KDE application has access to. However, they have poor integration with the Plasma theme and keep all the limitations of traditional QWidgets (like integer-based coordinates, and clipping).

What i'm doing is theming native widgets with the Plasma theme engine, to obtain widgets thet are usual QWidgets (and so offer the same API), but they draw themselves using SVG, like the majority of Plasma components.

In this video, there is a tab bar with a nice sliding animation when the active tab changes, and a button that has an animated glowing halo on mouse over:

Download Animated Plasma Tab Bar video (294 KB, AVI)

The other thing I'm doing is a web browser that lives in the Plasma space. It is pretty basic, it has a minimal toolbar with a history-enabled address bar, the browser widget itself that remembers the last page opened and the scroll position, and bookmarks are syncronized with Konqueror. The web browser Plasmoid has been created both as a useful little tool to keep, for instance, a quick look on a frequently-changing webpage on the desktop, and as an experimental tool on how a very common application would look on a device that would have only Plasma as is main user interface (think about mobile devices for instance).


David Capel discusses his Summer of Code project for the educational vocabulary application Parley:
Hi, I'm David Capel, and I'm recreating the practice mode of Parley for my Google Summer of Code project. My goals for the project are to make it easy to extend, both with themes and with new modes. The previous practice code was not able to be themed and had very little code reuse, so I'm doing a ground-up rewrite to address these problems. The first part of my project was creating a framework that would allow me to create new practice modes with a minimum of new code, and that was successfully finished, though I am, of course, still tweaking it as I go.

One of the cool features of Parley is its variety of practice modes - written question & answer, multiple choice, scrambled letters, and conjugation practice, to name a few. These options allow people to learn by a variety of methods, which can improve learning speed and retention. Sounds and images are also supported. The second phase of my project was to use my framework to recreate the previously existing modes; I am currently doing this, and it is progressing smoothly - I expect to be finished within the next couple weeks, at the latest.


The third phase is to create new practice modes. I have rough plans for crossword and wordfind modes, but if you have any cool ideas, I'd be happy to hear them - contact me through the parley-devel mailing list, if you prefer). Additionally, if anyone is interested in creating some themes for the practice mode, drop me a line!

This week has been a great week for bug fixing. But I can't help but feel bad for Christophe Giboudeaux - indeed, the whole top bug fixers list, as Andreas Pakulat has, despite their valiant efforts, swept away the strong competition by shattering all Digest records this week, with 237 bug reports closed. In Andreas's own words:
"A few weeks before I started I finally managed to fill up the KDevelop 4 Feature Plan on our wiki from notes I took during our KDevelop4 hacking week and also personally for myself. I soon managed to find quite some things that didn't fit there as they were actually bugs. So I set out and asked the other developers about handling KDevelop4 bugs in KDE's bugzilla as it was supposed to become usable - at least for us developers and if you face it, long todo-lists even in special todo-list editors just doesn't cut it when you're working with other people on the code.

So that's the need that drove me towards cleaning out our bugs. I wanted to have only those that were applicable for KDevelop4. This is important because if the list is too long you never let Bugzilla show you the entire list and then go through to check for some minor things to fix in the two or three hours you have between dinner and going to bed in the week.

I started with the wishlist reports because those haven't been tackled by me in earlier bug-squashing sessions (I set out with Jens Dagerbo in January of last year to squash many bug reports). Quite some of the features were already implemented in KDevelop4 or the plugins weren't ported yet. Afterwards, I went out to close all the bugreports that were against plugins that are currently unmaintained for KDevelop3 and won't be ported to KDevelop4. I also found a nice list of things that were already fixed in KDevelop4 - almost all C++ parser bugs for example.

This allowed us developers to open up our bugzilla component for bug reports against KDevelop4 and allows ourselves to manage the small todo's among us. A bug that I find doesn't necessarily have to be fixed by myself now, as its not just on my personal todo list.

Oh, and I guess I should mention that I wouldn't even have thought about this if it weren't for my current workplace where we're using Trac to manage everything we need to work on - features, bugs from customers, special stuff for specific customers and so on.

It was tedious work, but I feel it was worth it: at some point we were right under 100 bug reports and we're still out of the Top 30 even! So yay! for our Bug Squashing team that does the same work for all the other apps that need bug squashing!"

Andreas, I salute you!


Statistics
Commits: 2461 by 240 developers, 7872 lines modified, 1536 new files.
Open Bugs: 16377
Open Wishes: 14169
Bugs Opened: 507 in the last 7 days.
Bugs Closed: 660 in the last 7 days.

Commit Summary
Module Commits
/trunk/KDE
797
/trunk/l10n-kde4
473
/trunk/extragear
313
/branches/work
179
/branches/stable
171
/trunk/playground
102
/trunk/koffice
96
/branches/kdepim
80
/branches/extragear
52
/trunk/kdesupport
48
Lines Developer Commits
227
Gilles Caulier
101
190
Stefan Nikolaus
84
159
Laurent Montel
80
45
Allen Winter
64
116
Rafael Fernández López
58
138
Aaron J. Seigo
55
27
Thomas McGuire
51
219
Volker Krause
43
128
Hamish Rodda
43
522
Pino Toscano
40

Internationalisation (i18n) Status
Language Percentage Complete
Portuguese
100%
Ukrainian
100%
Greek
98%
Swedish
97%
Estonian
95%
Japanese
90%
Galician
90%
German
88%
Dutch
87%
Low Saxon
87%

Bug Killers and Buzz
Bug Killer Number Of Bugs Closed
Andreas Pakulat
237
Christophe Giboudeaux
45
Aaron J. Seigo
39
Thomas Georgiou
35
Pino Toscano
28
Matt Rogers
24
A. Spehr
21
Seb Ruiz
21
David Faure
19
Peter Penz
13

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
90.5 %       Male
8.29 %       (unknown)
1.35 %       Female
Motivation
56.0 %       Volunteer
30.0 %       (unknown)
13.8 %       Commercial
 
Ages
67.0 %       (unknown)
22.8 %       25 to 34
16.0 %       18 to 24
5.43 %       35 to 44
3.74 %       45 to 54
0.515 %       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 140 selections this week.

Bug Fixes
Educational
Jason Harris committed changes in /trunk/KDE/kdeedu/kstars/kstars:
Fixing crash when closing the toolbar config dialog. I had been invoking KEditToolbar directly, but the API docs clued me in to the fact that this is not necessary. As long as I have an action named "options_configure_toolbars" in my XMLGUI file, then I don't need to do anything else. Apparently doing it manually is a bit worse than unnecessary, because the mysterious crash I had doing it manually is gone now.

Actually, there's one more detail I needed to make the auto-code work.
By looking at the code of other apps, I learned that I need to have setXMLFile("kstarsui.rc") and setupGUI().

It sure would be nice if we had some up to date documentation on how this XMLGUI stuff is supposed to work...
Diffs: 1, 2, 3, 4 Revision 818659

Akarsh Simha committed changes in /branches/kstars/summer/kdeedu/kstars/kstars/skycomponents:
Fixing a trivial bug in starblocklist.cpp that was preventing markNext() from being called. This was causing blocks to never be inserted into the LRU Cache, and thus, cached blocks were never reused.

With this fix, we achieve a 2x drop in memory usage when limiting magnitudes at zoom in and zoom out are 10.0 and 6.2!

Leaving the debug statements till we are sure of the code quality.
Diffs: 1, 2 Revision 819781

Games
Ian Wadham committed changes in /trunk/KDE/kdegames/kubrick/src:
Fix the integration of Singmaster moves with other kinds of move.
Diffs: 1, 2, 3, 4, 5 Revision 818935

KDE-Base
Rafael Fernández López committed changes in /trunk/KDE/kdelibs:
Also fix the dir select dialog if the combobox wants to be very big. Now the size of both windows are saved when pressing cancel too. If the user modified the size of the window was to see better, independently of clicking Cancel because the file wasn't found or whatever.
Diffs: 1, 2, 3, 4 Revision 818307

Peter Penz committed a change to /trunk/KDE/kdelibs/kfile/kurlnavigator.cpp:
Fixed issue that the text inside the "host" widget might get clipped.

TODO for KDE 4.2: Check with Aaron and Urs whether the "host" widget makes sense in this way at all (having an editable widget in the breadcrumb when having a sub path seems to generate some usability problems).