Issue 129

21st September 2008 by Danny Allen

This Week...

Various work across Plasma, including improved applet handles with monochrome icons, work on the Weather Plasmoid and the start of an extender-based notification applet. Continued development in PowerDevil, including support for suspend. Long-standing "slow deletion of many files" bug is finally fixed. A System Settings module for choosing the default file manager. Basic implementation of red eye reduction in Gwenview. A generator for G3/G4 fax documents in Okular. Support for filter plugins in Kst. More work on code completion in KDevelop 4. Start of a D-Bus interface in Lokalize. First working implementation of KMenuEdit global shortcuts. Work on supporting different resources in the Akonadi OpenSync plugin. The return of Ark context-menu actions. Liechtenstein, Oman, and San-Marino maps in KGeography. Previews of slide transition effects in KPresenter now happen directly on the affected slide. A KFormula widget is extracted from KOffice and moved into kdelibs for use in other KDE applications. Work on porting Keep, a backup utility, to KDE 4. NEPOMUK query libraries move from kdereview to kdebase/workspace, with the search KIO slave moving into kdereview. A KDE 4 port of KnowIt, a note taking application, is imported into KDE SVN. Eigen 2.0 Beta 1 is tagged for release.
Ryan P. Bitanga introduces QuickSand, an alternative KRunner interface:
QuickSand is an alternative interface heavily inspired by the "Primer" interface of Quicksilver in Mac OS X.


QuickSand differs from the current KRunner interface in several ways. QuickSand has 3 different display modes: "Icon Parade", "Selected Item", and "Text" mode. The default display mode is "Icon Parade". Instead of displaying a line-edit, QuickSand presents the user with a matches pane asking the user to type something to be searched. Upon typing, the search string is displayed on the upper left corner of the matches pane. If matches are found, the number of matches is displayed on the upper right corner of the match pane. The icons are of the matches are lined up horizontally in the match pane and a pop-up completion box is shown to guide the user in selecting the appropriate match. The user can scroll through the available matches by pressing the up and down keys (when the pop-up box is shown) or the left and right keys.


Hitting <enter> will select the match and display only the selected item. Clicking on the arrow on the upper right corner of the match pane will toggle between "Icon Parade" and "Selected Item" modes.


If the user would rather see a line edit, pressing the <.> (dot) key will change the display to "Text" mode. A line edit will replace the scrolling icons in the match pane.

One of the primary reasons for writing QuickSand was to provide support for multiple actions. For example a match for an open application window can have several actions associated with it. The window can be minimized, set on all desktops, etc. QuickSand supports multiple actions in the same manner as matches for a search. If a particular match has several actions associated with it, an action pane appears below the match pane with the first action selected. Pressing <tab> will switch to the action pane and the user can select from the various available actions in the same manner as matches.


Hopefully, QuickSand will be provided as an option in KRunner allowing users to select between the default interface and QuickSand.

Another future development would be support for actions that require objects/targets. For example given a match for a file "screenshot.jpg" and an action of "e-mail to...", a possible object would be "danny@commit-digest.org". Support for objects would be as simple as placing an object pane below the action pane and displaying it whenever the currently selected action requires an object.
Gopala Krishna evaluates the progress made in the Summer of Code project for Umbrello:
Hi, my name is Gopala Krishna and I am currently pursuing Engineering in Information Science at Bangalore, India.

Umbrello is a KDE tool for UML drawing and it comes with the kdesdk module. Umbrello has been ported to KDE4 but still there are some rough edges here and there.

Google Summer of Code 2008 gave me an opportunity to contribute to KDE and I worked on the GraphicsView port of Umbrello and brought graphics bling into it. My mentor was the awesome Kubuntero, Jonathan Riddell.

I started with the literal Q3Canvas to GraphicsView transformation and intially succeeded removing the Q3Canvas dependency entirely. Of course, this broke almost all the drawing. Doing lots of string changes with the help of emacs, I could get the drawing back.

To continue, I had two choices for UML diagram widgets:
  1. Tweak the sources to restore all the broken stuff (mouse handling and others)
  2. Redesign them utilizing all the goodies provided by GrapicsView. (obviously more work but more futuristic)
I chose the second option as I love challenges! The first step was to redesign the base classes separately in a new namespace so that I could port the UML widgets incrementally. This base classes supported additional functionality like minimum/maximum size support, gradient fills, and so on.

Next came widget resizing mechanism. The previous version allowed resizing only from the bottom-right corner. I wrote a new class called WidgetHandle - a QGraphicsItem which handles all the resizing (all 8 locations) for a UML widget and also changes mouse cursor appropriately on hovering along any of the 8 locations. Here is file snapshot ;)


While trying to port UML widgets, I observed that a lot of widgets needed to display text and hence every class had to do lots of font calculation for handling drawing and geometry.

I came up with an idea to isolate all text handling stuff and I encapsulated them into TextItem and TextItemGroup classes. I evaluated the performance before this step, and you can find the results of evaluation here.


TextItems is one of the coolest parts of the project according to me, as this step led to the addition of support for rich text handling, hovering effects and tooltips, alignment, and also in-place editing of Widget's text quite easily. Isn't that cool?

Now almost all the UML widgets use TextItemGroups and TextItems to display their text which has freed them from the individual versions of font calculation code.

Here are screenshots of Umbrello showing some bling!


I am currently working on a new implementation of LinePath used to draw AssociationWidget lines. It sports new features, like highlighting the segment or point on the LinePath when the mouse hovers over it (for improved usability!):


