Issue 40

7th January 2007 by Danny Allen

This Week...

Sonnet, the natural language checker, continues to develop and can now discriminate between more than 70 different languages. More work on the "konsole-split-view" branch to add split/merge functionality to the KDE 4 console. Support for filesystem labels in the "mountconfig" Guidance configuration module. Large developments in the "mailtransport" KDE-PIM work to enable code sharing between users of the common "emailing" action. Support for background text colours in Konversation. Further work in the "Papillon" MSN Messenger connection library, with support for Xtraz status and notifications in Kopete. Gradient editing tool introduced across KOffice. Better support for PDF presentation files in Okular. Improved AI in the recently-imported game KSquares. "Sublime", the new user interface library for KDevelop 4 is imported into KDE SVN. The initial code for KRunner, the KDE 4 replacement for the "Run Command" dialog, is imported into KDE SVN. The RSS Konqueror sidebar plugin is removed from KDE SVN, along with dcoprss and librss, which will both be replaced by libsyndication in KDE 4.
Rafael Fernández López discusses the new kio_uiserver possibilities in KDE 4:
In KDE 3, we already had a kio_uiserver, and so there is nothing innovative from that point of view.

The problem with the current uiserver is that it was not really visible from the user perspective, hidden in a Konqueror configuration dialog, and that it wasn't as usable or good looking as users would generally like it to be. Since Qt 4 hit the streets, we came up with a very powerful tool: Model/View programming. The uiserver (kio_uiserver) could strongly benefit from it, by centralising all jobs that are currently running on the computer.

The uiserver works perfectly with current applications, and it is very easy to add support for new features. When creating a KIO::Job, there is usually a parameter that lets you notify the uiserver or not (maybe you want to do some work that the user need not overtly know about). So, because the uiserver is very well integrated with the internal jobs framework, there is no additional work needed for current applications to fit into the renewed uiserver.

In the KDE 3 uiserver, there were only the typical actions (cancel, pause, etc.), so it was pretty limited in scope. I really wanted to change this, and to make a more flexible and powerful tool for developers. I had two ideas:
  1. The creation of "virtual" jobs should be possible: why only show KIO::Jobs ?
  2. The addition of new (and unknown) actions was needed, for improving the user experience.
The first idea is because "Jobs" do not do all the work on a computer. When doing some calculations, searching through a large amount of data, or whatever is in progress, something we would like to do is notify the user. This way, using a "for" loop you can update the uiserver to let the user know a task is in progress, and what the app is doing right now, without the need of having a KJob for that.

The second came really as a need because of the first improvement. Different kind of jobs have different needs, and different actions from the user are possible depending on the kind of job being processed.

Now, the uiserver is not a must-have item for KDE 4 (I bet lots of people didn't even notice it was there in the KDE 3 series). The important thing for KDE 4 is that it gives the user a uniform way of looking at what's happening at any moment in the system.

There is a very similiar project for the GNOME desktop too, called Mathusalem. I think that when I have all this stuff working properly, and with all the extras coded and working well I will contact the Mathusalem team, to see if we can co-operate and co-ordinate, letting Mathusalem list KDE jobs, and then of course, enabling uiserver to list GNOME jobs. This is possible because Mathusalem (and GNOME) uses D-Bus too. This would be a great step forward toward the unified desktop.

Here are some crude screenshots that allow you to better visualise the concept and possible implemenation:

Alexander Dymo reports on the new user interface for KDevelop 4, named "Sublime":
KDevelop UI: history
The User Interface of the KDevelop IDE has had a long history. The whole goal of the KDevelop UI was always to mimic the behavior of other development environments. KDevelop 1.x and 2.x for example looked like Visual Studio and that UI was good in that the new developers coming from the Windows platform felt at home.

The early KDevelop 3 alphas only used an interface that closely resembled IntelliJ IDEA which had probably the best user interface of the time period. Later during KDevelop 3 development we added three more so-called "UI modes" - "childframe" to resemble Visual Studio 6, "toplevel" that made KDevelop look like Delphi, and "tabbed" which was similar to the UI in the 2.x series.

These UI modes enabled KDevelop 3 to succeed in making new developers feel comfortable in the KDevelop environment. But we've paid a high price for this achievement. Increased UI-related code complexity and unmaintainability of KMDI UI library (the library to give us those four UI modes - Ideal, Childframe, Toplevel and Tabbed) were among the foremost reasons that the KDevelop 3 UI always felt so "unpolished".

KDevelop UI: now
This situation had to change, so for the KDevelop 3.4 release we ditched KMDI and used the SimpleIdeal UI mode instead. SimpleIdeal mode was built on top of my "newui" library which I wrote as an experiment to create simple and maintainable UI library with only the most frequently used features (90% of those regular Ideal mode had). As the result, for the first time since the 3.0 release in 2004 we can offer the user interface which doesn't forget your window and toolview settings, which doesn't lose focus and which allows for editor splitting. This made us believe that UI design is clearly a case when "Less is More" works best ;)

