Issue 39

31st December 2006 by Danny Allen

This Week...

The KDE Commit-Digest 2006 retrospective. blinKen and KNetWalk become the latest applications to move to scalable graphics. KSquares further develops, with an AI player implemented. More maps and a more sophisticated divisions and capitals implementation in KGeography. Support for password-protected RAR archives in the kio_rar interface. Work to support drag-and-drop of transfers in KGet. Import of "koregressions" test suite for KOffice. Longstanding KWeather and KHTML bugs fixed. Major refactoring in the "sonnet" natural language checker. Version 1.0 of Eigen, the library for vector and matrix math, is released.
Here we are at the end of another exceptionally bright year for KDE. As always, one of the prime highlights of the year was the KDE World Conference, held in Dublin, Ireland. This year saw the welcome surprise of additional sponsored developer meetings, focused on pressing development issues: KDE Four Core in Trysil, Norway and the K3M session in the Netherlands, alongside several informal meetings of other groups. 2007 may see many more of these events organised as a high-bandwidth impetus toward KDE 4.

The KDE 3.5 series saw regular reinforcement through point releases in January, March, May and August, with KDE 3.5.5 released on October 11th 2006. Though hidden through seemingly-insignificant minor version numbers, the 3.5 series had a policy shift, allowing well-tested features to be added to the release - alongside the bugfixes-only allowed previously, this policy a recognition of the extended development cycle of the major KDE 4 desktop, which at the start of the year was a distant blur, now coming into ever-sharper focus at the year end. KDE 4 will be released in 2007.

More than any other year, 2006 registered the maturity of the base desktop, and became the year of the application. I asked the developers of some of the inspiring applications of the year to share their intimate experiences and successes of the year:
Mark Kretschmann, founder and maintainer of Amarok, recalls a 'rokking' year:
The past year has been a significant year for the Amarok project, I believe. A turning point in some ways. Let me try to summarize what made this year special for us.

Release of Amarok 1.4
In Spring 2006 we released the first "Fast Forward" titled version of Amarok. This series introduced a number of defining features:
  • Media Devices plugins, offering support for most portable players on the market (iPod, Generic USB, MTP, iRiver..)
  • Built-in support for Last.fm streams
  • Magnatune music store for online shopping
  • Music sharing via DAAP
  • Support for removable media in the collection
  • Shoutcast stream browser
  • Podcast support
  • Music can be rated with a score
Last but surely not least we also fixed an incredible amount of bugs. This is in some ways the most important "feature" of the Fast Forward series. It is my impression that people started to perceive Amarok as a mature product, instead of merely a "featureful" player. Now Amarok became software that can be relied on for everyday use.

KDE Multimedia Meeting
In Spring, our developer team had the unique chance to meet in person at the K3M multimedia meeting in the Netherlands. This meeting was incredibly inspiring and productive, and helped a lot to refresh our "team spirit", after we had gained several new developers. Additionally it was very interesting to learn about Phonon, KDE 4's all new multimedia framework, which is being created by Matthias Kretz. At this point I would again like to thank the people from KDE-NL for being fantastic hosts. You guys rock.

Overtaking XMMS
In May 2006 we finally overtook XMMS in popularity, according to Google Trends. For me personally this was a special moment, because Amarok was started as a XMMS replacement. Seeing that people appreciate our work is certainly satisfying, maybe it is the "payment" of the free software developer.

Next year?
2007 could become another very significant year for Amarok, perhaps even more so than the past year. In January we plan to start working on Amarok2, which will be based on Qt4/KDE 4. At the same time we want to achieve making the program work natively on Windows and OSX. The future will tell if Amarok will ever become popular on the vast Windows platform. I hope it will, but as Sebastian Kügler noted back at the multimedia meeting, this could mean radical changes for the way Amarok is being developed, should there be a huge influx of new developers from the Windows world. I hope we will never lose our great family-like "Amarok Team" spirit :)
KOffice had a year packed with milestones of increasing importance. Boudewijn Rempt, lead developer of Krita, and Thomas Zander, KOffice developer, talk about their project and work. Boudewijn Rempt:
2005 was the year Krita got its first release, but 2006 saw two main releases of Krita: 1.5 and 1.6. These releases added features that no other free software raster graphics application had offered before, like pluggable managed colorspaces in 8, 16 or 32 bits per channel, cmyk, L*a*b, yCbCr, adjustment layers, as well as a host of features needed to move Krita past the XPaint level of functionality: filter plugins, paint operation plugins, support for the CREATE standard, curve tools (thanks to the Google Summer of Code), OpenGL support, HDR, raw inmport, lots of file import and export filters - 30,000 lines of code added and nary a day without a commit.

Work started on Krita 2.0 too, with integration with the new KOffice flake shape architecture, dynamic brushes, a Chinese ink brush and true resolution for images. For the 1.6.2 release in January or February 2007 we've got bugfixes, a truly wet watercolor colormodel and a smudge paintop.

