|
A Sonnet-based spellcheck runner, and icons on the desktop in Plasma. Continued work revamping KBugBuster, more work towards KDevelop 4. GetHotNewStuff support for downloading maps in Marble. Image and audio dockers in Parley. The start of Glimpse, a new scanning application based on libksane. The beginnings of a generic resource display framework for NEPOMUK. Various work in KHTML. Music Service configuration work, and the integration of last.fm code in Amarok 2.0. Printing work in KOffice. A Sybase database driver for Kexi, panorama work in Krita, and ODF work in KChart. Kompare becomes usable for KDE 4.0, and gets a new maintainer. The confusingly-named game KWin4 is renamed KFourInLine. Trolltech-supported Phonon backends for all major platforms (Quicktime 7, DirectShow 9 and GStreamer) are imported to KDE SVN.
|
Dmitry Suzdalev discusses his recent work on revamping KBugBuster:
|
I have had ideas about hacking on KBugBuster floating around for quite some time. I just didn't know when I have the time to put my hands on it.
Recently, I found the time.
At first, I just wanted to bring it into shape, with possibly some code restructuring and adding some features that will naturally emerge.
All my previous contacts with existing KDE apps (which were written by someone else) - namely KAtomic, KLines, KMines, KReversi - ended up being a major rewrite. I thought that I could do differently with KBugBuster.
Unfortunately, this wasn't the case! After two days of hacking I suddenly realised that I was dissatisfied with the existing API and code (to such a degree that I ended up with so much "restructuring" that I put a lot of "TODO - remove this, do another way" comments in the code. So I just started from the beginning. I didn’t throw away any old code, it has been kept for reference.
And this rewrite has had a great influence on my KDE/Qt learning curve - I started to learn the Qt model/view framework, and I learned how to use KIO (never tried it in action before - kudos to the developers, KIO rocks!).
My nearest goal is to make it generally work, which means introducing a basic GUI which permits the user to:- Work with bugs on several servers: I started to develop a so-called "sidebar", which is a tree view containing a server list. Each server can have child items which can have arbitrary Bugzilla queries attached to them (similar to the "saved queries" feature of Bugzilla).
- Work with bugs: change their status, add comments, attachments, etc. - the usual Bugzilla activities.
Currently, the sidebar server tree is actually working. KBugBuster is able to fetch the product list from the server quite nicely, and I've attached an "Open Bugs" query item for each product, so that it is also able to fetch an open bug list for a selected product. "Open Bugs" is just an example query - any arbitrary one can be introducted.
Bug parsing works to some extent - I introduced a simple API for this, but didn't yet write the needed extraction routines, so it extracts only the bug ID and a short description (which is enough for me to do testing at the moment).
What doesn't work (and which I plan to address in the near future):- What I termed as "work with bugs" above.
No comments viewing, adding, modification, etc. has yet been started. - Bugzilla login.
Currently KBugBuster can perform only those operations that don't require the user to be logged in. I need to learn some KHTML & cookies wisdom to implement this I guess. As for the future plans, I'm thinking of the following:- Make the user interface nicer and more robust
- Make the bug parsing process asynchronous
- Introduce some kind of bug caching, perhaps partial sync with Bugzilla to allow offline work and queuing actions on bugs
- Matt Rogers suggested to make KBugBuster a KPart - might be useful for embedding (e.g. in KDevelop)
Perhaps some words about the design. Following with the pattern in the old code, I came up with two sets of classes - the backend ones and the GUI ones:- Backend classes are responsible for talking with Bugzilla servers, managing them, querying for bugs, processing received XML and so on.
- GUI classes are... well, they are GUI classes - they communicate with backend classes, ask them for info and display it upon retrieval.
Currently both backend and GUI stuff is linked together as one executable - but I am thinking about putting the backend classes into a separate library.
And now it is time for... yes, screenshots! Since everybody loves them... But be prepared - nothing outstanding :) Treeview and listview. Servers here, bugz there. Very simple so far. Actually, I'd say that the code is prettier than the screenshots!
|
|
Carsten Niehaus writes a short update on the state of Kalzium (and Avogadro integration):
|
Kalzium will start to use Avogadro with KDE 4.0 in order to offer a 3D Molecular viewer (as reported before). In early 2008, Avogadro will release a new version (see debate) so that Kalzium will be able to make full use of it with KDE 4.1.
Not only did Avogadro add many spectecular features since the Google Summer of Code, but OpenBabel also gained new features (such as those demonstrated in the following video):
OpenBabel 2.2 will be able to use so-called force fields to calculate molecule-molecule interactions. Here you can see how Hydrogen bonds behave. This is all real time. The capturing process makes it look quite slow, it is really much faster than it appears!
|
|
With the import of Phonon backends for all major platforms into the KDE code repository this week, an interesting experiment in developer community relations has begun - not quite the dawn of a new era, but interesting nethertheless. This furthers not only the noted, mutual relationship between the KDE project and Trolltech (the commercial company behind Qt, the libraries that KDE is based upon) - a relationship which has only been growing stronger throughout the history of the KDE project - but also highlights more recent trends of adoption by Trolltech of significant external projects (Phonon and WebKit being the two most prominent examples). If managed properly, this relationship will continue to be only beneficial to the interests of the KDE project.
|
This week, the bug fixing binge ramps up, with large contributions from new bug fixers - Thomas Friedrichsmeier extends his two-weekly total to 100, whilst four other people make their debut on the weekly top 20 bug killers list. Tom Albers continues to pro-actively contact KDE contributors with significant portions of code in KDE SVN to get permission for the code relicensing effort.
|
|
|
Jason Harris committed changes in /trunk/KDE/kdeedu/kstars/kstars:
|
It's amazing how long it can take to notice terrible design.
fromScreen() is supposed to convert a position given in pixel coordinates to sky coordinates ( (RA,Dec) or (Az,Alt) ). Somehow, all this time, it's been taking dX, dY arguments, which are the *angular* offset from the focus position, in radians. In other words, before calling fromScreen(), you first had to do half the work of conversion! Wow.
Anyway, it's fixed now. fromScreen() now takes a QPointF: the screen position to be converted.
Also fixed bizarre behavior of Equirectangular projection.
Still to do: get all parts of the sky to be drawn in that projection system |
|
|
|
|
|