24th September 2006by Danny Allen
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!
|Commits||2456 by 216 developers, 4903 lines modified, 1154 new files|
|Bugs Opened||298 in the last 7 days|
|Bugs Closed||272 in the last 7 days|
|Nuno Fernades Pinheiro||
|Cyrille Berger Skott||
Internationalization (i18n) Status
Bug Killers and Buzz
|Alexandre Pereira de Oliveira||
|Aaron J. Seigo||
There are 61 selections this week
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)
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.
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.
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.
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.
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.
+ 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?
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)
More use of "mostLocalURL" to be able to edit icons and names with the properties dialog when using system:/ urls.
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.
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.
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.
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:
Cache background images as PNG for cases when that brings performance improvements (especially with SVG wallpapers).
Approved by Dirk.
Fixed gargantuan memory leak with SVG wallpapers.
Turns out KSVGIconEngine::image() returns a `new QImage'.
re-import of the totally rewritten kturtle code...
read about what changed here:
if you have any questions feel free to contect me: cies at kde dot nl
it feels good to be back in kde trunk.
kprocess and krun already have it, so why not a third implementation of shell quoting? :)
- 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 :))
We've decided that fadeout on pause isn't very useful, so I'm removing it. Fadeout on stop stays.