Issue 25
24th September 2006 by Danny AllenThis Week...
we've seen examples of gapless playing of video in 10 lines of code or so, how voip stacks are coming together, hardware information handling, advanced desktop groupware data management, usability engineering process and progress, khtml status ... wow. i haven't seen this much progress in kde in a while. it's like sweeping the dirt off the remains of a bonfire to find it still blazing along.
the frameworks that are coming along are pretty mindblowing. just as kparts brought us things like 10 lines of code to a web browser, these frameworks are opening up the same kind of flexibility and power for other desktop services: media, hardware, desktop widgets and control, voip, messaging, calendaring ...
khtml is going to be killer post-unforking. between safari, nokia, omni, konqueror it looks possible to hit 10% market share for khtml. the feature wins for plugins, svg and more are extremely tantalizing as well. lots of work left on the "unmergification" but it's progressing very well (it renders pages using Qt4 nicely) and generally looks very promising both technically and strategically.
something like kde4 takes a while to get going, but it's finally starting to emerge. that said, there are a ton of items to be taken care of. i was struck during the talks as everyone listed their to-do lists and noted that they could use more developer help to make things progress faster that we ought to collate all these items on the web and start pointing people to it. something to coordinate this evening and tomorrow methinks.
the asia track was also very enlightening. we've got a great foothold in cambodia with the kde localization in that country going amazingly well as well as in india with our 10 month old regional group there. having developers from korea, india, china and cambodia here is helping us all understand the cultural issues as well as the technical. some of the work they are doing is amazing; there are terrific pools of talent and energy that we are only starting to discover when it comes to free software in these areas of the world.
For example, some of the things I have touched in the last 4 years include: the email display in KMail, the IRC display in Konversation, some widget styles (specially the dot-net style), KWord HTML export filters, the KDE standard action icons, and more. There are also some circumstances in which the layout system reverses the widgets on RTL desktops where it should not - Play/Pause/Stop buttons in media players, time control widgets, etc. I have addressed these issues in most KDE 3 applications. If you are a KDE developer, you have probably talked to me at least once ;-)
KDE has proven in to me in the 4 years I have been involved that, not only that RTL desktops can be a reality, but that in most cases it's a trivial thing due to the support the cool API's provided to us by Trolltech. I would like to thank all the KDE developers who tested their applications with the "--reverse" command-line parameters - this really helps us pinpoint l10n issues - and I would like to especially thank the Konversation team for the patience they have had in the last few weeks with me while I was helping them implement Bi-directional Text (BIDI) support.
Here a small list of highlights from the Changelog:
- the code syntax has changed, which means that old kturtle programs may not run (after many emails arguing that KTurtle cannot claim to be Logo-compatible, I dropped the affiliation)
- a lot of interpreter code is now generated, this makes it much easier to add new commands
- KTurtle has moved from QCanvas to QGraphicsView (Though I do have 2 irritating bugs with it now which remain to be fixed)
- Also, KTurtle has moved from KatePart to QTextEdit, the highlighter right now re-uses the interpreter's tokenizer class to highlight!
All bugs should find their way into bugs.kde.org (make sure to supply the KTurtle component that caused the bug, if any), and if you are interested into some discussions on KTurtle I invite you to the new KTurtle google group!
Statistics
Commits | 2456 by 216 developers, 4903 lines modified, 1154 new files |
Open Bugs | 12924 |
Open Wishes | 11574 |
Bugs Opened | 298 in the last 7 days |
Bugs Closed | 272 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/KDE |
435
|
/trunk/www |
346
|
/branches/stable |
337
|
/trunk/l10n |
306
|
/trunk/playground |
265
|
/trunk/extragear |
241
|
/branches/KDE |
129
|
/branches/work |
123
|
/trunk/koffice |
108
|
/trunk/kdereview |
41
|
Lines | Developer | Commits |
293
|
Laurent Montel |
130
|
157
|
Gilles Caulier |
73
|
144
|
Thomas Nagy |
70
|
71
|
Thomas Häber |
64
|
129
|
Dirk Mueller |
51
|
41
|
Nuno Fernades Pinheiro |
41
|
134
|
Pino Toscano |
35
|
93
|
Andreas Kling |
31
|
31
|
Timo Hoenig |
31
|
58
|
Cyrille Berger Skott |
27
|
Internationalization (i18n) Status
Language | Percentage Complete |
Portuguese (pt) |
99.97%
|
Swedish (sv) |
98.88%
|
Danish (da) |
98.82%
|
Spanish (es) |
97.28%
|
Dutch (nl) |
96.75%
|
Greek (el) |
93.82%
|
Estonian (et) |
93.67%
|
Italian (it) |
93.54%
|
French (fr) |
93.05%
|
German (de) |
92.22%
|
Bug Killers and Buzz
Person | Bugs Closed |
Philip Rodrigues |
49
|
Christoph Burger-Scheidlin |
39
|
Alexandre Pereira de Oliveira |
19
|
Mark Kretschmann |
18
|
Andreas Kling |
17
|
Tommi Tervo |
14
|
Stephan Kulow |
12
|
Sebastian Trueg |
10
|
Seb Ruiz |
8
|
Maks Orlovich |
8
|
Program | Buzz |
Amarok |
3568
|
KDevelop |
704
|
Kopete |
700
|
K3B |
693
|
SuperKaramba |
689
|
KMail |
689
|
Kate |
687
|
Kontact |
687
|
Kicker |
567
|
digiKam |
489
|
Person | Buzz |
David Faure |
298
|
zogje |
273
|
pipitas |
255
|
telex |
252
|
wheels |
245
|
George Staikos |
245
|
boud |
235
|
riddell |
227
|
Anne-Marie Mahfouf |
218
|
Aaron J. Seigo |
217
|
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 61 selections this week
Bug Fixes
Development Tools
only allow one daemon per IP. This missing fix is probably going to bite is forward and backward in Dublin.
Graphics
This makes expressions work in the zoom stack as expected, and even to an extent across the plot dialog. It's a bit strange to have undo work across the dialog and in the main view, but after playing with it, I can see why it feels more intuitive.
Provide the UDS_LOCAL_PATH entry.
Now the KDE replace file dialog will no longer think digikamalbums:/ is a remote file.
Make KPDF a bit more friendly for users of RtL languages:
- correctly place the message pane (top-left corner of page view for LtR, top-right for RtL)
- make the mini-progressbar fully usable for both the writing directions
- use the right icons for the previous/next page button (those near the page counter)
KDE Base
Not necessary to add spellchecking/tab action when textedit is read only
Fix tab captions when 'set tab to match window title' option is off.
Tidy up warning dialog shown when exiting with multiple tabs open. Changed some default settings. Ugly frame defaults to off - will probably remove altogether in future.
XonXoff flow control defaults to enabled now that a warning banner has been put in place for when it is activated. 'set tab to match window title' option defaults to enabled.
KDE-PIM
Fixed handling if the KFileDialog is canceled by the user and added some more checks if the user cancel the import to get a better interactivity and a faster stop of import.
Features
Development Tools
Add some meta-programming capabilities to the code-completion and navigation-system. It is now able to successfully find template-class-specializations. Right now it understands specialization by type and pointer-depth.
Yet missing:
specialization by numeric constants, enums and constant expressions(will need some constant numeric expression-parsing), and specialization by const and reference(those are easy). Most generic trait-classes from STL work now, so for example STL-iterators work perfectly.
Educational
KStars FITS Viewer tool is now working. It features a simpler interface, and uses the powerfull CFITSIO which made life easier as well. I removed the brightness/contrast tool since it was pretty slow and it can be accomplished using the histgoram at any rate, which is much more powerful than any bri/con controls.
This pretty much sums the last _major_ porting effort to KDE4 for the tools I've maintained. Looking forward to improving the codebase now.
First commit of a simplified calculator module: the Sidereal time module. The major change is that there's no "Compute" or "Clear" buttons anymore; changing any of the data fields automatically updates the output data field. In the case of this module, you can actually modify either the Local time or Sidereal time, and it will adjust the other one to match.
Other changes:
+ using Local time instead of UT (it was always Local sidereal time, so it makes more sense to use LT).
+ Instead of entering a longitude, the user specifies a geographic location from our database.
TODO: I haven't modified the Batch mode yet; I will probably change the
Interactive modes first, then tackle the Batch modes.
Is anyone interested in helping to simplify the remaining calculator modules?
Graphics
* Add support for TableOfContents
* Add basic table rendering
Allow to configure date Allow to configure date & time format.
Choice is Standard (previous default), Iso, User readable, Local settings, Advanced.
Advanced allows to specify the format in QDateTime syntax.
An initial commit of pixmap rendering. This is very ugly code,
but it does work a bit (well, except for the font loading:
<a href="http://www.trolltech.com/developer/task-tracker/index_html?method=entry&id=130976">http://www.trolltech.com/developer/task-tracker/index_html?method=entry&id=130976</a> is a bad problem)
KDE Base
Make it possible to explicitly force 96DPI or 120DPI.
Apparently there are enough people who for some strange reason think that using the real DPI is a bug.
Approved by Coolo.
start xml indexer
give the user the choice the choice for saving python files: inserting an encoding line, canceling saving or ignoring encoding line problems and save anyway
Make 1.2+3.4 work in minicli, using bc, based on patch/idea by Konrad Miller.
It has annoyed me a few times that only integers worked due to using $(()) indeed.
implement hideALl and unhideAll
viewport support, needed for handling compiz as a window manager
Compiz support for the minipager. Its still buggy, but I better commit it now to coordinate and not loose it again when I again accidentally format my hard disk.
Hopefully Timothee's work can be integrated here.
adding a mount function to the fstab backend that can be used without hal
More use of "mostLocalURL" to be able to edit icons and names with the properties dialog when using system:/ urls.
KDE-PIM
Transaction support and a more or less complete rewrite of the notification handling:
- Add methods to begin, abort and commit a transaction to DataStore.
- Add a QMutexLocker-like class for convenient transaction handling which aborts the current transaction when going out of scope.
- Use transactions for most commands that change the database, they are atomic now, ie. either succeed completely or don't change anything at all.
- Collect notifications during a transaction and emit them only if the transaction has been successfully committed.
- Add notifications for item and collection changes.
- Remove server-side notification filtering, it's not really needed since every item will be monitored at least twice anyway (by its resource and a search provider).
- Include resource and mimetype in the notification signals, allowing filtering by resource and by mimetype on the client side. This will be needed by resources and search providers.
Office
New feature
When no more text fits in a frame we can create a new frame.and place that on the next page. Creating the page if needed.
We also take into account the 'only on even/odd pages' setting on where the new frame should end up, skipping a page if needed.
Implement copying of frames on page creation.
Remove the verious special painters -- Qt4 can paint on opengl widgets now with impunity. Todo: fix the repaint of the tool's temporary things, like rubber bands. That'll probably happen with the rest of the canvas refactoring toward KoCanvasBase.
Initial commit for an OpenGL implementation of drawCubicBezier()
Multimedia
Made purchase button work when a track is selected. Added purchase album option to right click menu for tracks
Networking Tools
this new code will detect the direction of the message not by the first strong char, but by the most RTL chars on the line.
i also take care of message in which you first address a person (LTR string) at the beginning of the line. IMHO some more work should be put on the direction detection, but that's good enough for now.
see this image to get an idea of how it works now:
<a href="/issues/2006-09-24/files/koversationbidibug3rm8.jpg">http://img238.imageshack.us/my.php?image=koversationbidibug3rm8.jpg</a>
User Interface
New icon version
New Icon mostly done by Bruce Lee
Games
Optimization
KDE Base
Cache background images as PNG for cases when that brings performance improvements (especially with SVG wallpapers).
(<a href="http://lists.kde.org/?l=kde-core-devel&m=114502950321763&w=2">http://lists.kde.org/?l=kde-core-devel&m=114502950321763&w=2</a>)
Approved by Dirk.
Fixed gargantuan memory leak with SVG wallpapers.
Turns out KSVGIconEngine::image() returns a `new QImage'.
Don't use Container. Speeds it up by a small amount (5% or so)
Speed up ad filtering a bit by using const iterators.
Other
Educational
re-import of the totally rewritten kturtle code...
read about what changed here:
<a href="http://websvn.kde.org/trunk/KDE/kdeedu/kturtle/KDE3_TO_KDE4_CHANGELOG?view=auto">http://websvn.kde.org/trunk/KDE/kdeedu/kturtle/KDE3_TO_KDE4_CHANGELOG?view=auto</a>
if you have any questions feel free to contect me: cies at kde dot nl
it feels good to be back in kde trunk.
KDE Base
two working examples to show gapless playback and a simple VideoPlayer usage
Start to write up some ideas about indentation.
We should collect our ideas and thoughts of other people from other editors here first to come up with some good solution at aKademy ;)
Proper indentation should really be a one of the key feature for KDE 4's KatePart.
It seems Xorg 7.x switches to the more memory efficient DirectColor visual by default. Too bad that Qt isn't prepared for that, so it overruns various buffers and crashes in at least half a dozen places. So enforce the old TrueColor visual.
kprocess and krun already have it, so why not a third implementation of shell quoting? :)
no, seriously:
- this is the proper place, even if it comes handy at the other two locations
- the krun variant is not much loved, as it changes the argument in-place
- the kprocess variant will vanish RSN for reasons not explained herein :)
- this one is by far the coolest (and slowest ...) implementation of all :))
Office
Get rid of toolbars -- they are _so_ old-fashioned.
Multimedia
We've decided that fadeout on pause isn't very useful, so I'm removing it. Fadeout on stop stays.