prev
Issue 39
31st December 2006
by Danny Allen
next


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
/trunk/www
60
/branches/kdevelop
60
Lines Developer Commits
194
Laurent Montel
87
56
Adriaan de Groot
47
70
Ludovic Grossard
41
6
Achim Bohnet
39
91
Simon Hausmann
38
81
Alfredo Beaumont Sainz
38
81
Thomas Zander
35
80
Aaron J. Seigo
35
60
Jens Dagerbo
34
140
Martin Koller
30

Internationalisation (i18n) Status
Language Percentage Complete
Portuguese
99.99%
Danish
99.98%
Swedish
99.96%
Spanish
98.08%
Dutch
97.52%
Estonian
95.70%
Greek
95.73%
German
95.17%
Italian
94.35%
French
92.78%

Bug Killers and Buzz
Bug Killer Number Of 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
Sebastian Trueg
6
Albert Astals Cid
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
92.5 %       Male
8.64 %       (unknown)
0.455 %       Female
Motivation
46.9 %       (unknown)
42.1 %       Volunteer
12.6 %       Commercial
 
Ages
76.2 %       (unknown)
13.1 %       35 to 44
13.1 %       25 to 34
8.45 %       18 to 24
0.650 %       Under 18
0.455 %       45 to 54


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 [*]


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
Bug 111341: c++ parser runs on the active file, even if it isn't a c++ file
Bug 117621: all //xxx fixme is printed twice
Bug 131716: Line numbers should be sorted numerically instead of lexographica...
Bug 135958: Flickering in Problems Tab
Diffs: 1, 2, 3, 4 Revision 617453

Jens Dagerbo committed changes in /branches/kdevelop/3.4/parts/grepview:
Stop with the blinking already!
Bug 97376: 4 blinking carets in the "Find in Files" dialog window
Diffs: 1, 2 Revision 618040

Games
Martin Koller committed changes in /branches/KDE/3.5/kdetoys/kweather:
Fix the calculation of sunrise/sunset and the calculation of isNight.
Patch provided by J.O. Aho
Bug 136312: Incorrect sunrise and icon for weather station in other timezone
Bug 129679: sunrise/sunset time 1 hour offset, winter/summer time change bug?
Bug 115920: Displays night icon at noon with complex timezone settings
Bug 113339: Sunset & sunrise times are crazy in UK
Bug 87642: sunrise and sunset times incorrect
Diffs: 1, 2 Revision 616456

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
Bug 81098: auto text resizing causes problems
Bug 73202: Text / Font problems with kweather with horizontal kicker
Bug 134387: This applet needs to contrain it's max size
Diffs: 1, 2 Revision 617101

KDE-Base
Martin Koller committed a change to /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
Bug 21855: Mouse pointer update when scrolling and hovering over a link
Diff Revision 617643

Martin Koller committed a change to /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
Bug 24735: close window doesnt work with open dialog box
Diff Revision 617678

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
Bug 24820: [patch] visited links don't change colour until after they are ho...
Diffs: 1, 2, 3 Revision 617941

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

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.
Diffs: 1, 2 Revision 616406

Martin Aumüller committed changes in /trunk/extragear/multimedia/amarok:
make copy/select all work in context browser's html views
Bug 138635: Copy with Ctrl+C doesn't copy marked text but current track with...
Diffs: 1, 2, 3 Revision 617290

Martin Aumüller committed changes in /trunk/extragear/multimedia/amarok:
don't crash when quitting while still loading the saved playlist
Bug 136353: Crash when closing amarok directly after startup
Diffs: 1, 2, 3 Revision 617346

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

Office
David Faure committed a change to /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, http://www.openoffice.org/issues/show_bug.cgi?id=72920
Diff Revision 616255

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
Bug 138429: cannot add text to picture after cancel
Diffs: 1, 2, 3 Revision 617757

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.
Bug 131450: Documentation shortcuts don't work as expected
Diffs: 1, 2, 3 Revision 617133

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.
Bug 122385: Impossible to disable error checking
Diffs: 1, 2, 3, 4, 5, 6 Revision 617644
View Visual Changes (to 1 file)