My future plans involve integrating my work into trunk/ as soon as possible so that KDE 4.2 includes my work. I have plans to make the undo/redo handling more robust and implement cut/copy/paste based on XMI. And with the Umbrello community support, I think this is achievable :-)

The code is available at http://websvn.kde.org/branches/work/soc-umbrello/.

Statistics

Commits 2364 by 216 developers, 7670 lines modified, 1686 new files
Open Bugs 17094
Open Wishes 14474
Bugs Opened 322 in the last 7 days
Bugs Closed 227 in the last 7 days

Commit Summary

Module Commits
/trunk/KDE
825
 
/trunk/l10n-kde4
309
 
/trunk/playground
214
 
/trunk/extragear
156
 
/branches/work
146
 
/branches/stable
146
 
/trunk/l10n-support
95
 
/trunk/koffice
79
 
/branches/extragear
76
 
/branches/KDE
75
 
Lines Developer Commits
470
 
Gilles Caulier
213
 
307
 
Thomas McGuire
153
 
82
 
Chusslove Illich
74
 
2056
 
Volker Krause
74
 
139
 
Laurent Montel
67
 
163
 
Aaron J. Seigo
66
 
123
 
Dario Freddi
60
 
138
 
David Faure
51
 
100
 
Michael Jansen
43
 
49
 
Allen Winter
41
 

Internationalization (i18n) Status

Language Percentage Complete
Ukrainian (uk)
100%
 
Portuguese (pt)
100%
 
Galician (gl)
99%
 
Swedish (sv)
99%
 
Greek (el)
98%
 
Estonian (et)
97%
 
Low Saxon (nds)
92%
 
French (fr)
91%
 
Japanese (ja)
88%
 
Spanish (es)
88%
 

Bug Killers and Buzz

Person Bugs Closed
Robert Knight
23
 
Jaime Torres
17
 
Pino Toscano
16
 
George Kiagiadakis
12
 
Aaron J. Seigo
11
 
Roman Jarosz
10
 
Thomas McGuire
9
 
Seb Ruiz
9
 
Luboš Luňák
8
 
Stephan Kulow
7
 
Program Buzz
Amarok
9815
 
K3B
4875
 
KMail
4840
 
Kopete
3320
 
KDevelop
2595
 
Plasma
2489
 
Kaffeine
2037
 
Kate
2001
 
Solid
1873
 
Kontact
1790
 
Person Buzz
David Faure
2110
 
Stephan Kulow
1749
 
Aaron J. Seigo
1390
 
Torsten Rahn
1367
 
Jonathan Riddell
1132
 
Laurent Montel
1030
 
Stephan Binner
782
 
Thiago Macieira
668
 
Zack Rusin
638
 
Adriaan de Groot
631
 

Commit Countries

Commit Demographics

Sex

Age

Contents

  Bug Fixes Features Optimization Security Other

Accessibility

     

Development Tools

  []    []

Educational

  []    []

Graphics

  []    []

KDE Base

[] [] []   []

KDE-PIM

  [] []   []

Office

  []    []

Konqueror

     

Multimedia

[] []    []

Networking Tools

  []    []

User Interface

     []

Utilities

  []    []

Games

  [] []   

Other

     []

There are 143 selections this week

Bug Fixes

KDE Base

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

* avoid NVidia+Qt4 buffer clearing problems, by making our widgets have a private buffer.
* for the same reason, always fully clear our shared opacity buffers - or we might get artifacts on NVidia cards such as on www.codetch.com/screenshots/

Diffs: 1, 2, 3, 4, 5 Revision 861057
Rafael Fernández López committed changes in /trunk/KDE/kdelibs/khtml/rendering/render_replaced.cpp:

Send mouse move events to the hovered widget, now listviews are highlighted correctly where the mouse is

David Faure committed changes in /trunk/KDE/kdelibs/kio:

Finally fixing bug 43356: "deleting files in directories with more than 3000 files gets painfully slow" (from 2002, with 260 votes)

With model/view we can finally update the view in a better way: by chunks instead of item-after-item. This required adding a itemsDeleted signal to KDirLister, and some figure-out-consecutive-removals logic in KDirModel using QBitArray (for beginInsertRows).