Krita was represented at the Libre Graphics Meeting, Fosdem and in the picture in general, but the big news for me was the Akademy Award for Best Application! And even while writing this, coding continues - plenty done, plenty still to do!
Thomas Zander:
For most of the year I've been working on replacing some core parts of KWord. The text engine is replaced with Qt-scribe. The frames implementation has been replaced with Flake and we have ported all of this to the much cleaned up kdelibs4/Qt4.

This hard work is starting to show dividends; adding new functionality gets easier and features added to other KOffice applications are directly reusable in KWord. Though I try to minimize adding new functionality until we are on par with the feature set of KWord 1.6 we now already have various features that have been in our bugzilla for years, like page-spreads (ideal for having a big image over 2 pages), and better text-runaround for those that want more graphics in their documents. Also much better support for having lines, borders and other visual markers which, frankly, is a bit of a hack in the current KWord release. And most important, our fonts just look and print great now.



A winning strategy for many big software tools are plugins. I chose to have various types of plugins which will make it easier to add new functionality in future versions. A quick example of possible plugins specific to text; run a code-formatter on selected text in any KOffice application. For those colored source-code snippets. Or have perfect integration with a bibliographic engine.
Alexander Dymo reports from the KDevelop camp:
2006 was a very productive year for the KDevelop team. Since 2004, when we did our widely-regarded releases (3.0.2 and 3.1), we hadn't achieved anything near those impressive project milestones.

This all changed in 2006.

We spent the whole year working on two things: KDevelop 3.4 - our greatest 3.x release ever - and concurrently building what will eventually become 4.0. KDevelop 3.4 (started back in October 2005) is now almost ready (RC2 went public a week ago). A large number of impressive radical changes have gone into 4.0 already. New developers joined our team and new users followed.

Here are some impressive statistics that illustrate our success story (click to enlarge):



The first notable thing is constantly growing commit count. The highest number of commits in 2005 was 95, which is only 42 commits more than the lowest number in 2006. The highest number - 329 (August 2006) remains unprecedented in KDevelop history!

During 3.4 development we've fixed 403 bugs and wishes (this number is still growing so it might be even bigger by the time you read this!). Now, KDevelop 3.4 is ready to be released with only 292 outstanding bugs. We are also proud that we moved down to the middle of the list of top 20 KDE modules with the most bugs! Hopefully even more bugs will be fixed up to the 3.4 release date.

In 2006, our developer community was unusually lively! Three newcommers of 2006 - Andreas Pakulat, David Nolden and Megan Webb - occupied the list of top 10 KDevelop committers. Two affilitates of year 2005, Jakob Petsovits and Vladimir Prus still have an itch for committing. And our seasoned KDE contributors Matt Rogers and Hamish Rodda are driving 4.0 development.

We are looking forward to see what the next year brings KDevelop and have the realistic expectation that 2007 will be even more successful for KDevelop team than 2006 was!

The KDevelop Team reminds you to try the latest 3.4 version and wishes you Happy New Year!
Back to the here and now, Friedrich W. H. Kossebau talks about his recent work in the KDE PIM contacts framework:
The Contacts framework, which is currently developed in playground/pim/ for KDE 3.5, has signalled the beginning of the end for hardcoded support for contacts. No more will the framework be restricted only to merely emailing someone, but instead functionality will be limited only by the installed plugins.

The concept behind all this is that an entry in the addressbook, known as a "contact", is a collection of different properties, mostly addresses in different systems (email, phone, postal, chat). Some properties can have different items, like the phone numbers, others only one (birthday). For every property, certain services are possible.

I see three types of services: action services, action services for some given data, and status services. As an example, the contact property "email" is linked to services such as:
  • "Email to..." (a regular action service)
  • "Email file/url to..." (a data action service)
  • "Number of unread emails..." (a status service)
Available adapters to properties and services are all given by plugins. Code using the framework simply queries the property/service trader and the operates on the results in a general way, without really needing to know what the service offers. Those needing more fine-grained control over the data can use property and service ID's to filter.

The framework is still a work in progress, with emphasis on the concept up until recently. However, the code is relatively stable, with people reporting using it successfully in their daily work :)

I welcome everybody to try the framework and the two programs currently using it (the Contacts Kicker applet and the Contacts card server). I am especially looking for someone to help enhance the service plugins for making phone calls.

Discussion has started to prepare for the integration of the framework into KAddressBook for the KDE 3.5.7 release. So, go to trunk/playground/pim/contact{s,sapplet,cards} and take a look :)

More information is available at the kde-apps.org entry and in my blog.
It may be due to the holiday, but this week was an even better week than most for bug killing, with Alexandre Pereira de Oliveira taking care of 86 Amarok bugs, and Martin Koller crushing 76 KWeather, KHTML and more issues - not to mention the other operatives, not only this week but throughout the year. This is often silent, barely-noticed and yet such vital work, and together with translators, artists and documention people comprises an equal effort in the KDE partnership.