The road to the future: Ideal
For KDevelop 4 we wanted to keep on the "Less is More" path, and so the first UI effort was the port of newui library to Qt4/KDE4 which I completed and called "Ideal". It used Qt4 mainwindows/dockwidgets and provided a UI look-and-feel that closely resembled the Ideal mode of KDevelop 3. But the Ideal library did not become the foundation of KDevelop 4 UI because the team decided that the new release does not have to look and function like other familiar IDE's and should bring its own, different concept of operation. Since then we had been constantly discussing the modus operandi of this new interface and only at Akademy 2006 in Dublin, in the KDevelop BoF session after extensively looking at the pros and cons of various available IDEs did we make a final decision. This design decision was clarified several times during subsequent IRC discussions.

The future is now: Sublime
It was decided that the modus operandi of new KDevelop 4 UI (which I named "Sublime") is the following:
  • there is a project management window which collects all views not directly connected with code editing in a Finder-like 3-column interface (the closest match would be the project window in XCode)
  • UI provides support for "areas" (similar to Eclipse's perspectives)
  • the basic set of areas is:
    • code editing area with split editor windows (with kate/konqueror-like splitting)
    • debugging area (XCode-like debugger window with only one editor view by default but with possiblility to show more)
    • profiling area (like KCacheGrind)
    • user interface design area (like Qt Designer)
  • area configuration includes code editor windows (unlike eclipse)
  • each area can be displayed in usual Qt mainwindows with toolviews in dockwidgets
  • areas are shown in separate mainwindows so that multiple-monitor setups become the best supported
  • one area can be shown in two or more mainwindows by "cloning" the area (unlike Eclipse that pretends that two mainwindows show the same area)
  • optionally, areas can be switched inside the same mainwindow without opening new ones (like in Eclipse), but this mode of operation will not be the default
  • it is possible to open as many similar toolviews as necessary (for example, several Konsole's)
  • it is possible to open several views for the same file in code editor view (unlike KDevelop 3.x)
  • instead of tabs for editor windows, a "switcher" is provided (but the design for this switcher is still in progress)
One can think from the description above that the KDevelop 4 UI will still mimic what other IDEs have. This would be only slightly correct. We just took their best ideas, nothing more ;)

So where is the code?
The foundation for the Sublime design has begun as the Sublime library now imported into KDE SVN (in the kdevelop/lib/sublime directory). So the new, shiny UI is already not "vapourware" and we'll do our best to finish it soon and present some cool screenshots.
Next week we will see a surge of activity in the KDE-PIM module, due to the well-known annual pimster-meeting in the beautiful town of Osnabrück in Germany.

The focus of the meeting will be KDE-PIM in KDE4, with such technologies as Akonadi. The meeting will run from Friday 12th to Monday 15th of January, with around 20 core KDE-PIM developers (including Volker Krause, Tobias Koenig, Will Stephenson, Cornelius Schumacher, Tom Albers and Adriaan de Groot) in attendance. The preliminary schedule can be found here.

Statistics

Commits 2611 by 199 developers, 5760 lines modified, 1403 new files
Open Bugs 12802
Open Wishes 12031
Bugs Opened 208 in the last 7 days
Bugs Closed 349 in the last 7 days

Commit Summary

Module Commits
/trunk/KDE
485
 
/branches/stable
415
 
/trunk/l10n
361
 
/trunk/koffice
267
 
/trunk/extragear
207
 
/branches/work
205
 
/trunk/playground
205
 
/trunk/kdesupport
140
 
/trunk/www
110
 
/branches/kdevelop
90
 
Lines Developer Commits
281
 
Laurent Montel
131
 
108
 
Ralf Habacker
79
 
157
 
Pino Toscano
64
 
225
 
Gilles Caulier
57
 
142
 
Ariya Hidayat
57
 
132
 
Thomas Zander
48
 
115
 
Andreas Pakulat
47
 
130
 
Brad Hards
45
 
70
 
Jens Dagerbo
43
 
98
 
Aaron J. Seigo
41
 

Internationalization (i18n) Status

Language Percentage Complete
Portuguese (pt)
99.85%
 
Danish (da)
99.84%
 
Swedish (sv)
99.83%
 
Spanish (es)
97.98%
 
Dutch (nl)
97.4%
 
Greek (el)
95.68%
 
Estonian (et)
95.65%
 
German (de)
95.18%
 
Italian (it)
94.31%
 
French (fr)
92.64%
 

Bug Killers and Buzz

Person Bugs Closed
Bram Schoenmakers
58
 
Philip Rodrigues
54
 
Jens Dagerbo
48
 
Mark Kretschmann
27
 
Orville Bennett
23
 
Reinhold Kainhofer
17
 
Kurt Pfeifle
17
 
Joris Guisson
11
 
Cies Breijs
11
 
Martin Koller
10
 
Program Buzz
Amarok
4740
 
K3B
3140
 
Kate
2800
 
KMail
2735
 
Kopete
2731
 
KDevelop
2132
 
digiKam
1546
 
Kicker
1538
 
Kontact
1528
 
Kaffeine
1278
 
Person Buzz
David Faure
1044
 
Adriaan de Groot
856
 
Stephan Kulow
770
 
Waldo Bastian
588
 
George Staikos
520
 
Aaron J. Seigo
486
 
Thomas Zander
302
 
Boudewijn Rempt
272
 
Stephan Binner
266
 
Thiago Macieira
260
 

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

Bug Fixes

Graphics

Martin Koller committed changes in /branches/KDE/3.5/kdeaddons/konq-plugins/kimgalleryplugin/imgalleryplugin.cpp:

Don't trim filename extensions to avoid filename clash with two files having the same name but different filetypes (extension)
Patch provided by Olivier Trichet

KDE Base

Jacob Rideout committed changes in /branches/KDE/3.5/kdelibs/kspell2/plugins/ispell/ispell.h:

Fixes a bug where KSpell can't read large hash files that come with latter versions of ispell

Luboš Luňák committed changes in /branches/KDE/3.5/kdebase/kwin/group.cpp:

Properly add window to a group.

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

Keep file extension after download of the payload.
Don't use version/release info to generate fullName() if it's not set

KDE-PIM

Reinhold Kainhofer committed changes in /branches/KDE/3.5/kdepim/korganizer/printing:

Instead of using a date selector to select a month (where the day is completely ignored and thus only confusing), now use a month name combo and a year number spin box for both the start and end month of the printout.

Reinhold Kainhofer committed changes in /branches/KDE/3.5/kdepim/korganizer:

Fix a bug in kontact that Ctrl-N did not honor the selection in the agenda view. While doing this, I realized how messed up the new(Event|Todo|Journal) stuff was, so I fixed this and got rid of lots of duplicated code...

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

Office

Ariya Hidayat committed changes in /trunk/koffice/kspread/functions/financial.cpp:

fixed dangerous
it is *double* declining balance, so the default factor must be 2 !

This regression is introduced again during the functions conversion to
ValueCalc(!). I have fixed it in 1.5 and then did forward-port, but
this bug unfortunately still applies for 1.6.

Can someone backport to branch (for the upcoming 1.6.2) ?

Ariya Hidayat committed changes in /trunk/koffice/kspread/tests:

start testing the math functions: ABS, CEIL, and CEILING

and yes, this reveals the bugs (non-standard behaviors) in CEILING() !

Diffs: 1, 2, 3 Revision 620652

Multimedia

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

Show stop after track option even when current track is not on playlist

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

filtering for empty string wouldn't work on smart playlists

Sebastian Trueg committed changes in /trunk/extragear/multimedia/k3b/src/icons/hi16-app-k3b.png:

Made the top left pixel transparent. This is a HACK that actually makes the bouncing cursor icon work.

Features

Development Tools

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

Slightly hackish solution to the problem of when to unload the VCS plugin. This lets the VCS plugin live long enough to get the projectClosed() signal (and do whatever it may need to).

Real solution for this type of problem: have Core emit a "project is closed"-signal that's actually emitted _after_ the project is closed! Let's add that at some point when we're not so close to a release..

Diffs: 1, 2, 3, 4 Revision 619551
Andreas Pakulat committed changes in /branches/kdevelop/3.4:

Allow to set simple environment settings for external designer so we can use KDE4 widgets in it.

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

Educational

Cies Breijs committed changes in /trunk/KDE/kdeedu/kturtle/src:

added an inspection dock window (after Niels Slot sent in a patch), also
merged the other patches Niels sent in...

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

Graphics

Pino Toscano committed changes in /trunk/playground/graphics/okular:

Implement the page duration in presentation mode, and read the info from PDF documents.

Diffs: 1, 2, 3, 4, 5 Revision 618136
Angelo Naselli committed changes in /trunk/extragear/graphics/gwenview/gvcore:

gwenview now prints a picture at a time, if more than one are selected only the last one is printed.

Colin Guthrie committed changes in /trunk/extragear/libs/kipi-plugins/galleryexport:

Implement new security feature required by upcoming Gallery v2.2.
This is as yet untested but I have tested with Gallery v2.1 to ensure no regressions.

Hopefully when Gallery v2.2 is releases this will Just Work(tm), if not then I will have to patch it accordingly.

I have assumed as per the spec doc suggests that the auth token will not change since login.

Gilles Caulier committed changes in /trunk/extragear/graphics/digikam/utilities/splashscreen/digikam-splash.png:

New temporally digiKam splashscreen dedicaced to 0.9.1 release.
This is not the final splashscreen for 0.9.1 release. I'm waiting a more pro-photo contribution from digiKam users.

I have commited this splash to show the new digiKam release number from svn trunk at startup...

Note : showfoto splashscreen from trunk need to be updated to 0.5.0 release. We need a user contribution too...

Gerhard, Fabien, I'm waiting your comments about a possible splashscreens contest published on web site (:=))).
The splashscreen template files are available at this url :

<a href="http://digikam3rdparty.free.fr/Splashscreens/models">http://digikam3rdparty.free.fr/Splashscreens/models</a>;

Technicals info to photographers:
--------------------------------

This picture have been taken from French Pyrénnées during my Christmas holidays.
It a view of "Pic du Midi" taken with my Dynax 5D in RAW mode using a 24/85mm F3.5-4.5 lens and a circular polarizer filter.
The Camera profile used is the official Dynax5D from Minolta.
The workspace profile is AdobeRGB.
There is no color correction applied to image in editor.

Gilles Caulier committed changes in /trunk/extragear/graphics/digikam/showfoto/pics/showfoto-splash.png:

digiKam from trunk : update Showfoto splashscreen using a nice sunshine picture from Rainer Krienke.

KDE Base

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

Work done during my short holiday:

New User-Visible Features:
* 'Merge Windows' feature. This merges all of the existing Konsole windows into a single window. (The opposite of detach view in a sense). Only merges the views from the active tab widget in each window at the moment.
* Split-view feature. Splits existing view top/bottom.

New Front-end Progress:
* Make creating a new tab and window work in the new front-end
* Add detach-view in new front-end
* Added ViewManager class which manges views and view containers in a main window as well as creating new views and session controllers for terminal sessions.* Added SessionController class which provides the actions associated with an individual session and view.
(including the Edit and History menus)
* Menu items now working: Copy,Paste,Clear,Clear & Reset,Clear History,Configure Konsole
* Wrote a widget for incremental searches in documents ( IncrementalSearchBar ). The widget is closely modelled on the incremental search bar found in Firefox.
* SessionList class to provide the actions used to create new sessions in menus

Fixes:
* Fix crashes with multiple views caused by trying to change the size of the terminal image ( via setSize() ) after the user manually resizes the display
* Update terminal size associated with pty when resizing display
* Fix broken signal-slot connection in TabbedViewContainer
* Check for a minimum terminal size of 1 line x 1 column when updating the terminal image
* Ensure that internal array used by display widget to store terminal characters is always non-zero in size. Also ensure that 'lines' and 'columns' internal properties are always > 0. Fixes crashes when display widget has a very small height or width.
* Fixed crash with small display widget caused by TEWidget's count of used lines and used columns (usedLines,usedColumn fields) not being updated when the terminal image was made smaller.

Refactoring:
* Further file renaming for consistancy between file name and class name
* Make ViewContainer subclasses take a QObject* parent argument in their constructors

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 32 more) Revision 618089
Davide Bettio committed changes in /branches/work/kdehw/solidstats/daemon:

Improved APIs. Now is possible to get value using getValue.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 618650
Jacob Rideout committed changes in /branches/work/sonnet-refactoring:

Sonnet changes
- we now use namespace sonnet for all classes
- changed data location
- added language guessing test
- added language guessing data

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 89 more) Revision 619049
Daniele Galdi committed changes in /trunk/playground/base/qrdf:

Improve Model.h interface. Now is possible do manage RDF Context with a clean API.

We can add/remove/list over context and also see which context we have stored in a rdf model.

With this big change we can implement nepomuk-kde services compliant with nepomuk API.

btw...more tests are needed.

Diffs: 1, 2, 3, 4, 5, 6 Revision 619543
Jacob Rideout committed changes in /branches/work/sonnet-refactoring:

Language checking works now for ~70 languages!

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 619566
Sebastian Kügler committed changes in /trunk/playground/base/guidance/mountconfig:

Add support for filesystem labels in mountconfig. The label can dynamically be read by MicroHAL, so if the disk has a label, it will be found and filled in automatically. The same mechanism works for UUID where it's much, much harder to copy the UUID by hand -- just enable it via the radiobutton and it'll be read from MicroHAL (which in turn reads it from HAL).

There are little safety nets right now, especially for the UUID stuff, but it's rather easy to shoot yourself in the foot anyway already. More testing will reveal where we want some additional sanity checking.

