prev
Issue 27
8th October 2006
by Danny Allen
next


This Week...
KBoard, a game canvas, gets several new chess-based themes, whilst KSokoban gets many new levels. KPhotoAlbum imports the winning entry from its Splashscreen Contest. Krazy and apidox (parts of the EBN test suite) move from playground into the kdesdk module. KBlog, a library to interface with various blogs, is imported into the PIM playground in KDE SVN. Work begins on a GStreamer backend for Phonon. More work on Yahoo Chatroom support in Kopete. Kexi Query Designer supports data sorting in design and SQL view. Painting experiments with Chinese brushes in Krita.

Scripting applications using higher-level languages is currently a hot topic within KDE, with KDE 4 set to feature scripting functionality throughout. Scott Wheeler expresses the general sentiment:
  • Having a "blessed" KDE scripting language for writing complete KDE applications is a good thing and allowing applications written in that language
  • A tangent to the main thread is adding scriptability to KDE applications
  • For the first sort of scripting, there's something of a concensus that Python or Ruby are the primary candidate languages
  • There hasn't been much language flaming between Ruby and Python; it seems most folks agree that they're both acceptable OO scripting languages, though there have been plugs a bit for one language or the other
  • There's some debate over what appropriate languages are for the latter; KJS (JavaScript) is currently advocated, but there's some debate over the merits of JavaScript
To qualify the first comment, even if your language of choice isn't the one taken, there's nothing lost. Currently all scripting languages are second class citizens in the KDE world. Promoting one to first-class status doesn't demote the others significantly. An "everybody wins, use what you want" solution really is just a way of rephrasing the current situation.

Boudewijn Rempt provides his KOffice-influenced viewpoint (emphasis added):
The thread is long, yes, but to say that matters have come to a conclusion, that it is possible to even arrive at an executive summary is premature. As far as I'm concerned, there have been no conclusive arguments in favor of Scott's summary. But since the discussion is now apparently to be held in blog form, here's my summary.
  • Blessing the use of scripting languages for writing complete applications is important. Equally important is not to bless a single language. Let's first see in which languages applications actually will be written. The really important thing is that among the set of tarballs that comprises a complete kde release can be applications completely written in a scripting language. Of course, apart from Python and Ruby there are no serious candidates.
  • There are still people who think that the current bindings to Qt and KDE of, for instance Python, are not completely mature and stable and that the maintenance of those bindings will cost kde-core hackers time. Come on, guys! Living under a rock is not healthy. We've had stable scripting language bindings for more than half a decade. They just didn't take off because kde doesn't package scripted applications, relegating them to the whims of distribution packagers.
  • Forcing users to script in Javascript is an act of unmitigated evil. Allowing them to do that is okay.
  • Making applications extensible through scripting should be done with Kross. Using Kross exposes a single API for your applications to D-Bus, Javascript, Python and Ruby. That means, no longer designing a separate DCOP API and a separate KJSEmbed API. It also means that people actually using the applications can code their extensions in the language they already know.
  • I'm fine with no, or just one, or two scripting languages allowed for extending or implementing kde-base and kde-core bits. I still think that Kross is better than just mandating kjsembed. Look at how cool Kross is: Kross 2.0 and DBus. Kross really is the definitive solution to scripting KDE, on a par with what BeOS had, maybe even better.

Richard Dale, KDE language bindings guru, provides a summary of the recent work on the QtRuby Ruby and Qyoto C# bindings:
Arno Rehn has added a uics tool which takes a Qt4 Designer file and generates C# code, and so you can now use Designer with Qyoto. Arno has also added Q_CLASSINFO class attribute and a Q_SCRIPTABLE method attributes. These attributes are used as part of the data to construct the QMetaObject for QObject based classes. He has also implemented the code for return values on slot invocations. The exciting thing about these changes is that we are quite close to getting the QtBus classes working with Qyoto, and you will soon be able to use DBus from C#.

I've been doing more work with QDBus in QtRuby. I've translated all the Qt4 dbus examples, and they all work except 'complexpingpong'. One nice thing I've added to Qt::DBusMessage is the ability to call methods on them as proxies, instead of having to invoke the call() method, with the target method name as a string. For example, you can call a method called 'query()' like this:

reply = iface.call("query", Qt::Variant.new(line))

Or call it more simply like this:

reply = iface.query(line)

In the first case 'reply' will be a Qt::DBusMessage, and you can check if it is ok with 'reply.valid?', and then extract the value with 'reply.value'. In the second case 'reply' is the return value of the method (a Ruby String in this example). So it works just as if it was a local method call.

