Issue 85
18th November 2007 by Danny AllenThis Week...
Just the other day on IRC, Mauricio Piacentini talked about a guy he met who worked in government and had been using KEduca to administer tests to up to 45,000 students in poor communities (and that using KEduca had saved up to $10,000 in printing costs). When he heard that KEduca would not be in KDE 4 he was enormously disappointed. This inspired me to revive it and so I have been working to at least bring it up to the standard of the KDE 3 version. Now, of course, it won't make it for KDE 4.0 but by 4.1 it should be in great shape.
So far, I've got it compiling and running simple tests:
Since some of the code is very old and a partial rewrite would be necessary anyway, I decided to take this opportunity to increase the scope of the program. The KDE 3 version only had support for simple linear tests with multiple-choice questions stored in a home-grown (but nice and simple) file format. However, I felt that KDE deserved a more featureful piece of software and so I have started to implement the IMS QTI specification. While I will initially only be supporting a small section of the specification, it will allow interoperability with other test software, such as Moodle. Eventually, I plan to implement most of the test types available.
The code is currently in playground/edu if anyone wants to have a look.
In addition we're trying to simplify our licensing and make it possible for KDE to link to or derive from projects that have switched or will switch to GPL v3. Still, we have not reached agreement from a critical mass of copyright holders (i.e. developers) to relicense their files. Developers: please check out this Techbase page.
In other news, the KDE 4 Release Candidate 1 Live CD was unexpectedly popular. Within a few hours, we had to mirror the CD to several high-bandwidth servers, install a load balancing mechanism and set up a BitTorrent alternative for it, and we still weren't able to do anything else than just watch the server crawl under the load. I would have preferred to see those problems coming with one of the previous beta released, but they did not get too much attention. Now being prepared, I'm waiting for new download highscores with RC2 :-)
Anne-Marie Mahfouf, Celeste Lyn Paul, Ellen Reitmayr, Sharan Rao, David Faure, Aaron Seigo, Allen Winter, Philip Rodrigues, Sebastian Kuegler, Jos Poortvliet, and Piyush Verma are our models :).
These people are only a random sample of KDE contributors from our "large KDE family". The theme for the posters showcases the "human face" behind KDE Project - the wonderful community that keeps attracting people from all corners of the world and from all aspects of life/backgrounds.
All of us join together to form a beautiful family.
These were created by Kamaleshwar Morjal for the upcoming FOSS.in/2007 event.
Statistics
Commits | 3006 by 230 developers, 6259 lines modified, 1587 new files |
Open Bugs | 15043 |
Open Wishes | 13258 |
Bugs Opened | 300 in the last 7 days |
Bugs Closed | 302 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/KDE |
1036
|
/trunk/l10n-kde4 |
726
|
/trunk/extragear |
354
|
/branches/work |
194
|
/trunk/l10n-kde3 |
136
|
/trunk/koffice |
97
|
/trunk/playground |
96
|
/branches/stable |
88
|
/trunk/kdesupport |
74
|
/branches/extragear |
56
|
Lines | Developer | Commits |
435
|
Laurent Montel |
205
|
260
|
Gilles Caulier |
94
|
198
|
Pino Toscano |
79
|
189
|
Aaron J. Seigo |
70
|
174
|
Allen Winter |
48
|
109
|
Andreas Pakulat |
48
|
50
|
Patrick Spendrin |
48
|
47
|
Sebastian Trueg |
44
|
139
|
David Nolden |
42
|
150
|
Hamish Rodda |
41
|
Internationalization (i18n) Status
Language | Percentage Complete |
Portuguese (pt) |
99.97%
|
Swedish (sv) |
99.93%
|
Greek (el) |
99.71%
|
Japanese (ja) |
94.75%
|
German (de) |
89.15%
|
Chinese Traditional (zh_TW) |
86.32%
|
Spanish (es) |
83.5%
|
Dutch (nl) |
82.52%
|
Estonian (et) |
81.35%
|
Brazilian Portuguese (pt_BR) |
78.79%
|
Bug Killers and Buzz
Person | Bugs Closed |
Harald Sitter |
54
|
Will Stephenson |
42
|
Pino Toscano |
35
|
Olivier Goffart |
30
|
Thomas McGuire |
16
|
Oswald Buddenhagen |
13
|
Julian Seward |
12
|
Tommi Tervo |
12
|
Joris Guisson |
10
|
Dan Meltzer |
10
|
Program | Buzz |
Amarok |
6305
|
K3B |
5640
|
KMail |
5120
|
Kopete |
4330
|
Kontact |
3948
|
Kate |
3880
|
KDevelop |
3205
|
digiKam |
2798
|
Kicker |
2436
|
SuperKaramba |
2154
|
Person | Buzz |
David Faure |
856
|
Sebastian Kügler |
854
|
Stephan Kulow |
771
|
Matthias Kretz |
654
|
Adriaan de Groot |
630
|
Allen Winter |
629
|
Waldo Bastian |
440
|
Aaron J. Seigo |
364
|
Boudewijn Rempt |
340
|
George Staikos |
322
|
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 116 selections this week
Bug Fixes
Development Tools
Fix bug 151971 (kdesvn-build SVN aborts with IPC failure).
I was never able to pin down what was causing the bug, or to reliably reproduce it. So I went and completely ditched the old IPC code instead. :(
It has been rewritten using anonymous pipes and adding an extra process so that the update and build processes can both proceed unfettered.
Also added is a command line option (--no-async) to disable the IPC stuff. You can set it as a config file option as well (just called async), it defaults to enabled.
In addition the async mode is turned off unless performing both the update and build processes. In theory async mode should always work but I see no reason to test the issue unnecessarily.
Graphics
Really fix region mode with several screens.
Fix the snapshot of sections of windows: don't display black windows any longer.
KDE Base
items were getting added to the same layout more than once. now that the desktop actually knows what its layout is, this screws things up pretty badly. so fix that.
however, the panel is now screwed and will be until i write a proper layout for it. be warned: i really don't want to hear about the panel until then.
Fix the problem of no reseting the hits count. Thanks goes to Tais M. Hansen. This bug is inherited from KHTMLPart from KDE 3.x series.
Better handling of the case where the total size of a job is unknown (very old kde bug).
Instead of showing 100% all the time, and a fake total size, simply don't show a total size at all, nor a remaining time; and the percent isn't emitted so the progressbar stays at 0 (maybe a jumping-back-and-forth progress bar would be better though).
Fix loading of the wallet, now the wallet can be loaded again and the data is no longer forgotten.
The reason was that because of a porting mistake, the data was filled up with zeros before it was read.
This was reported on a krush day, thanks!
Fix "delete" and "move to trash" actions in dolphinpart; moved all logic for those out of konqueror.
Inside dolphin, the usual: moving code to DolphinView.
Pressing shift while clicking on "Move to Trash" in konq (dolphinpart) offers to delete, as in kde3 (this bit of logic might be good for dolphin itself too? see DolphinPart::slotTrashActivated)
Features
Development Tools
Implement some basic install+clean. KDevelop4 should now be basically usable to build+install+clean KDE4 apps :)
Cool Feature Of The Day(TM)
Move calculation of code completions into a separate thread, thus not blocking the ui (as much) when it is invoked.
To me, this makes automatic code completion invocation more bearable, but still not ready for daily use.
Note: you need an up-to-date katepart in order to see completions now, due to the bugs I fixed in katepart today.
Initial implementation of ideal mode
Thanks to Roberto (mostly his code)
The only bug (as compared with missing features, of which there are many) I can see is that when you switch back to the Qt DockWidget user interface style, the docks don't yet tabify (even though I traced the code, and they are asked to...??)
Implement anchoring of tool views in ideal mode, and speed up the button bar layout which was slowing down resizing of the main window.
I never thought I'd see the day I understand layouting - but now I do :)
Using a custom layout is going to make the next part (resizing of tool views) much easier, and not require heaps of QSplitters :)
Implement dock widget resizing with a custom splitter handle.
Make dock widget anchoring behave like kdev3.
There is still a bug when you resize the bottom dock:
the layout is continually invalidated by QEvent::LayoutRequest events.
I spent an hour trying to figure out the source of this loop, but so far have failed. It only seems to happen on some of the dock widgets, so it must be related to the dock wigets' contents.
A big cookie to anyone who can figure it out :)
Educational
- Adding script to the repository that retrieves country data from the CIA factbook
Converting the Observing List tool to a Model/View framework. The code is a lot cleaner, and the poor performance seen in the previous implementation is much improved. Also added a wait cursor when updating the current count in the ObsListWizard.
TODO:
(1) implement sorting columns
(2) get resizing of the window to work. I've never been able to get this working properly; I'm going to try blogging about it.
Ok, sorting columns in the observing tool works now.
another TODO:
Make sure the TableView has "active" colors even when it doesn't have input focus, otherwise you can't see the selection at all. Might be another issue to ask the blogosphere about.
1) First stage of KEduca porting.
It will compile and open .edu files from the command line. But if you try to answer any questions, it will likely crash.keducabuilda is currently disabled.
I've decided to use IMS's QTI format (<a href="http://www.imsproject.org/question/">http://www.imsproject.org/question/</a>) for KEduca.
At this early stage of the library, it's possible to create a complete <assessmentItem> in code(supporting the features from to spec so that as of now, it's almost up to the standard of the KDE3 version)
Now different answers can be afforded different scores.
Graphics
- schema changes: - Remove wrong unique restrictions on Albums - rename filepath to identifier in DownloadHistory - add label to AlbumRoots The schema version 5 is not declared stable; no updating routine is added, please delete your digikam4.db
- some minor changes and bugfixes
support of blasa, evolution, sylpheed, claws mailers
Kipi-plugins from trunk (KDE4) : SendImages plugin port:
Huge improvement with mozilla/thunderbird emailer support about attachement files given on command line.
No need to check if an instance of mailer already exist in memory to use -remote option. If we use -compose with the right options form. This way simplify the source code considerably... Thanks to Mozilla.org wiki page to describe all catch command line options syntax.
I have tested with recent Thunderbird, Mozilla, and Netscape mailers. Please give me feedback if you occurs special errors with old versions. Thanks in advance...
Note Bug 148186 is closed because RAW attachement files is fixed now.
Add Edit functionality for Matrices. Includes both GUI and modification of DataObject.
digiKam from trunk (KDE4) : libkipi now provide a virtual method + a signal from Kipi::Interface to handle thumbs from kipi host.
Note than if Kipi host do not re-implement the virtual method, the default KDE Thumbs KIO slave will be used instead...
With this commits, digiKam give an acess to kipi-plugins to handle internal thumbnails cache used to render image.
The first plugin wich will use this mechanism is SendImages.
Valerio, you waiting this feature since a long time to use it in SLideShow plugin. It's time to port your plugin to KDE4 (:=)))
Angelo, patch for likipi can be ported to KDE3 (look my commit #735775). It's not very complex to do, but of course binary compatibilty will be broken.
Feel free to decide to port the code if you want this feature in KDE3 (:=)))
allow user to raise/lower objects in the z-order from javaScript
KDE Base
finish support of HTML 4.01's RULES attribute in TABLE
- add CSS style rules for rows/cols/groups/all
- replace previous logic with pure css.
* Due to popular request (well, someone told me that someone else wanted it), I added a pid column, hidden by default.
* Because the number of columns changed, saved heading data is no longer valid, so save a 'header data version number' in the config files, to keep track of that.
* Add a "Programs Only" option. This only shows processes that have a GUI, or are attached to a tty. This works better than I expected :)
Add support for user switching (as far as krunner supports it ;))
Want it to show day of the week in the date? There you go.
Add provider for comics from xkcd.com
Use a slightly translucent version of the palette's highlight color for the background. The appearance is now quite similar to Dolphin minus the fade in/out as the mouse moves from one item to another.
have not finished the implementation so here's just the interface for what is aimed to be a generalized LiveConnect API. To be used in e.g. KHTMLPart::processObjectRequest() like this:
ScriptingInterface *si = qobject_cast<ScriptingInterface*>(part);
if (si) {
si->initScripting(...);
}
* Make showing timezone and year configurable
* Be a bit smarter in layouting the date, timezone and time on the clock. It should behave nicely now when being resized 'from the outside'.
Default is plain clock, no additional information.
Make the logout fade effect activate also while playing logout sound and killing applications. A bit hackish way of triggering it.
Ok, the splash needs to cover the entire screen, no hacks in the effect trying to hide other windows. Fullscreen splash is a good idea anyway, it'll hide all the setting up of kdesktop+kicker ... er .. plasma.
Speaking of which, are there any plans concerning the splash, or are we sticking with the Akademy photo for 4.0?
new about page; konqueror update forthcoming; kcontrol just needs a new right-side image, but it seems that kdepim has its own about stuff so doesn't need porting/changing.
still waiting on a couple of fixed png's for the shadow around the central box, but you get the idea =)
thanks to Lee Olson for his great work; sorry we can't enjoy the full glory of your svg ... yet.
add a hardware database for audio playback and capture devices. This allows "hardcoding" the initial preference for specific devices and to give devices nicer names.
The latter is very important where Solid/HAL report the exact same name for multiple different devices where thenphonon-xine would discard all but one of them.
Feel free to add your devices here.
ensure that a parent menu is shown in the same position and with the same item selected when leaving a submenu. patch by Jason Stubbs (who needs to get an svn account ;)
not safe yet for multi-level jumps (or menu resets, it seems), but that isn't possible with the current UI anyways.
proper panel background painting; it works exactly like applet background painting. remaining issues:
- we need a proper svg =)
- panel size needs to reflect background borders
KDE-PIM
Start of the aggregated alarm view.
Properly handle multiple address book resources with the same name in the recipientspicker.
Patch by Sander van Grieken, thanks!
Office
Actions that have shortcuts only actually work if they are added to at least one widget on screen. So, to make things like "Ctrl-B" be 'Bold' even while there is no docker or menu option to do that attached to the main-window we add all the actions of a tool to the canvas.
Implement the spiral using the arcTo that was already in KoPathShape and remove the arcTo I introduced.
Implemented intelligent paste of pages.
o When copying a page and the master page of that page already exists the master page is not created, instead the existing master page is used.
o When copying a page and the master page of that page does not yet exists the master page of that page is also created.
o When copying a master page a copy of the page is always created.
added a simple path tool
Multimedia
Yey, libk3bdevice uses Solid. Untested!
Make album groups use the index of the track in the group isntead of the index in the complete playlist to determine if it should have the alternate track bacground. This makes the alternate tracks in each group independent of each other and looks a lot less confusing
Remove it.
Will use phonon
Make the active (playing) track marker look a bit better. It is now rendered from an svg element in the src/images/playlist_items.svg file, so any artists out there are free to experiment with this :-)
Adding hotplugging for OSS. This rarely triggers an assertion in Solid -
if it cannot be resolved, hotplugging might be removed in KDE4.0 KMix.
Networking Tools
Rewrite the identity status widget to use a more recognisable list widget containing the accounts, and a pushbutton to change display picture.
I had some problems with this as Kopete::Identity is only superficially integrated with the rest of libkopete, so it's not possible to know a new account's real identity at the usual Kopete::AccountManager::accountRegistered() signal. As a safe solution for 4.0 the identity status widget is hidden when this signal is received. After 4.0, Kopete::Identity will need to be properly integrated.
Still to do is to connect the widgets up to display photo changes in the config dialog and make sure display name changes are effective.
Simplify the avatar selector dialog a bit. A list of the changes:
- Use the listview in icon mode and hide the name of the avatar.
- Remove the signal avatarChanged (unused).
- Remove the "Contacts" tab.
- Remove the side preview of avatars.
Adds a much-requested a way for protocols to give a hint to Kopete which form a chat should take. This allows Kopete to give a chatwindow a size and members list visibility appropriate to the chat.
We've previously told users who requested this feature that it was not possible for consistency's sake, but I feel that this has handicapped our use of chatrooms/IRC in kopete. This solves this dilemma elegantly.
* Form is an attribute of Kopete::ChatSession
* 2 forms of chat: Small and Chatroom
* this affects the initial format of the chatwindow
* Small windows and Chatroom windows layout and members list visibility changes by the user are sticky and persisted independently
Additionally, the feature allows (optionally) a compact variant of the chat view style to be selected dependent on chat session form. This is implemented by munging the relative path to the variant css.
FunkyStyle.css -> _compact_FunkyStyle.css. The rationale for this is that a large style with avatars is not appropriate to a high traffic channel. This allows a compact variant to the main style, but that keeps has consistent theming, and works within the Adium chat spec
Notes on the patch:
* Everything defaults to the current Small behaviour! Even if applied as is, the patch is fail-safe!
* ...Except testbed, for testing and demonstration. This requests Chatroom style windows.
Patch reviewed by Duncan and Boiko
* don't show not yet implemented features in the config dialog
* port the search engine dialog from QDialog to KDialog
* show some icons on buttons in the search engine config dialog* filemirrors is not anymore, it's now called FindFiles.com. Use this search engine now.
User Interface
Utilities
Games
The 'Moon' theme for Ktuberling. Created by Michal (nick: Mkbart)
Optimization
KDE Base
Huge speedup with large lists of items
Only expand top level items... that's what we want anyway ;)
I can't believe this was so easy... took 30s from noticing the problem to the fix!
Other
Development Tools
Educational
Refactor the TODO file, and remove the 'planned' releases 0.5 and 0.6. Now the only release planned is for KDE 4.0 and 4.1
Break just about everything and have lots of regressions - yay :)
On the plus side: create ParleyDocument where document handling (open/save etc) is moved.
This makes the main class a little less bloated.
Start a first dock widget for word types (enable me)...
Make it crash and burn.
reduce minimum size for small devices
tested on the Classmate PC
KDE Base
Revert item delegate painting back to the normal highlighted item rendering, until I have a chance to borrow from the rendering used in Dolphin/Konqueror/the file open-save dialog.
Fix the problem reported on kde-usability where the highlighted text color was not used for the menu arrow indicator next to items.
Get rid of the arrow-{up,down,left,right} usage in KHTML by using the style arrows for drawing the mouse scroll indicator.
However, this still makes the indicator not appear -
I can see it shining through (occasional one-pixel shifts make it look like transparent glass) but it's not drawn with a visible color obviously. No idea which brush, composition mode or whatever is to blame for this.
Also, use two more appropriate icon names.
Turns out that Qt designer reads in all kind of cruft when loading the widget and happily saves this dynamically collected information.
Result: A blown-up UI file. Some widgets not working properly. Angry people pointing at sebas who broke the build for them.
Sorry everyone, I hope this fixes it.
Enable compositing by default on all Intel 900-series cards. Let's see what happens...
With the I/O performance of Linux sucking so badly, I somehow think it's perfectly fine if kbuildsycoca triggers only with 10 seconds delay.
The fileappearance kcontrol module is gone for now; we'll need a dolphin-based one in the future though
Set default toolbar font to 8 points instead of 10.
Yay for beauty.
* draw a (ok, pretty lame ;) contrast border around the edges of the kickoff window
* adjust the content margins on move to keep with fitts laws
Move KonqHistoryManager from libkonq to libkonquerorprivate as discussed with fredrik, so that he can modify it to use other konqueror code.
libkonq is not far from its goal: being only the lib for file management, shared between dolphin and konqueror.
Only permit selection of monospaced fonts
aseigo's first run over this code;
* don't use magic pixel values, use static const ints and it makes everything so easy to play with
* make the borders and icons much smaller
* allow dragging using any area that isn't the applet. really, we ought to be able to drag on the applet border as well, but ce la vis?
finally, SSL works again!
KDE-PIM
Remove the classical recipient editor. It was not ported or tested, and crashed.
Furthermore, it was lots of code in kmcomposewin, which is now gone.
The classical editor was only available by a hidden config option anyway.
Also, set the label text immediatley instead of in rethinkFields(). This fixes a small layout bug when showing the sent mail folder line.
Office
KPlato is not embeddable into other documents.
Multimedia
Networking Tools
the contactlist should have focus per default rather then the search-lineedit like at KDE3, right?!
Added a patch for a transfer-history, will be pushed in for 4.1
User Interface
Icon naming spec compliance, battery cleanup part 2.
Moving battery icons from actions to status:
* battery-discharging-000 -> battery-low
* battery-discharging-020 -> battery-caution
* battery-discharging-(040|060|080|100) -> battery-\1
* battery-charging-000 -> battery-charging-low
* battery-charging-020 -> battery-charging-caution
* battery-charging-(040|060|080|100) -> battery-charging-\1
battery-charging-100 is an intermediate solution and will probably be removed sometime, but you can keep using it in your code (although plain battery-charging is better).
This means that
1. we conform to the naming spec for battery icons, plus have a few additional but compatible ones.
2. if your battery daemon uses composite strings, like QString("battery") + charging_state + percentage and Pino didn't find those when grepping through KDE/, please drop me a note and let me look at the code so I can see how to best fix them.
3. KLaptopDaemon depends on battery icons with a #FFFFFF colored free space that is drawn blue according to the charging state. And that's a mess. Totally impossible to standardize on battery icons this way, somebody needs to fix that icon usage code.
Utilities
Other
get('rich') or die('patchin')