Results:
Deleting 5000 files with konqueror-4.1: 8 minutes (30 seconds stat'ing, 5 seconds deleting, and then 7'25" until the view refreshes).

Deleting 5000 files with konqueror-trunk: 15 seconds (2 seconds stat+deleting, 13 seconds until the view refreshes).

Luboš Luňák committed changes in /branches/KDE/4.1/kdebase/workspace/kwin:

Disable shadow with effects that transform windows, such as wobbly, since shadow currently can't handle that. (bug 161330)

Kevin Kofler committed changes in /trunk/KDE/kdelibs/khtml:

KHTML fix: Make "stop animations" work again in Konqueror (kde#157789 KDE 4 regression).

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

Nasty bug, this one, took a long time to debug.
Fix warning from scheduler saying "KIO::SchedulerPrivate::slotSlaveDied: Scheduler: BUG!! Slave KIO::Slave(0x6ee820) / 3788 died, but is NOT in slaveList!!!" simply because deref() used to delete the slave immediately in kde3, and delayed in kde4, so it would keep processing the replies sent by the slave.

Multimedia

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

Refactored TrackTooltip (systray tooltip widget).
* Fixed metadata handling. Works now correctly for streams too.
* Widget is now independent from the App object, and updates itself.
* Various bugfixes, and less code.

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

Features

Development Tools

David Nolden committed changes in /trunk/KDE/kdevelop/languages/cppduchain.cpp:

New special Code-completion within instantiated template classes.
This means you can jump into a template-class, see the actual types/values of all template-dependent types, and get code-completion on them.

To activate this, you current have to jump to the specialized declaration using the quickopen shortcut "CTRL+.".

Soon also to work with use-building and the context-browser, also this will get a little UI to change the template parameters while you're in a template.

Diffs: 1, 2, 3 Revision 861049
Cedric Pasteur committed changes in /trunk/KDE/kdevplatform:

Modify the way settings are saved
This enables to undo choices of styles and plugins.

Deleting and adding styles cannot be undone, but there are warning dialogs so it's not a problem imho

Diffs: 1, 2, 3, 4, 5 Revision 862608
Niko Sams committed changes in /trunk/playground/devtools/kdevelop4-extra-plugins/php:

Add predefined constants, so we can provide autocompletion for those.

Niko Sams committed changes in /trunk/playground/devtools/kdevelop4-extra-plugins/php/duchain:

also automatically import constants from other files

Diffs: 1, 2, 3, 4, 5, 6 Revision 862912
Nick Shaforostoff committed changes in /trunk/KDE/kdesdk/lokalize/src:

-start of DBus interface.
-add qdbus shell script that initiates search for a gui string in translation memory to be called by kdelibs (CopyWidgetText feature I added a while ago). it is installed in lokalize data directory

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

Educational

Laurent Garnier committed changes in /trunk/KDE/kdeedu/kgeography:

Adds Liechtenstein, Oman and San-Marino

Diffs: 1, 2, 3, 4, 5, 6 Revision 861356
Aleix Pol Gonzalez committed changes in /trunk/KDE/kdeedu/kalgebra/src:

Improvements on the expression highlighter.

Diffs: 1, 2, 3 Revision 862045
Aleix Pol Gonzalez committed changes in /trunk/KDE/kdeedu/kalgebra:

Changed the lexer to be able to inject tokens when needed (3x=> 3*x)

Diffs: 1, 2, 3, 4, 5, 6 Revision 862069
Tomaz Martins dos Santos Canabrava committed changes in /trunk/playground/edu/Rocs/src-rewrite:

drawing nodes on screen working

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

Graphics

Henner Zeller committed changes in /trunk/extragear/graphics/kphotoalbum:

Implement experimental cache preheating.
When paging through the thumbnail view, try to already pre-heat the cache with the next/previous page.
This first experiment looks quite promising so far.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 861036
Aurélien Gâteau committed changes in /trunk/KDE/kdegraphics/gwenview:

Started to implement red eye reduction.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 861129
Mike Fenton committed changes in /branches/work/kst/portto4/kst/src:

Add basic support for filter plugins.
Port Despike filter to new format.
Update Plugin Interface to include Type and Description.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 12 more) Revision 861982
Gilles Caulier committed changes in /branches/work/libkdcraw-dng/dngtools/raw2dng.cpp:

add DNG preview image creation

Tobias Koenig committed changes in /trunk/KDE/kdegraphics/okular/generators:

Add generator for G3/G4 fax documents

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

Add an "Approved" SVG stamp, kindly provided by Eugene Trounev [it-s].
Thanks!

Diffs: 1, 2, 3 Revision 862879

KDE Base

Dario Freddi committed changes in /trunk/KDE/kdebase/workspace/powerdevil:

* Adding Timer based poller
* Fixing XSync, now 100% working
* Fixes, now PowerDevil is 99% stable

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 861114
Dario Freddi committed changes in /trunk/KDE/kdebase/workspace/plasma/runners/powerdevil/PowerDevilRunner.cpp:

Fixing runner, adding suspend support

Jason Stubbs committed changes in /trunk/playground/base/plasma/applets/systray-refactor:

Added a NotificationProtocol class and refactored the FDO plugin to use it

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 13 more) Revision 861178
Petri Damstén committed changes in /trunk/KDE/kdebase/workspace/plasma/scriptengines/webkit:

Add webkit package format and more complete plasma api to webkit plasmoids.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 861220
Aaron J. Seigo committed changes in /trunk/KDE/kdeplasma-addons/applets/fifteenPuzzle/src:

* scalable pieces!
* some interaction fixes (e.g. clicking about on already moving pieces)

based on a patch by Anthony Bryant

Diffs: 1, 2, 3, 4, 5, 6 Revision 861266
Erlend Hamberg committed changes in /trunk/KDE/kdelibs/kate:

add a vi input mode config tab to the settings dialogue

Diffs: 1, 2, 3, 4, 5 Revision 861288
Oswald Buddenhagen committed changes in /trunk/KDE/kdebase/workspace/kdm/kfrontend:

theming: support specifying a background for other screens than the greeter is on.

items now can have a screen attribute for that purpose.

Diffs: 1, 2, 3, 4, 5 Revision 861292
Christian Mollekopf committed changes in /branches/work/plasma-groupingtaskbar/libs/taskmanager:

added support for basic color and icon suggestions

Norbert Frese committed changes in /trunk/playground/ioslaves/kio-giobridge/giobridge:

implement auto-mounting for all operations

Diffs: 1, 2, 3 Revision 861405
Dario Freddi committed changes in /trunk/KDE/kdebase/workspace/powerdevil:

Implementing error detection in the KCModule, removing dialogs from the daemon

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 861507
David Faure committed changes in /trunk/KDE/kdebase/runtime/kcontrol/componentchooser:

Systemsettings module for choosing the default file manager.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 861594
Matthias Fuchs committed changes in /trunk/KDE/kdeplasma-addons:

Implements changes in comic applet/dataengine:
* dataengine provides the identifier of the first strip
* go to first strip in context menu
* go to most recent strip in context menu
* improves some providers

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

Nicer looking progress bar, and added some tooltips.

Diffs: 1, 2, 3 Revision 861614
Rob Scheepmaker committed changes in /trunk/playground/base/plasma/applets/extendified_notify:

Start of an extendified notification applet.
Not only does this version use extenders for displaying notifications, it's also based on PopupApplet which means removal of a lot of duplicate code.

Code can maybe be cleaned up a bit more, but it basically works.

Only major regression: it no longer groups notifications of the same app.
To do this neatly, it would require grouping support in extenders and that's more something for 4.3 I think.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 861627
Dario Freddi committed changes in /trunk/KDE/kdebase/workspace/powerdevil/kcmodule/EditPage.cpp:

Adding support for determining whether brightness controls are available

Sebastian Kügler committed changes in /trunk/playground/base/plasma/runners/katesessions:

This Runner now loads a list of Kate's sessions and matches KRunner's queries against it.
It's pretty much ready to move into kate.

The matching goes as follows:
* You type "kate" into the krunner interface, this Kate Session Runner adds all kate sessions, with a low priority (0.5)
* You type "kate gnirrep" and the runner will find a session called "gnirrep", priority 1.0
* Typing just a part, such as "kate gnirr" also results in a match, but lower priority (0.8)
* Typing just the (parts of) the name of the session will also match (the "kate" in the query is optional).

All matching is case-insensitive.
Happy hacking!

Cornelius Schumacher committed changes in /trunk/playground/base/attica:

Implement access to content.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 16 more) Revision 861902
Jason Stubbs committed changes in /trunk/playground/base/plasma/applets/systray-refactor:

Wrapped the DBUS engine so that both it and FDO spec balloon messages can be supported transparently to the UI code.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 861922
Fredrik Höglund committed changes in /trunk/KDE/kdebase/apps/plasma/applets/folderview:

Add an "Icons" submenu to the context menu, and add a "Lock in Place" option to it.

Sebastian Kügler committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/battery:

Setting the brightness with the slider works for me.

Diffs: 1, 2, 3 Revision 862091
Will Stephenson committed changes in /trunk/playground/base/plasma/applets/networkmanager/settings/config:

Add and remove connections, and edit existing connections.
Still not connected up to the service though.

Diffs: 1, 2, 3, 4, 5, 6 Revision 862310
Michael Jansen committed changes in /trunk/KDE/kdebase/workspace/khotkeys:

First working implementation of kmenuedit global shortcuts.
Some things still left to do in the gui part.

- prevent adding other kind of trigger/action combinations to the khotfix-kmenuedit group

Diffs: 1, 2, 3, 4, 5, 6 Revision 862344
Rob Scheepmaker committed changes in /trunk/playground/base/plasma/applets/extendified_notify:

Notify applet now has working actions using the notifications service.
And removed some now obsolete code.
And use the onSourceRemoved signal to remove notifications.

Diffs: 1, 2, 3 Revision 862379
Fredrik Höglund committed changes in /trunk/KDE/kdebase/apps/plasma/applets/folderview:

Implement align to grid.

Will Stephenson committed changes in /trunk/playground/base/plasma/applets/networkmanager/settings/service:

Make test service into a kded module

Diffs: 1, 2, 3, 4 Revision 862430
Michael Jansen committed changes in /trunk/KDE/kdebase/workspace/khotkeys:

Implement constrainting the available action type for groups.
A group now can advertise what kind of shortcuts/triggers it accepts.
Used for the kmenuedit systemgroup.
Do not allow creating subgroups in system groups.

Diffs: 1, 2, 3, 4, 5, 6 Revision 862482
Fredrik Höglund committed changes in /trunk/KDE/kdebase/apps/plasma/applets/folderview:

Add menu options for sorting by name, size, type and date.
This also makes it possible to re-enable sorting after having rearranged the icons.

Diffs: 1, 2, 3 Revision 862485
Shawn Starr committed changes in /trunk/playground/base/plasma/applets/weather:

Initial collecting of icons.
Today we will actually display the icon.

Shawn Starr committed changes in /trunk/KDE/kdebase/workspace/plasma/dataengines/weather/ions:

Initial support for ions returning the current condition icon.

Diffs: 1, 2, 3 Revision 862515
Joseph Burns committed changes in /trunk/playground/base/plasmagik:

* Added Add/Remove Optional File Buttons
* Disabled Treeview expanding for now
* Added Optional File to test structure for testing purposes

Diffs: 1, 2, 3, 4 Revision 862553
Rob Scheepmaker committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:

Support setting QGraphicsItems in ExtenderItem as discussed in the extender api review discussion on the mailing list.

Fredrik Höglund committed changes in /trunk/KDE/kdebase/apps/plasma/applets/folderview:

Implement loading and saving of icon positions.

Fredrik Höglund committed changes in /trunk/KDE/kdebase/apps/plasma/applets/folderview/folderview.cpp:

Add a refresh menu item to the context menu so it is possible to force the applet to refresh the view.

Michael Jansen committed changes in /trunk/KDE/kdebase/workspace/khotkeys/kcm_hotkeys:

Enable drag and drop.
It does somehow work.
On some occasions the treeview get's messed up.
It has something to do with expanded subtrees.
I don't know why but i'm sure it's my fault.

Diffs: 1, 2, 3 Revision 862830
Shawn Starr committed changes in /trunk/playground/base/plasma/applets/weather/weatherapplet.cpp:

Get icons displaying in the applet finally.
Yay!

Finally use setConfigurationRequired

Nick Shaforostoff committed changes in /trunk/KDE/kdelibs/solid/solid/backends/hal/halstorageaccess.cpp:

support BSD mount options.
note that KDE supports only UTF-8 locales, though.

So it's time you old bearded men switched to UTF-8.

KDE-PIM

Teemu Rytilahti committed changes in /trunk/KDE/kdepim/akonadi/opensync:

Add support for sinks for different kind of objects, sinks for contacts and calendar are currently available.

It currently does not keep the info about change statuses so basically it will only allow one to send all items between the Akonadi and opensync, which means that you'll probably get dupes to your Akonadi resource.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 861192
Thorsten Staerk committed changes in /trunk/KDE/kdepim/ktimetracker:

Allow configuration for a PDA

Diffs: 1, 2, 3, 4 Revision 861442
Kevin Ottens committed changes in /branches/kdepim/enterprise4/kdepim/kresources/kolab/kcal:

Add support for the advanced alarms in the kolab format.

For now it's a Kontact only extension, but it's backward compatible with other clients.

Szymon Stefanek committed changes in /branches/kdepim/kmail-soc/kmail:

MessageListView: option enabling/disabling tooltips.

Diffs: 1, 2, 3, 4, 5, 6 Revision 862092
Oral Timocin committed changes in /trunk/KDE/kdepim/kontact/plugins/planner:

Config Dialog is finished

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

Office

C. Boemann committed changes in /trunk/koffice:

Replace the small preview of slide transitions with preview directly live on canvas

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 861307
Thorsten Zachmann committed changes in /trunk/koffice/kpresenter/part:

* Make it possible to switch a placeholder shape into the shape it represents.

There are still some open points maybe someone has an idea: I would like to change the placehoder shape when you double click on it in the default tool.

That already works but it is not nice as the tool used for doing the change pops up in the tool box.
Also I'm not sure which shape is clicked when the placeholder tools is activated.
At the moment I use the first selected placeholder shape.

Diffs: 1, 2, 3, 4, 5, 6 Revision 861744
Johannes Simon committed changes in /trunk/koffice/kchart/shape:

Work on axis and grid:
* separate axis dimension and position
* load and save z axis, but don't show it
* remove compiler warnings in switch() and add FIXME instead for missing chart types
* introduce setUseAutomatic[Minor/Major]Interval() (not a feature - this was possible before, by setting the interval to 0)
* Relayout KDChart plane after switch between logarithmic and linear scaling
* split showGrid() up into showMajorGrid() and showMinorGrid()
* load axis style (code mistakenly was in the wrong place)
* load axis font from ODF

Axis scaling dialog:
* Get initial properties from axis

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

Multimedia

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

Make Current track applet pretty.
New "Play Count" icon from Milan Krivda, and lots of moving stuff around.

Oh, and fixed bug 168466 while we are at it.

Christoph Pfister committed changes in /trunk/extragear/multimedia/kaffeine/src/dvb:

add rotor support - incomplete
usals command isn't emitted yet :)

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

Networking Tools

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

Added patch which adds collapse all and expand all actions to the fileselection dialog and the fileview

Diffs: 1, 2, 3, 4 Revision 862155
Alexander Rieder committed changes in /trunk/extragear/network/ktorrent:

Show some of the messages the server sends on connect in the server window.
Implement basic Event system, to notify the application from events happened in libkirc (ATM only TextEvents)

Roman Jarosz committed changes in /trunk/KDE/kdenetwork/kopete/libkopete:

Show transfer speed, estimate time and amount of transferred bytes in file transfer progress dialog.
Transfer rate algorithm was taken from Qt's torrent client example.

Roman Jarosz committed changes in /trunk/KDE/kdenetwork/kopete:

Show number of files to send/receive.
Add function to updated file name of currently transferred file.
Use these features in ICQ/AIM.

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

Utilities

Harald Hvaal committed changes in /trunk/KDE/kdeutils/ark/app:

Added extra arguments to add functionality for automatically selecting a filename

Diffs: 1, 2, 3 Revision 862984
Harald Hvaal committed changes in /trunk/KDE/kdeutils/ark/app/ark_addtoservicemenu.desktop:

Added compress... ark service menu

Urs Wolfer committed changes in /trunk/KDE/kdeutils/ark/app:

Finally, Ark context menu actions are back! (Extract, create archive...)
* install them
* do not use a hardcoded paths
* fix

Diffs: 1, 2, 3 Revision 863064

Games

Sean Wilson committed changes in /trunk/KDE/kdegames/libkdegames/carddecks/decks/deck28_oxygen.svgz:

Added new design for card back in default theme Oxygen.

Stephan Kulow committed changes in /branches/work/kpat_65506:

some more work on demo

Diffs: 1, 2, 3, 4 Revision 862328
Sean Wilson committed changes in /trunk/KDE/kdegames/libkdegames/carddecks/svg-oxygen-white:

Added some new inital diamond suit designs, king, queen, ace, 2, 4.
Added update preview of new design.

Sascha Peilicke committed changes in /trunk/playgrounds/kgo/src:

Added some more user-visible hints on what's going on and implemented pass and resign handling in the GoEngine class.

Minor code tweaks, as always.

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

Optimization

KDE Base

Michael Jansen committed changes in /trunk/KDE/kdelibs/kdeui/dialogs:

Performance.
Localizing the name 40.000 times is expensive :-).

That how often it is requested just by opening kmails shortcuts editor dialog and closing itimmediately.

David Faure committed changes in /trunk/KDE/kdelibs/kio/kfile:

Don't initialize phonon just to preview the contents of a desktop file (!)

Michael Jansen committed changes in /trunk/KDE/kdelibs/kdeui/dialogs/kshortcutseditor.cpp:

Do not update the view when adding items.
Most of the time it isn't even visible (room for qt improvement?) and the resulting layout frenzy takes much time.

No more shortcuts editor performance test.

Complain if you think theperformace is still not good enough.

David Faure committed changes in /trunk/KDE/kdelibs/kio:

Performance improvements for deleting local files.

Deleting 1000 local files (without progress info dialog):
before: 4177 ms with independent jobs, 3860 ms with one job
after: 1010 ms with independent jobs, 150 ms with one job.

End users selecting 1000 files in konqueror fall into the "with one job" category, so this is a 25-times speedup.

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

Performance: replace linear search with hash-table lookup, so that the O(n*depth) method is now only O(depth)

(but in many cases the caller then calls a O(n) method, so this is O(n) in practice, where n is the number of files in the directory, so no complexity gain in the n=5000 depth==1 case like bug 150885 -- but in practice the remaining O(n) lookup runs much much less code for each iteration than the old code did)

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

* ensure we only ever call the about to show method once
* attempt to tip if the widget is registered, even if it has no tip associated with it

this allows for 100% on-demand tips; important as some of our tips are expensive

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

* only update what changed
* only update tooltips when being shown
* on demand tooltips

this is a pretty big win as we were shifting the tooltip on at least one button for every window change! can get expensive, particularly when geometry changes are being followed.

Diffs: 1, 2, 3, 4 Revision 862473
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma/runners/webshortcuts:

optimize this runner by caching the results of the service query.
now instead of taking .1s-.2s with each keystroke that has a : in it, we cache results and get down to a couple ms

Fredrik Höglund committed changes in /trunk/KDE/kdebase/apps/plasma/applets/folderview:

* Rewrite the layout code to do the layout incrementally in 20 ms passes, to avoid blocking the plasma GUI.
* Show an animation while doing the directory listing and layouting to provide feedback to the user.
* Fix an occasional corruption of the folder title.
* Reduce the number of calls to Plasma::Theme::color() in paintInterface() since this turns out to be an expensive call.
* Don't initialize the view options in paintInterface() if we don't need to paint any icons.

KDE-PIM

Szymon Stefanek committed changes in /branches/kdepim/kmail-soc/kmail/messagelistview:

Guess when the optimisation of "disconnected UI" can be applied and.. apply it!

It really speeds up things when:
- We have no threading / grouping at all
- We're not expanding threads / groups
- We expanding but we're able to guess that the number of expansions will be very low.

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

Games

Gaël de Chalendar committed changes in /branches/work/ksirk.jabber:

Caching of maps, maps masks and snapshots

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

Other

Development Tools

Burkhard Lück committed changes in /trunk/KDE/kdesdk/doc/kate:

updated kate documentation for kde 4.1
kwrite-devel please proofread

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 861593
David Faure committed changes in /trunk/KDE/kdesdk/cervisia:

Split out the application and the part's desktop file, so that the preferences for both are independent.

(I had cervisia.desktop at the end of mimeapps.list after using the new componentchooser-filemanager, and this would make it preferred above all other directory parts... Too complex to fix in ksycoca, better have a clean separation of desktop files.)

Diffs: 1, 2, 3 Revision 861819
Nick Shaforostoff committed changes in /trunk/KDE/kdesdk/lokalize/src:

-on new file open, use toolview layout of the last active editow tab, instead of the last editor tab restored
-save restore filelist for each project separately
-respect --project option
-really fix F3 search behaviour for cases when text is modified after search

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 861964
Hamish Rodda committed changes in /trunk/KDE/kdevplatform/plugins/classbrowser:

More work on the class browser; I had fixed it up to allow updating from the duchain, but David suggests I re-check the code model in that instance, which sounds like a good idea.

Committing this now (with that path disabled) in case I ever want to retrieve the code.

Also:
- track which files are referenced (by projects, the editor) and show while still referenced.
- cleanups
- remove old duchain-based sorting code
- make the encountered tracking code work on the top node for one specific file at a time
- some documentation (soon to be out of date ;)
- move node class to cpp file (private detail)

Nick Shaforostoff committed changes in /trunk/KDE/kdesdk/lokalize/src:

-add even untranslated and fuzzy messages to TM.
such messages ain't used for translation suggestions, but used in search over TM.

-completely remove projevtview, as it is superceded by project overview tab
-be consistent: source + target. no more originals
-extend TM query gui with more optons and replace feature (nothing is implemeted yet ;)
-add action to show project overview tab

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 862719
Nick Shaforostoff committed changes in /trunk/KDE/kdesdk/lokalize:

-rename KAider class to EditorWindow
-filter over all columns in cataloglistview, + case-insensitive
-use KAction::setShortcuts(): shortcuts are back, thanks mjansen!

tm query window:
-embed it into mainwindow as tab
-indicate fuzzy state of found items by italics
-implement filemask filtering
-extend tooltip-based help