To all contributors, users and readers, have a great 2007!

Statistics

Commits 1897 by 174 developers, 4065 lines modified, 1074 new files
Open Bugs 12948
Open Wishes 12029
Bugs Opened 195 in the last 7 days
Bugs Closed 300 in the last 7 days

Commit Summary

Module Commits
/branches/stable
371
 
/trunk/KDE
349
 
/trunk/l10n
221
 
/trunk/koffice
218
 
/trunk/playground
173
 
/branches/work
165
 
/trunk/extragear
154
 
/branches/KDE
80
 
/branches/kdevelop
60
 
/trunk/www
60
 
Lines Developer Commits
194
 
Laurent Montel
87
 
56
 
Adriaan de Groot
47
 
70
 
Ludovic Grossard
41
 
6
 
Achim Bohnet
39
 
81
 
Alfredo Beaumont Sainz
38
 
91
 
Simon Hausmann
38
 
81
 
Thomas Zander
35
 
80
 
Aaron J. Seigo
35
 
60
 
Jens Dagerbo
34
 
140
 
Martin Koller
30
 

Internationalization (i18n) Status

Language Percentage Complete
Portuguese (pt)
99.99%
 
Danish (da)
99.98%
 
Swedish (sv)
99.96%
 
Spanish (es)
98.08%
 
Dutch (nl)
97.52%
 
Greek (el)
95.73%
 
Estonian (et)
95.7%
 
German (de)
95.17%
 
Italian (it)
94.35%
 
French (fr)
92.78%
 

Bug Killers and Buzz

Person Bugs Closed
Alexandre Pereira de Oliveira
86
 
Martin Koller
76
 
Jens Dagerbo
48
 
Bram Schoenmakers
35
 
Martin Aumüller
25
 
Andreas Pakulat
21
 
Julian Seward
12
 
Angelo Naselli
7
 
Albert Astals Cid
6
 
Sebastian Trueg
6
 
Program Buzz
Amarok
4570
 
K3B
2872
 
Kate
2850
 
KMail
2845
 
Kopete
2558
 
KDevelop
2099
 
digiKam
1756
 
Kontact
1571
 
Kicker
1405
 
Kaffeine
1266
 
Person Buzz
David Faure
1162
 
Adriaan de Groot
1070
 
George Staikos
874
 
Stephan Kulow
780
 
Waldo Bastian
556
 
Aaron J. Seigo
458
 
Stephan Binner
262
 
Boudewijn Rempt
258
 
Thomas Zander
248
 
Thiago Macieira
240
 

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 101 selections this week

Bug Fixes

Development Tools

Alexander Dymo committed changes in /branches/kdevelop/3.4/parts/appwizard:

This is rather hackish solution to the project creation appwizard used to open files before opening project (opening project was delayed using QTimer::singleShot). Therefore several things (code completion, switch header/impl., etc.) in C++ support didn't work because they were activated only on activePartChanged signal.

And that signal was emitted long before C++ support part was loaded.

I believe this could cause problems not with c++ support only but with other project-wide plugins.

So the fix is to catch projectOpened signal in appwizard and open files afterwards.

Diffs: 1, 2, 3, 4 Revision 616498
Jens Dagerbo committed changes in /branches/kdevelop/3.4/languages/cpp:

This patch does a few related things:
#removes a lot of unused and weird stuff from problemreporter
#all parser activation decisions are moved back into cppsupport where it belongs, problemreporter is just UI
#fixes flickering problem tabs
#fixes a case where already open documents don't get a problem icon marker
#fixes sorting so it happens numerically, no lexographically
#afaik fixes repeated entries. if this still happens, I don't think problem reporter is responsible
#afaik fixes the remaining cases where the parser could be invoked against non-c/c++ files

Jens Dagerbo committed changes in /branches/kdevelop/3.4/parts/grepview:

Stop with the blinking already!

KDE Base

Martin Koller committed changes in /branches/KDE/3.5/kdelibs/khtml/khtmlview.cpp:

whenever the content changes, recheck if the mouse cursor shall show some other shape (pointing hand, etc.) to correctly match it to the content below it

Martin Koller committed changes in /branches/KDE/3.5/kdebase/konqueror/konq_mainwindow.cc:

Make the konqueror main window a group leader to ensure modal dialogs from one window do not block other konqueror main windows

Martin Koller committed changes in /branches/KDE/3.5/kdelibs:

immediately redraw visited links with the respective color when the page got loaded and inserted into the history

KDE-PIM

Tom Albers committed changes in /trunk/playground/pim/mailody/src:

Make a pull down action where you can select an address to forward the message to. The list is the 10 ten mailed addressess. Plug this in the toolbar instead of the default forward button.

Diffs: 1, 2, 3, 4, 5, 6 Revision 616428

Office

David Faure committed changes in /branches/koffice/1.6/koffice/kword/KWFrame.cpp:

Just wanted to send a recipe to someone, converted it to odt, checked how openoffice opened it, found two bugs....

