Issue 16

23rd July 2006 by Danny Allen

This Week...

KDevelop gets new configuration framework functionality. The start of a Satellite tracks feature in KStars. Support for PDF data extraction, and speed optimisations in Strigi. New features in KPhotoAlbum (KPhotoAlbum is the new name for KimDaBa). Perspective grid support in Krita, with the implementation of a Bezier tool becoming feature-complete. More work on unit conversions in KRecipes. Porting of KRDC to KDE 4.
This week saw the launch of Season Of KDE, a complementary effort to the Summer Of Code. Unfortunately, only 24 projects could be selected from over 200 Summer Of Code entries to KDE. The Season Of KDE is a great initiative to provide entrants who were unsuccessful with their Summer Of Code applications with the mentoring support and development framework to persue their projects regardless. As Jakob Petsovits says,
This is great news. I'm impressed that not only a few, but rather a high number of 14 students do this without being paid. This is more than half of the original Summer of Code students!
There are some pretty impressive projects within the Season Of KDE initiative. The students participating in the Season Of KDE have 4 months to work on their project, which ends up being excellent timing for both the students and KDE - when combined with the fruits of the earlier Summer Of Code event, these contributions will have a notable positive effect on the KDE 4 offering.
Aron Boström writes about his Summer Of Code project, titled "GMail-style conversations for KMail":
Traditionally, e-mail software has arranged its e-mails in a flat list sorted by time of sending. Unfortunately, human cognition doesn't arrange e-mails this way. One step in the right direction is to thread the e-mails in a logical way, as KMail can do with e-mail and the Dot does with comments.

But threading is not enough. Actually, it's a bit *too* logical for most human minds to arrange e-mails in such a tree structure. Furthermore, KMail threads has some other problems:
  • It's hopeless to navigate in a thread of 70-80 e-mails since most relevant information is indented past the right margin.
  • A thread is sorted by its root e-mail and not by its most recent e-mail.
  • Sorting is based on the time an e-mail was sent, not by the time the e-mail arrived. I suspect that humans prefer to work best with a kind of mixture of these two.
  • The sorting of a folder isn't honored inside a thread.
My SoC project is to implement a third approach, which is supposed to fit us humans better. This work is based on my studies in cognitive science and computer science. However, this is too much work for just the summer, so initially I will just implement the conversation metaphor in KMail. The conversation metaphor is best known from the way GMail works, the Google web based e-mail.

The conversation metaphor groups all related messages as a conversation, much like KMail threads. But where threads are a tree, a conversation is a plain flat list. The whole conversation is sorted by the date and time of its most recently received message. In the e-mail view, the entire conversation is shown, but old and already read e-mails are collapsed per default. Thus, the unread e-mails are shown per default, but the older ones are easily accessible.

At this stage, all the main parts of the implementation are "there", but the e-mail view is terribly bad and doesn't support collapsing or expanding e-mails. Furthermore only dummy data is used, not the akonadi backend. The conversation list is pretty much "finished", but not "done".

When SoC ends I have some wider plans, but I'm keeping them to myself to avoid the risk of vaporware. I like hard code to show my ideas rather than fluffy words.
George Staikos explains the motivation and process behind the Unity web rendering engine experiment:
I'm writing to fill in some more details about this "Unity" project. It's just a codename for our port of WebKit "tip of tree" (what we call trunk) to Qt4. This was an experiment we decided to try in Trysil to see just how easy it would be to merge with WebKit in this fashion, and how WebKit compares to our KHTML. My experience told me that, with a group of 3-4 hackers, we could have a working demo in about 3 days. This turned out to be very close to accurate, and so we have the code that was imported into SVN.

Our approach was to modify the core of WebKit as little as possible and only add our own porting layer into the platform component. As a webkit committer, I will be responsible for merging patches upstream while we continue with this fork of the WebKit code. Apple has expressed interest in having as much as possible of this code merged upstream. I think we can even put our cmake files and platform directory into the WebKit SVN.