P.S. this commit is dedicated to Björk's song 'I See Who You Are (Feat. Min Xiao-Fen)'

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 14 more) Revision 862785
Manuel Breugelmans committed changes in /trunk/KDE/kdevelop/plugins/xtest/qtest:

QTest outputparser stress test.
Generates random QTest XML, chops it into random sized chunks then feeds these one by one to the parser.

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

Educational

Aleix Pol Gonzalez committed changes in /trunk/KDE/kdeedu/kalgebra/analitza:

Changed the KAlgebra parser.
It is quite a bit change and there are some remaining issues, most tests are passing now so shouldn't be a big issue.
The grammar is using QLALR and it has changed a bit since the last version because of some incompatibilities.

Special thanks to Roberto Raggi who helped me to specify the grammar.

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

Graphics

Gilles Caulier committed changes in /branches/extragear/kde3/libs/libkdcraw:

libkdcraw from KDE3 branch: add a new .configure --enable-openmp option to compile libraw with parallelized code to speed-up RAW Demosaicing operations.

You need libgomp shared library installed.

Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/kioslave/digikamalbums.cpp:

Copy and rename should now be gracefully handled by the CollectionScanner.

Doing it from the kioslave was a valid solution for a long time, but had its shortcomings (the bug with the pseudo .digikam_properties file, possible timing problems with ScanController kicking in)

Andrea Diamantini committed changes in /trunk/extragear/graphics/kipi-plugins/CMakeLists.txt:

GalleryExport Re-enabled!!

Andi Clemens committed changes in /trunk/extragear/graphics/digikam:

Use the KDE version of some Qt GUI elements to provide a consistent look and feel for the KDE desktop.

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

KDE Base

Davide Bettio committed changes in /trunk/KDE/kdebase/apps/plasma/applets/folderview/folderview.cpp:

* Moved the scrollbar just under the title line, now it should look nicer.
* Removed code duplication: scrollbar geometry is changed by layoutItems.

Anne-Marie Mahfouf committed changes in /trunk/KDE/kdebase/workspace/doc/kmenuedit:

refresh the doc although there's no real K menu anymore (so referring to Application Launcher instead) - need to see if all launchers (Lancelot, Raptor) honor this app?

Diffs: 1, 2, 3, 4, 5, 6 Revision 861318
Marco Martin committed changes in /trunk/KDE/kdebase/workspace:

a new widget that contains little monocrome svg icons to be used around plasma and make the applet handle use that

Diffs: 1, 2, 3 Revision 861319
Marijn Kruisselbrink committed changes in /trunk/KDE/kdebase/workspace:

disable powerdevil if Xscreensaver stuff is not found (or is it still possible for parts of powerdevil to work even without that library?)

Sebastian Trueg committed changes in /trunk/KDE/kdebase/workspace/libs:

Moved nepomukquery libs from kdereview to workspace

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 10 more) Revision 861477
David Faure committed changes in /trunk/KDE/kdebase/workspace/libs/nepomukqueryclient:

Gaaahhh another external.
Can we please find a better solution?
Externals are slow, break for git-svn users, break when anonsvn breaks, etc. etc.

Lucas Murray committed changes in /trunk/KDE/kdebase/workspace/kwin/effects:

Standardize effect descriptions and made them more descriptive.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 26 more) Revision 861506
Artur Duque de Souza committed changes in /trunk/playground/base/plasma/scriptengines/script-qedje:

Commiting QEdjeScriptEngine

Created the skeleton of the script engine but it still doesnt work.
We are receiving a seg fault inside the appletscript's constructor and it should be something regard the applet() initialization.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 861540
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/plasma/applet.cpp:

because KGlobalShorcuts is not exactly what i'd call symmetrical, we need to ensure the object name is constant at all costs.

that design really needs to be rethough in KDE5 as it lacks.

Sebastian Trueg committed changes in /trunk/kdereview:

After the Nepomuk query service I hereby move the Nepomuk search kio slave into KDEReview.
Please have a look at it before I move it into kdebase/workspace

The KIO slave uses an additional seearch thread and outputs some socketnotifier error messages due to that.

I was not able to fix those yet.
Maybe some of you can find the reason.

Diffs: 1, 2, 3, 4, 5, 6 Revision 861856
Luboš Luňák committed changes in /trunk/KDE/kdebase/workspace/kwin:

Add a check that measures time needed for one compositing pass.

If three successive ones take more than 1 sec, suspend compositing, as that very likely means the system is totally incapable of decent compositing.

Perhaps may need little tweaking.

Diffs: 1, 2, 3, 4, 5 Revision 861906
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/plasma/extenderitem.cpp:

i don't look for XXX unless i'm looking for a lap dance. ;)

FIXME is better...

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

initial merge of the sorting and grouping features for the taskmanager library

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 12 more) Revision 862323
Michael Jansen committed changes in /trunk/KDE/kdebase/workspace:

Re enable global shortcuts support for kmenuedit.
Khotkeys doesn't store the changes for now. that will be next.

Diffs: 1, 2, 3, 4, 5 Revision 862340
Marco Martin committed changes in /trunk/KDE/kdebase/workspace/libs/plasma/private:

new look and animation for applet handles, based on an old Nuno mockup, that uses the standard applet background (will have new graphics).

also, don't use painter->setOpacity anymore, so should be a bit faster