1) frames with AutoExtendFrame need to have a min height superior to 0, otherwise the loading code won't say "min-height>0 -> AutoExtendFrame"
2) the background color of text boxes is saved using draw:fill-color in OOo; this must be new, I remember testing this. It would almost make sense (fo:background-color being then available for the color behind the text), except that for table cells it's fo:background-color.

On top of that, text boxes without draw:fill-color appear as blue in OOo. Bug filed, <a href="http://www.openoffice.org/issues/show_bug.cgi?id=72920">http://www.openoffice.org/issues/show_bug.cgi?id=72920</a>;

Boudewijn Rempt committed changes in /branches/koffice/1.6/koffice/krita/plugins/tools/defaulttools:

Simple fix for this bug.
Also: add keyboard handling to the move tool for pixel-precise layer moving

Multimedia

Mark Kretschmann committed changes in /trunk/extragear/multimedia/amarok/src/engine/xine:

Fix a nasty bug with fade-out: When a fade-out was running (after pressing Stop), and you started another track, Amarok would (mostly) freeze.

Also cleaned up the code and removed unnecessary nonsense.

Martin Aumüller committed changes in /trunk/extragear/multimedia/amarok:

make copy/select all work in context browser's html views

Martin Aumüller committed changes in /trunk/extragear/multimedia/amarok:

don't crash when quitting while still loading the saved playlist

Networking Tools

Manolo Valdes committed changes in /branches/work/make_kget_cool/kget:

fix download bug in multisegkio. Now the md5 check should be ok. now we can add search engines in the settings widget. I need ideas to implement it in the .kcfg file

Diffs: 1, 2, 3, 4, 5, 6 Revision 616308

Games

Martin Koller committed changes in /branches/KDE/3.5/kdetoys/kweather:
Martin Koller committed changes in /branches/KDE/3.5/kdetoys/kweather:

Fix layouting in all different display modes and kicker orientation modes
Always use a sane font size and limit overall size of applet

Features

Development Tools

Jens Dagerbo committed changes in /branches/kdevelop/3.4/parts/documentation:

If the text under the cursor of the active document resolves to a word when a document search tool is invoked, assume that word is interesting and use for the search. This should give the most intuitive and overall prefered behaviour.

Jens Dagerbo committed changes in /branches/kdevelop/3.4/languages/cpp:

This patch finally makes the c++ problem reporter optional!
Also, added "whatsthis" descriptions to the 'C++ Parsing' settings.

Jens Dagerbo committed changes in /branches/kdevelop/3.4/src/simplemainwindow.cpp:

Consistency fix. This patch lets KDevelop show the [modified] flag in the window bar (and the kicker taskbar entry) like Kate and many other KDE apps.

Andreas Pakulat committed changes in /branches/kdevelop/3.4:

Allow mixed case in new project names.
Adapt all parts that use projectName() because that now returns the name without the suffix. This actually makes kdevelop adhere to its own API now. (The API for kdevprojectmanager states that openProject takes the project name without suffix as 2nd argument)

This is tested with autotools, qmake and custom makefile projects as well as importing a new project into CVS (I couldn't test svn because that somehow doesn't work here).

If anybody finds problems that may be related to this change please email kdevelop-devel or come to IRC/#kdevelop.

Educational

Albert Astals Cid committed changes in /trunk/KDE/kdeedu/kgeography/data:

Guyana, Haiti and Honduras maps by Laurent Garnier
Thanks to mom for doing the beautification of the maps

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 616960
Peter Hedlund committed changes in /trunk/KDE/kdeedu/kvoctrain/kvoctrain:

Find functionality restored. The file kva_clip.cpp is deleted. The functions it contained have been moved to kvoctrain.cpp.

Diffs: 1, 2, 3, 4 Revision 617113
Albert Astals Cid committed changes in /trunk/KDE/kdeedu/kgeography:

Please the mistress!
Now a map can define how its divisions are called using <divisionsName> tag

Anne-Marie Mahfouf committed changes in /trunk/KDE/kdeedu/kgeography/data:

Following Albert last commit (thanks for making my wish a reality!), adapt each map by specifying what is the exact Division name. Based on Wikipedia. First maps done.

Diffs: 1, 2, 3, 4, 5 Revision 617351
Albert Astals Cid committed changes in /trunk/KDE/kdeedu/kgeography/src:

Add the possibility of adding false capitals for a given division instead of pulling capitals from other divisions on the map, this can make it more interesting for divisions where the capital is a small city compared to others in falseCapital tags.

Now only need people to come and use the falseCapital tag all around on the existing maps :-D

Albert Astals Cid committed changes in /trunk/KDE/kdeedu/blinken:

Rejoice!
blinkenSVG is here, now you can play blinken in fullscreen glory :-)
There are still some magic numbers to tweak but it is working quite good already.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 15 more) Revision 617724

Graphics

Stefan Kebekus committed changes in /trunk/playground/graphics/UNNAMED_READER:

drag-and-drop support I: documents can be dragged into the UNNAMED_READER

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 9 more) Revision 616716
Pino Toscano committed changes in /trunk/playground/graphics/okular:

Add support for showing icons in the page view top message.
With simplier words: add an 'attach' icon in the message pane that informs about attachments in the current document.

Diffs: 1, 2, 3 Revision 616780
Pino Toscano committed changes in /trunk/playground/graphics/okular:

Improving the bookmark capabilities of okular.
Adding a BookmarkManager class that takes care of handling them in a proper way.

Adding a new tab in the sidebar to manage them:
- shows all the bookmarks in all the documents, or just in the current document
- cliking on a bookmark will bring to that bookmark, loading the document if necessary
- editing a bookmark title is possible either using F2 or right click -> Rename
- right click -> Remove to remove a bookmark

The only way to add new bookmark for the moment is the "old" way, ie right click -> Add bookmark, and it's not possible add more than one bookmark per page (but the system does not limit that).

The whole system should not be too difficult to understand, I will check with our usability master Florian next days.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 616979
Pino Toscano committed changes in /trunk/playground/graphics/okular/ui:

Improve the way we get the contents of an annotation; dynamically change the tooltip of the annotation item in the side review pane.

Diffs: 1, 2, 3, 4, 5 Revision 617106
Tobias Koenig committed changes in /trunk/playground/graphics/okular:

Refactor the RMB menu for annotations, so we can use the menu for the PageView and the SideReview.

KDE Base

Vincent Ricard committed changes in /trunk/KDE/kdeaddons/konq-plugins/microformat/konqmficon.cpp:

Microformat plugin can now detect the hCard nested in a hResume (actually, it detects the vcard class declared with other classes)

John Tapsell committed changes in /trunk/KDE/kdebase/workspace/ksysguard/gui/SensorDisplayLib:

Add filled in graphs again. These are alpha blended in

Diffs: 1, 2, 3, 4, 5, 6 Revision 616493
John Tapsell committed changes in /trunk/KDE/kdebase/workspace/ksysguard/gui/SensorDisplayLib/SignalPlotter.cc:

Be smarter about the axis text - it now skips lines if there's not enough room, and is smart about whether to draw the top most axis label

John Tapsell committed changes in /trunk/KDE/kdebase/workspace/ksysguard/gui/SensorDisplayLib:

Add methods to get a qimage of the graph. We can't actually use it yet in the tooltip (qt limitation - hopefully it will be fixed :( )

Diffs: 1, 2, 3 Revision 616653
Peter Simonsson committed changes in /trunk/KDE/kdelibs/kdeui:

Add a KUndoStack that adds functions to QUndoStack for creating actions with kde's shortcuts and icons.

Diffs: 1, 2, 3 Revision 616675
Luka Renko committed changes in /trunk/playground/base/guidance/powermanager:

CPU frequency policy configuration added for battery and powered mode.
Notify user if CPU frequency policy has been changed.

Diffs: 1, 2, 3 Revision 616746
Robert Knight committed changes in /branches/work/konsole-split-view:

Add beginnings of a XMLGUI-based menu to Konsole.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 616882
Raul Fernandes committed changes in /trunk/playground/ioslaves/kio_rar:

Inicial support for password protected RAR archives

Diffs: 1, 2, 3, 4 Revision 616922
Matthias Kretz committed changes in /trunk/KDE/kdelibs:

add small lib that lists ALSA devices to be used in Phonon backends

now that I need FindAlsa in kdelibs should it be removed from kdemultimedia next monday?

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 617068
Rafael Fernández López committed changes in /branches/work/kio_uiserver:

No more hard-coding on delegate. Rewritten.
Added data to the model.
Icons are handled different. They can load the size that we need, from the SVG file.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 617205
Aaron J. Seigo committed changes in /trunk/KDE/kdelibs/kdeui/dialogs:

allow the user to "roam" with the mouse while the button is depressed; this lets you see the colour that will get picked before you release the mouse button.

patch by Vic Fryzel

KDE-PIM

Tom Albers committed changes in /trunk/playground/pim/mailody:

Implement 'save all' to save all attachments in one go. Including a routine to check for existing files with that name, as it is perfectly allowed to attach two times a file with the exact same name.

Tom Albers committed changes in /trunk/playground/pim/mailody:

Move away from a KTextBrowser and start using a KHTMLPart. This allowes me to make an option to load external images. Which is added with this commit as well.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 616774
Tom Albers committed changes in /trunk/playground/pim/mailody/src:

Rearrange the mailcheck interval. The interval can now be changed. Will help a lot when there is no connection possible.
Patch by: Frode M. Doving

Diffs: 1, 2, 3 Revision 617386
Adriaan de Groot committed changes in /branches/work/kdepim-3.5.5+/kpilot/kpilot:

Implement a threaded backup -- somewhat inefficient, since it starts a new thread for each DB to be backed up. Next step is to start up one thread and do all the backups sequentially from there.