All in all, this simply means that we have a port of WebKit to Qt4. The interesting part starts here. We can wrap this port with a KPart and really compare it to KHTML in trunk. If it turns out to be roughly equivalent from a technology point of view, then I think it would be great to start porting all of our recent work into WebKit. I'm referring to the work done recently by Allan, Germain, and Maksim in particular. If we were able to keep sync with WebKit (and possibly do some organizational shuffling), we would have a much larger developer base for our engine, while at the same time reducing the impact on our own development team. I think this is a win all-around. In the future, if we don't like where WebKit is going, then we can re-fork, so we're never committed.

In terms of organization, I would insist that we are equal partners with Apple and all other WebKit developers if we go down this road. KHTML is as important to us as it is to them, and our contributions are just as significant. I think we can work together as a team, and it's definitely worth a try.
KDE release co-ordinator Stephan Kulow announces a new policy for kdelibs, the most significant change being the shift away from fortnightly development snapshots of kdelibs, with development work now concentrated on the genuine /trunk/KDE/kdelibs/ module.

KDE 3.5.4 will be tagged on the 24th July 2006.

Statistics

Commits 2450 by 201 developers, 6363 lines modified, 1119 new files
Open Bugs 13036
Open Wishes 11310
Bugs Opened 250 in the last 7 days
Bugs Closed 202 in the last 7 days

Commit Summary

Module Commits
/trunk/KDE
722
 
/trunk/www
506
 
/trunk/extragear
250
 
/branches/stable
203
 
/trunk/l10n
153
 
/trunk/koffice
141
 
/trunk/playground
135
 
/branches/work
98
 
/branches/KDE
81
 
/branches/koffice
63
 
Lines Developer Commits
297
 
Laurent Montel
145
 
249
 
Stephan Kulow
143
 
90
 
Ludovic Grossard
83
 
226
 
Gilles Caulier
76
 
4
 
Sandro Giessl
46
 
91
 
Sebastian Trueg
43
 
44
 
Andras Mantia
43
 
85
 
Krzysztof Lichota
42
 
86
 
Matthias Kretz
41
 
112
 
Allen Winter
36
 

Internationalization (i18n) Status

Language Percentage Complete
Swedish (sv)
99.99%
 
Portuguese (pt)
99.97%
 
Danish (da)
99.45%
 
Spanish (es)
95.9%
 
Dutch (nl)
94.48%
 
Italian (it)
94.37%
 
Estonian (et)
94.06%
 
French (fr)
93.95%
 
Greek (el)
93.44%
 
German (de)
90.76%
 

Bug Killers and Buzz

Person Bugs Closed
Andreas Kling
49
 
Gilles Caulier
14
 
Mark Kretschmann
13
 
Martin Aumüller
11
 
Seb Ruiz
11
 
Tommi Tervo
11
 
Joris Guisson
10
 
Klaus Niederkrüger
10
 
Maks Orlovich
8
 
Kurt Hindenburg
8
 
Program Buzz
Amarok
2867
 
Kopete
1282
 
K3B
1011
 
Kate
913
 
KMail
889
 
SuperKaramba
703
 
Kontact
633
 
Kicker
592
 
KDevelop
589
 
Quanta
435
 
Person Buzz
zogje
303
 
David Faure
300
 
Aaron J. Seigo
258
 
pipitas
257
 
wheels
253
 
George Staikos
251
 
telex
237
 
cornelius
235
 
boud
228
 
carsten
222
 

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

Bug Fixes

Development Tools

Jakob Petsovits committed changes in /branches/work/kdevelop-pg/examples/csharp:

Bugfix time for the C# parser (with 17055 test case source files):
95% passed test cases are better than 64%.

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

Educational

David Saxton committed changes in /trunk/KDE/kdeedu/kmplot/kmplot/constants.cpp:

Fix KCalc's reading of KmPlot's exported constants.
It is a bit dodgy atm since KmPlot stores constants as expressions (e.g. "2+3"), but KCalc expects just a number, so both have to be written to the config file.

Graphics

Gilles Caulier committed changes in /trunk/extragear/graphics/digikam:

digikam from trunk : camera gui improvement and fix :