Some smaller bugs have been fixed as well, mainly the fuser frontend wouldn't show up due to lsof not being where it's expected to be. And finally some potential encoding issues have been fixed.

I've also fixed linelength of some of the labels, those made the code pretty unreadable in some cases, I hope the translation teams won't be too angry at me. =)

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

* Implement basic highlighting of URLs in Konsole when the user mouses over them and launching that URL when clicked.
* Code for drawing markers. Markers are translucent highlights over certain text (matched internally using regular expressions).

Diffs: 1, 2, 3, 4 Revision 619661
Jacob Rideout committed changes in /branches/work/sonnet-refactoring:

Added Khmer detection to GuessLanguage. Fixed CMakeLists.txt error. Added More languages detection unit tests.

Diffs: 1, 2, 3, 4 Revision 619952
Luboš Luňák committed changes in /branches/work/kwin_composite:

Support for "input windows" that let effects intercept mouse events when they e.g. want to let the user select from window thumbnails.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 620305
Jacob Rideout committed changes in /branches/work/sonnet-refactoring:

Sonnet language detection now ignores minor segments of other languages within the text to be checked

Diffs: 1, 2, 3 Revision 620321
Jacob Rideout committed changes in /branches/work/sonnet-refactoring:

added afrikaans to language detection. This still sometimes thinks the text is dutch rather than afrikaans

Diffs: 1, 2, 3, 4 Revision 620440

KDE-PIM

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

Start working on a What's related feature.

Diffs: 1, 2, 3, 4, 5 Revision 618169
Reinhold Kainhofer committed changes in /branches/KDE/3.5/kdepim/korganizer/koeditorgeneralevent.cpp:

Don't try to be too smart. That's only annoying to the user and does not help usability at all. Allow the user to enter an end time that is before the start time. He might want to adjust the start time later on or the current state is just a transition state and the user will change e.g. the year of the end date later on. We just step on his toes if we reset the value of the widget to the start date in these cases...

Volker Krause committed changes in /trunk/KDE/kdepim/mailtransport:

Add mail transport jobs for sendmail and SMTP.
The sendmail job actually works, the SMTP job is still incomplete.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 619047
Tom Albers committed changes in /trunk/playground/pim/mailody:

Add bookmarks to the filesystem sidebar. When you 'add' a bookmark Mailody's mainwindow receives focus for some reason, which I could not find.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 619159
Volker Krause committed changes in /trunk/KDE/kdepim/mailtransport:

Sending mails via SMTP works now, using at most one slave per transport as it's done in KMail.

Diffs: 1, 2, 3, 4, 5 Revision 619462
Bertjan Broeksema committed changes in /branches/work/kdepim-3.5.5+/kpilot:

I Started working on a framework for storing a mapping between pilot id's and the id's that are used by the various apps in the conduits. It's very rough at the moment and doesn't have all the functionality yet. When it's less or more "finished" i'll continue to rewrite the knotes conduit and start making use of this mapper.

I also added a testfile for it.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 619468
Volker Krause committed changes in /trunk/KDE/kdepim/mailtransport:

Store password in config file if wallet is not available and move passwords from config file to wallet if it is available.

Diffs: 1, 2, 3, 4, 5, 6 Revision 619841
Volker Krause committed changes in /trunk/KDE/kdepim/mailtransport:

implement job killing

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 619853
Christian Schaarschmidt committed changes in /branches/work/kdepim-3.5.5+/kmail:

- use tree to show emails. node=preferredEmail, leaf=alternativeEmail
- re-order comboBox dropdown list items
- insert seperator in dropdown list
- fix double entries for emails in recentEmails list
- fix recent emails collection wont show current typeLabel

Volker Krause committed changes in /trunk/KDE/kdepim/mailtransport:

add async wallet loading during sending

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 620316
Adriaan de Groot committed changes in /branches/KDE/3.5/kdepim/kpilot/tests:

Add an application for dumping the address book (KDE side) into a PDB

Volker Krause committed changes in /trunk/KDE/kdepim/mailtransport:

Add support for adhoc transports (as eg. available in KMail's composer).

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 620491
Volker Krause committed changes in /trunk/KDE/kdepim/mailtransport:

implement precommands

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 620543
Volker Krause committed changes in /trunk/KDE/kdepim/mailtransport:

Read passwords from config file which are still using legacy "encryption".

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

Office

Ariya Hidayat committed changes in /trunk/koffice/kspread/functions:

new function for Excel compatibility: EUROCONVERT

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

As requested by mrdocs: search recursively for icc profiles (makes sense). Also add the dirs we need to look inside to the KGlobal instance, before this we were not yet using KisDoc's instance (which actually sets the kis_profiles resource type). Happy newyear everybody!

Dag Andersen committed changes in /trunk/koffice/kplato:

Add option to avoid overbooking of resources, just schedule tasks later (or extend duration) if resource conflict.
This isn't tested much so don't expect *everything* to work perfectly.

Alfredo Beaumont Sainz committed changes in /branches/koffice/1.6/koffice/lib/kformula/kformuladocument.cc:
Thomas Zander committed changes in /trunk/koffice/libs:

Add a new feature to Shapes.
The KoShape::shapeChanged virtual hook has always been called when one of the properties of a shape changed; I expanded that by making it also get called when another shape is changed in the bounding rect of the shape to allow a shape to update itself if thats needed.

Note that I added a collisionDetection() boolean so there is little impact on performance for those that don't want it.

This effectively finishes the runAround of KWord to make sure layouting is changed when a shape is moved above it.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 619584
Jan Hambrecht committed changes in /trunk/koffice:

First version of a gradient editing tool plugin.
It already can edit existing gradient backgrounds.
You can use it on the rectangle or ellipse shape for testing.
There are some repainting problems when the gradient handles are outside the parent shape.
These will be fixed in the next days.

Have fun!

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

Multimedia

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

Rating weighted random order for smart playlists

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

If the user is listening to a stream a queue a track on playlist, go to the queued track when current song of stream finishes.

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

Support RealPix <viewchange> tag (not sure though if this is what it supposed to do)

Diffs: 1, 2, 3, 4 Revision 618228
Koos Vriezen committed changes in /trunk/extragear/multimedia/kmplayer/src:

Support regions identified by 'regionname' attribute
Fix regpoints not accounting for 'fill' attribute and make sure to draw the right rectangle w/ the regpoints case (images only for now)
Fix crash in unfortunate document reset which may trigger a child doc activate if an set/animate reset preceeds the target element
Only finish and not deactivate 'seq' children when done, when groups are finished check the 'fill' attribute whether to deactivate children (this needs some rethinking to support the 'fillDefault' state one day)

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

* Update diskinfo when the medium is changed.
* Grey out diskinfo when the medium is removed
* show busy cursor when fetching VideoCD info

Diffs: 1, 2, 3 Revision 619544
Mark Kretschmann committed changes in /trunk/extragear/multimedia/amarok/src/engine/xine/xine-engine.cpp:

Never crossfade non-local tracks. It just sounds bad because there is always a gap.

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

Add separate GUI options for fadeout and fadeout-on-exit in the Playback section. I think this bit of control is really needed, it was bad to couple this with crossfading. Especially since we cannot default-enable crossfading (too risky with alsa), but we can now default-enable fadeout.

Diffs: 1, 2, 3 Revision 620377
Mark Kretschmann committed changes in /trunk/extragear/multimedia/amarok/src:

The settings dialog now remembers the last used tab page.

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

support for cue files in same directory as audio file but with a different base name

- thanks to Dawid Wrobel for the patch

Networking Tools

Urs Wolfer committed changes in /branches/work/make_kget_cool/kget:

Work in progress:
Use a KActionMenu in the toolbar for start/stop downloads. So the user can choose if he would like to start/stop all or only the selected download(s). I have to implement a function for starting / stoping only the selected transfer(s).

Diffs: 1, 2, 3, 4 Revision 618070
Dario Massarin committed changes in /branches/work/make_kget_cool/kget:

Change the "limit total downloads" settings to
"limit total downloads per group" and make it work.
Our architecture allows to set specific limits for each group, but for now I prefer this way, which is much easier to use and doesn't require any gui change.

Diffs: 1, 2, 3, 4 Revision 618172
Dario Massarin committed changes in /branches/work/make_kget_cool/kget:

Ok. So here is the last big thing I wanted done before the end of my holidays which, unfortunately, is tomorrow.. This change makes the group concept completely usable as it introduces starting & stopping controls for each group directly on the gui. Check it out and enjoy :)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 618623
Eli MacKenzie committed changes in /trunk/extragear/network/konversation/src:

background colour "support". needs thorough testing.

Urs Wolfer committed changes in /branches/work/make_kget_cool/kget:

Be able to delete downloads with the delete-key. The actions stuff in kget is quite messy. I will clean it up as soon as the heavy kaction changes in kdelibs are done.

Michaël Larouche committed changes in /trunk/KDE/kdenetwork/kopete/protocols/messenger/libpapillon:

Commit my current state of work on libpapillon Contact list part.

-Added HttpConnection to take care on HTTP over SSL connection using the SecureStream/Connector/HttpTransfer model
-Added FetchContactListJob, a job that fetch contact list(not address book) from a web service
-Added temporary hand-made SharingServiceBinding. This will be used untill I can't work on the frontend API without a generated binding.

Currently, the ContactList is populated with contacts and you can query the Allow, Block, Reverse and Pending list :)

You can use the Papillon console to test it.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 10 more) Revision 620412
Roman Jarosz committed changes in /trunk/KDE/kdenetwork/kopete/protocols/oscar/liboscar:

Add support for sending and receiving ICQ plugin messages.
Detect xtraz status.
Use d-pointer in Message and PluginMessage classes.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 620547
Roman Jarosz committed changes in /trunk/KDE/kdenetwork/kopete/protocols/oscar:

Add general Xtraz notification support.
Add Xtraz status support.
- we can send and receive Xtraz status.
- Kopete automatically retrieves Xtraz status.
- for now we only show Xtraz status description in contact list.

TODO:
- add GUI interface for own Xtraz status.
- create OnlineStatus for buddy with Xtraz status icon and title.

User Interface

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

more

Diffs: 1, 2, 3, 4 Revision 618259
Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/style_and_windec/parts/window:

the general window

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 618841
Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/devices/projector.svg:

new icon

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

new version

Diffs: 1, 2, 3, 4 Revision 619656
Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/actions:

new version

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

New mimetype sheet in "davigno", some kmail icons. Updated templates.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 619701
Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/actions:

perfection fixing

Diffs: 1, 2, 3, 4 Revision 620154
Nuno Fernades Pinheiro committed changes in /trunk/playground/artwork/Oxygen/theme/svg/actions:

perfection fixing

Diffs: 1, 2, 3, 4, 5 Revision 620166
Riccardo Iaconelli committed changes in /trunk/playground/artwork/Oxygen/theme/svg/actions/contexthelp.svg:

Newer version

Riccardo Iaconelli committed changes in /trunk/playground/artwork/Oxygen/theme/svg/actions/konv_message.svg:

New icon

Utilities

Raul Fernandes committed changes in /trunk/extragear/utils/ktranslator:

Add a option to do case sensitive searches (some languages need it)

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 618074
Frans Englich committed changes in /trunk/playground/utils/xmlstat:

Add a tool for extracting statistics about an XML document. GNU GPL, against Qt 4.2, Qt-only/QtXml, qmake based. Very primitive stuff, but seems to be useful.

Diffs: 1, 2, 3, 4, 5, 6 Revision 619139
Stephan Binner committed changes in /branches/work/suse_kickoff_qstyle/kicker:

added tabbar modes "icon only" and "label only"

Diffs: 1, 2, 3 Revision 619884

Games

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

More challenging AI implemented. i.e., it's beating me again :( (Set it through Settings->Configure->AI: Hard)

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

Next colors preview widget now shows correct colors

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

KLines is now playable from keyword again.
Use arrows to move focus rectangle and Space to select/move ball

Diffs: 1, 2, 3 Revision 619216
Dmitry Suzdalev committed changes in /trunk/KDE/kdegames/klines:

Implement one level undo.

Note that due to bug in QTimeLine, after this commit the game becomes unplayable unless you exchange lines 113 and 114 in qtimeline.cpp which is in qt-copy/src/corelib/tools/.

I thought about making patch for qt-copy, but this is not a critical one, so I think it doesn't worth it :-)

Well, in fact I can place a temporary workaround so patching qt-copy won't be needed.
If someone needs this, ping me somewhere :-).