Adriaan de Groot committed changes in /branches/work/kdepim-3.5.5+/kpilot/kpilot/pilotDaemon.cc:

Now that tray icon blinking between to-be-backed-up files actually works, it's pretty clear that a 350ms interval is way too nervous.

Tom Albers committed changes in /trunk/playground/pim/mailody/src:

Make it possible to hide the deleted messages.

Diffs: 1, 2, 3, 4, 5 Revision 617898
Allen Winter committed changes in /branches/KDE/3.5/kdepim/korganizer:

Add a print button next to each journal entry.
So, now you can print only 1 journal entry on a single sheet.
TODO: uncomment the tooltip and whatsthis strings at the next unfreeze.

Office

Thomas Zander committed changes in /trunk/koffice:

The results of my christmas weekend offline...
* Split the textlayout into a KWord and a KOffice-libs part so all KOffice apps can now enjoy all the ODF features (like borders/counters/etc) of the KoText shape.
* Add a InlineText concept with a plugin API so we can have differnt plugins that implement different ways to place things in the text. Like a shape or like a variable.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 616914
Cyrille Berger Skott committed changes in /trunk/koffice/krita/colorspaces/rgb_float_hdr:

add 32bits RGB float HDR colorspace

Diffs: 1, 2, 3, 4, 5, 6 Revision 617009
Cyrille Berger Skott committed changes in /trunk/koffice/krita/colorspaces/rgb_float_hdr/kis_rgb_float_hdr_colors:

implement convertToQImage, at least now, krita can start with an hdr colorspace and not crash shortly after

Thomas Zander committed changes in /trunk/koffice/libs/kotext:

Make variables plugins and add a registry plus loading for them.
Also add a very very simple variable plugin.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision 617231
Jarosław Staniek committed changes in /branches/koffice/1.6/koffice/kexi:

Startup, Main Window
- "User Mode" implemented; command line option --final-mode
replaced with --user-mode as described at <a href="http://kexi-project.org/wiki/wikiview/index.php?UserMode">http://kexi-project.org/wiki/wikiview/index.php?UserMode</a>;;
all actions related to design are hidden as well as property editor and navigator panes

General
= removed usage of KEXI_SERVER_SUPPORT macro

2.0: merged

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 13 more) Revision 617400
Thomas Zander committed changes in /trunk/koffice/libs/kotext:

Make the variable plugin stuff more generic and allow all sorts of inline object-plugins.
See <a href="http://wiki.koffice.org/index.php?title=KWord">http://wiki.koffice.org/index.php?title=KWord</a>; for the usecases.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 617769
Bart Coppens committed changes in /branches/koffice/1.6/koffice/krita:

When deselecting the adjustment layer, don't do weird stuff, but something reasonable. (But should it make everything adjusted, or nothing at all? Currently it does the 'everything adjusted' thing...)

Bart Coppens committed changes in /branches/koffice/1.6/koffice/krita:

Strange that this didn't work, but the new way is more consistent and actually works. Also changed the previously mentioned clearSelection on the adjustment layers to something sensible: Select All -> apply adjustment everywhere, Deselect -> apply nowhere.

Multimedia

Andrew Turner committed changes in /trunk/extragear/multimedia/amarok/src:

Experiment changes to the Collection Browser:
* Display (up to) 3 covers for artists
* To fit them in, show them to the right of the text
* For consistency, move the cover for an album there too
* Blank covers are not shown for artists, but are shown for albums
* Covers should be (implicity) shared by Qt.

The aesthetics could probably be improved, but I don't quite know how.
Personally, I'm not even sure I like it at the moment.

Credit to the idea goes to Theory

Andrew Turner committed changes in /trunk/extragear/multimedia/amarok/src:

Remove the Collection Browser filter instantly if you clear it with the button.
Previously, it waited 180ms first, as it does if you are typing in the filter bar.

Koos Vriezen committed changes in /trunk/extragear/multimedia/kmplayer/src:

Xmas travel hacking, get some RealPix to work w/ Cairo. Fill, Fadein/out seem to work nicely, Wipe/Crossfade is still broken

Diffs: 1, 2, 3, 4 Revision 616438
Alexandre Pereira de Oliveira committed changes in /trunk/extragear/multimedia/amarok:

Search inside of lyrics, by using "/" on Context Browser. Patch by Carles Pina i Estany.

I only changed the shortcut from Shift+/ to only /.

Alexandre Pereira de Oliveira committed changes in /trunk/extragear/multimedia/amarok/src:

Let Stop After Current work even when current track is removed from playlist.
It's a bit confusing I think. Maybe we need some indication that it's going to stop (maybe a different icon on the section of the down arrow/repeat modes?)
RFC

Alexandre Pereira de Oliveira committed changes in /trunk/extragear/multimedia/amarok/src:

Change filter to search, as disscussed on bug 126649

Alexandre Pereira de Oliveira committed changes in /trunk/extragear/multimedia/amarok/src:

Add a "Click to change" to the KSelectAction's tooltips of playlist window

Mark Kretschmann committed changes in /trunk/extragear/multimedia/amarok/src/collectiondb.cpp:

Don't physically delete custom cover images from the filesystem. Apparently users really don't like this, although it was originally meant as a feature.

Martin Aumüller committed changes in /trunk/extragear/multimedia/amarok:

migrate statistics when moving files from outside to collection, too

Koos Vriezen committed changes in /trunk/extragear/multimedia/kmplayer/src:

Support for RealPix srcx/y/w/h attributes

Diffs: 1, 2, 3 Revision 617901
Sebastian Trueg committed changes in /trunk/extragear/multimedia/k3b:

Introducing simple FAT filesystem check which replaces invalid characters with "_".

Networking Tools

Dario Massarin committed changes in /branches/work/make_kget_cool/kget:

Start to enable drag Start to enable drag & drop operations in the view and in the model.

More work is still necessary to make it work.

Diffs: 1, 2, 3 Revision 617631
Peter Simonsson committed changes in /trunk/extragear/network/konversation/src/inputfilter.cpp:

Support server kick... completely untested but should work in theory :)

Dario Massarin committed changes in /branches/work/make_kget_cool/kget/core:

A further step towards having the possibility to drag and drop transfers from one group to another. I don't know why after a drop operation the dropped transfer is not displayed anymore in the view, although the group has the decoration symbol indicating the presence of a transfer in it. On the other hand the underlying data structures are updated correctly. If you restart kget you'll see the transfer in the new position.

Anybody can catch this problem?

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 617999

User Interface

Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/actions/pencil2.svg:

new icon

David Vignoni committed changes in /trunk/playground/artwork/Oxygen/templates:

Template documents for creating 22x22 and 32x32 action icons.

Diffs: 1, 2, 3, 4 Revision 617304
David Vignoni committed changes in /trunk/playground/artwork/Oxygen/theme/svg/actions/small/16x16:

Kmail folder inbox and outbox icons.

Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/style_and_windec/parts:

starting

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 618035

Games

Matt Williams committed changes in /trunk/playground/games/ksquares/src:

Enable dynamic zooming of gameboard for usability

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 616237
Martin Koller committed changes in /branches/KDE/3.5/kdetoys/kweather:

Display weather data even if station needs maintenance
Patch included from Sok Ann Yap

Make the tooltip more informative by showing station name and more data

Matt Williams committed changes in /trunk/playground/games/ksquares/src:

Start foundations of AI support

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 616533
Dmitry Suzdalev committed changes in /trunk/KDE/kdegames/klines:

Score is working now.
And game over condition is checked, so no more Great Hungry Infinite Loop at the end.

It magically transformed into nice "GAME OVER" message on stderr :).

Diffs: 1, 2, 3, 4, 5, 6 Revision 616700
Dmitry Suzdalev committed changes in /trunk/KDE/kdegames/klines:

Preparations for support for displaying next balls' colors

Cédric Borgese committed changes in /trunk/KDE/kdegames/knetwalk/src:

Initial port to svg rendering.
I quickly made the graphisms, they need some (much...) improvment

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 18 more) Revision 617017
Johann Ollivier Lapeyre committed changes in /trunk/KDE/kdegames/knetwalk/src/pics/all.svgz:

New (unfinished) artwork for knetwalk.

Matt Williams committed changes in /trunk/playground/games/ksquares/src:

Further improve AI (I've only beat it once :S)Fix the multiple-scoreboard bug

Diffs: 1, 2, 3, 4, 5 Revision 617343

Optimization

Graphics

Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/libs/widgets/metadata:

Share world map pixmaps between GPS widgets of each sidebar. Saves >5MB memory.

Note (1): This memory for a pixmap is counted for the X.org server process, not the digikam process.
Note (2): These megabytes were mentioned by someone on digikam-user when I removed the WDestructiveClose flag from ImageWindow.
Here are the missing megabytes back.

KDE-PIM

Tom Albers committed changes in /trunk/playground/pim/mailody/src:

Optimisation: only parse the headers of the message when the headerlistviewitem wants to paint the cells. Also, optimized the cache for the flags of the messages, which is needed because the user can choose to hide the deleted message, so I need that info. All in all, it reduces the loading of 8000 message, back to 1200ms, which is roughly 3 times faster as it used to be.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 617959

Games

Matt Williams committed changes in /trunk/playground/games/ksquares/src:

Reduce includes so executable is much smaller: 2.5MB->1.8MB

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 617109
Dirk Rathlev committed changes in /trunk/KDE/kdegames/kspaceduel:

convert remaining bitmaps to png (saves again a few kb)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 14 more) Revision 617558

Other

Development Tools

Alexander Dymo committed changes in /:

Moved security plugin out of kdevelop3 source tree. It's not of production quality and was disabled anyways.

Boudewijn Rempt committed changes in /trunk/playground/devtools/koregressions:

Initial import

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 15 more) Revision 616906