- fix rename customizer rule about custom prefix widget focus (#127614)
- Add small icon on top/roght of camera ites to indicate download status (#131034)
- Fix some minor internal bugs.
- Polish implementation.
- using d private class to speed up compilation
- camera gui support digiKam theme now. A screenshot :

http://digikam3rdparty.free.fr/Screenshots/camera_gui_with_theme_and_icon_download_status.png

BUG: 127614, 131034

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

KDE Base

Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole/konsole:

* Fix display of bold text. This got broken sometime in the KDE 3.x series I think.
* Enable Qt 4 double buffering to eliminate flickering
* Performance improvements by drawing text in chunks (split up by appearence) rather than by character. Also cut down number of calls
to QPainter::eraseRect().

Tested with Vim , cgdb and a few colour charts.
Background images and tints are still not working yet - more to do on that.

Diffs: 1, 2, 3, 4, 5 Revision 565268
Allan Sandfeld Jensen committed changes in /branches/KDE/3.5/kdelibs/khtml/html/html_formimpl.cpp:

Fix for yet again broken replies in osnews.com.
This implements the behavior on DOM level instead of at parsing. This also
means that a reparsed DOM should work.
BUG: 116790

Clarence Dang committed changes in /trunk/KDE/kdelibs/kdeui/kselectaction.cpp:

You should not be able to interact with actions that are supposed to have been deleted in clear().

This fixes an inability to keep items in the KolourPaint "View / Zoom" menu selected. KolourPaint was calling setItems() every time a zoom level was selected (evil, yes). This called clear(). KolourPaint then called setCurrentItem() and an apparently-deleted item was selected.

When the event loop was re-entered, the apparently-deleted items were really deleted, hence currentItem() would now return -1.

Unfortunately, this will sometimes trigger an assertion in Qt. Watch qt-copy for my next
0140-signalbug.diff commit.

Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole/konsole:

Prevent flickering on the tab bar and slowness with prompts such as the one suggested in http://bugs.kde.org/show_bug.cgi?id=47684#c4 which set the Konsole session name by ignoring updates if the old and new title are the same and buffering multiple calls to update the window/session/etc. title and icons

Diffs: 1, 2, 3 Revision 564950

KDE-PIM

Andreas Kling committed changes in /branches/KDE/3.5/kdepim/kandy/src/modem.cpp:

Fixed the well-known problem with garbled device paths.
Patch has been lying around on bugzilla for over a year.

BUG: 39420
BUG: 45640
BUG: 47383
BUG: 96883
BUG: 104596
BUG: 101575

Multimedia

Jeff Mitchell committed changes in /trunk/extragear/multimedia/amarok/src:

Lots of things:
1) Fix regression that happened when I tried to sacrifice sanity for speed.
2) Fix a few other highly uncommon bugs no one was ever likely to encounter.
3) Make ATF not require a restart to be activated!

Please note...I can't test the final few changes I just made yet, but I will later...compiles fine though.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 564317
Martin Aumüller committed changes in /trunk/extragear/multimedia/amarok:

use metadata from original file when copying transcoded files to media devices
-- this should solve the problems with oggs, if not, please reopen this bug with additional information
BUG: 131171

Networking Tools

Eike Hein committed changes in /trunk/extragear/network/konversation/src:

* Have the "Tab bar" font size preference not set the font size for
half the application ...
* Have DCC chat tabs actually update their appearance on preferences
changes.

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

Features

Development Tools

Jakob Petsovits committed changes in /branches/work/kdevelop-pg/src:

jpetso proudly presents...
Rule Arguments for kdevelop-pg!

They make it possible to tune the abstract syntax tree (AST)
in order to make it clearer and more usable for later on.

If your grammar doesn't use rule arguments, you get exactly
the same output parser than before this patch.


Syntax for rule "calls" (example):

singlearg_rule[arg] doublearg_rule[arg1, arg2]
-> rule_argument_calls ;;


Syntax for rule parameter declarations (in pseudo-rule form):

items
-> rulename [
declaration*
] ;;

("argument"|0) storage_type common_variable_type ("#"|0) name: type;
| ("argument"|0) storage_type "token" ("#"|0) name;
-> declaration ;;

("member" | "temporary")
-> storage_type ;;

("node" | "variable")
-> common_variable_type ;;


Example for a declaration:

0 [: temp_counter = 0; :]
(item [: temp_counter++; :] )*
[: (*yynode)->type = class_declaration_ast::item_list; :]
-- this was the example rule body, now for the parameter declaration:
-> class_declaration [
argument member node mods: optional_modifiers;
member variable type: class_declaration_ast::type_enum;
temporary variable temp_counter: int;
temporary token #blah; -- a sequence, like in normal annotations
] ;;


I'll port the kdevelop-pg/examples/ grammars tomorrow.
Questions, suggestions, complaints and praises go to
or .

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 9 more) Revision 563962
Adam Treat committed changes in /trunk/KDE/kdevelop:

Lots of changes... Let's summarize:

* Implement the new config framework.
This means that project files are now INI style and split between a global FOO.kdev4 file that is safe to share, and a local .kdev4/FOO.kdev4 file that stores non-shareable settings like paths and environment variables.
* Change CMake settings to use new config framework
* Replace src/projectmanager.* classes with a projectcontroller.* class. Add a languagecontroller.*
class that will allow more than one language part to be
loaded at one time.
* Add a kdevelop.kdev4 global INI project file that should be safe to share and commit to svn. Remove the old kdevelop4.kdevelop file.
* For now, project loading only takes place via the command line OR if you have Last Project=/path/to/kdevelop.kdev4 file in your local kdeveloprc. I'm going to work on the action classes necessary to open projects soon ;)
* Introduce a kdevenv.* class in lib/interfaces where all plugins that need access to the environment variables will get them. This means we'll no longer have separate plugins running with different variables and the user can expect to set/get env variables in one central KCM. You can get the environment from KDevApi... although it is not complete yet.
* I'll be creating a tool to convert between kdevelop3 project files to kdev4 project files sooner or later.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 43 more) Revision 564305
Jakob Petsovits committed changes in /branches/work/kdevelop-pg/src:

Let kdevelop-pg generate namespaces for the parser, the ast nodes,
the visitors and the user-defined namespaces. Basically, everything
except the user-defined code insertions from the start and the end
of the grammar file is namespaced now.

That has several positive aspects:
- be good neighbors with other kdev-pg based parsers
(two clashing expression_ast structs, anyone?)
- the parser class is finally named as such: class <language>::parser;
- better readability for most stuff

Drawback: You have to port some code,
how much it is depends on the amount of custom code extensions.
(As usual, kdev-pg's example grammars will be updated right away.)

Diffs: 1, 2, 3, 4, 5, 6 Revision 564365
Jakob Petsovits committed changes in /branches/work/kdevelop-pg/examples:

First usage of rule arguments in the Java and C# grammars:
Make the status variable ellipsis_occurred / parameter_array_occurred
local to the parameter declaration lists instead of needing them
to be an instance variable.

This is something I had been wanting to do for a looong time :D

Diffs: 1, 2, 3, 4, 5, 6 Revision 564464
Oliver Kellogg committed changes in /branches/KDE/3.5/kdesdk/umbrello/umbrello/codegenerators/pascalwriter.cpp:

Basic adaptations to Pascal syntax. Up next: PascalImport.
CCBUG:114547

Educational

Jason Harris committed changes in /trunk/KDE/kdeedu/kstars/kstars:

First commit for Satellite tracks. It doesn't work yet, but the framework is reasonably complete. Bernard, let me know if you have problems adapting your code to this framework. In addition to adding Jean-Baptiste Butet's SatLib library, I added two new classes:

1) SatelliteTrack: this encapsulates a single satellite track across the sky, as a QList<SkyLine*>
2) SatelliteComponent: component for managing all the current satellite tracks.

FIXME: I am getting "undefined reference" linker errors for the two
SatLib functions I use. I can't figure out what the reason is; maybe
there's something wrong with one of the CMakeLists.txt files. Both of
the SatLib functions are in SatelliteComponent::init(). To keep trunk
working, I have commented out this function for now. I would really
appreciate it if some people could try uncommenting the function to see
if they get the linker errors as well.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 563249
David Saxton committed changes in /trunk/KDE/kdeedu/kmplot:

Use KImageIO for image exporting (so lots more supported formats).

Diffs: 1, 2, 3, 4 Revision 563451
Benoît Jacob committed changes in /trunk/KDE/kdeedu/kalzium/src:

Prerequisite: you'll need OpenBabel SVN revision at least 1525.