Bug has been reported to TT. Not accepted yet :).

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

Other

Brad Hards committed changes in /trunk/kdesupport/qca/plugins/qca-cyrus-sasl:

Add in a first cut of the Cyrus SASL provider.

This was originally by Justin Karneges, with the
QCA2 port by Michail Pishchagin

Diffs: 1, 2, 3, 4, 5 Revision 618723
Brad Hards committed changes in /trunk/kdesupport/qca/examples:

Example for the new (QCA2) SASL server and client capabilities.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 618725
Ralf Habacker committed changes in /trunk/kdesupport/kdewin32/installer:

- added initial gui client

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 618885
Ralf Habacker committed changes in /trunk/kdesupport/kdewin32/installer:

- added test application, downloads package list from sourceforge project and apache provided web site

Diffs: 1, 2, 3, 4 Revision 619686

Optimization

KDE Base

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

Pause animations whenever a HTML view is hidden and resume animations when it's shown again. This greatly reduces CPU usage when there are a lot of animated images in hidden tabs or minimized windows

Networking Tools

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

Massive performance optimization. Cache the transferChanged and transferGroupChanged event directly on the TransferTreeModel class by starting a timer when an event happens and committing all the gui changes of all the transfers and groups after 200 msec. Note that at this point the timer is stopped and a new one is started only if another event occurs.

This drops the cpu usage with the multisegments plugin from ~80% to ~5% on my machine. It's a good result, but not enough..

Other

Development Tools

Allen Winter committed changes in /trunk/KDE/kdesdk/ebn/krazy/plugins/doublequote_chars:

First implementation of a new exclude facility.
To exclude a plugin from being run on a line of code, simply add a C++ comment containing the string "krazy:exclude=<plugin_name>".

Specifically, for this plugin use "krazy:exclude=doublequote_chars".
For example:
  lenstr = "0" + lenstr;
becomes
  lenstr = "0" + lenstr; // krazy:exclude=doublequote_chars

note that C style comments like the following will not work:
  lenstr = "0" + lenstr; /* krazy:exclude=doublequote_chars */

TODO: make all the plugins support this new facility
TODO: support comma-separated lists of plugins
  krazy:exclude=<plugin1>[,<plugin2>,...,<pluginN>]

Allen Winter committed changes in /trunk/KDE/kdesdk/ebn/krazy/plugins:

Added new plugin that looks for inline methods within public, visible classes.

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

I have no idea what I was thinking adding a new dialog when we have a perfectly functional (superior, in fact) quick open dialog.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 619627
Alexander Dymo committed changes in /trunk/KDE/kdevelop/lib:

This is "Sublime" - the new user interface library for KDevelop4.
Major Sublime features:
- areas (aka perspectives)
- document management
- view management (with splitting and 1 doc -> N views support)
- multiple mainwindow operation (for xinerama displays)

The design for Sublime is a result of KDevelop BoF meeting
at aKademy 2006 and numerous discussions at #kdevelop irc channel.
More information about the design is available on wiki (UI section):
<a href="http://www.kdevelop.org/mediawiki/index.php/KDevelop_4">http://www.kdevelop.org/mediawiki/index.php/KDevelop_4</a>;

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 28 more) Revision 619970
Andreas Pakulat committed changes in /branches/kdevelop/3.4:

Rip out the java debugger, it was never activated. Also disable the C++ debugger for java projects, because that just doesn't work.

Alexander Dymo committed changes in /trunk/KDE/kdevelop/src:

Bye-bye SimpleIdeal (aka newui aka newd) library, we won't need you in KDevelop 4!

Alexander Dymo committed changes in /trunk:

The Ideal UI mode in KDevelop is considered dead. Long live the Sublime UI mode!

This ideal library code contains ready-to-use and quite good Qt4 based implementation so I'm moving it to playground in case it is needed.

KDE Base

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

add initial krunner. it does very little at the moment, but having it in svn will allow me to work on it using either of my machines; and maybe even others will join in the fun. ;) now that it is in svn i'll also be more apt to work on it during the tue-thur non-libs coding days.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 13 more) Revision 618307
Aaron J. Seigo committed changes in /trunk/KDE/kdelibs:

remove KClipboardSynchronizer from the public API. it was only used by KApplication and klipper, and the latter only used one feature. instead add the ability to clipboard sync on/off in kapplication and make kclipboardsynch an implementation detail in kdeui/kernel =)
also break out KSessionManaged from kapplication.[h|cpp] and rename it to KSessionsManager so it sounds a bit more like english.
(hopefully) fix a crash in kapplication related to the iconloader being access in KApplication::parseCommandLine

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 619085
Olivier Goffart committed changes in /branches/work/kdelibs_kpassworddialog:

Add a branch to work on KPasswordDialog.

my objective:
- rename the actual KPasswordDialog into KNewPasswordDialog and keep only the part that ask for a new password (with a confirm line edit)
- move KIO::PasswordDialog in kdeui and rename KPasswordDialog

Simon Hausmann committed changes in /branches/work/kaction-cleanup-branch/KDE/kdelibs/kdeui:

removed support for multiple actions with the same name in the collection. it doesn't work with xmlgui (which is the one big use-case of kacioncollection) and it doesn't work with shortcut configuration (which is the other feature of kactioncollection).

