Issue 33
19th November 2006 by Danny AllenThis Week...
As a matter of course, Pino Toscano, a key Okular developer, wrote a standard request/notification of the move to the kde-core-devel mailing list. However, it was not to be a simple and uncontested proposition, as the 80-message long thread of replies surely indicates.
If I remember correctly there has been made a decision, that no applications that are duplicating functionality will be allowed in the core modules. And we are definitely not interested in moving Ligature to Extragear.
both improve on kpdf with things like a "real" text selection tool, overview and facing page layouts, support for multiple file formats, etc ...
ligature has a few nice little advantages: the "read page" nav feature is nice as its scrolling sidebar thumbnails.
okular has a well integrated inline search, has additional configurability for DRM bits and memory usage (to name a few), supports more file formats (numerically and in terms of common desktop relevance), supports reviews (and apparently annotations and what not, as seen at akademy though my build from svn doesn't have those features?), has a "download books from the internet" feature using ghns that simply rocks and has a handful of new UI features ... the UI does need more polishing, but that's not surprising given its in-high-development state.
ligature supports G3 fax and djvu files which okular doesn't, but then okular supports ODT and a number of other interesting formats. if you do a lot of djvu or fax viewing ligature may be more useful. i find okular's format selection more relevant to my usage, but ymmv.
after having used both, i have to say that it would be rather odd to provide both apps by default on a desktop installation due to function overlap.
i can see the following options:
- the two teams agree to work on one codebase
- do the same thing we did with cd burners and put them all into KEG and let user demand sort it out
- have the release maintenance team pick one for inclusion with kde4's default set of applications and move the other into KEG
- leave them both where they are because we can't decide and look a bit foolish all over again for having obvious duplication in apps
i agree with Allen that this is a "nice" job for the new TWG.
The proposal and formation more than a year ago of a set of 'working groups' within the organisation of KDE to make decisions such as these reflects the growing maturity of the project - the strength of the Technical Working Group (TWG) should ensure that a difficult (but very much correct) decision is made for the future diverse userbase of the KDE 4 desktop.
Statistics
Commits | 1815 by 209 developers, 4213 lines modified, 807 new files |
Open Bugs | 12984 |
Open Wishes | 11924 |
Bugs Opened | 256 in the last 7 days |
Bugs Closed | 294 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/KDE |
351
|
/trunk/l10n |
289
|
/trunk/extragear |
239
|
/branches/stable |
188
|
/trunk/playground |
179
|
/branches/work |
122
|
/trunk/koffice |
120
|
/branches/KDE |
96
|
/trunk/www |
91
|
/trunk/kdesupport |
48
|
Lines | Developer | Commits |
233
|
Laurent Montel |
112
|
276
|
Jarosław Staniek |
42
|
44
|
Jos van den Oever |
41
|
72
|
Pino Toscano |
32
|
70
|
Dirk Mueller |
31
|
41
|
Oliver Kellogg |
31
|
75
|
Stefan Nikolaus |
30
|
94
|
Sebastian Trueg |
29
|
21
|
Achim Bohnet |
27
|
26
|
Yukiko Bando |
26
|
Internationalization (i18n) Status
Language | Percentage Complete |
Portuguese (pt) |
100%
|
Danish (da) |
99.99%
|
Swedish (sv) |
99.96%
|
Spanish (es) |
97.3%
|
Dutch (nl) |
96.89%
|
Greek (el) |
95.77%
|
Italian (it) |
93.75%
|
German (de) |
93.34%
|
French (fr) |
93.17%
|
Estonian (et) |
92.51%
|
Bug Killers and Buzz
Person | Bugs Closed |
Sebastian Trueg |
67
|
Bram Schoenmakers |
28
|
Martin Koller |
28
|
Philip Rodrigues |
27
|
Seb Ruiz |
26
|
Christoph Burger-Scheidlin |
16
|
Maks Orlovich |
15
|
Thomas Zander |
11
|
Mark Kretschmann |
9
|
Alexandre Pereira de Oliveira |
5
|
Program | Buzz |
Amarok |
4980
|
K3B |
2660
|
Kate |
2640
|
KMail |
2510
|
Kopete |
2374
|
KDevelop |
2178
|
Kat |
1846
|
Kontact |
1534
|
Kicker |
1416
|
digiKam |
1310
|
Person | Buzz |
David Faure |
964
|
Adriaan de Groot |
844
|
Stephan Kulow |
756
|
Waldo Bastian |
502
|
George Staikos |
357
|
Aaron J. Seigo |
308
|
Stephan Binner |
280
|
Boudewijn Rempt |
263
|
Thomas Zander |
257
|
Jonathan Riddell |
250
|
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 95 selections this week
Bug Fixes
Development Tools
Fix broken replacement of marked text with e.g. ctrl-m.
Graphics
Fix handling of filenames with non-ascii chars
KDE Base
fix #15876: if a file name contains a newline, the newline was displayed in the status bar, which m
with this patch all newlines are replaced with a space in the status bar info, so
this doesn't happen anymore. Maybe it could also be replaced by "
" or "\n" or ...
Maybe this could even be moved to KStringHandler cPixelSqueeze ?
Does this still exist in KDE4 or has it been replaced by some Qt function ?
Fix Unicode support in RegExp handling, and also be more robust vs. embedded nulls.
Fixes problems with some cyrillic characters in gmail (#116512)
Makes google calendar somewhat work, though not fully (part #135445)
Also fixes #135246, #101398
KDE-PIM
Explicitly delete all message when user chooses to resync a mailbox. This prevents old messages staying alive when the server reuses the same uids. Also caught a crash because the threadTo map did not remove deleted messages, so on a resync it would want to assign an item to a parent which was deleted because of the sync.
Office
Fix bug where environments were completed which should not have been completed.
Remove selected text in any case if the user insert "
Multimedia
Fix the broken "Add to JuK Collection" service menu action for KDE 3.5.
I'm not sure that it ever worked since it's calling a function in the Player interface that doesn't exist, and to my knowledge never existed. In the process I changed it to pass all files to the dcop command line instead of calling dcop one by one for each file.
* Don't remove tracks from the playlist when reducing the upcoming count of the current dynamic mode
* Only append tracks to the playlist if the playlist track count is greater than dynamic mode upcoming count
Forbid pausing the engine when using lastfm. Now pause can't be issued from dcop or shortcuts.
Features
Accessibility
Command line utility. Not finished.
Educational
belarus map by Laurent Garnier
slovakia map by Laurent Garnier
czech republic map by Laurent Garnier
Twofold improvement in Kalzium's 3D viewer:
- automatically set up nice viewpoint when loading a molecule.
- draw multiple bonds with "intelligent" orientation, so that they avoid looking like single bonds.
Both improvements rely on Eigen's linear regression feature.
Graphics
Improved support for the flickr plug-in. Now tags are correctly uploaded. Thanks to Mark Jaroski for a patch.
digikam from trunk : using a popup menu with a side pixmap. Code backported from Amarok
Two unrelated updates:
1) get rid of vertical allignment fields for viewlabels, since they don't make any sense for auto sized label boxes. Note: horizontal alignment selection widgets are still there, but they don't work, as the label renderer doesn't know how to deal with it.
2) add a plot draw tool. The keyboard accelerator is temporarily set to '2'.
Set the NewStuffDialog window title and when a item is installed one click open the PDF.
Added new kipi icons
Add support for printing of TIFF documents
Almost complete support for inverse search within okular.
The system generally works; what is missing is a good activating strategy (added in TODO - our usability expert is working on that), and a GUI to configure the editor.
The DVI backend was adapted to use this new feature. (The PDF backend will use it soon.)
Read almost completely the pdfsync information for a PDF, if available.
Unfortunately, I have no source file for the pdfsync files I have, so maybe there could be some problems.
Feedback is welcome.
KDE Base
Added strigiconfupdater. It's a small command-line program that converts old strigi configuration files to the new xml format adopted by latest version.
KDE-PIM
The beginning of a new Planner Summary for Kontact.
Operational, but a work-in-progress.
Feel free to join in the fun!
We are thinking along the lines of <a href="http://bugs.kde.org/show_bug.cgi?id=103693">http://bugs.kde.org/show_bug.cgi?id=103693</a>
Support Microsoft Exchange Server 2003 IMAP4rev1 server.
Office
Make sure a hidden shape is never selected (by user interaction)
Add a 'isSelectable' boolean to every shape to allow certain objects in the flake hierarchy to be unselectable. Probably usefull for things like a shape that is a page in KPresenter. Or a shape that is a layer in Krita.
Multimedia
Some progress for suggested dynamic mode. When creating the cache, we retrieve similar artists to the currently playing song, and find some songs. Then, we take some of those similarities and find their similar artists.
TODO: create a cache or similar artists
I can't really test this because i'm on the laptop with not much music, and hence not many similar artists :)
Put the "Add Playlist" and "Add Playlist (import)" menu items in their own submenu. This way we 1) Make the menu shorter 2) Can have more meaningful item texts.
When checking for duplicate items on a Rio Karma, use the track number in addition to artist, album & title. We also turn off libkarma's duplicate-checking as it would not let these files through (and we are confident in our own duplicate checks).
Remove playlist and smart playlist context menu entries for adding and removing them to the existing dynamic playlist. i felt it was unintuitive, and duplicated a lot of work.
The dynamic playlist should be editable in one way, and that is by clicking on the "edit" button.
Added a "force" setting which makes K3b use the -force paramter with cdrecord and cdrdao.
This allows to for example write to high speed media on low speed writers.
Show project statistics in the statusbar.
Make the shoutcast category and genres expandable, so they can be opened with a click on the [+] button, not a double click, which was totally unintuitive.
KDirSize replacement with a follow symlinks setting and a restriction to local files.
* Progress when adding files to a data project
* Better button placement in the welcome widget
* No overlapping text in the project fill display anymore
* The follow symlinks to folders dialog now allows to choose stuff like "follow all" or "add all"
A little improved cancellation handling. This will get all much better after the libk3b rewrite post-1.0
Networking Tools
MultisegKIO now use KIO::Get for the segments and KIO::file for the local file.
this should fix many problems with http redireccions and so. ftp also works now.
I make a segmentfactory class that handle the segments and olso can be used in the metalink plugin
now we pass a QList<KUrl> to the MultiSegfile_copy funtion. i'm planing to make a search funtion to return an KUrl List. any help or idea is welcome :)
One for the eyecandy crowd: Fix unresponsive, defective Server List dialog window appearing at application startup using the Beryl compositing window manager.
Add feature 80717: Add the ability to use AIM contacts with ICQ and vice versa.
- Add AIMContactBase class, that contains functions common for AIM contacts in AIM and ICQ accounts.
- Add ICQContactBase class, that contains functions common for ICQ contacts in AIM and ICQ accounts.
- Add ICQContact to AIM plugin and AIMContact to ICQ plugin.
- Move sanitizedMessage function to AIMContactBase and ICQContactBase classes, because we want parsing based on other side protocol.
- Add OscarProtocol which is now base class for ICQProtocol and AIMProtocol.
- Implement older away message format for ICQ, so AIM can see away message for ICQ contact.
- Cleanup duplicate code.
User Interface
Utilities
More work on tag filter, mostly drag and drop handling improvements:
- only accept drop if it actually is a valid tag
- only accept drops over active frames
- update the decided list immediately upon drop, do not wait till filtering is finished
The above give a lot better feeling (due to more exact feedback) to tag manipulation.
Games
better SVG artwork for ksame. background will follow
Replace the tooltip by a QGraphicsItem. Work is in progress... I know it's hard to read, not really nice looking and so on, and there is a problem with its position
* Display a message when there are no more moves left.
Start playing with showing trivia, e.g. some interesting additional info about current molecule.
As QGraphicsItems aren't designed to hold QWidgets, I tried to implement button on preview-QGItem by using QStyle's rendering functions. Well, it worked (of course ;)).
Other
Now it can be used from within Konqi.
Implement derived integers, such as xs:byte and xs:unsignedShort. Check out the output:
SUMMARY:
Total: 14884
Failures: 1987
Passes: 12853
Pass percentage(%): 86
Unexpected failures: 0
Unexpected passes: 1754
Not tested: 44
That's right. 1754 test cases fixed in one commit. 12%. New record for me.
I introduced one regression: DerivedInteger.h generates a warning, see 341. I'll work on derived string types now. Should be less work for that.
Optimization
Office
Multimedia
Made startup slightly faster by lazy-loading parts of the Magnatune browser. Still need to look into why polish() is called multiple times
Networking Tools
Security
Multimedia
Merge (part of) Pascal Blesers patch to hide credit card info from console output when buildt with full debuggin. Will backport this fix for 1.4.4 patchset
Other
Development Tools
* Removed obsolete Qt3 and KDE3 Java bindings projects
Educational
Reorganizing some of the radical data in radselect. Working on some of it's more advanced features sooner than expected, because the radical->kanji relationship is being entirely moved into radselect.
Graphics
two small changes, passed by pintoree on irc:
- render the viewed rect area in the thumbnail a bit more elegantly
- Render Mode -> View Mode ... "render" is geekanese, "view" is proper luserian
At least use an optimized image here... (Reduces the repo size by about 2 MB, without a loss of quality.)
KDE Base
Rewrite display:inline on TABLE to display:inline-table
A quirk Dirk left out ages ago, but it looks like we need it
-kill KDEDIR now and forever, may it rest in pieces ;-)
Alex
Add the header for KAutoSaveFile, whose purpose is to replace KApplication::tempSaveName() and KApplication::checkRecoverFile() with something more powerful that allows you to:
1) work with URLs, not files
2) work with the same resource in more than one application at a time
3) check for stale autosaves and active ones
4) allow the application to find all autosaves it left behind
This is just the .h. I'm not writing the .cpp. We're going to try a new thing: I'm blogging about this and we'll see if we can get a new developer to adventure into kdecore. I'll coach him with the code.
KDE-PIM
clean-up and doxygenation.
also includes an important change whereby the RFC2822 format is now treated nicely as a FormatType, rather than some cousin the family never talks about.
Really, I gotta believe this stuff belongs in our new KDateTime class which already has methods for creating date strings in RFC2822 and ISO8601.
Office
Create one single flake (and other stuff) plugin loader that doesn't use kparts and loades the current crop of flake plugins.
This means we no longer sneakily add the tool plugin while the shape is loaded or vice versa. It's up to Jan to make the shapes into one plugin: I will go through the Krita tools and pigment colorspaces to de-kpart them.
Finish migration to have one plugin loader for flake plugins.
Each plugin will have a KService factory only one time and it can now choose from being a Shape-only plugin, a Tool-only plugin or to be a plugin of type "KOffice/Flake" which can contain both types.
This solves the weirdness that if you had both a shape and a tool you had to choose one and do some magic in the constructor to have the other type known as well.
Moved from playground to <a href="http://svn.freehackers.org/tnagy/trunk/kdissert/">http://svn.freehackers.org/tnagy/trunk/kdissert/</a>
The work on semantik (KDE4 version) has started.
Conclude the discussion we had on koffice-devel 4 months ago.
<a href="http://lists.kde.org/?t=114790285100001&r=1&w=2">http://lists.kde.org/?t=114790285100001&r=1&w=2</a>
In contrary to MsWord KWord will (still) not show linespacing at the top of a page. Being typographically correct as well as complient with lots of DTP apps is more important then being backwards compatible with one dominating app.
There are two ways the user can force a line-margin at the top of the page
1) by using a style that has both a topMargin and the option "Page break before"
2) manually setting a spacing on the paragraph instead of on the style.
Multimedia
Make akode-engine compile, despite Untouchable's delusions :)
Refactor of dynamic mode. This revised implementation solves a number of bugs. The logic of adding tracks from a dynamic mode is now delegated to the DynamicMode object, and is not done within the playlist. When a dynamic mode is loaded, a cache of 200 elements is create from the playlist sources.
By caching a subset of the possible tracks to be inserted, there is no longer a requirement to execute complex SQL statements on each track change or playlist repopulation. Additionally, by grabbing random tracks from this cache, items are no longer fetched from just one source, but all of them.
Once these cached tracks have been inserted into the playlist, they are removed from the cache list in order to avoid duplicating song insertions. Once the cache has been depleted, it is simply regenerated. 200 elements is approximately 12 hours worth of music, so the set should be sufficiently large to handle the user's requirements.
I've done quite a bit of regression testing, but the more the merrier :). The only feature which needs to be fixed is the Suggested mode of dynamic playlists, but this should be easily rectifiable.
Other
made it a real KDE app with a little eye candy.