Reorganization everywhere, especially:
- Make much more use of OpenBabel, especially for the geometry-stuff
- Molecule rendering style and related data is now stored using the
MolStyle struct.
- Big reorganization in the way display lists are used, when this
option is enabled. It is currently disabled, though, because of what
might be a bug in Mesa3d.

New Features:
- draw multiple bonds
- support for van der Waals radius. Different atoms are now rendered
with different sizes.

Optimizations:
- the sphere now uses 2x less memory when not using display
lists (achieved by using the same unique array as vertex&normal arrays)

Other changes:
- improved specular color computation in Color::applyAsMaterials()
- reorganized styles, removed "lines" style (looked useless, was
inconsistent with multiple bonds)
- when the uses clicks "cancel" in the Load molecule dialog, don't try
to load the molecule with filename "".
- lots more that I can't list

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

Graphics

Jesper Pedersen committed changes in /trunk/extragear/graphics/kphotoalbum:

This is a patch with some new functionality from Robert L Krawitz. His description of the changes can be seen below.

The patch needs a bit of tweaking here and there, stuff I don't have time to do right now, so before the patch rots, I better get it into the code base.

1) A new option to permit smooth scaling vs. non-smoothed scaling
(which is much, much faster, particularly with large images).

2) A new viewer option to permit showing image size in the info box.

3) A new viewer option to permit showing file name in the info box.

4) An option to allow specifying thumbnail size in the settings dialog.

5) A new command in the viewer to zoom pixel for pixel (if the image is larger than the viewer, of course :-( ) -- typing `=' will do this.

6) Ability to scale to less than full screen. This means that displaying pixel for pixel will always display pixel for pixel, in
addition to the ability to zoom out beyond that point.

7) A new "standard size" setting, which can be one of three things:

* Full screen (the default, as today)

* Natural size (i. e. pixel for pixel)

* Natural size if possible (pixel for pixel if it would fit, otherwise full screen).

In addition to being saved in the preferences, typing the `/' key
at any time will display the image at "standard size".

This isn't perfect. In at least some cases it initially flashes the image at full size before rescaling it up or down. Fixing this will require more extensive work. In particular, doing most
efficiently will require reorganizing the cache so that it actually keeps track of the image sizes rather than assuming that they're at the display size, and the cache code in general will require some
work. I probably won't have time to do this before I go back to work.

8) New options to skip forward and backward by 10, 100, and 1000 images. This was inspired by our 3500 photos from Alaska that we're trying to categorize. We did some of them last night, and I want to restart in the middle (I know where we left off, but it's a pain to find it in the thumbnail view and then select everything from that point on).

9) The display code checks if the stored size is -1 (i. e. KPhotoAlbum doesn't know what size it is), and fixes it up (and calls back to the viewer to update the image box). This could happen in cases other than already-present thumbnails; for example, if you try to view images for which thumbnails aren't yet created.

10) A new option to specify whether or not to load RAW files if corresponding JPEG or TIFF files also exist. Default is that it doesn't, which is a change from the current behavior. This is useful with cameras that store both a raw image and a JPEG or TIFF. Related to this, I've changed the new image finder code to pass the entire filename to canReadImage rather than just the file extension. I believe this is the right thing to do because it allows the code to determine whether it actually can read the file or not.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 562962
Tuomas Suutari committed changes in /branches/kphotoalbum/soc/SQLDB:

Support loading and saving drawings to SQL database.

Diffs: 1, 2, 3, 4 Revision 563765
Aurélien Gâteau committed changes in /trunk/extragear/graphics/gwenview:

Use the same delete dialog as Amarok and Juk, to easily choose between sending
files to trash or permanently deleting them.

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

KDE Base

Christoph Cullmann committed changes in /trunk/KDE/kdelibs/kate/part:

implement on-demand creation of widget() for kdevelop

this unbreaks katepart again for any apps using multiple views
like kwrite/kate

while this breakage was more a accident by a commit of a kdevelop dev
to fix their probs, which is not bad, mattr has shown again, that cooperation
with kdevelop devs is just close to zero, as neither they care to
tell kate devs in advance what they need or which probs they have but more
like to commit fixes which cause probs for any other app than kdevelop...