Diffs: 1, 2, 3 Revision 620599

KDE-PIM

Frank Osterfeld committed changes in /branches/kdepim/proko3:

create branch for next generation kolab client

Office

Inge Wallin committed changes in /trunk/koffice/kchart:

Port KChart from KDChart 1.1.4 to KDChart 2.0, step 2:
Import KDChart 2.0.

- No CMakeLists.txt yet
- Nothing is called here yet.

When everything is done, the kdchart1/ subdirectory will be removed.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 125 more) Revision 618625
Sebastian Sauer committed changes in /trunk/koffice/kexi:

New experimental implementation for the mainwindow based on KoDocument+KoView

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 619190
Boudewijn Rempt committed changes in /branches/koffice/1.6/koffice/krita/core/kis_image.cc:

Between a rock and a hard place: Michael's scaling code has issues, Casper's scaling code has issues. With Casper's latest patch, the quality is a bit better, so back out the special casing for Michael's code.

Ariya Hidayat committed changes in /trunk/koffice/kspread:

We have real test suite now, no need for this runner anymore

Diffs: 1, 2, 3, 4 Revision 620644

Multimedia

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

Rip out the old painting code

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 618631
Christoph Pfister committed changes in /branches/work/kaffeine4:

add some initial stubs

Diffs: 1, 2, 3, 4 Revision 619578
Sebastian Trueg committed changes in /trunk/extragear/multimedia/k3b/src/projects:

Completely reimplemented the Audio track splitting. Sadly the old implementation crashed on a regular basis and had some usability quirks. A complete reimplementation was much easier than understanding Sharan's code. Also the new code is much more compact and does not break the AudioEditorWidget API. Thus, the Source editor dialog works properly again.

Sorry, Sharan, but I had to make it work and the only way for me was to redo it.

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

Networking Tools

Frerich Raabe committed changes in /trunk/KDE/kdenetwork/knewsticker:

- Delete the KIO plugin, I doubt anybody used this, ever.

Marcus Camen committed changes in /trunk/KDE/kdeaddons/konq-plugins/sidebar:

Remove RSS newsticker sidebar plugin as suggested several times on
kde-core-devel and in the KDE wiki.

Frerich Raabe committed changes in /trunk/KDE/kdenetwork:

- Kill dcoprss. Nobody uses this anymore (well, a Kontact plugin, but it's disabled and will be ported to libsyndication anyway), and without this there's one dependency less on librss.

Frerich Raabe committed changes in /trunk/KDE/kdenetwork:

- Kill librss, in favor of libsyndication (which is basically a fork of librss plus support for new features and feed types). Now that dcoprss is gone, I could only find extragear/network/ktorrent as the only remaining application which depends on librss - but it has its own forked copy, too (what's up with these people copying libraries around?).

Gregg Edghill committed changes in /branches/work/kopete/kopete-msn-msnslp:

new development branch to integrate libmsnslp

Joris Guisson committed changes in /branches/ktorrent/www:

Import KT website into SVN

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

User Interface

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

this should be the last of the icons in kdelibs.
there's also counts of the # of icon in each status next to the status legend labels; seems we have some 153 icons, 47 of which haven't been started (not counting mimetypes, of course)

i think this is also the time to start doing the rename of icons ... some extra debug in kiconloader should also let us catch any missed icon updates in the code at runtime.

Johann Ollivier Lapeyre committed changes in /trunk/playground/artwork/Oxygen-sound:

add directory for oxygen sound

Diffs: 1, 2, 3 Revision 620387
Jonathan Riddell committed changes in /trunk/playground/artwork/Oxygen/docs/icons.ods:

Add icon categories
Add standard names from icon-name-spec where they exist
Add icons in standard name spec not in KDE
Add other icons in KDE SVN

Jonathan Riddell committed changes in /trunk/playground/artwork/Oxygen/docs/icons.ods:

Add descriptions
Add missing icons from icon name spec
todo: finding complete list of old names, tidy up crystal icons not in spec

Utilities

Laurent Montel committed changes in /trunk/KDE/kdetoys:

Port kweather to dbus.
(need to test tomorrow for the moment I can't test dbus interface)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 618177
Aaron J. Seigo committed changes in /trunk/extragear/utils/kedit:

kedit lives here. i think this also makes it the first kde4 app in extragear?

Philip Rodrigues committed changes in /trunk/KDE/kdeaddons/doc/ksig:

Initial import of KSig documentation by Richard Johnson. Thanks Richard!

Games

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

Start huge refactoring of internal structure (I really should stop simply writing code as I go)

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

Other

Holger Freyther committed changes in /branches/work/~zecke/findbugs:

Start one of these I always wanted to do this or that things

Use the KDevelop C++ parser to create a static analysis tool for KDE and Qt. Currently it is doing nothing at all but I don't want to lose nothing.
test/1 and test/2 are the first things I want to detect properly and obviously this tool is inspired by findbugs

The static checking code will be MIT licensed

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 37 more) Revision 620011
Brad Hards committed changes in /trunk/kdesupport/qca:

Remove the Quality enum from the Random capability, as discussed with Justin.

It was only really supported by the Botan provider, and Botan dropped the idea in 1.6.0. Also, it never ensured that the random number was actually secure.

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