Issue 15
16th July 2006 by Danny AllenThis Week...
What is special about these interviews is that the people talking are not random commentators, but actual members of these projects, and so offer an unparalled insight and view into the workings of these technologies and their impact. An impressive seven segments were recorded:
- Hamish Rodda: XMLGUI
Improvements to the dynamic GUI generator, XMLGUI, for KDE4. Now called LiveUI, this successor to XMLGUI will play a big role in KDE4 applications. - Matthias Kretz: Phonon and KControl
Work on KDE control panels and the new multimedia API Phonon. - Till Adam, et al.: Akonadi
We talk about the next-generation personal information storage system for calendaring, mail, contacts and more with the team that is behind the design and implementation. - Celeste Paul: Usability
Usability in KDE and the new human interface guidelines that are being written for KDE4. - Marius Munson: QtDBUS
The new DBUS support in Qt that is the central player in the DBUS support in KDE. We discuss what DBUS is and what it means for the desktop now that KDE is using it. - Allan Sandfeld Jensen: KIO Seeking
About his work over the past week on KDE's network transparent virtual file system, KIO. - Kevin Ottens: Solid
The Solid project which is bringing advanced hardware integration to the desktop in KDE4 along with his experiences getting involved with KDE in general.
In any case, I figured I should do some random interviews on IRC to support my claims and see what people could make of the icons. Please see the attached spreadsheet.
I interviewed 15 various people with different backgrounds on their use of KTorrent and torrents in general. As you can see, most people could not figure out what the KTorrent-styled icons did. The three people who had used KTorrent before gave reasons such as "reading the tooltips" or "clicking on it to find out what it does" for their knowledge of what the icons did.
Could you please re-consider changing the icons in KTorrent? If not, at least consider enabling the "text under icons" by default, this would definitely help new users figure out what each icon does.
Balancing the desires of developers for a consistent application and the needs of users for an accessible, consistent desktop is an interesting concern, and one that we are sure to hear more of on the road to KDE 4.
The already extensive range of plots that KmPlot supports has been extended to include implicit equations (such as x² + y² = 3²) and explicit differential equations (such as f''(x) = -f).
The Qt 4 painter engine allows for beautiful, crisp plots. Combined with the new vibrant selection of default plot colors, KmPlot will look stunning in KDE 4. The internals have been dramatically boosted, too. Numerical integration now uses the fourth-order Runge-Kutta method. Adaptive stepping size when drawing functions ensures that functions are drawn quickly and smoothly, regardless of zoom.
For lots more information on KmPlot's development, see the development page.
Statistics
Commits | 2821 by 198 developers, 6654 lines modified, 5565 new files |
Open Bugs | 12977 |
Open Wishes | 11258 |
Bugs Opened | 311 in the last 7 days |
Bugs Closed | 224 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/KDE |
592
|
/branches/work |
478
|
/trunk/www |
375
|
/trunk/l10n |
324
|
/branches/stable |
310
|
/trunk/extragear |
193
|
/trunk/playground |
182
|
/trunk/koffice |
86
|
/branches/KDE |
72
|
/branches/koffice |
57
|
Lines | Developer | Commits |
1024
|
Simon Hausmann |
255
|
231
|
Stephan Kulow |
116
|
209
|
Laurent Montel |
100
|
80
|
Ludovic Grossard |
78
|
239
|
Clarence Dang |
61
|
117
|
Thomas Nagy |
53
|
144
|
David Saxton |
51
|
103
|
Dirk Mueller |
46
|
100
|
Sandro Giessl |
40
|
83
|
David Faure |
35
|
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 |
32
|
Mark Kretschmann |
24
|
Stefan Borggraefe |
22
|
Alexandre Pereira de Oliveira |
16
|
Roman Jarosz |
13
|
Peter Rockai |
11
|
Oliver Kellogg |
10
|
Seb Ruiz |
9
|
Maks Orlovich |
9
|
Joris Guisson |
7
|
Program | Buzz |
Amarok |
2729
|
Kopete |
1181
|
K3B |
890
|
KMail |
844
|
Kate |
757
|
SuperKaramba |
642
|
Kontact |
596
|
KDevelop |
574
|
Kicker |
502
|
aKregator |
436
|
Person | Buzz |
telex |
421
|
zogje |
383
|
Aaron J. Seigo |
356
|
wheels |
320
|
George Staikos |
315
|
JohnFlux |
297
|
boud |
291
|
cornelius |
287
|
David Faure |
281
|
Anne-Marie Mahfouf |
281
|
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 97 selections this week
Bug Fixes
Development Tools
One-liner to prevent removal of gui client before user decides it should be removed.
This fixes the document closing issues blackarrow had.
I'm ready to commit more and more such fixes to keep blackarrow happy and do not distract him from hacking on DU-chain :)
First round of bug fixes for the C# parser.
While not everything works yet, the improvements are
significant enough so that many source files do pass already.
Unfortunately, I had to discover that C# (as opposed to Java) needs
LL(k) lookahead for every occurrence of type arguments, or it may take
less-than comparisons for type arguments. Wicked, but necessary.
-- Diese und die folgenden Zeilen werden ignoriert --
KDE Base
Improve the compatibility of our scrollTop/Left/Height/Width,
offsetWidth/offsetHeight,clientWidth/clientHeight on body and the root
element. These aren't quite perfectly compatible, but should be
clearly better...
This fixes core of #86794, #117163, and #130577 (amazon.com book reader
--- though error reporting popups seem to mess that
up a bit(!?))
CCBUG:86794
BUG:117163
BUG:130577
kill the WM first, so that it doesn't track changes that happen as a result of other
clients going away (e.g. if KWin is set to remember position of a window, it could
shift because of Kicker going away and KWin would remember wrong position)
now that people blog about how easy it is to crash,
lets just fix it
KDE-PIM
SoC.
Wooooohooo! My most hated bug is solved by a mistake. Sorting now works perfectly rather than randomly.
All I did was refactored mailview to use my custom proxymodel.
Fix the last few remaining krazy issues.
For one bright, shiny moment, kcal has 0 krazy issues (if you ignore libical
and versit). I'm sure this will change soon as a handful of new krazy
plugins are coming in the near future. Enjoy it while it lasts.
Multimedia
make proxy work with gst10 engine...
always like this with me...14 lines, but 2 days of work. I need to
make some commits like "move box 1 pixel left" for a change :D
Networking Tools
sigh, I'm tired of pulling a cable behind me all the time,
so fix the WPA2 support again
ok, so the hashing is supposed to be done in the GUI I learned.
Fixing the GUI to handle WPA passphrase hashing.
Made sure KT shutdown when the tray icon is enabled, doesn't stop KDE logout.
BUG: 130893
Features
Development Tools
From the C# parser front:
- make it compile again (*ahem*)
- complete missing parts of class declaration & co.
Todo list for the grammar:
- type arguments & parameters ("func<bla,blah>()"), and constraint clauses
- everything down from the block/statement rules
Essentially, that means I'm about halfway though the grammar.
(Rough estimate.)
Add ability to specify certain settings as unsafe for a shareable project file. The result will be
settings that are saved to a project file in a hiddne directory.
This is still not enabled pending Aaron's suggestion
for how to integrate a patch to kdecore/kconfig*
More rules for the C# grammar:
- all statements
- type parameter constraint clauses
Nott too much left to do, only expressions and lookahead-hacks...
A lot of detail improvements on the Java grammar,
resulting from the work on the C# one.
Also, make/keep those two in sync.
Add the easy expressions from assignment_expression down to unary_expression
to the C# grammar. The others are supposed to be finished until later today.
Added support for relative paths when exporting images from command line
BUG: 130600
C# grammar:
- Finishing all the expression rules
- Uncommenting the rules needing arbitrarily long LL(k) lookaheads
Todo:
- Type parameters and type arguments
- Grammar extensions for unsafe code
- Lookahead hacks
- And, of course, a C# 1.0 compatibility mode
Add the remaining parts of the C# grammar which is now complete.
That also means I consider it stable enough to believe that
the generated files won't produce monster diffs anymore. So, re-adding them.
In order to get the parser to work properly, I still need to implement
the lookahead hacks.
Add lookahead functions to support the C# parser for difficult conflicts.
Switch on real parse output. The parser is now feature complete!
...but you didn't think that it already works, did you?
Next up is a debugging session to make it behave, and when it does,
it needs to be tested with big amounts of available code.
Word-by-word string difference algorithm implementation (to replace old charDiff).
http://shafff.narod.ru/wordDiff-nq8.png - old (on the top) and new algorithms. As one can see there is still an issue with newlines (in that msgid only "<mousebutton>left</mousebutton> mouse button" was changed to "&RMB;"), but it's not in diff.cpp
Educational
Added more image export formats (JPEG, PPM, XBM, XPM).
Add german support
The paste special char adds instead of setting the text
FEATURE: 130629
The default main toolbar now contains only 5 items: Zoom in, Zoom out,
Find object, Start/Stop clock, and the Timestep widget.
I have also added the ability to edit the toolbars. However, due to a bug in KEditToolbar, this is currently non-functional. You can see and
interact with the dialog (Settings|Toolbars|Configure toolbars...), but
your changes won't be passed to the application.
I have submitted a patch for this bug to kde-core-devel:
http://lists.kde.org/?l=kde-core-devel&m=115275435208273&w=2
You can apply the patch to your local copy if you want the edit toolbars tool to work now.
KmPlot now uses the full view area for displaying the diagram, instead of drawing it in a square.
- On resizing the window, the diagram is stretched (with the X/Y limits remaining the same).
- The axis scaling dialog (used for printing) is now gone. Once printing works again in KDE, I intend to replace the scaling options with options to specify the printed image size.
- The fonts and lines no longer change size when KmPlot's window is resized.
This (IMHO) is far nicer and easier to work with.
Allow Constants to have Document scope or/and Global scope. Document scope
constants are exported when saving the current work. Global scope constants are
stored in the application's global settings.
There are still some issues to work out though (e.g. what happens when loading
constants that conflict with existing Global constants).
BUG: 125823
Graphics
Start to read the EXIF fields of TIFF documents, for now Description, Software, Copyright and Artist.
add Kodak pro photo icc color space profile from www.scarse.org (under GPL)
My dad just died 77 years old, yesterday - I will always love you, and never forget you.
During his last days I was sitting next to his bed comforting him, and while doing so I was (as always) working on KPhotoAlbum, so here comes a massive checking.
- renamed Movie to Video throughout the code.
- replaced the listbox in the annotations dialog with a listview, which now makes it possible to implement two long awaited features.
- first feature is already implemented, namely removing non matching items while typing in the line edit. The second feature which will be implemented next is to show categories in the list view.
- now it is also possible to press arrow up and down in the line edit in the annotation dialogs, and that way browse the items matched so far during typing.
- fixed some signal/slot connection problems that was induced when adding namespaces.
KDE Base
instead of alphaBlendColors() use real alpha in a few places, most importantly the frame anti-alias so DefaultButtons get blended together nicely with the default frame again
now you can open and close appGroups. w00t!
couldn't resist this neat feature: TabWidget::FrameMargin instead of framewidth, margin rotated according to the tabbar position. should help implementing tabwidgets like mosfet's liquid one with a panel below the tabbar
KDE-PIM
Add 4 new DCOP functions to get and change a note's geometry:
width(), height(), move(), resize()
Ok'ed by Cornelius.
Remember column ordering in main window between sessions, in case the user reorders the columns. (Except for the message column, which is always set to the last column.)
Prevent the alarm type column from being resized, to prevent refresh problems.
(Bugs 130298, 130297)
Office
OASIS OpenDocument / MathML: Added support for Scripts: <msub>, <msup>, <msubsup>, <munder>, <mover>, <munderover>.
FEATURE: Kexi now supports manipulating image data in the table view,
and clipboard actions.
Forms
- context menus now have consistent title: "<objectname> : <objecttype>"
- cut/copy/paste shared actions work for form widgets in data view
Table View
- context menu from image box reused in the Table View's cell editor
- cut/copy/paste/clear actions work for the image cells, including shortcuts
- cut/copy/paste/clear actions work for text/number/boolean cells
- fractional character ("," or ".") can be entered as the first character for
floating-point data types, what means 0.xxxxx
- fixed updating row number info in the record navigator and updating the current cell after column sorting
- BLOB data is sorted by size
2.0: merged
KSpread supports scripting with python and ruby now.
* KSpread has the menuitems "Tools=>Script Manager" and "Tools=>Scripts" now to deal with scripts.
* Added the exporthtml script-package to demonstrate the usage.
* KSpread's "Get New Scripts" functionality will work once we got the kde-files.org GHNS-link.
Multimedia
finished database update code for dynamic collection
make playlistbrowser lastfm neighbour/loved/personal streams be draggable to the playlist, and give them context menus.
TODO: polish the entire last.fm category.
BUG: 130618
Very basic custom device information dialog box
It uses a tooltip from daap for some reason, but I wanted to see reactions to the idea.
Preseting: Saveable lastfm playlistbrowser items! Add your own streams!
Under-da-hood change: new playlistbrowseritem variable m_kept, which determines whether an item should be saved to the cache files for session persistent items. This makes it no longer necessary to keep global variables for each item that should be excluded.
Networking Tools
Both encrypt and decrpyt work.
Remove the redundent fprintf in libeva.cpp.
The login reply fails to parse as expected.
TODO: use initKey to parse the packet, expect to get the correct data.
NOTICE: the tested data is a redirect package.
Add option to not start torrent, when files are missing at startup
User Interface
new icons
Utilities
made the mainwindow behave more like a kde app:
- loading/saving works and is KIO-aware
- open-recent action
- fullscreen action
- collapse/uncollapse all commands actions
- "workflow" menu also, cleanups and fixes in the mainwindow class
I'm 'spazzing' out again...
-Add a 'Port' setting for MySQL and PostgreSQL to allow using MySQL on a non-standard port (I needed this myself to connect to a particular server)
-Add a 'Print Setup' menu under 'Edit'
-Recognize abbreviations in the ingredient parser
-Fix loading ingredient headers under 'Data'->'Ingredients'
All this needs testing...
Update the Krecipes and RecipeML importers and exporters to support ingredient substitutes. The automated tests are also updated and both
these importers and exporters pass the checks.
Also, filename kreexport->kreexporter to be consistent
New Ingredient Matcher GUI. There are two list views now. One with all the ingredients and another with selected ingredients.
This way of doing it makes it easy to see which ingredients are selected. I'm also going to extend it now to allow selecting how much of an ingredient is available and it'll match recipes that don't use more of the ingredient than available.
Is this better than the old way?
Optimization
Graphics
KDE Base
Load mediamanager kded module soon in the startup. It used to do notification about new media after startup, but that was removed (r468233) even before the startup reorder because it was
a noticeable part of the startup time for some reason. The module should be loaded soon anyway because media icons can be shown
on the desktop.
BUG: 127971
BUG: 129534
Office
Ok, and now also load huuuuge files on 32bit systems. The problem was that I just mmapped happily away without caring about the size of the file, but it turns out that it's only because I had a 64bit system that it worked. Now this is fixed by chopping the one big swapfile into chunks of about 1G. This should fix the issue on 32bit systems as well.
Multimedia
Add a batch mode for adding tracks to the list view for the ipod, so that adding millions of songs when connecting takes a little less.
Other
Educational
New kiten code organization.
kitenlib: now contains fundamental dictionary code, should be portable to other languages. Very easy to expand to other dictionary formats
kiten: stripped down to a minimum of functionality... this section is where most of the KDE4 porting work remains.
radselect: new radical-input mechanism... issues with button size still need to be taken care of. kiten and radselect will communicate via dbus.
Root level CMakeLists disables compilation of the new version atm... uncomment the third line to make it compile the new version.
Graphics
Rename cameraAutoDetect to detectCamera to make DCOP call and commandline (--detect-camera) identical.
As to umounting USM cameras, we dont explicitly mount so we don't explicitly umount, I think apps don't need to do this.
KDE Base
compile, I'll port kcontrol only if the decision is made that we'll keep it for
KDE4
Enable compilation of kioclient
Also compile it as "kde-open" (to be consistent with other desktop environments). In that mode the syntax becomes
kde-open 'url' ['mimetype']
which is equivalent to
kioclient exec 'url' ['mimetype']
r184@rhea (orig r183): zrusin | 2006-07-06 15:59:50 +0200
implement some rendering
r208@rhea (orig r207): dirk | 2006-07-07 04:43:32 +0200
really cheesy text rendering
r234@rhea (orig r233): shausman | 2006-07-09 19:10:56 +0200
- get some of the metrics working. not perfect yet but at least a simple <p>Hello World renders now due to the working linespacing
r241@rhea (orig r240): hausmann | 2006-07-10 19:01:53 +0200
- this should get weight/italic/etc. right. the dot looks /much/ better now.
I wonder what I was smoking last night :)
Made KKeyChooser not steal focus when created.
Discussed with Aaron Seigo.
BUG: 127037
KDE-PIM
SoC.
Major refactorization of Model and DummyKonadiAdapter, step 1:
* Allmost remove the entire DummyKonadiAdaptor class
* Completely remove the FolderModel dependency on DummyKonadiAdaptor
* Make DummyKonadiAdapter depend on FolderModel.
This is a *much* nicer and cleaner solution, and it is necessarry
for the things I'm about to implement.
Office
Multimedia
Give the tag dialog a parent. Always on top tag dialog is back.
Networking Tools
Utilities
Replace the DCOP system as introduces in the last version. Replace it with the KNotify system, which is used everywhere in KDE. Static DCOP calls are too limited (brings kopete online when you where offline for example) and the user is far better of with KNotify as there are more options (beep when break is oer for example) and there is the option to launch a script. In that script you can execute DCOP commands anyhow. I will make a new release soon, to prevent to much angry users who have to convert.
BUG: 130023, 130759