Issue 102

16th March 2008 by Danny Allen

This Week...

The beginnings of a network management applet in Plasma, work on containments, and improvements in the "RSS" data engine and "Devices" applet. Initial support for saving changes to documents in Okular. A Kross-based scripting plungin in KLinkStatus. "Tip-of-the-day" and "Qt methods to avoid" checkers for the Krazy code quality reporting system. First steps towards a C++ parser in Umbrello. Work on projection independence in Marble. More maintenance and bux fixing in Kooka. Continued work in KHTML. Expanded support for subtitles and audio channel selection in Phonon (prompted by the requirements of Dragon Player). A rewritten "Todo" view in KOrganizer. Further work towards Amarok 2.0. "HTTP webseeding" in KTorrent. Kross-based scripting in KPlato, with support for "find in multiple documents" in KOffice. Caching support extended to all KDE card games. Improvements in KTurtle, KNetwalk, and Kubrick. Initial imports and work on the "Killbots" and "Astrododge" games. Import of "RSSNOW", an alternate RSS feed reader Plasmoid. The Step physics package moves from playground/edu to kdereview so that it can move to the kdeedu module for KDE 4.1.
Tom Albers reports on the Akonadi meeting in Berlin:
We decided that we would try to move the various Akonadi parts to the correct places in subversion for the 4.1 release. And that is exactly what happened this morning, we moved libakonadi - the KDE dependent part - to kdepimlibs, the mailody resource moved to the other resources, etc.

I also removed the local copy of Akonadi we had in Mailody. That means Mailody now depends on kdepim in KDE's SVN. I expect the distributions to ship the resources in a separate package, so it is not a big problem. The Akonadi Server still has a dependency on KDE (KLocalSocket) - as soon as it's replaced by QLocalSocket, that part will move to kdesupport or somewhere else.

While Volker Krause and Tobias Koenig were moving things around, I started working on create a system tray application for controlling Akonadi. Already it can stop and start the Akonadi server and show the status of the server. Soon it will serve as 'host' for displaying errors from the different resources.

We started to review the API of Akonadi, which will probably result in some API changes tomorrow. One change will corrupt all current items in Akonadi, but it just needs to be done. All this has to be completed before the 4.1 release, as from that moment on, we cannot change the API.

Yesterday evening we continued working on Akonadi and Co. Kevin is working on replacing KLocalSocket with the new QLocalSocket, but that's not going that well yet. Thomas is working on the collection model/view/delegate (simple language: the folderlist), to allow it to make the unread count of the top level visible and available. Frode is cleaning up Mailody resources and the KCM, code style, indentation, consistent placement of the * and & signs, etc.

I made the system tray a bit more intelligent by watching DBUS to see if Akonadi is started or stopped. When it notices a change, the menu items are adjusted and the title of the context menu changes. That title of the context menu caused some headaches, because the kdelibs API did not have a way to do it, so I had to draw my own title above the context menu. Urs Wolfer spotted my commit and immediately fixed the kdelibs API and improved to layout of the title. That's awesome. I will change the tray application soon, but I don't want to force everyone to recompile kdelibs trunk and let kdepim depend on that. I assume not everyone has a build cluster like we have here at KDAB currently.

Tobias made some changes to the API just before we left the building, which broke kdepim and playground. We fixed that in the meanwhile. Today, Tobias continued API changes, assisted by Till and Volker. Frode implemented purging of mailboxes for the IMAP resource and I did some fixes here and there, one change made sure Mailody can be used for reading newsgroups from now on.

Today Thomas finished the delegate for the folder list, so folders with unread messages are painted differently and it makes it possible to add the unread count behind the folder name. It's not used right now, because the folder view needs to support selecting of the columns, which is not there out of the box. After that some more renamings happened.

Tobias worked on the 'search' and I heard him cheer a couple of times, so I think he had a basic working implementation. I'll look at it and see how it works, and activate it in Mailody when possible.

Volker fixed a rather important bug in the transaction code we use for MySQL and I found another little bug in the database scheme, a patch is pending review. After that we decided on some organisational issues: we are going to use #akonadi and, reluctantly, we will start using Bugzilla from now on. I've reported a couple of bugs so Volker doesn't forget them. I must say Bugzilla is in worse shape than I thought. I wish we could move on to something better.

After lunch, Volker, Kevin and Tobias started continuing the API review on the beamer. We already have a new list of changes we want to make, which probably break everything again and again. There was a large discussion about error handling, I did not understand the outcome, but I'll just watch the commits and ask again after that, as it needs to communicationg with the new Tray application, which I worked on a bit more today. The alerts it popups via KNotify were appearing up all over the place. So I replaced it with KPassivePopup which is able to determine the correct position. I would still prefer KNotify as that can be configured by the user, but I don't feel like hacking on KNotify right now.

The whole evening was filled with API discussions, we have made comments in the header files, with the changes we want to make and the next weeks we will implement all those changes. In the meanwhile I pimped the Akonadi KCM, by replacing a boring widget with the widget already available in Akonadi, which even shows the status of the different resources. Now it looks like this in Mailody:


Commits 2410 by 226 developers, 5987 lines modified, 1029 new files
Open Bugs 16196
Open Wishes 13790
Bugs Opened 252 in the last 7 days
Bugs Closed 246 in the last 7 days

Commit Summary

Module Commits
Lines Developer Commits
Thanomsub Noppaburana
Gilles Caulier
Sergiu Bivol
Laurent Montel
Pino Toscano
Khoem Sokhem
Rafael Fernández López
Allen Winter
Dan Meltzer
Helmut Schaa

Internationalization (i18n) Status

Language Percentage Complete
Portuguese (pt)
Greek (el)
Swedish (sv)
Japanese (ja)
Dutch (nl)
German (de)
Ukrainian (uk)
Polish (pl)
Low Saxon (nds)
Brazilian Portuguese (pt_BR)

Bug Killers and Buzz

Person Bugs Closed
Gilles Caulier
Robert Knight
Luboš Luňák
Aaron J. Seigo
Pino Toscano
Harald Sitter
Tristan Hoffmann
Thomas McGuire
Nikolaj Hald Nielsen
Peter Penz
Program Buzz
Person Buzz
David Faure
Stephan Kulow
Aaron J. Seigo
Torsten Rahn
Jonathan Riddell
Laurent Montel
Stephan Binner
Thiago Macieira
Zack Rusin
Adriaan de Groot

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools



  []    []


  []    []

KDE Base

[] [] []   []


[] []    []


  []    []




[] []    []

Networking Tools

[] []    []

User Interface



  []    []


[] [] []   []



There are 113 selections this week

Bug Fixes

KDE Base

Germain Garand committed changes in /trunk/KDE/kdelibs/kdeui/widgets/ktabwidget.cpp:

People should be very careful with Qt 4's setUpdatesEnabled() as one can end up unwillingly repainting enormous surfaces for no good reason.

"Re-enabling updates implicitly calls update() on the widget."

Here, the entire widget was repainted when setting the tab title, leading to flicker and breakage of web page transitions in konqueror.

Maks Orlovich committed changes in /branches/work/kjs-frostbyte/kjs/interpreter.cpp:

Figured out why there was a regression: seems like the long-living objects were messing with GC object density a bit.

The net result of the last 2 changes is that we're faster just about everywhere, 2.7% overall, with ~10-17% on call-heavy benchmarks.

Over the weekend thus far, we're ~9% faster, with 35-60% speedups on call-heavy benchmarks... And I have one more idea to try.

Germain Garand committed changes in /trunk/KDE/kdelibs/khtml/rendering/render_layer.cpp:

ameliorate the algorithm computing z-order mask for external widgets so that it also walk parent stacking contexts.

This should take care of all remaining cases of dhtml menus being displayed behind Flash/Java widgets.


Thomas McGuire committed changes in /trunk/KDE/kdepim:

Fix various spellcheck/highlighting issues:

- Decouple quote highlighting from spell highlighting, now quote highlighting works again when spellchecking is disabled.

Unfortunately, this is a bit hacky, as the methods from KTextEdit could not be reused, because they weren't virtual. KMeditor hides spellcheck-related methods inherited from KTextEdit and implements its own, properly working ones.

- Move more spellcheck code into KMeditor
- Many bugfixes related to spelling
- In KMail, sync languages used for spelling correctly between the highlighter, the config dialog and the spell dialog. This needs kdelibs 4.0.67 to work properly.

Also, spell checking in HTML mode now works, but again, you need an updated kdelibs.

Thomas McGuire committed changes in /trunk/KDE/kdepim:

Make HTML pastes work again.
Also, HTML mode in KMail is now activated as soon as the "Formatting" action is checked or the HTML toolbar is shown, not when the first formatting is applied.

Diffs: 1, 2, 3 Revision 785315


Dan Meltzer committed changes in /trunk/extragear/multimedia/amarok/src/collectionbrowser:

Fix one of the most annoying bugs that Amarok2 still had, not allowing the top level items to be selected in the collection browser. Now one can add an entire collection to the playlist (we may want to considder that) or, in the services, an Artist.

Dan Meltzer committed changes in /trunk/extragear/multimedia/amarok/src/meta:

Fix restoring playlists between sessions. Now items are grouped properly and usable for services as well as local tracks.

Diffs: 1, 2, 3, 4 Revision 784995

Networking Tools

Eike Hein committed changes in /branches/extragear/kde3/network/konversation:

* Partially rewrite channel password handling, fixing some UI out-of-sync quirks and improving naming consistency.
* Simplify channel auto-join and rejoin code.
* Fix a few bugs around rejoining channels after reconnects related to the cause of the disconnect, channel passwords and picking the actual list of joined channels over the network's auto-join list.
* Improve behavioral consistency in situations where the auto-join list is pre-empted by a transitory auto-join channel (bookmarks, etc.).

Some of this is stop-gap stuff until the connection management rewrite is merged, but the unrelated improvements required it, plus Juan's upcoming auto-join context menu stuff as well.

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


Fela Winkelmolen committed changes in /trunk/KDE/kdegames/knetwalk/src:

Never create games that have more than one solution.

Dirk Rathlev committed changes in /trunk/KDE/kdegames/kspaceduel/default_theme.svgz:

fix some graphical glitches which made kspaceduel virtual unplayable

nothing serious, so I would be glad if someone with a 4.0 checkout could backport this

Dmitry Suzdalev committed changes in /trunk/KDE/kdegames/klines:

Fix a bug coolo's wife found :)
Remove both lines if they form a "corner", e.g. like this:


or any other such occasion :)


Development Tools

Paulo Moura Guedes committed changes in /trunk/KDE/kdewebdev/klinkstatus/src:

- Introduce a new scripting plugin which uses the new Kross::ScriptingPlugin class that allows to easily place scripting actions in the menus.
Also added two new dbus interfaces, SearchManagerAdaptor and SearchManagerAgentAdaptor, which can be reused as scripting interfaces.
These interfaces are a work in progress but it should allow to do things like check a site and export results/send email with one line of code

- Create a common shared lib which will be used by the part and the new scripting plugin

- Fix xmlgui merge issue

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision 784090
Allen Winter committed changes in /trunk/quality/krazy2:

implement tip-of-the-day checking

Diffs: 1, 2, 3, 4 Revision 784501
David Nolden committed changes in /trunk/KDE/kdevplatform:

Add support for navigating non-duchain representable language objects, like macros in C++, by directly asking the language-support for range, jump-position, and navigation-widget.

Implement the navigation-widget viewing and jump-to actions in quickopen, and use the range to highlight such objects in the use-highlighter.

Unfortunately the highlighting does not work yet, seems like a problem in the editor. However the navigation-features work great.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 785015
David Nolden committed changes in /trunk/KDE/kdevelop/languages/cpp:

Implement navigation of macros through the new interface in ILanguageSupport.

Now, whenever you encounter a macro, you can:
- Jump to the position where it was defined
- See its body/signature and source-file in the navigation-widget
- See the preprocessed text that was yielded by the macro-use(including evaluation of the arguments of function-like macros).

Now you can finally easily see what exact code is created by all those function-like macros you use.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 785023
Jonathan Riddell committed changes in /trunk/KDE/kdesdk/umbrello/umbrello/codeimport/kdevcppparser:

First step towards a C++ parser based on boost::spirit : use of STL iterators to scan / parse. From Jean Vittor.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 785296
Allen Winter committed changes in /trunk/quality/krazy2/plugins/c++:

new checker for Qt methods that should be avoided.


Inge Wallin committed changes in /trunk/KDE/kdeedu/marble:

Improve Mercator layout of placemarks significantly

Diffs: 1, 2, 3, 4 Revision 783808
Inge Wallin committed changes in /trunk/KDE/kdeedu/marble:

Continue on the way to projection independent code everywhere.
This time: Painting of paths in the Measure Tool.

Bonus: The paths now also works on the Mercator projection.

To do: Make painting of measure point work projection independently.

Torsten Rahn committed changes in /trunk/KDE/kdeedu/marble/src/lib:

- Some changes to get the settings dialog ready for inclusion.

Diffs: 1, 2, 3, 4 Revision 785014
Inge Wallin committed changes in /trunk/KDE/kdeedu/marble:

Start of projection independence of VectorMaps:
- Improve API: Take ViewportParams instead of ViewParams

Diffs: 1, 2, 3, 4 Revision 785246
Vladimir Kuznetsov committed changes in /trunk/playground/edu/step/step:

modifying polygons with the mouse.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 785307
Cies Breijs committed changes in /trunk/KDE/kdeedu/kturtle/src:

First: sorry for the monster commit, but I don't have easy internet access (i'm on the road) and I could figure out 'git' before I got bored for figuring out.

second: it's good to have finally done some hacking on kturtle again.

the changes are mainly gui related, they clean up a lot in my opinion...

here my tick list:

* editor font now uses the default from kde global settings
* tripple dot behind the tool menu items (they open a dialog)
* remove print/find/edit-funct from the toolbar and place file-buttons on the left
* put speed in toolbar, dropping down from the run button
* make errors a tab (over the canvas by default) --> nice! i like the result
* disable the errors dialog and the inspector if editor got modified (info is the outdated on the current script)
* disable the editor while running (as that is what is running, and it sould not be
* build in script language (en_US) in settings now has a name in stead of a code

minor stuff:
* added some keybindings that might turn out handy (ctrl-I and ctrl-E)
* renamed 'toggle insert' to 'overwrite mode' like other kde editors
* organized the menu's a little and slightly changed some action names

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


Gilles Caulier committed changes in /branches/extragear/kde3/graphics/digikam/libs/dimg/loaders:

digiKam from KDE3 branch : RAW image loader : backport 8 bits color depth auto-gamma and auto-white balance adjustements from dcraw with 16 bits color depth.

These auto adjustments are performed only if Color Management is not used with image editor.

The color rendering in 16 bits is exactly the same than in 8 bits.

This is want mean than you can process speedly your RAW exactly as JPEG. Just set your usual settings in RAW dedoding and open your RAW pictures as well in editor.

This is the same way used by LightZone pro software to process RAW file without color management !

This way simplify the task in Raw workflow... and will be suitable in 90% of case. Color Management must be used in others cases...

Jonathan Marten committed changes in /branches/work-kde3:


* Report more information for errors while scanning
* Populate gallery subfolders when their parent is opened, bug 132699
* Update gallery parent directory when an image is deleted, bug 70473
* Don't deselect or unload image when renamed, bug 68532
* ScanPackager::slAddImage() -> addImage(), it doesn't need to be a slot
* Improve scan saving error reporting, move most of it to ImgSaver
* Add "Properties" option for gallery images and folders


* Accept any PNM file for SANE Debug testing

Pino Toscano committed changes in /trunk/KDE/kdegraphics/okular:

Add the possibility to save a copy of the document with the changes to it (only for form fields at the moment).

On the Document/Generator side, introduce a proper interface for the purpouse.

On the GUI side, add a new "Save As" function that save the changed document to a location.

The action is enabled only if the current backend can provide the functionality.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 784661
Pino Toscano committed changes in /trunk/KDE/kdegraphics/okular/generators/poppler:

Implement the interface for saving, so we can save a changed copy of the PDF document.

This requires Poppler 0.7 (aka 0.8beta1, not stable yet) and on.

Andrew Walker committed changes in /branches/extragear/kde3/graphics/kst/src:

add javaScript functionality for the KstVectorView class

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 784896
Pino Toscano committed changes in /trunk/KDE/kdegraphics/okular/part.cpp:

If a document requests to be launched fullscreen when loaded, ask the user if he really want to start the presentation mode.

Implements the KPDF wish #114648.

Jan Kundrát committed changes in /trunk/extragear/graphics/kphotoalbum:

Support different charsets when displaying EXIF/IPTC metadata

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

KDE Base

Christopher Blauvelt committed changes in /trunk/playground/base/plasma/applets:

Add the beginnings of a network manager applet. It's not even close to ready but my hard drive has been wonky so I don't want to lose what I got.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 17 more) Revision 783824
Sebastian Pipping committed changes in /trunk/KDE/kdelibs/kate/syntax/data/bmethod.xml:

B-Method highlighter by Ivo Anjo

Maks Orlovich committed changes in /branches/work/kjs-frostbyte/kjs:

First cut/portion of stack allocation of scopes.
For now it only does that for the local storage (and only using the machine stack for it, too)

It's also somewhat buggy; I am committing to separate out the bugfix, though.

For now it's only ~3.2% speedup overall, but it shows up as 17.4% better on access-binary-trees, 16.6% better on bitops-3bit-bits-in-byte, 18.6% better on controlflow-recursive, but 14.3% slower on bitops-nseive-bits.


Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 783858
Andreas Hartmetz committed changes in /trunk/KDE/kdelibs/kdeui:

Global shortcuts code with support for "unique" names and "friendly" (translated among other things) names.

Some semantic simplifications.

Will need some fine tuning but probably not much.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 783931
Rob Scheepmaker committed changes in /trunk/playground/base/plasma/engines/rss:

RSS dataengine now also fetches favicons to the cache directory, so connected applets can display favicons without much effort.

This commit also includes a couple of general coding style improvements.

Christopher Blauvelt committed changes in /trunk/KDE/kdebase/workspace/plasma/dataengines/soliddevice/soliddeviceengine.cpp:

Add the ability to go directly to device data if you already know the udi.

This also has the advantage of making the engine even leaner when only limited use it required.

Aaron J. Seigo committed changes in /trunk/playground/base/plasma/applets/webapplet:

the whole point of using WebKit is so that we don't have to have a qwidget hanging around with a proxy, etc, etc.

as much fun as indirect painting/rendering is, it's nicer to just paint straight to the canvas.

this also gives us the kernel of something very nice and easy to put into libplasma now as well.

zack: if there is some downside to using QWebPage directly, please let me know =)

Diffs: 1, 2, 3, 4 Revision 784539
David Faure committed changes in /trunk/KDE/kdebase/apps/konqueror/settings/konqhtml:

GUI: checkbox for the "Middle click on a tab closes it" option (which has existed for a long time, but didn't have a GUI).

Patch by Juan Carlos Torres, sorry that it took me so long to commit it.

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma/plasma:

run time addition and removal of containments

Diffs: 1, 2, 3, 4, 5 Revision 784943
Rivo Laks committed changes in /trunk/KDE/kdebase/workspace/kwin/effects:

Make shadow's color configurable and use color scheme for finding the default value.

Patch by Louai Al-Khanji

Diffs: 1, 2, 3, 4, 5 Revision 784969
Ian Monroe committed changes in /trunk/KDE/kdelibs/phonon:

Adding subtitle and audio channel selection support to the Phonon API, as discussed on the review board.

Phonon-xine support for this API is coming shortly, with Dragon Player later today or tomorrow.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 785244
Ian Monroe committed changes in /trunk/KDE/kdebase/runtime/phonon/xine:

phonon-xine support for the new subtitle and selectable audio channel API

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 785257
Chani Armitage committed changes in /trunk/playground/base/plasma:

new containment: blank desktop.

does nothing, no configuration, just has a plasma-themed bgcolour, a contextmenu, and the stuff Containment provides.

review welcome.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 785313
Fredrik Höglund committed changes in /trunk/KDE/kdelibs/kio/kio:

Implement support for editing file names.

Rafael Fernández López committed changes in /trunk/KDE/kdebase/runtime/kuiserver:

Now kuiserver implements the JobViewServer spec :)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 785408
Rafael Fernández López committed changes in /trunk/KDE/kdelibs/khtml/rendering:

Make possible to have transparent-background widgets. Prevent the lineedit to be filled with the base color, that way we remove the ugly frame around it.

Marco Martin committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/devicenotifier:

adds an eject icon as a second column in the device notifier only for mounted devices: it makes more intuitive to unmount a gived external disk.

the look at the moment is:
<a href="/issues/2008-03-16/files/devicenotifier_eject.png"></a>;

it's not the final one, the unification with kickoff menu aspect is in the works

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:

* new containment layout strategy for non-PanelContainments: lay them out in a lose gridish manner; not strictly a grid, and not strictly a packing-for-efficiency system, though it should be ok in that respect.

* allow containments to define what the layout should be

* a few less assumptions about panels and other containment types in the layout seting in addApplet

these are steps towards:
* more friendly for arbitrary containments on the desktop
* multiple containments
* ignoring braindamage that may eminate from the direction of regarding screen geometries

we can now add and remove containments on the fly as well as lay them out nicely.

next: UI! and that's one more 4.1 task DONE.

Alex Merry committed changes in /trunk/kdereview/plasma:

A bit of a redesign of the engine to provide automatic notification of added and removed players.

XMMS support is temporarily disabled until I implement a polling class for it.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 10 more) Revision 785703
Harri Porten committed changes in /branches/KDE/4.0/kdelibs/khtml:

Feature of HTML 5: getElementsByClassName().

Tried to introduce a bit of the WebCore style to make code better comparable but in some parts the differences were to great so I wrote them the khtml way.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 785783
Ivo Anjo committed changes in /trunk/KDE/kdebase/apps/kinfocenter:

Add new "processor information" module, based on solid (solidproc).
Disable the old processor module, which has been broken for a while.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 785813
Rob Scheepmaker committed changes in /trunk/playground/base/plasma/applets:

A couple of improvements to RSSNOW:
- Date is displayed on the items in a fuzzy way.
- Scrollers without an url don't fire the linkClicked signal anymore, and don't display the hand mousecursor.
- HTML entities are correctly displayed.

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


Thomas McGuire committed changes in /trunk/KDE/kdepim:

Some work on the editor stuff:

- Move some of the HTML mode handling into KMeditor, remove duplicated code elsewhere
- Add some more api dox to KMeditor
- Don't enable HTML mode by default
- Fix fixed font option
- Fix lists - they can now be removed again and the combobox is properly updated
- Fix incorrect missing attachment detection
- Remove and move around some other stuff
- Move init() into the private class of KMeditor
- Some style/kdebug fixes

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 783837
Thomas Thrainer committed changes in /trunk/KDE/kdepim/korganizer:

Introducing the rewrite of the todo view.
This todo view is separated in a model and a view following the Qt Model/View architecture.

I followed Bruno's move to the views/ subfolder (which he did for the new monthview) in order to have view-related classes grouped together in those folders.

Still todo:
* Write delegates for various fields (date edit delegate for the due date, a widget for choosing categories, ...)
* Popup-menu action partly don't work
* Popup-menu always displays all actions enabled, even if not appropriate
* Quick search works only for the summary, not for the category.
QSortFilterProxyModel has to be subclassed to add the logic for filtering categories too.
* Some options may not be appropriate any more, has to be reviewed

Known issues:
* There used to be a second instantiation of the Todo view in CalendarView (besides ViewManager). I don't know where this second instance is used (it's created with CalendarNull::self()), but it causes problems because the todo view is initialized with an empty calendar, but receives notifications about changed items (which are not in the todo view). For now, the instance in CalendarView is commented out.

* I removed the support to split the todo view in 3 parts. This was used to separate todo organized by others, by yourself and something else I don't remember. There are quite a few issues with this (yet alone there were tons of FIXME's and TODO's in the code regarding this feature).

Also, the usability aspect was not clear for me (what happens if you drag and drop a todo from one view to the other?). I think this feature needs some more discussion before being added again.

Jarosław Staniek committed changes in /trunk/KDE/kdepim:

Make KOrganizer and friends prettier.

1. Update icon names for missing icons:

recur -> task-recurring or appointment-recurring
bell -> task-reminder or appointment-reminder
checkedbox -> task-complete
organizer -> meeting-organizer
groupeventtentative -> meeting-attending-tentative
groupevent -> meeting-attending (OK???)
month -> view-calendar-month

(description of the icons: <a href=""></a>;)

2. add missing icons (copies of appropriate oxygen icons)

The icons are put into share/apps/kdepim/icons/, a place where icons shared by many apps could go.