In the upcoming week, KDE 3.5.5 will be released (11th October). On the 7th October, KOffice 1.6 was tagged in preparation for a release on the 16th October. Slightly-biased sources assure me that it is going to be an excellent release, one which will function comfortably until KOffice 2.0, currently the subject of intense development, is completed.


Statistics
Commits: 2675 by 219 developers, 5294 lines modified, 1338 new files.
Open Bugs: 13040
Open Wishes: 11682
Bugs Opened: 269 in the last 7 days.
Bugs Closed: 184 in the last 7 days.

Commit Summary
Module Commits
/trunk/www
517
/trunk/KDE
494
/branches/stable
419
/trunk/l10n
352
/trunk/extragear
210
/trunk/koffice
175
/trunk/playground
154
/branches/KDE
119
/branches/work
60
/branches/koffice
49
Lines Developer Commits
139
Adriaan de Groot
126
228
Stephan Kulow
121
87
Christoph Cullmann
60
137
Laurent Montel
60
97
Dirk Mueller
48
219
Jaroslaw Staniek
45
140
Allen Winter
44
112
Oswald Buddenhagen
43
84
Gilles Caulier
38
35
Michal Ostrowski
35

Internationalisation (i18n) Status
Language Percentage Complete
Portuguese
100.00%
Swedish
100.00%
Danish
99.86%
Spanish
97.28%
Dutch
96.77%
Greek
94.70%
Estonian
93.54%
French
93.26%
Italian
93.70%
German
92.60%

Bug Killers and Buzz
Bug Killer Number Of Bugs Closed
Lex Hider
21
Sebastian Trueg
15
Joris Guisson
12
Mark Kretschmann
10
Christoph Burger-Scheidlin
10
Maks Orlovich
8
Alexandre Pereira de Oliveira
7
Gilles Caulier
7
Jaroslaw Staniek
7
Tommi Tervo
6

Program Buzz
Amarok
  8255
KMail
  5100
Kate
  4950
KDevelop
  3820
K3B
  3580
Kat
  3415
Kopete
  3370
Ark
  2280
Kontact
  1994
Quanta
  1968


Person Buzz
David Faure
  986
Adriaan de Groot
  950
Stephan Kulow
  768
Waldo Bastian
  540
Jonathan Riddell
  524
Philip Rodrigues
  456
George Staikos
  342
Boudewijn Rempt
  311
Stephan Binner
  302
Aaron J. Seigo
  292
Contents
  Bug Fixes Features Optimise Security Other
Accessibility
Development Tools [*] [*]
Educational [*] [*]
Graphics [*] [*]
KDE-Base [*] [*] [*]
KDE-PIM [*] [*]
Office [*] [*] [*]
Konqueror
Multimedia [*] [*]
Networking Tools [*] [*] [*]
User Interface [*]
Utilities [*] [*]
Games [*]
Other

There are 58 selections this week.

Bug Fixes
Networking Tools
Joris Guisson committed changes in /trunk/extragear/network/ktorrent:
Changes :
- Fixed bug in advanced choke algorithm
- Deselecting files without deleting data is now possible
- Deselecting files without deleting data is now the default action when you uncheck a file in the infowdiget
- Deselecting existing files at torrent load time, will not delete the file
Bug 134803: do *not* delete files if the user sets them to do not download th...
Bug 134597: implement partial torrent seed
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 10 more) Revision 590891

Utilities
Tom Albers committed changes in /trunk/extragear/utils/rsibreak/src:
- Allright, after two days I've finally tracked down this bug. The loadconfig did not get the correct value for the slider interval. By re-setting the config group it magically works again. If any guru can tell me why this is needed, you get a beer.
- Change default slider interval from 2 sec to 10 sec. Draining your system resources by default is not very friendly...
Diffs: 1, 2 Revision 592668

Features
Development Tools
David Nolden committed changes in /branches/kdevelop/3.4:
Add initial support for namespace-aliases and namespace-imports. They are both stored into the code-repository and code-model now, and used through the namespace-aliasing system. Create facilities for efficient management and comparison of include-files for future header-parsing. Make the namespace-system aware of those facilities.

Together with some simple header-parsing (included headers need to be collected), and with a little work on making the resolution-system aware of those header-sets, that will allow near-perfect code-completion. A few other fixes.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 12 more) Revision 592358

Educational
Cies Breijs committed changes in /trunk/KDE/kdeedu/kturtle:
kturtle can now parse turtle code into c++ embeddable code, handy for developers
Diffs: 1, 2, 3, 4 Revision 591819