But yeah, mattr has explained it to me, why cate, it will only break kate....
perfect logical ;)

for future: next time ask for changes, if you don't know how to make them correct without breaking other people code just to avoid to have 2 more qobject_casts in your own code. if nobody on kwrite-devel reacts for reasonable timeframe, you still can
kill the stuff on your own...

it's pure fun to implement features for people not even respecting at all that there are even people maintaining katepart, don't think they would like that other people do the same in kdevelop's code, but sure, why take the same care on the code of other people :)

btw., the kate devs even created a ktexteditor-devel mailinglist for that purpose and on request
of kdevelop guys like mattr, nice to see that it is used that well............

have fun with the feature, hope it works, if not, please report on kwrite-devel or fix it if you are sure you know how....

Diffs: 1, 2, 3 Revision 564970
Ben van Klinken committed changes in /trunk/playground/base/strigi/src/streamindexer/CMakeLists.txt:

new windows compatible plugin framework. also added a ModuleLoader which shares its modules between the through and end analyzers

Tobias Koenig committed changes in /trunk/KDE/kdelibs/kdeui/kpageview_p.cpp:

Add support for icons on tabs in tab face

Jos van den Oever committed changes in /trunk/playground/base/strigiapplet/src/streamindexer/pdf:

Added test application for pdf data extraction

Jos van den Oever committed changes in /trunk/playground/base/strigi/src/streams/mailinputstream.cpp:

Better email detection. Now an email must have the correct header syntax and contain at least "Received" or "From" (case insensitive)

Maks Orlovich committed changes in /trunk/KDE/kdelibs:

Sync KHTML with Apple's fork up to r15522.
The main highlight is that the CPU guard should be back.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 99 more) Revision 564344
Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole/konsole:

Add support for mouse-dragging. This means that actions such as dragging the window splitter bar in Vi using the mouse or left-dragging to select text now work. Technically speaking there are 4 mouse modes which xterm terminals should support - Konsole now supports two of these (modes 1000,1002) - see http://rtfm.etla.org/xterm/ctlseq.html#mtrack

Diffs: 1, 2, 3, 4 Revision 564618

Office

Thomas Zander committed changes in /trunk/koffice/kword/part:

Make importing old fileformat work partly again; all text is loaded without
markup. I created a new class thats just for kword-old xml files; KWDLoader
Rewrite layouting for columns as this was different for PageSpreads
Remove pageLayout structure from PageSettings class as its already available in the KWPageManager

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 9 more) Revision 565053
Jan Hambrecht committed changes in /trunk/koffice/karbon:

Karbon can now create shapes. Yay!

* vdocument contains now a list of all the existing shapes,
which i used by the shape managers for drawing
* vdocument is not longer a KoShapeController derived class but karbonpart is,
to have easier access to the shape manager of all the attached views
* to create shapes the shape id of the CreateShapeTool is set manually for now
* removed test code which added rectangle shapes from the layer shape

Diffs: 1, 2, 3, 4, 5, 6 Revision 563612
Cyrille Berger Skott committed changes in /branches/koffice/1.6/koffice/krita/plugins/tools:

add a tool for creating the perspective grid

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 563916
Emanuele Tamponi committed changes in /branches/koffice/1.6/koffice/krita/plugins/tools/tool_curves:

Bezier Tool is (I hope) feature complete. It still needs cleanup.

Sven Langkamp committed changes in /trunk/koffice:

added an opacity slider to the KoUniColorChooser (hidden by default)

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

Multimedia

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

merge bpm patch
this means that bpm detection could be implemented as a script now
BUG: 123142
CCBUG: 129125

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 565040
Bart Cerneels committed changes in /trunk/extragear/multimedia/amarok/src/mediadevice/generic:

Commiting generic mediadevice patch by Roel Meeuws.
This adds supported filetypes configuration and offers more control of file location.

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

Networking Tools

Andreas Kling committed changes in /branches/KDE/3.5/kdenetwork/krdc:

Make "always show local cursor" and "view only" permanently configurable via krdcrc.
Since we're in a GUI/message freeze, I can't add any GUI to these options until KDE4.

The options and their defaults are:

viewOnly=false
alwaysShowLocalCursor=false