KDE Base

Urs Wolfer committed changes in /trunk/KDE/kdelibs/kdecore/kglobalsettings.h:

enable icons by default on pushbuttons. wasn't that default in kde3?

Robert Knight committed changes in /branches/work/konsole-split-view/konsole:

* It is time to bite the bullet. This is the beginnings of an attempt to rewrite the Konsole front-end, the design is partly based on Kate.

* Everything kicks off in the kdemain function in start.cpp
* KonsoleApp encapsulates the main application as a unique single-instance application.
* KonsoleMainWindow is the main program window.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 616847
Kevin Ottens committed changes in /trunk/KDE/kdelibs/kdeui/util/kundostack.cpp:

Good News! KShortcut inherits QList<QKeySequence> so no need to make it that complicated (moreover now it's more robust in case we'd want to support more than primary and alternate).

Jacob Rideout committed changes in /branches/work/sonnet-refactoring:

Major changes. I've refactored almost everything. This is a code dump

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 55 more) Revision 617187
Christopher Blauvelt committed changes in /trunk/KDE/kdelibs/solid/examples:

Adding the hardware discovery tutorials. I will try to keep these identical to what's in the devnew wiki.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 617623

KDE-PIM

Adriaan de Groot committed changes in /branches/work/kdepim-3.5.5+/kpilot/lib:

Another round of documentation updates. At *some* point, the installed header files will actually be documented well enough that a third-party developer could use them :)

Diffs: 1, 2, 3, 4, 5, 6 Revision 616733

Office

Cyrille Berger Skott committed changes in /trunk/koffice:

initial port and refactor of the 16bit float colorspace for HDR (sorry for the warnings ;p)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 21 more) Revision 616985
Thomas Zander committed changes in /trunk/koffice/kword/part:

So, this is all the new rage, is it. Explicit constructors.
Can't stay behind then!

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 618054

User Interface

Aaron J. Seigo committed changes in /trunk/playground/artwork/Oxygen/docs:

simple spreadsheet to coordinate our work. not optimal but fast.
we'll work something out that is better with time.

Other

Clarence Dang committed changes in /branches/work/~dang/scripts:

Add 3 useful scripts I've had sitting around the place:

1. kbus (starts DBUS server safely)
~~~~~~~
Running a KDE 3 app starts the DCOP server. However, running a KDE 4 app does not start DBUS. This script ensures that DBUS is started exactly once for the current user, no matter how many times it is run.

Usage: ". kbus" or "source kbus".

Run this on every console and it will start DBUS the first time and setup the environment variables every time. In other words, you run it every time you need DBUS and it will take care of the details.

Maybe kdesdk/ already has a script that does this, not sure.

2. svnupfast (an "svn up" that takes half the bandwidth)
~~~~~~~~~~~~
When I was on a modem, "svn up" was far too slow so I experimented with an alternative: "svn up" in each subdirectory (and "svn up -N" in the root).

Benchmark: A checkout of <a href="https://svn.kde.org/home/kde/trunk/KDE/kdebase/konqueror">https://svn.kde.org/home/kde/trunk/KDE/kdebase/konqueror</a>; was updated from r514723 to r532882.

Update Method | Wall Clock Time | Bytes In | Bytes Out
---------------+-----------------+-----------+-----------
svn up | 3m32.312s | 1,022,071 | 82,589
svnupfast | 5m36.562s | 585,901 | 92,979

Conclusion: "svnupfast" is actually slower than "svn up" (probably due to handshake latency) but takes half the bandwidth (I've always suspected that SVN takes more bandwidth than needed).

"svnupfast" is therefore only faster on a shared connection where bandwidth is of the essence.

3. svn-import-changes (distributed revision control system)
~~~~~~~~~~~~~~~~~~~~~
Helps manually merge changes from one repository into another. Great for modem users.

The idea is that you take a checkout of the main repository and create a local repository using this checkout. You then work exclusively using the local repository.

When you have access to the main repository again, do a clean checkout and run this script inside this checkout, after modifying the script to point to your local repository.

It then merges your local repository into the main repository, revision by revision, pausing at each step. The pausing lets you CTRL+C to resolve conflicts and then you can restart the script again, after modifying it to point to the next revision.

The poor person's distributed revision control system. I'm sure SVK works much better but this is simpler and has fewer dependencies.

Diffs: 1, 2, 3, 4 Revision 616293
Kevin Ottens committed changes in /branches/work/kaction-cleanup-branch/KDE:

Branch whole KDE for KAction cleanup round 3!

Benoît Jacob committed changes in /trunk/kdesupport/eigen/examples:

First example is complete

Diffs: 1, 2, 3, 4, 5, 6 Revision 617518
Benoît Jacob committed changes in /trunk/kdesupport/eigen:

Release Eigen 1.0. Will mail the list with the details. In this commit, the only new code is the unary minus operator and the corresponding replaceWithOpposite() method. The rest is improvements in docs and website.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 617940