Games
Anders Widell committed changes in /trunk/KDE/kdegames/ksokoban:
Added more levels. Fixed saving number of completed levels.
Diffs: 1, 2, 3, 4 Revision 591607

Maurizio Monge committed changes in /trunk/playground/games/kboard/themes:
* Added Shogi SVG theme (at the moment only usable ad theme to play chess)
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision 592148

Maurizio Monge committed changes in /trunk/playground/games/kboard/themes/Pieces:
* Added XiangQi pieces theme! (also usable as a usual theme in chess)
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 592837

Maurizio Monge committed changes in /trunk/playground/games/kboard/themes/Pieces:
Improved shogi and xiangqi pieces.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 593197

Graphics
Pino Toscano committed changes in /trunk/playground/graphics/okular:
As suggested by our usability expert Florian, add a bar above the page view showing in case the document has embedded files, that can be clsed with the X button.
Diffs: 1, 2, 3, 4 Revision 591837

Aurelien Gateau committed changes in /trunk/extragear/graphics/gwenview/gvcore:
Started to work on loading JPEG pictures immediatly rotated instead of loading
them then rotating them.
Bug 117173: gwenview first shows picture then uses exif and rotates it =>...
Diffs: 1, 2, 3, 4 Revision 592500

Jesper Pedersen committed changes in /trunk/extragear/graphics/kphotoalbum:
new splashscreen
Diffs: 1, 2, 3, 4, 5, 6 Revision 592785
View Visual Changes (to 2 files)

KDE-Base
Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole/konsole:
Allow views to be removed from a session. Better handling of terminal emulation size when a view is resized - Konsole looks through all of the visible views on a session and selects the largest number of lines and columns which can be displayed on all views.
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 590854

Oswald Buddenhagen committed changes in /trunk/KDE/kdebase/workspace/kdm/kfrontend/themer:
introduce new element <style/> to control the look of embedded widgets (frame, fonts, palette).
Diffs: 1, 2, 3, 4, 5 Revision 590880

Harri Porten committed changes in /trunk/KDE/kdelibs/kjs:
the parsing part of "import" support. if my old bison version is causing problems please run create_parser with a newer one.
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 592104

Torsten Rahn committed changes in /trunk/playground/base/marble/src:
Some algorithm for smarter text label positions that works without indication of importance.
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 592493

Joseph Wenninger committed changes in /trunk/KDE/kdelibs/kate/data:
Highlighting for django templates. Created by Matthew Marshall who is willing to maintain it
Diffs: 1, 2 Revision 592733

Matthias Kretz committed changes in /trunk/KDE/kdelibs:
Add supportsOpening to KProtocol{Info,Manager} and ++KSYCOCA_VERSION for it.
Use this method when you want to know whether a given URL can be opened with a KIO::FileJob (seekable).
Diffs: 1, 2, 3, 4, 5 Revision 592961

Aaron J. Seigo committed changes in /branches/KDE/3.5/kdebase/kicker:
lower the time the tip shows except for taskbar, pager and clock where it makes sense to have extended times (4s in this case) re-increase the time between tip reshows because too many reshows sucks on low powered cpus and also looks a bit stupid on the pager and taskbar (among other places, i'm sure) the idea is that the tip should show only on items that the user settles on, not to follow their mouse around randomly. yes, this is not how things like tooltips work but that's because those items do something differently and do it, quite honestly, rather poorly anyways.
the design of the kicker mouse overs is quite intentional and based on a fair amount of actual research, testing and reaching stated goals.

if you think there's something wrong in it, perhaps talk to me first because it may be your assumptions that are wrong rather than the code in kickerTip.cpp.
Diffs: 1, 2, 3, 4, 5 Revision 593043

KDE-PIM
Friedrich W. H. Kossebau committed changes in /trunk/playground/pim/contactsapplet:
add action service Open in Google Maps
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 591111

Till Adam committed changes in /branches/kdepim/proko2/kdepim/kmail:
Implement top quoting support for signatures. There's a new config option to include signatures before quoted text, and a new entry in the composer's edit menu to prepend the current signature. Identity switching tries to remove the signature, if it finds it anywhere in the body, which has some risk, but I guess that's not a real issue. In top quote mode the signatures are added without -- seperator, as seems to be the convention.
(Kolab Issue 1385)
Diffs: 1, 2, 3, 4, 5, 6 Revision 593067
Discussion

Multimedia
Jeff Mitchell committed changes in /trunk/extragear/multimedia/amarok/src:
New crossfading option UI. Doesn't work right, probably because I don't really understand how crossfading is implemented. Trying to find out who does... :-)
Diffs: 1, 2, 3, 4 Revision 591560
View Visual Changes (to 1 file)