BUG: 96174
BUG: 108620

Marc Cramdal committed changes in /trunk/KDE/kdenetwork/kopete/kopete/chatwindow:

Added a QSplitter to separate the two parts.
Added a QDockWidget to see what a "sidebar" could look like and which place it would take.

Diffs: 1, 2, 3 Revision 563102

User Interface

Sandro Giessl committed changes in /trunk/playground/artwork/cokoon/style:

Most widgets and layoutProperties from KStyle should be themeable now. Not tested yet.

Diffs: 1, 2, 3 Revision 563213
Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/Pinheiro/book.svg:

new icon

Utilities

Jason Kivlighn committed changes in /trunk/extragear/utils/krecipes:

Work on using ingredient weights to do accurate unit conversions.

So far it:
1) Loads weights from the USDA's WEIGHT.txt file when loading nutrient info from the setup wizard.
2) Allows modifying existing weights
3) Allow removing existing weights
4) Uses weights in nutrient analysis

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision 564301
Jason Kivlighn committed changes in /trunk/extragear/utils/krecipes/src:

Added Tools->Measurement Converter. The GUI isn't yet polished, but it should be fully functional.

If the conversion fails, it will give the reason why, which can be any of: missing ingredient, missing ingredient weight, missing
unit conversion, or unable to convert based on unit types (i.e. converting Other->Other, Other->Volume, Other->Mass)

I'm finding this handy for testing the new conversion routines.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 564448
Jason Kivlighn committed changes in /trunk/extragear/utils/krecipes/src:

Add a property status indicator in the ingredient tab of the recipe input. This currently tells whether or not all nutrient information is known for each ingredient in the recipe.

The GUI isn't done yet, so no, that giant LED isn't going to stay that big. Also, the "Details..." button doesn't do anything yet. At the moment, the information that this button will give is just spit out onto stdout (the console). You'll notice this information is prefixed with "NUTRIENT STATUS:".

So this should be fully-functional, but the GUI will be finished later.

Diffs: 1, 2, 3 Revision 564767

Optimization

KDE Base

Jos van den Oever committed changes in /trunk/playground/base/strigi/src:

speed up file traversal by reducing the amount of memory allocations.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 563455
Jos van den Oever committed changes in /trunk/playground/base/strigi/src:

Further speedup of the filelister. Speed is now almost as good as [ find dir -printf "" ]

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

Office

Stefan Nikolaus committed changes in /trunk/koffice/kspread:

Use the reference depth approach also for changed cell regions.

Otherwise, we'll get unnecessary recalculation events in some cases. In 1.5
some cells were recalculated twice, if one of its references were changed.

Example:
A2=A1+A3
A3=A1
Changing A1 has recalced A2 first, which triggered a recalc of A3, which in turn recalced A2 again.

TODO: Catch circular dependencies.

Other

Graphics

Clarence Dang committed changes in /trunk/KDE/kdegraphics/kolourpaint:

Don't keep changing the Undo/Redo toolbar button text - show no context instead
(i.e. "Undo" instead of "Undo: Line"). The tooltip still contains context
(useful if one switches back to "Icons Only").

Resolves usability problem regarding "Text Under Icons" default in KDE4, pointed out
by blog commenter.

Clarence Dang committed changes in /trunk/KDE/kdegraphics/kolourpaint/kolourpaintui.rc:

* Reduce the number of icons in the main toolbar (Open and Save were kept due to popular demand)
- we no longer use XMLGUI merging

* Order the zoom actions more naturally i.e. [-] 100% [+] like acroread (other KDE apps like oKular use [+] 100% [-] so there needs to be some discussion here);
I personally prefer [+] [-] 100% myself since I adjust zoom by pressing buttons quickly.

* Drop the "Zoom In" ([+]) and "Zoom Out" ([-]) text as the buttons' purposes are now dead obvious due to their positions. I am starting to hate this already because I have to aim very hard to press these small buttons.

This is based on feedback on my blog about "Text Under Icons" toolbars.

Clarence Dang committed changes in /trunk/KDE/kdegraphics/kolourpaint/kolourpaintui.rc:

I'm now convinced that +/- zoom buttons with text (and that are therefore, bigger) are easier to press.