the look is slightly different in 3 cases:
-the applet is smaller than the handle, the panelsvg gets drawn completely and looks like the old thing
-shape not rectangular: the panelsvg is wider, so it's visible also for instance behind the clock circle
-normal: only a bit of the panelsvg exits from the applet and is visible, the hidden part has a few pixels fade out gradient to look less wrong with transparent backgrounds like folderview or themes with all backgrounds more transparent

Christian Weilbach committed changes in /trunk/playground/base/plasma/applets/leavenote:

Start moving to a KDEDModule instead of forking a process.

Diffs: 1, 2, 3, 4, 5 Revision 862551
David Faure committed changes in /trunk/KDE/kdelibs/kio/kio/slave.cpp:

Don't even call gotInput after the slave is on its death bed (I hope nobody reads this too literally ;) ).

David Faure committed changes in /branches/KDE/4.1/kdelibs/kio:

Backport performance improvements, in particular when deleting a large number of items

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 862739
John Tapsell committed changes in /trunk/KDE/kdelibs/kformula:

Initial raw-copy commit of formula widget copied over from koffice.

Does not compile, does not work, will eat your children.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 74 more) Revision 862918
John Tapsell committed changes in /trunk/KDE/kdelibs/kformula:

Make a 'KFormula' widget that loads up in qt designer.
It now all compiles and works.

Diffs: 1, 2, 3 Revision 862922
John Tapsell committed changes in /trunk/KDE/kdelibs/CMakeLists.txt:

Compile kformula sub directory, now that it works (as in compiles and works at the most basic level).

We now have a mathml widget in KDE! It does not display anything complicated, but the framework is now in place.

KDE-PIM

Szymon Stefanek committed changes in /branches/kdepim/kmail-soc/kmail:

MessageListView: Wipe out unused global configuration options.

They were replaced by per-Skin or per-Aggregation options.
The configuration page still remains and we'll add other global options in there.

Diffs: 1, 2, 3, 4, 5 Revision 861940
Szymon Stefanek committed changes in /branches/kdepim/kmail-soc/kmail:

Reload the views when global configuration changes.
Correctly apply the Skin column widths on first show.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 862019
Bertjan Broeksema committed changes in /trunk/KDE/kdepim/kmail:

EBN Fixes: Qt classes that should not be used

What does this patch do:
- QComboBox -> KComboBox
- QTabWidget -> KTabWidget
- QLineEdit -> KLineEdit
- QTextEdit -> KTextEdit
- Where KLineEdit is inserted, I explicitly called: setShowClearButton( true )
- Removed in some cases unnecessary includes from header files.

What does this patch not do:
- Fix the ui files
- Fix the QMessageBox -> KMessageBox in kmmessage.cpp I need to have a good look to the KMessageBox API for that.
- Exhaustive cleanup of unnecessary inclusions.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 38 more) Revision 862376
Thiago Macieira committed changes in /trunk/KDE/kdepim/akregator/plugins/onlinesync/sync:

Port this to KIO.
No more QHttp for you.

Office

Thorsten Zachmann committed changes in /trunk/koffice/libs/kopageapp:

* make it possible to load special page content after the shapes are already loaded.
This is needed for the presentation-page-layout and also later for the shape animations.

Multimedia

Devin J. Heitmueller committed changes in /trunk/extragear/multimedia/kaffeine/TODO:

first draft of a Kaffeine4 TODO list.
It's far from complete, but we have to start somewhere...

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

Do the png export/import dance to make the icons in the current track applet render correctly ( work-around for QtSvg limitations ).

Also, use a different "album" icon as the last one stood out from all the other icons IMO.

Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src/scripts/librivox_service/script.spec:

Turn Librivox service on by default as it requires no setup

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

Show a little more useful stats in the systray tooltip.

Networking Tools

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

Fix keyboard accelerator management interfering with opening URLs from the channel topic context menu in Channel List tabs; avoid use of Qt-internal QMenuItem class.

Detlev Casanova committed changes in /branches/work/soc-kopete-jingle:

* Added SpeexIO and AbstractIO classes which will be the sound handler now.
* ortpversion.c is a test program to check ortp version but is not used yet, any way to do that kind of things with CMake?

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 862425
Joris Guisson committed changes in /trunk/extragear/network/ktorrent/plugins/search/searchenginelist.cpp:

Remove bitoogle from search engine list

User Interface

Georg Drenkhahn committed changes in /trunk/KDE/kdeartwork/kscreensaver/kdesavers:

ported vector and matrix algebrain krotation, kpendulum to Eigen2
get rid of own vec3 implementation
code clean up and refactoring: naming convention structure

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

Utilities

Bastian Holst committed changes in /trunk/playground/sysadmin/keep:

More porting work on Keep

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 861193
Bastian Holst committed changes in /trunk/playground/sysadmin/keep/app:

Keep is finally building, but not linking

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 19 more) Revision 861860
Frank Osterfeld committed changes in /branches/work/~osterfeld/knowit4:

import initial KDE4 port of knowit, knowit.sourceforge.net

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

Other

Benoît Jacob committed changes in /tags/eigen/2.0-beta1:

Make Eigen 2.0-beta1 tag

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 861293
Stephan Binner committed changes in /branches/work/plasma-4.1-openSUSE:

port of modications from plasma-4.0-openSUSE

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision 862386
Matt Rogers committed changes in /trunk/bugs:

Email addresses in bugzilla are public (for the most part).
Explain that fact.

Allen Winter committed changes in /trunk/quality/krazy2/plugins/c++:

Commit Bertjan's fix checker!
Look for post incremented counters in for loops.