Andy Kelk committed a change to /trunk/extragear/multimedia/amarok/src/mediadevice/mtp/mtpmediadevice.cpp:
Show progress bar while copying tracks from an MTP device.
Diff Revision 591824

Martin Aumüller committed changes in /trunk/extragear/multimedia/amarok/src:
move daap 'share my music' button to collection browser, as it's the collection that is going to be shared
Diffs: 1, 2, 3 Revision 591833

Peter C. Ndikuwera committed a change to /trunk/extragear/multimedia/amarok/src/playlistbrowser.cpp:
"Favorite tracks" default smart playlist now obeys "Use Scores" and "Use Ratings" setting.
Bug 134893: personal rating in the intelligent playlist
Diff Revision 591835

Tim Beaulen committed changes in /trunk/KDE/kdemultimedia:
Start of the Phonon GStreamer backend.

It's not functional yet, just a copy of the fake backend.
I'll now port the fake backend to GStreamer.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 62 more) Revision 592052

Seb Ruiz committed changes in /trunk/extragear/multimedia/amarok/src/mediadevice/daap:
allow the user to hide music which is already in the local collection when browsing daap shares. The option to enable this is in the config page, which is very obscure location to put it. Probably should put the config button in the daap toolbar
Diffs: 1, 2, 3 Revision 592347

Networking Tools
Eike Hein committed changes in /trunk/extragear/network/konversation:
Stop systray flashing when cancelling a notification by clicking the OSD.
Bug 134931: OSD click should stop systray blinking
Diffs: 1, 2, 3, 4, 5 Revision 590822

Ivan Vasic committed changes in /trunk/extragear/network/ktorrent:
Added ETA calculator class.
Bug 113170: Better estimation of download times
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 591970

Joris Guisson committed changes in /trunk/extragear/network/ktorrent:
Added feature to remove torrent and data in context menu of view.
Bug 130465: Option to delete files when removing them
Diffs: 1, 2, 3 Revision 592053

Joris Guisson committed changes in /trunk/extragear/network/ktorrent:
Added distinction in Completed status, there is now a seeding completed and a downloading completed. Seeding completed means that the torrent has reached it's max share ratio.
Bug 133506: Status torrent in uploading after hitting "stop"
Diffs: 1, 2, 3, 4 Revision 592062

Eli MacKenzie committed a change to /trunk/extragear/network/konversation/scripts/media:
A complete replacement. Now has online help, can select an individual player or player type for reporting. Output formatting is centralized and much more flexible. Needs to be tested on $YourFavouritePlayer.
Diff Revision 592260

Ivan Vasic committed changes in /trunk/extragear/network/ktorrent/apps/ktorrent:
Systray now reflects current bandwidth usage.

Big thanks to Diego R. Brogna for providing this patch.
Bug 133873: systray icon could reflect upload/download activity by blinking
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 592422
View Visual Changes (to 3 files)

Andre Duffeck committed changes in /trunk/KDE/kdenetwork/kopete/protocols/yahoo:
fetch list of chatrooms for the selected category and display it in the dialog.
Diffs: 1, 2, 3, 4, 5, 6 Revision 593095

Andre Duffeck committed changes in /trunk/KDE/kdenetwork/kopete/protocols/yahoo:
join room for real
Diffs: 1, 2, 3, 4, 5, 6 Revision 593395

Office
Martin Pfeiffer committed changes in /trunk/koffice/filters/kformula:
first commit for the new kformula filter taht parses old KFormula xml to MathML
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 591563

Boudewijn Rempt committed changes in /branches/koffice/1.6/koffice/krita/plugins/paintops/cpaint:
First attempt at chinese brushes: doesn't work, doesn't compile yet. Artwork and original code by Clara Chan. gauss.h and gauss.cpp is public domain code.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 21 more) Revision 591818
View Visual Changes (to 13 files)

Boudewijn Rempt committed changes in /trunk/koffice/krita/plugins/paintops/cpaint:
Add cpaint to trunk.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 21 more) Revision 591939
View Visual Changes (to 13 files)

Sebastian Sauer committed changes in /trunk/koffice/libs/kross:
more work on forms.
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 593045

Jan Hambrecht committed changes in /trunk/koffice/karbon:
Replaced old layer list view with a pretty one based on the KoDocumentSection stuff.
It is still basic, only showing layers/shapes and inserting layers does work, but looks much better than before.
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 593117

