Issue 4
30th April 2006 by Danny AllenThis Week...
As the commit freeze was a bit lifted, I would like to announce that I'm going to tag KDE 3.5.3 on may 23th and to give the editors and translators some room to catch up with the changes I declare the KDE 3.5 branch frozen as of may 2nd (as in next tuesday).
This freeze will be active till I announce that the tagging is done.
Greetings, Stephan
Automated code quality checks continue to pay dividends in the form of a wealth of memory leak and potential crash fixes (see commits referencing Coverity ID, or CID, numbers). Dirk Mueller has been a big mover in this, with supporting efforts by Stephan Kulow, and though this work isn't highlighted in any statistics, all users will be able to feel the effect of this work in future releases. Although the main target for these fixes has been /trunk (KDE 4), the most serious and beneficial ones have been backported to the 3.5 branch. These events mean that the KDE 3.5.3 release in 23 days time will be one you won't want to miss.
Additionally there is some code in kdelibs which is closely associated to kdepim in kdelibs (kresources and kabc). That this code is in kdelibs, but other similar code like libkcal is not can only be understood by historical reasons.
To make things worse there is some code from other modules depending on kdepim (e.g. the kbugbuster kresource from the kdesdk module) violating the rule that modules shouldn't have other dependencies than kdelibs.
To resolve these problems I propose to create a new module "kdepimlibs" in SVN which contains the major libraries from kdepim and the kdepim-related libraries from kdelibs.
The new module would follow the same policies and release schedules as kdelibs, and other modules would be allowed to depend on it. So it basically would be a controlled extension and modularization of kdelibs to the pim space, but by being a separate module we would also have a clear boundary to deviate from the kdelibs policies or release schedules, if the need for this arises. At the moment I don't see such a need, though.
The module "kdepimlibs" would tentatively contain the following components:
- kresources (the generic resource framework (this will be superceded by Akonadi at some point in time))
- kabc (the KDE address book library)
- libkcal (the KDE calendar library) akonadiserver, libakonadi (the upcoming PIM Storage Service)
- libemailfunctions (the infamous attempt to create a shadow kdelibs under a most obscure name and by highly dubious motives ;-)
- parts of libkdepim (general kdepim functionality)
- libsyndication (feed handling library)
- libkmime (email messages handling)
- libkholidays (library for providing holiday information)
What do you think?
Another example where the impossibility or difficulty of intramodule dependencies are negatively affecting development is kde-edu.
By its nature this module has a wide range of application types, from educational games to tools for teachers. It has come up more than once that it would be of great help to be able to use kdegames libraries or be able to embed a KOffice part.
The KDE module structure encourages packagers to include the libraries in the same package as the binaries, which makes any of the above use cases a no-go for kde-edu (since depending on the whole kdegames with all its game data is out of question).
So it would be great if this could be solved on a wider scale, making it possible to have applications use more than just the core libraries. As it is now applications that are part of the KDE main modules have less possibilities than external applications or have to result to code duplication.
Statistics
Commits | 2789 by 200 developers, 6137 lines modified, 1241 new files |
Open Bugs | 12244 |
Open Wishes | 10726 |
Bugs Opened | 310 in the last 7 days |
Bugs Closed | 296 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/KDE |
765
|
/trunk/l10n |
560
|
/trunk/www |
314
|
/trunk/extragear |
253
|
/branches/work |
212
|
/branches/stable |
155
|
/trunk/koffice |
124
|
/trunk/playground |
119
|
/branches/KDE |
103
|
/branches/koffice |
72
|
Lines | Developer | Commits |
327
|
Laurent Montel |
159
|
322
|
Dirk Mueller |
154
|
270
|
Stephan Kulow |
121
|
12
|
Achim Bohnet |
106
|
91
|
Ihar Hrachyshka |
91
|
102
|
Andras Mantia |
83
|
102
|
Thiago Macieira |
69
|
207
|
Gilles Caulier |
61
|
162
|
Frans Englich |
51
|
97
|
Reinhold Kainhofer |
47
|
Internationalization (i18n) Status
Language | Percentage Complete |
Portuguese (pt) |
100%
|
Swedish (sv) |
99.99%
|
Danish (da) |
99.94%
|
Spanish (es) |
95.22%
|
Italian (it) |
94.41%
|
French (fr) |
94.28%
|
Dutch (nl) |
93.32%
|
Estonian (et) |
93.05%
|
Greek (el) |
92.97%
|
British English (en_GB) |
91.14%
|
Bug Killers and Buzz
Person | Bugs Closed |
Lex Hider |
61
|
Sebastian Trueg |
50
|
Luboš Luňák |
20
|
Thiago Macieira |
17
|
Alexandre Pereira de Oliveira |
16
|
Mark Kretschmann |
11
|
Jaison Lee |
9
|
Seb Ruiz |
8
|
Allan Sandfeld Jensen |
8
|
Maks Orlovich |
7
|
Program | Buzz |
amaroK |
2488
|
Kopete |
1132
|
K3B |
742
|
KMail |
686
|
Kate |
669
|
SuperKaramba |
591
|
Kontact |
511
|
KDevelop |
473
|
Kicker |
463
|
digiKam |
368
|
Person | Buzz |
zogje |
375
|
George Staikos |
343
|
riddell |
308
|
Stephan Kulow |
295
|
Aaron J. Seigo |
293
|
David Faure |
282
|
pipitas |
255
|
telex |
251
|
Zack Rusin |
250
|
wheels |
181
|
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 83 selections this week
Bug Fixes
Development Tools
Fix a case where the cpp parser suddenly ate all RAM when facing macro-heavy files. Magic patch by Przemyslaw Bruski. Thanks.
Graphics
digikam from trunk : image properties sidebar tabs : hide all Photograph Properties informations if no metadata are available from current image.
CCBUGS: 121367
KDE Base
Improve drawing of colour buttons by only filling inside the button, not
outside as well
fix column and row spanning, now the about dialog looks a bit better, although it still has layouting problems
KDE-PIM
Backport large parts of the online/offline support from 3.5, which makes
it possible to suspend and resume all network jobs via DCOP. KPilot will
use this to disable network traffic during a kolab resource sync, for example,
but the user can also use it to go offline on the road, and thus avoid error
messages due to interval mail checks. (Proko2 issue 1137).
I know const_cast<KCal::Incidence*>(this) is considered hip, but
as a matter of fact it's undefined behaviour and every compiler is
free to create crashing code
Office
* Make scaling in test app do scaling on selected objects only.
* Document the results in the KoGraphicBase :)
* Cleanup unused code in mainwindow.
* Fix layout and make texts HIG complient.
CSV Import
- simplify whitespace of text in cells (for preview only)
- fixed delimiter detecting
- priority in delimiter detection changed: now ";" has priority over ","
1.0/2.0: ported
Networking Tools
* Fix fallback to RPL_USERHOST for IP retrieval by server reply for servers
which do not include the user host in RPL_WELCOME. Fixes DCC on Freenode.
* Update changelog.
Ugly fix for Novell #165907, route the dcop information path via KNM to
kded networkstatus, instead of direct, as KNM knows if NM has no devices
to configure and is still saying DISCONNECTED.
Revert as soon as a libknetworkmanager (SOLID) is written, so kded can
make this decision locally.
Fixed 99.90 % stalled bug.
Big thanks to Nikolay on the KT forums for pointing out the cause of the bug.
BUG: 126293
Search engines are now properly updated in search tab when modified in preferences.
Utilities
Removed remaining code fractions that once limited the size of the
display. With this Bug 125410 should be fixed. But need to test a lot!
Features
Development Tools
-add a cmake based template for a Qt3 app, templates for KDE 3 apps and Qt 4 apps will follow, for KDE 4 apps it's a bit too early, since there will still be changes in the buildsystem
Alex
Why isn't the project opened after it has been created ? I.e. cmake is run and the makefiles are generated,
but when trying to compile still the previous project i compiled. Any< idea why ?
Alex
Use KTextEditor::SmartInterface to provide syntax highlighting based on
the c++ parser. Watch the names of classes (in the class definition)
get highlighted :) Much more to come.
Update the background parser code to use JobCollection, as QList<Job>
is now removed from the ThreadWeaver api.
Graphics
digikam from trunk : DMetadata new Minolta MRW RAW file parser :
- This MRW is based on Stephane Chauveau code and can give Exif metadata tags.
- digiKam can displaying all Photograph informations from MRW, including Exif.
- Makernotes can be handle but not yet displayed into digikam metadata interface because Exiv2 library do not support yet private Minolta tags.
- In the future, this parser will be ported to Exiv2 library.
A screenshot : http://digikam3rdparty.free.fr/Screenshots/MRW_RAW_file_metadata_parser.png
: 96459
KDE Base
Commiting full CSS layout (hope that works:-))
added extraction method to Kat::FileSystemMiner
KDE-PIM
Office
* Add KoGraphicBaseContainer object which allows grouping
Short short version is that this thing has various options which I had wished
quite often to have in KWord over the last years. So here is a simple but powerful
implementation for grouping created in such a way that its quite extendable.
Read apidox for more.
* Add Print action
* Add several test implementations and options in the test app for testing purposes.
- make pdf output work
Activate scripting into kspread
Add undo/redo initial framework.
Undo (and redo) of moving works.
I feel uncomfortable about messing with tools since they are not very finished yet,
so I added the KCommandHistory member in 'dummy' But I'm pretty sure thats not
a final solution.
I added kcommand as a stripped version of the KDELibs one to avoid depending on that for now.
This commit converts the internal format of KoShape to not be pixel based anymore, but to
be based on postscript-points. This means that a 50pt wide box will now have the same
width on screen for everybody (1.76 cm).
* created a temporary lib called 'externals' to include stuff for building convenience.
moved kcommand to that library.
* Imported KoZoomHandler, for the *Test* application; flake does not depend on it!
* Created KoViewConverter which is a very simple interface representing a subset of
what KoZoomHandler can provide.
* Adjusted all paint methods to correctly use this KoViewConverter class.
Multimedia
Rip your CDs with amaroK! Drag audio CD "tracks" from the audiocd:/ kioslave to the collectionbrowser and watch 'em import like any
other file :-)
Tweak next track behaviour of repeat album mode:
If a track is at the end of the playlist and there are others from the album, enable skip.
If there is just one track from an album, treat it like repeat track mode.
Do something useful with xine.
Fill in the known mimetypes
Hooray, total and complete transferral of my/postresql passwords for 1.4-beta and svn users!
Use KLocale for writing the precision of doubles. Lukas, is this the correct usage?
Added Audio CD support to the gst10 engine.
Still TODO are cddb lookups and to allow the user to configure the default device (currently just uses the gstreamer default), since the xine engine does this.
Hide the lock/unlock actions from the user. I don't think anyone really used them.
Networking Tools
Patch by Michael Biebl <biebl@teco.edu>: Add item "Configure Notifications" to the options menu
Added proper handling of "Show video" in testbed protocol. It currently just make the protocol go offline but it's intended to open multiple video windows soon.
Search engines can be updated from internet now.
Changed annoying green share ratio color to less annoying green one.
GUI
Utilities
o New class of RSIStatItems introduced: items which keeps track of the user's usage. A global array keeps track of every second of usage or idleness in the last 24h. The new class is able to record parts of this array to calculate the percentage of usage in the last minute, hour or day (whatever interval <24h). At the moment only the activity of the last minute is added, as proof of concept. It should be possible to query more kinds of intervals.
o The statistic mapping uses pointers instead of direct instances of statistic items.
o One more krazy report fixed.
FEATURE
Optimization
KDE Base
kdelibs part of startup reorder, first of the allowed 3.5.x features.
(http://lists.kde.org/?l=kde-core-devel&m=114502945908434&w=2)
To sum it up: Faster startup, both real and especially perceived,
and some minor bugs fixed as a side effect.
Approved by Dirk.
Special message for commit-digest: Hello :)
kdebase part of startup reorder, first of the allowed 3.5.x features.
(http://lists.kde.org/?l=kde-core-devel&m=114502945908434&w=2)
To sum it up: Faster startup, both real and especially perceived,
and some minor bugs fixed as a side effect.
Approved by Dirk.
Make the splash go away before restoring session, the desktop
is already usable by that time. Part of startup reorder,
first of the allowed 3.5.x features.
(http://lists.kde.org/?l=kde-core-devel&m=114502945908434&w=2)
Approved by Dirk.
WX11BypassWM, no need to have such special short-lived windows
managed by KWin.
Office
Networking Tools
This should improve a bit Kopete startup speed when statistics
plugin is on : the disk-consuming functions are now called into
a slot with QTimer::singleShot.
Other
Development Tools
Trying to make it work:
- install data files
- correct some signal connections (adapt to the new KDevelop API)
- use contains instead of find for QHash/QList
- use KJob instead of KIO::Job (yes, we require kdelibs trunk)
- rewrite the iteration loops to use while and not for (the for loop is wrong)
Now it starts, loads the document and parses.
KDE Base
Port KWallet to D-Bus
uncompileable for one month and noone notices? -> go away
sometimes I forget what I still have to do - better write it down
KDE-PIM
Not needed here but prevents compilation on Mac OS.
compile on Mac OS.
Port to libsyndication.
This removes the dependency of kaddressbook to akregator.
Replace the old-style QGridLayout and Q[HV]BoxLayout constructors (which contain margin, spacing, name, and possibly the # of rows and cols) with the Qt4 constructors, where one then calls setMargin, setSpacing, and setObjectName. The nr of rows and columns is no longer needed.
I used my kdesdk/scripts/qt4/convert-qgridlayout.pl and kdesdk/scripts/qt4/convert-qboxlayout.pl scripts for this. Apart from one instance (where the params were commented out), no manual intervention was needed and everything worked like a charm...
What still needs to be done is to replace all Q*Layout(QLayout*parent) constructors by Q*Layout(); parent->insertLayout(..); calls. This can't be automated since it's impossible to detect whether the parent object is a QWidget* or a QLayout*. At best one can parst the compiler warning and just replace in those lines that through a deprecated warning...
compile on Mac OS
moved into playground/pim, per Helge Deller.
Compile on non-X11 systems.
multisynk and kandy are no longer part of the kdepim module.
Office
Add first cmake support for ruby kross bindings
It's a modified version from cmake-2.4.0 FindRuby
Perhaps we can merge it for cmake-2.4.1
Multimedia
check for NMM (sorry, don't know how to check for the right version) and use
that to compile phonon-nmm with cmake
Networking Tools
Port ICQ edit account widget to designer4.
Port AIM edit account widget to designer4.
Ported the edit account widgets of gadu, winpopup, jabber, testbed to use designer4.
gadu and testbed compile.
I realized a bit too late that winpoup and jabber do not.
I'm still committing this as it should be trivial to get the ui stuff running once
all the rest of jabber / winpopup is compiling.