KDE Base

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

as announced - you need trunk now

Simon Hausmann committed changes in /branches/work/unity/WebKit:

- some work on getting this beast build with qmake. roughly 50% there

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

KDE-PIM

Allen Winter committed changes in /trunk/KDE/kdepim:

Put a copy of kdelibs/kdeui/keditcl into kmail and knode.
This was done because Ben wants to remove the KEdit class and
the changes needed to port to the new KTextEdit class
are pretty substantial. So the KMail and KNode development
teams will have some time to port to the new class this way.

I'll leave it to Ben to remove KEdit from kdelibs (which is ok on Mondays).

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 563454
Stephan Kulow committed changes in /branches/work/kde4-systray-rewrite-tng/kdepim:

some more "porting". This is a pretty aweful way though as apps seem to be pretty heavy users of the "systray is a widget" concept

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

Office

C. Boemann committed changes in /trunk/koffice:

Remove the rgb, cmyk and grey colorselectors.
Everyone should use the UniColorSelector
hsv_widget will go too at some point - whe Uni supports it!

Rename kdualcolorbutton to KoDualColorButton
Change behavior of dual butto to allow dragging of colors better, as
requested by Thomas Zander

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 563098
C. Boemann committed changes in /trunk/koffice:

Remove the hsv widget too
Krita now has a fully colormanaged path from colorchooser to paintdevice

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 563272
C. Boemann committed changes in /trunk/koffice:

Change KoIconChooser to Model/View Architecture

At the same time improve the usabillity of the resource popups in krita
Now you only have to click to select and it pops down.
The magnified view of the pattern/gradient is gone temporarily until I
get "tooltips" to show it.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 563903
Thomas Zander committed changes in /trunk/koffice/libs/flake/flake-overview:

A (slightly edited) log of irc where I gave the high level overview
of how app developers want to use flake

Alfredo Beaumont Sainz committed changes in /branches/koffice/1.6/koffice/lib/kformula:

Rewritten font support:
* Font support is now Unicode based and TeX font support is dropped.
* cmex TeX font is still used for big brackets.
* The rest of BaKoMa fonts are no more packaged with KFormula. Arev fonts are
packaged instead.
* Unicode table has been separated into different set of tables to
allow symbol selection separation in the future.
* All the symbols in tables are supported in Arev font. If the font selected
by the user doesn't contain the symbol, Arev font will be instead.

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

Multimedia

Seb Ruiz committed changes in /trunk/extragear/multimedia/amarok:

Okay, although the original podcast database schema change should have been done in updatePodcastTables, it probably isn't worth the giant effort of moving stuff around. So, still bump podcast episodes version number.
Also, update changelog.

I would advise backing up your database.

Diffs: 1, 2, 3 Revision 564195
Stephan Kulow committed changes in /branches/work/kde4-systray-rewrite-tng:

merged in all changes done in the system-rewrite branch

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

Networking Tools

Brad Hards committed changes in /trunk/KDE/kdenetwork/krdc/rdp:

Initial port of the RDP support to KDE4.

Diffs: 1, 2, 3 Revision 564161
Brad Hards committed changes in /trunk/KDE/kdenetwork:

krdc now compiles. It even runs. It just doesn't run very well yet.

Known problems:
Won't connect to RDP hosts
The preferences dialog has the three tabs, but no content in any
of them (except the label).
Haven't tried VNC protocol.
No special key input
No dbus support
There are probably patches in KDE 3.5 that need to be forward
ported.

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

Utilities

Jimmy Gilles committed changes in /trunk/KDE/kdeutils/kgpg:

Big change: a new directory (Core) has been created. In KgpgKey, the trust property is now an enum instead of a char.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 18 more) Revision 565064
Jaison Lee committed changes in /trunk/KDE/kdeutils/kjots:

Added Kate modelines now that I know such niftiness exists.

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

Games

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

Ported KAsteroids to QGraphicsView! :)

Finally I found the cure to QGraphicsView's slowness, and it's called
QGraphicsView::setCacheMode( QGraphicsView::CacheBackground )

I guess the next step will be de-Q3PtrList-ifying ;).

Few issues remain though.
Like the "Press L to start" thing floating around _during_ a game :).

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