Most of the icons will go to oxygen set itself when artists finish their work.

3. KOrganizer: Fix vertical positioning of icons like the 'reminder' within the appointment items.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 35 more) Revision 785105
Thomas Thrainer committed changes in /trunk/KDE/kdepim/korganizer/views/todoview:

Added support for copying a todo to another date using the popup-menu.

Removed the support for moving a todo to another date using the popup-menu.
This is actually editing the todo, an will thus be implemented directly in the todo view (similarly to editing the priority, progress, summary, etc.)

Diffs: 1, 2, 3, 4 Revision 785199
Marc Mutz committed changes in /trunk/KDE/kdepim/kleopatra:

Add functionality to change the expiration date of (OpenPGP) keys

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 785674
Didier Hoarau committed changes in /branches/work/akregator/onlinesync/akregator/src:

More integration with Google Reader

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


Martin Pfeiffer committed changes in /trunk/koffice/kformula/flake:

Make inserting of elements work, means tied the new gui to some actions, still a lot of potential for improvement...

* I NEED OXYGEN ICONS for formula shape *

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 783829
Emanuele Tamponi committed changes in /trunk/koffice/krita/plugins:

New code. No longer depend upon GSL (now the code compiles with default Krita dependencies).

Use new algorithm.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 30 more) Revision 783980
Dag Andersen committed changes in /trunk/koffice/kplato:


Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 784010
Boudewijn Rempt committed changes in /trunk/koffice/krita:

Basic unoptimized implementation of the top-down update strategy is done now; next is optimizing it and creating a third one that uses threadweaver again.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 784133
Emanuele Tamponi committed changes in /trunk/koffice/krita/plugins/painterlyframework:

Add new profiles and introduce 3-, 4-, 6-, 7-, 8-wavelenghts colorspaces.
Sorry for polluting the colorspace selection combobox, this is just for testing purposes.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 9 more) Revision 784745
Thorsten Zachmann committed changes in /trunk/koffice/libs/kotext:

Added support for find in multiple documents

The application can connect to the signals findDocumentSetNext and findDocumentSetPrevious to update to the next document that should be searched.

Diffs: 1, 2, 3, 4, 5, 6 Revision 785569
Thorsten Zachmann committed changes in /trunk/koffice:

Implemented find in text shapes. Up to now only forward search does work.

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


Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src:

Some work on a new volume slider. WIP, but I think it has potential

Diffs: 1, 2, 3, 4, 5 Revision 784089
Stanislas Krzywda committed changes in /branches/kscd/isi-kscd/kdemultimedia/kscd:

*Add configure window with 3 options:
- eject when the cd is finished,
- change the color of the text in the panel,
- change the font of the text in the panel.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 784323
Dan Meltzer committed changes in /trunk/extragear/multimedia/amarok/src/servicebrowser/lastfm:

Add support for displaying recently played tracks and recently loved tracks in the lastfm service.

This is still a work in progress, as we don't get the names until trying to play them.

Also, they don't actually play, though lastfm returns a proper stream, not sure if these simply don't have previews?

Bart Cerneels committed changes in /trunk/extragear/multimedia/amarok/src/podcasts:

Start of the SQL implementation for the PodcastCollection. I plan to hijack the local collection and create these tables in there, toghether with the other local stuff.

Please speak up if anyone thinks that is a bad idea.

Dan Meltzer committed changes in /trunk/extragear/multimedia/amarok/src:

Switch to using xspf by default again, some changes to the playlist classes to make this work more logically, and fix xspf saving

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 784993
Dan Meltzer committed changes in /trunk/extragear/multimedia/amarok/src:

Some more work on making the last fm service behave better:
*) Store the url to the lastfm stream in playlists, not the url to the current track
*) Show the names of recently loved/played tracks, not a generic "Track info"

Diffs: 1, 2, 3, 4, 5 Revision 785002
Richard Moe Gustavsen committed changes in /trunk/kdereview/phonon/qt7:

Implemented better lip-synching when switching between audio systems and when doing cross-fading

Diffs: 1, 2, 3, 4, 5, 6 Revision 785130
Dan Meltzer committed changes in /trunk/extragear/multimedia/amarok/src:

Add a StreamInfoCapability.
This allows for storing information about streams that encapsulate tracks in a nice abstracty way.

Implement this in lastfm and use this in xspf playlist saving to save metadata about the stream.

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

Networking Tools

Joris Guisson committed changes in /trunk/extragear/network/ktorrent/libbtcore:

Added initial version of HTTP webseeding (still buggy, but it downloads stuff)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 784180
Eike Hein committed changes in /branches/extragear/kde3/network/konversation:

Add an option to add and remove a channel from its network's auto-join list from the tab context menu. Work done jointly by Juan Torres and me. Includes some required architectural changes and resulting cleanups.

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


Stephen Kelly committed changes in /trunk/KDE/kdeutils/kjots:

Add feature to insert a checkmark into a page.

Diffs: 1, 2, 3 Revision 785973


Fela Winkelmolen committed changes in /trunk/KDE/kdegames/knetwalk:

* New scoring algorithm (now the score is based on the elapsed time as well as the number of moves)
* The cells now are always of the same size (it wasn't always the case, before).

Ian Wadham committed changes in /trunk/playground/games/kubrick/src:

Implement arbitrary whole-cube rotations, using the right mouse-button. Show the feedback for slice-moves, using the left mouse-button, as a tilting of the slice, rather than the slice blinking.

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


KDE Base

Germain Garand committed changes in /trunk/KDE/kdelibs/khtml:

Tighten our paint prevention timings to provide more responsiveness while keeping smooth page transitions.

Proper balance is not easy to achieve, as preventing the "white flash" is just part of the equation.

Layout stability, allowing early readability, is another important term - as is bandwidth. Engines with aggressive timings would get an unpleasnt, jerky feeling we want to avoid.

We'll use subtly progressive timings to get a good compromise.

Diffs: 1, 2, 3 Revision 783804
Maks Orlovich committed changes in /branches/work/kjs-frostbyte/kjs:

Avoid the re-allocation of Activations the easy way: cache a few.
This shows the expected big win on controlflow-recursive, but a slowdown on an another benchmark; investigating.

Also fix a bug in not doing stack free right on detach activations.

An alternative would be to do use a non-GC heap cache, along with deferred tearoffs --- only doing them after the function returns. One would still have to make sure the activations don't move (not hard), but then the marking would require a special case.

Diffs: 1, 2, 3, 4, 5 Revision 783927
Germain Garand committed changes in /trunk/KDE/kdelibs/khtml:

Large optimization of scrolling for pages containing "position: fixed" objects.

.replace the dumb approach of repainting the whole page always, by collecting fixed regions, repainting them individually, then blit-scrolling the remaining surface.

.also maintain a tighter count of fixed objects, so that changes of styles might trigger a switch from static to blitting (i.e. fast) background.

.consequently, go all the way to using QWidget::scroll() instead of native QWidget::move() for scrolling, so as to avoid the unescapable flicker when switching from a method to the other.

QWidget::scroll is - I believe, a tad slower, but not significantly so, and the gain in overall browsing smoothness is very satisfactory.

-change of scrolling method conveniently allows to avoid the serious scrolling bugs in 4.4 beta, making it possible to remove the disabling of alien widgets, which in turn should fix the problems Roman encountered in Kopete.

David Faure committed changes in /trunk/KDE/kdelibs/kio/kio/kdirmodel.cpp:

10x speedup in KDirModel::nodeForUrl() (called by indexForItem), by comparing paths instead of urls (KUrl::url() is too expensive for tight loops, and the whole logic of this method is to assume direct children of the directory url anyway)

Rafael Fernández López committed changes in /branches/work/goya/goya/itemdelegate.cpp:

After all this is not very different than KHTML. The trick was in the difference between having alphaChannel or not having it.

This way we are drawing more or less 940 times faster. Creating a mask is probably one of the worst graphical operations one can do, and it was in a paint() event, almost crazy.

You can find a test (written by Germain Garand) on <a href=""></a>;


Andreas Pakulat committed changes in /trunk/KDE/kdegames:

Add caching support for all kde card games. Ported lskat and kpat to use the new cache instead of each having their own cache.

The new cache is kdegames-global, i.e. any card game that uses libkdegames and the cache will automatically benefit from any decks that were cached by other games.

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



Inge Wallin committed changes in /trunk/KDE/kdeedu/marble:

Finalize the Projection'ification of the Measuretool.

The MeasureTool now fully uses the Projection classes and there is no trace of projection-dependent code left. (Well, there are traces, but they will be removed too soon.)

TODO: Now just repeat the paths themselves if the projection allows repeating in the X direction. The points are already repeated.

Diffs: 1, 2, 3 Revision 784349
Frederik Gladhorn committed changes in /trunk/KDE/kdeedu/parley/plasmoid/TODO:

add todo for plasmoid

Pino Toscano committed changes in /trunk:

move step for review

Diffs: 1, 2, 3, 4 Revision 786022


Aurélien Gâteau committed changes in /trunk/KDE/kdegraphics/gwenview/lib/scrolltool.cpp:

Invert Ctrl + mouse wheel behavior.
Similar to other image viewers (EoG, GQview, Gwenview 1.4)

Pino Toscano committed changes in /trunk:

move the epub backend for okular to review

KDE Base

Will Stephenson committed changes in /branches/work/~wstephens/solid-control-refactor:

Branch for the rewrite

Fredrik Höglund committed changes in /trunk/KDE/kdelibs/kdeui/kernel/kstyle.cpp:

- Add a nicer looking default item view selection / hover appearance.
- Enable hover effects in all item views.

Rafael Fernández López committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/trash/trash.cpp:

Add context to those translations. They meaning is different: sometimes we want to talk about an action "Empty the trash", and sometimes we want to talk about a state "The trash is empty". In spanish, for example, we make that difference.

I also wrote down this example on:
<a href="">

Kevin Ottens committed changes in /branches/work/goya:

First round of refactoring. On the menu today we can propose:
- as a starter, various changes to make this meal warning free;
- as main course, some renaming introducing Goya::ItemDelegate and Goya::WidgetProxy;
- for dessert, a delicious private constructor for WidgetProxy with its factory method in ItemDelegate.

Bon appetit!

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 785265
Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src:

Remove the semitransparent effect for hidden items in the IconManager, it just takes too much time at this part of the code.

David Faure suggested some alternative ideas, I hope I can try them before KDE 4.1.

Currently it is more important to keep the performance high.

Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src:

Don't force that the preview size must be >= the icon size. This gets confusing when the user uses the Zoom In/Zoom Out feature inside a view a lot (e. g. by Ctrl + scroll wheel).

This is because decreasing the preview size would also decrease the icon size, but when increasing the preview size again the icon size remains...

I even got confused myself by this "feature" although I knew the reason for it ;-)