User Interface
Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/actions:
new icons
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 592142
View Visual Changes (to 7 files)

Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/actions:
new icons
Diffs: 1, 2, 3, 4 Revision 593189
View Visual Changes (to 3 files)

Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/actions:
new icons
Diffs: 1, 2, 3, 4, 5, 6 Revision 593245
View Visual Changes (to 6 files)

Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/actions:
new icons
Diffs: 1, 2, 3, 4, 5, 6 Revision 593260
View Visual Changes (to 6 files)

Utilities
Chris Huebsch committed changes in /trunk/playground/edu/kdissert/src/kdissert:
[Feature] Extend align feature with distribute feature, allowing to spread space between items equally.
Diffs: 1, 2, 3, 4, 5, 6 Revision 592055

Bram Schoenmakers committed a change to /trunk/extragear/utils/rsibreak/src/rsirelaxpopup.cpp:
Do not use hardcoded colors for the relax popup, use the KDE wide color scheme instead.
Diff Revision 592606

Tom Albers committed changes in /trunk/extragear/utils/rsibreak:
Add hi22 icons, thanks to Lee Olson.
Bug 135111: kicker tray gets garbled when using rsibreak (icon size)
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 592669
View Visual Changes (to 7 files)

Optimise
Educational
Cies Breijs committed changes in /trunk/KDE/kdeedu/kturtle/src:
fixed a lot of memleaks... (from 42,084 to 536 bytes definitely lost)
thanks valgrind people, i could not figure it out without...
thanks coolo, for pointing it out to me...
thanks annma for putting it on my agenda...

the remaining memleaks seem out of my control
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 591632

Graphics
Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/libs:
Stop blink timer when ICC data is loaded
(Previously, the timer would run and triggered a full repaint every 200ms)
Bug 134869: high CPU usage while displaying ICC Profile
Diffs: 1, 2, 3, 4, 5 Revision 591876

KDE-Base
Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole/konsole:
Performance improvement when scrolling - especially with large terminal windows. The emulation now gives hints to the display about how the image has scrolled since the last update, which allows the display to scroll using QWidget::scroll() and avoid redrawing lots of text. Unfortunately it seems that Vim and terminal emacs don't use the terminal facilities to scroll the display, so it doesn't help those particular programs.
Diffs: 1, 2, 3, 4, 5, 6 Revision 591193

Multimedia
Alexandre Pereira de Oliveira committed changes in /trunk/extragear/multimedia/amarok:
Faster searching on playlist and startup, due to some optimizing in string usage.
Patch by Ovidiu Gheorghioiu. Thanks!
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 592526

Networking Tools
Jernej Kos committed changes in /trunk/extragear/network/kftpgrabber/src:
Rewritten the browser widget - it is now KFileView based and that brings some speed optimisations when displaying a large amount of files.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 19 more) Revision 591575

Office
Sebastian Sauer committed changes in /trunk/koffice/libs/kross:
* improved caching of methods at the python-backend. ~10% more performance.
* made sequence_slice in pythonextension work as expected.
* some more work on forms.
Diffs: 1, 2, 3, 4, 5, 6 Revision 593358
View Visual Changes (to 1 file)

Other
Development Tools
Allen Winter committed a change to /trunk/KDE/kdesdk/ebn:
We will commit all tools for the English Breakfast Network (EBN) here.
Diff Revision 592101

KDE-Base
Will Stephenson committed changes in /trunk/KDE/kdelibs/solid:
Start using KNetwork::KIpAddress in place of QStrings, should make things more robust down the line
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 591656

Oswald Buddenhagen committed changes in /trunk/KDE/kdebase/workspace/kdm/kfrontend:
while the theming engine is sufficiently similar to gdm's one to make creating theme variants for both gdm and kdm from one source simple, it is certainly not true that kdm can directly use gdm themes. so don't claim it.
let's see how many people this upsets ... :}
Diffs: 1, 2, 3, 4 Revision 593219

KDE-PIM
Christian Weilbach committed changes in /trunk/playground/pim/kblog:
Initial import.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 591283

Office
Boudewijn Rempt committed changes in /trunk/koffice/krita/plugins/viewplugins:
Removed the screenshot plugin: it was not well-integrated, not portable and not easy to maintain or use. External screen grabbers can be used, to, for instance d&d the image into krita.
Diffs: 1, 2 Revision 592067

Features
Networking Tools
Andre Duffeck committed changes in /trunk/KDE/kdenetwork/kopete/protocols/yahoo:
join room for real
Diffs: 1, 2, 3, 4, 5, 6 Revision 593395

Thanks for reading the KDE Commit-Digest!
KDE Commit-Digest by Danny Allen, 2006-2009
All issues in archive by Derek Kite