Issue 37
17th December 2006 by Danny AllenThis Week...
I would like everyone today that this is the last day before the KDE 3.5.6 documentation, message and feature freeze. The tagging of that release happens January 15th, 2007 - till then only bugfixing and translating is permitted.
Thanks, Stephan
They have undertaken performance analysis using Valgrind/CallGrind and KCacheGrind. It basically confirmed their suspicions about some underlying architectural issues in Umbrello. The main culprit being the Undo/Redo code.
They sent their conclusions to the uml-devel mailing list.
It immediately led to taking action toward fixing this. Thibault Normand created a branch (branches/work/isi-umbrello) and is leading the effort for refactoring Undo/Redo support in Umbrello. They're moving to the QUndo framework available in Qt 4.2. This branch is still a bit rough at the edges but improving.
As for the KPlato student team there's nothing really visible right now, but I've been told they're looking closely to the kplato component in bugzilla. In parallel, they're also making a list of "must have" features for KPlato. With a strong priority-ordered list, we can expect to see some code soon.
Note that they're packed with exams next week, so it'll probably be a bit quieter. Wish them good luck!
The viewbar consists of a slider to set the zoom level. Next to the slider is a text label that displays the zoom value percentage. Clicking on the label turns it into a text edit, in which the user can type in any value they wish. There are also several icon buttons (in Oxygen style!) that access special zoom modes: 'Actual Pixels', 'Fit to Width' and 'Fit to Page'. These additional actions can be specified by per application - for example, within KOffice, Krita is the sole application using the 'Actual Pixels' mode.
It is implemented as an action which also provides a menu entry. We hope that the rest of KDE finds it useful - in which case we would be glad to move it to kdelibs.
Statistics
Commits | 2344 by 205 developers, 4985 lines modified, 1067 new files |
Open Bugs | 13030 |
Open Wishes | 12074 |
Bugs Opened | 231 in the last 7 days |
Bugs Closed | 262 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/l10n |
520
|
/branches/stable |
392
|
/trunk/KDE |
344
|
/trunk/extragear |
241
|
/trunk/koffice |
206
|
/trunk/playground |
181
|
/branches/KDE |
159
|
/branches/work |
112
|
/trunk/www |
74
|
/branches/kdevelop |
48
|
Lines | Developer | Commits |
184
|
Youssef Chahibi |
184
|
213
|
Laurent Montel |
94
|
106
|
Gilles Caulier |
67
|
410
|
Allen Winter |
43
|
43
|
Jos van den Oever |
43
|
80
|
Pino Toscano |
40
|
39
|
Burkhard Lück |
36
|
35
|
Adriaan de Groot |
35
|
174
|
Clarence Dang |
34
|
90
|
Sebastian Trueg |
33
|
Internationalization (i18n) Status
Language | Percentage Complete |
Danish (da) |
99.97%
|
Portuguese (pt) |
99.83%
|
Swedish (sv) |
99.78%
|
Spanish (es) |
97.52%
|
Dutch (nl) |
97.15%
|
Greek (el) |
95.64%
|
Estonian (et) |
95.58%
|
German (de) |
94.66%
|
Italian (it) |
94%
|
French (fr) |
92.74%
|
Bug Killers and Buzz
Person | Bugs Closed |
Alexander Dymo |
32
|
Jens Dagerbo |
29
|
Gilles Caulier |
29
|
Sebastian Trueg |
22
|
Philip Rodrigues |
20
|
Bram Schoenmakers |
20
|
Andreas Pakulat |
17
|
Michaël Larouche |
14
|
Mark Kretschmann |
10
|
Erik Hovland |
8
|
Program | Buzz |
Amarok |
4310
|
Kate |
2610
|
K3B |
2500
|
KMail |
2415
|
KDevelop |
2410
|
Kopete |
2378
|
Kat |
2110
|
Kaffeine |
1406
|
Kontact |
1376
|
Kicker |
1308
|
Person | Buzz |
David Faure |
912
|
Adriaan de Groot |
771
|
Stephan Kulow |
744
|
Zack Rusin |
642
|
Waldo Bastian |
512
|
Aaron J. Seigo |
330
|
George Staikos |
330
|
Boudewijn Rempt |
306
|
Stephan Binner |
252
|
Thomas Zander |
244
|
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 88 selections this week
Bug Fixes
Development Tools
Sometimes it takes 2.5 years to write two lines of code :)
Make finish button default at the last page of app wizard.
Graphics
Ohh my, what a dilema: Three kind translators has pointed out typos in the code. If I dont fix them they will fell that I dont listen, if I do fix them I will break the message freeze.
Sorry I chose the later option.
KDE Base
Change the "Use antialiasing" checkbox to tristate, defaulting to nochange that doesn't write out any fontconfig changes. Some distros have rather complex setup for fonts and changing anything in the fonts module overrode those settings. Since the default doesn't write out any changes, already made user changes are also preserved.
BTW, Helio, you have not forwardported any of those "Setting module to use system defaults" commits, have you?
KDE-PIM
Fix bug nr 1 of the most hated list (although i seem to be the only voter). If you have multiple tabs open and in each tab a message from a different mailbox, changing tabs crashes Mailody as the pointer to the message data has been lost because of the mailbox switch.
This fix prevent the original pointer to be deleted when it is in use by the view. When the view is done with it, it will be deleted.
Office
Fix Greek symbols psi and omega.
Multimedia
Improved cover images handling for Various Artists. Patch by Tobias Knieper.
This patch changes the behavior of storing covers of compilations fetched from
amazon. the covers are now hashed by an empty artist (as they were already looked up by findAmazonImage()). This patch does not affect the lookup of directory covers.
Adds a timeout to a dcop client call(). This helps amarok recover if kded is fubar'ed.
This closes a potential race condition when recursing directories.
The code was written to operate on a directory path string. This means that potential exploits could leverage that to gain advantage.
This change opendir's the path early on and attempts to use a file descriptor instead.
There is no known way to leverage this race condition so the commit should be uncontroversial.
Networking Tools
Improve error handling in MSN plugin to use notifications instead of
messages box.
To do this I needed to introduce 1 new string(and I could introduce more but I stepped out) and do BIC changes in Kopete::Utils.
Reload tray icons when the icon theme changes at runtime.
Utilities
Fixing a unicode bug
Fixing infinite theme reloading when a theme is changed
Games
Fix two shortcuts using Ctrl+N, new round is Ctrl+R now
Other
Fix 58 test cases by binding range variables when evaluating to a sequence receiver.
Features
Development Tools
+ cmd_create_activitydiag
+ cmd_create_collaborationdiag
+ cmd_create_componentdiag
+ cmd_create_deploydiag
+ cmd_create_entityrelationdiag
+ cmd_create_seqdiag
+ cmd_create_statediag
+ cmd_create_usecasediag
# Setup the CMakeLists.txt to compile the new cmds
# Moving cmd_create_class in a folder representing the object affected by the action
# [umldoc|umllistview] createDiagram, in order to return the newly created view.
Educational
Graphics
Now slideshow interval can be set below 1000 ms (min 100 ms).
Add hidden configuration option "Open Images in the Same Window" which, when enabled, forces "File / New", "File / Open ..." and "File / Open Recent" to never open a new window.
Given that it violates the KDE UI standards, I don't think it should have a user-visible config option - do you agree or disagree?
Testing has been limited due to my checkout of kdelibs 4.0 having far too many bugs.
Technical details:
- Removed kpMainWindow::shouldOpenInNewWindow() and inlined the code as the method would be too confusing if this configuration option was on
Support for the feature:
1. BUG: 125116
2. Frank Wieduwilt, Linux Magazine Issue #44 (Jul '04) p77:
"Unfortunately, the program [KolourPaint] opens up each image in a separate window. This tends to clutter up the screen while working with multiple images. The developers have promised to change this in the imminent 1.1 version, however."
3. And the feature was also silented requested by me :)
KDE Base
* Add a beautiful gradiented progress bar type thing for the cpu percentage and the memory percentage.
* Get the total amount of memory, use that to calculate the memory percentage an app uses
Show the CPU usage as just "32%" "5%" and "0.4%", so to just 1 or 2 s.f.
As suggested by a "ben" on dot.kde.org
Complete the implementation of Nepomuk Backend.
Now listing works really well!
- use HAL for CPU frequency management (instead of /sys files)
- display current policy in tooltip (dynamic, powersave, performance)
KDE-PIM
Finally implement the most basic stuff of the incidence printing style. The whole date/time/recurrence/reminder box is missing, attachments are not listed yet, subitems are not printed, but apart from that everything works.
Yeah, not a lot of stuff left that's working, but it still looks quite decent already
New addresslabel widget, basically a kactivewidget, but then based on a qlabel, with additional signals when a link is clicked. Based on a widget from Waldo.
This means het the first 100 pixels of the headers are shown, is it bigger then a scrollbar will be shown. If less then the widget reduces in height.
Office
Kexi allows to assign much more types of actions to form buttons
Forms
- action selection dialog:
-- moved "Macros" and "Scripts" to "category" list, which also supports opening tables/queries/forms, running macros/scripts
-- added "Action type" column so it is possible to assign printing and opening in objects design view
-- added "Execute form's action" category
Main Window
- Project Navigator:
-- double/single clicking on executable objects (macro, script) executes them
2.0: merged
change the viewbar a bit to look more sleek and not so high
Refactor paragraph borders painting+layout.
I moved the calculation of which borders to have to be a layout-time thing.
This has the effect that multiple paragraphs can share one border, so you won't see lines between paragraphs anymore and non-continues lines are drawn correctly now.
Add snap-to-grid action.
I made it a bool per view. Works pretty good :)
The javascript invert.js works now.
Regarding speed on a 300x300 pixel image the invert.(py|rb|js) scripts took;
1. ruby = 3secs (the clear winner :-)
2. python = 7secs (without the call-cache improvments by Cyrille that may double the performance)
3. javascript = 20secs (uh...)
Create the viewbar in KoView (only done if it's used) and start using it in kivio
Multimedia
Only display cover images in the Collection Browser when the album is expanded.
Experimental. Less pretty, but at least it doesn't cause lag.
Add "Queue Track" also to Filebrowser context menu, for consistency's sake.
When an album cover is fetched, immediately update the CollectionBrowser item with the new pixmap if the item is expanded. If the item is not expanded, it does not update so as to keep the CD icon.
This feature is safe even if the item has been removed from the CollectionBrowser before saving the album cover (due to a scan, for instance).
Allow setting individual tracks to be shown/not shown under Various Artists. This makes it less confusing; previously you had to select the album, making it hard for users to find.
After the lib now also the GUI handles DVD overburn.
Add local shortcut for Play/Pause. I've set the default to the space key, as I find that really handy in Codeine.
Networking Tools
Receive and display avatar from Telepathy
Add Authentication dialog for VPN connections
Add storage management for vpn connections
Check for the existence of keys before accessing them in KWallet
make use of the new vpn connection managment
User Interface
Games
Add default theme files.
Note: default directory should be removed later on.
Backgrounds resources can now be localized via a .desktop file description. Terrain is prepared for easy handling of plain color and gradient backgrounds, as well as SVG (already supported).
Also rename and move Background class to libkmahjongg, so it can be shared with KShisen. Welcome KMahjonggBackground!
changed background grass to SVG
Other
implement 3D rotation around arbitrary axis vector
Optimization
KDE Base
Massively clean up the paint code for the signal plotter. This will allow for optimisations and expansion
Load the SVG for the signal plotter only on demand. This increases startup time and memory with the sacrifice of a slight delay when switching tabs
* Switch to using QByteArray rather than QString for most input stuff. This is cleaner design wise, and slightly faster
* Change to only one timer per page. This is a bit cleaner, and I don't think changing each widget's timer is actually that useful. This allows for all the widgets to be updated in one log, which looks nicer on the eye
KDE-PIM
Fix updating the system address book without reloading the whole thing.
Also introduce a memory optimisation. It is a bit of a hack but can be disabled. The loading of the System Address Book is dependent on the application name. KMail, Kontact and KAddressbook are allowed to load the SAB by default. Other apps that use the standard address book will not load the SAB or the resource's cache.
This reduces load times and memory footprint. If the SAB is needed the app name can be added to the list in the resource config, in key "SystemAddressBookWhiteList".
Games
Enable tiled SVG backgrounds using brushes. Result is a nice boost in
performance when displaying the initial screen and resizing the game.
Other
KDE Base
Change default bell sound effect in the Konsole terminal from KDE_Beep.ogg to the considerably less irritating KDE_Beep_Connect.ogg
Asterisks on passwords be gone! I for one welcome our new bullet overlords.
I've tested this patch on 3.5.5 with several different KDE applications and it even behaves fine with KDEs own password classes. Approved by Maxim. I wonder if it's worth a forward port, since tronical contemplated a move to QCommonStyle for Qt 4.3.
kdecore doesn't need libqt3support anymore - yay!
(and the code that linked only to kdecore has been updated for 1+ week already)
BTW, before kdeui can drop libqt3support there's a lot of porting (away from KListBox in particular) to be done in kdeui.
Make the SVG renderer shared among all the plotter widgets.
This does mean that we can't have different svg's for different widgets, and this sucks. But each svgrenderer took up about 1MB of memory
Big changes to the way we parse emails. The new method is much more sensible, robust and easier to read.
`qdbus org.kde.krunner /MainApplication quit` became annoying to type. i figured i could make an alias for it or just plop down all 38 LOC it took to recreate my beloved dcopquit in dbus form. given that dcopquit simply evaporated from kdelibs after being part of kde for years, i figure there's no harm in putting this as part of the runtime.
i even put a couple of probably superfluous options in there just to inflate the line count and ameloriate the code for those who might kvetch about it not being generic enough ;)
p.s. QtDBus is a pleasure to use for these things. luv, me.
after laying in bed with t for a bit it occured to me that dbusquit was not the best name. kquitapp hides the technical detail (so if dbus goes away, we don't repeat the loss of the binary name like we did with dcopquit) and is more obvious as to what it does
KDE-PIM
Office
Let's get our Swedish straight shall we? :)
Multimedia
Change shortcut for Go To Current Track (in playlist) to Ctrl+J (because any shortcut involving Enter is not a great idea). Also, make the shortcut work (by plugging it into and unplugging it from a temporary menu).
Networking Tools
move knetworkmanager to extragear
Games
Fix grammar error. If I'm going to blogwhine about it, I may as well fix it too. Unless, of course, you think that winning KPat deserves only a single gratulation.