Jens Dagerbo committed a change to /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.
Diff Revision 617672

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.
Bug 139142: kdevelop 3.3.5-30 does not honor case in filenames when creating...
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 617732

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
View Visual Changes (to 3 files)

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
Bug 139237: Add a <division> tag in the description file
Diffs: 1, 2, 3, 4, 5 Revision 617340

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
Bug 123358: More intelligent quiz design
Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 617383

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
View Visual Changes (to 1 file)

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
View Visual Changes (to 1 file)

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
Bug 97107: weather info not shown for stations needing maintenance
Bug 134426: show weather information as balloon
Bug 108427: tooltip contains no usefull information at all
Diffs: 1, 2, 3, 4 Revision 616506
Discussion

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
View Visual Changes (to 1 file)

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
Diffs: 1, 2 Revision 616712

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
View Visual Changes (to 1 file)

Johann Ollivier Lapeyre committed a change to /trunk/KDE/kdegames/knetwalk/src/pics/all.svgz:
New (unfinished) artwork for knetwalk.
Diff Revision 617331
View Visual Changes (to 1 file)

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

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.
Bug 137722: Show context menu for annotations in side pane
Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 617807

KDE-Base
Vincent Ricard committed a change to /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)
Diff Revision 616430

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 a change to /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
Diff Revision 616543

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
View Visual Changes (to 1 file) Discussion

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
Discussion

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
Diffs: 1, 2 Revision 618032
Discussion

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.
Diffs: 1, 2 Revision 616708

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.
Diffs: 1, 2 Revision 617517

Adriaan de Groot committed a change to /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.
Diff Revision 617552

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.
Diffs: 1, 2 Revision 617948

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
Diffs: 1, 2 Revision 616254

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.
Diffs: 1, 2 Revision 616261

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 /.
Bug 139210: search text in lyrics
Diffs: 1, 2, 3 Revision 616534

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
Bug 111690: Amarok does not stop after current track if track is not in playl...
Diffs: 1, 2 Revision 616542

Alexandre Pereira de Oliveira committed changes in /trunk/extragear/multimedia/amarok/src:
Change filter to search, as disscussed on bug 126649
Bug 126649: Search tooltips should use the word "search" instead of...
Diffs: 1, 2, 3, 4, 5, 6 Revision 617018

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
Bug 130248: indicate next repeat option in tooltip
Diffs: 1, 2 Revision 617030

Mark Kretschmann committed a change to /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.
Bug 118069: Pretends to let me delete covers from id3 tags or filesystem
Bug 134043: album covers are deleted
Diff Revision 617196

Martin Aumüller committed changes in /trunk/extragear/multimedia/amarok:
migrate statistics when moving files from outside to collection, too
Bug 127776: "Move Files to Collection" - stats are gone
Diffs: 1, 2 Revision 617291

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 "_".
Bug 107616: ripping to fat32 fails with illegal characters in filename
Diffs: 1, 2, 3, 4, 5 Revision 618058

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 a change to /trunk/extragear/network/konversation/src/inputfilter.cpp:
Support server kick... completely untested but should work in theory :)
Diff Revision 617665

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

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 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 committed a change to /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
Diff Revision 617038

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

Jaroslaw 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 http://kexi-project.org/wiki/wikiview/index.php?UserMode;
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 http://wiki.koffice.org/index.php?title=KWord 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...)
Bug 137708: Should be the way to paint on adjustment laeyrs
Diffs: 1, 2, 3 Revision 617779

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.
Bug 137708: Should be the way to paint on adjustment laeyrs
Bug 137638: Strange Behaviour wih Select All and adjustement layer
Diffs: 1, 2 Revision 617918

User Interface
Nuno Fernades Pinheiro committed a change to /trunk/playground/artwork/Oxygen/theme/svg/actions/pencil2.svg:
new icon
Diff Revision 616786
View Visual Changes (to 1 file)

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.
Diffs: 1, 2 Revision 617307
View Visual Changes (to 2 files)

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
View Visual Changes (to 4 files)

Optimise
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
View Visual Changes (to 11 files)

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.
Diffs: 1, 2 Revision 616500

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

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.
Diffs: 1, 2 Revision 616510

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 a change to /trunk/KDE/kdelibs/kdecore/kglobalsettings.h:
enable icons by default on pushbuttons. wasn't that default in kde3?
Diff Revision 616413
Discussion

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

Kévin Ottens committed a change to /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).
Diff Revision 616905

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
View Visual Changes (to 2 files)

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 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

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 https://svn.kde.org/home/kde/trunk/KDE/kdebase/konqueror 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

Kévin Ottens committed a change to /branches/work/kaction-cleanup-branch/KDE:
Branch whole KDE for KAction cleanup round 3!
Diff Revision 617208

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

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.
Diffs: 1, 2 Revision 617437

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