Rob Scheepmaker committed changes in /trunk/playground/base/plasma/applets/rssnow:

Import of RSSNOW a brand new and shiny rss feed reader plasmoid.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 785823
Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src/metadatawidget.cpp:

When selecting 100 files in Dolphin and the Information Panel is shown, MetaDataWidget::setFiles() blocks Dolphin for around 15 seconds.

Maybe we should delegate this to a KJob...

In the meantime we temporary just reset the widgets (hoping that "meantime" means < KDE 4.1 ;-)).


Pradeepto Bhattacharya committed changes in /branches/kdepim/enterprise/kdepim/NewsLog.txt:

Preparing for today's enterprise release.

[Committing using this neat tool called kdesvn, seriously rocks. iirc, I used it or something like this some 1.5 years back or more. QSvn looks promising as well btw.]


Emanuele Tamponi committed changes in /trunk/koffice:

The Mixer is back! The paintop too but it doesn't work still.

Going to remove painterlyframework.old directory.

Compare objects, not addresses, in KoColor

Please accept that I comment that code in krita/image and krita/ui because it's the only way I can avoid the use of a KisImage in the Mixer, and those checks don't seem to be needed anyway.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 25 more) Revision 784544
Emanuele Tamponi committed changes in /trunk/koffice/krita/plugins/painterlyframework.old:

Finally remove painterlyframework.old!

Pierre Stirnweiss committed changes in /branches/work/koffice_trk:

Create koffice branch to work on change tracking

Boudewijn Rempt committed changes in /trunk/koffice/krita:

It's a pity, but now that we use the Qt tablet event handling, we don't need our nice and shiny tablet devices configuration.

Post 2.0, we'll need to replace it with a global brush curve setting preference page. (Updated TODO accordingly)

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


Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src/images/sidebar_button.svg:

New idea for sidebar buttons by Stephen

They need a little bit of tweaking as they use a couple of fixed colors in the gradients, but generally I think they look really nice.

Sven Krohlas committed changes in /trunk/extragear/multimedia/amarok/src:

Adding to the about box.

Matthias Kretz committed changes in /branches/phonon/4.1:

branch of libphonon 4.1 - the version that will be released with Qt 4.4

Networking Tools

Michael Zanetti committed changes in /trunk/kdereview/kopete/plugins/otr:

removed otr plugin because review period is over. moving into kopete now.

Michael Zanetti committed changes in /trunk/KDE/kdenetwork/kopete/plugins/otr:

adding kopete otr plugin (move from kdereview)

Helmut Schaa committed changes in /branches/work/knetworkmanager/knetworkmanager-0.7/src:

Keep up with NM 0.7 API

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


Nicolas Ternisien committed changes in /trunk:

Move SecPolicy to playground, where it will be rewritten and improved later


Parker Coates committed changes in /trunk/playground/games/killbots:

Initial import.

Killbots is a KDE port of the classic BSD console game "robots". The game premise is simple. For some reason you are trapped in a room with a bunch of killer robots that are trying to destroy you.

You must survive by avoiding the robots and causing them to collide with one another and/or the junkheaps remaining from previous collisions. The game play is turn based.

At any point you can teleport to a random cell on the board which may save you or may place you right next to a robot. In some rulesets you can collect energy, which can be used to teleport safely, without risk of landing in a dangerous cell.

Some rulesets also include a faster breed of robot that can move twice as fast as the regular variety. Extra points and/or energy can be gained by "waiting out the round", meaning that you will be unable to move for the remainder of the round until either you or all the robots have been destroyed.

Some rulesets allow the player to push junkheaps, either to form protective barricades or to crush robots. Crushing robots with junkheaps generally yields extra points or energy.

At this stage, Killbots supports SVG themes, animations, loading different rulesets, and highscores.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 39 more) Revision 783933
Rivo Laks committed changes in /trunk/playground/games/astrododge:

Initial import (local revision 111)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 37 more) Revision 784887
Fela Winkelmolen committed changes in /trunk/KDE/kdegames/knetwalk/src:

Now the bulk of the refactoring I wanted to do for kde 4.1 is done, I only want to still change the Directions enum (the idea is to make at a class..). I also hope to add a little documentation on how the code is structured soon.

So the next thing is to add new features (new scoring algorithm, GUI to change the theme), and fix the things I've broken (there is a performance regression in the painting right now).

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