Issue 62
10th June 2007 by Danny AllenThis Week...
However, file managers are not the only area which can benefit from these features. It is possible to create a custom categorizer, which will categorize items as needed, for example "ADSL Connections" and "Dialup Connections" in a configuration window.
Another change is the wizard which was added to make it easier to create a new vocabulary, which has traditionally been a bit of a pain for new users, since they were required to dive into the deeper depths of the configuration options, of which we have plenty to offer. So hopefully just using the program became a little easier. And of course the general aesthetics have been polished, already earning a few positive comments.
Since this already required some changes to the library handling the documents, I started looking at that code. Let me say it's not the most beautiful code in the world. There are several bugs regarding KVocTrain, that will be solved best by structurally changing this library. One great feature of KVocTrain is that it has support for more than one language in a vocabulary. But it has a big deficiency in this implementation. It has been a wish for a long time to be able to practice an arbitrary combination of the languages contained in one vocabulary for example. So far one language is deemed the original language, and one can only practice this language with the other ones. Also much of the code is basically a duplication handling once the index 0 and then index 1..n.
During the next months I hope Jeremy Whiting and I will be able to bend the library to our will. I estimate some files can shrink to about two thirds of their current size because of the widespread redundancy which will be eliminated, while some new classes will see the light of day making it a little more object-oriented, making the API nicer to use. Another point is the output XML. KVTML is our file format (XML) which contains the vocabulary. It will be much more human readable, whereas it used to be pretty cryptic because of using many attributes and one letter abbreviations.
For the future of KVocTrain I hope to be able to improve the statistics a bit, so that a per-session result can be displayed, then make the practice dialogs look a little nicer (artistic and usability comments are very welcome!) and polish them under the hood to make them share more common code and easier to add a new ones. There are many improvements that I'd like to see, but this will keep us busy for quite a while already.
Statistics
Commits | 2427 by 236 developers, 4978 lines modified, 1375 new files |
Open Bugs | 13825 |
Open Wishes | 12720 |
Bugs Opened | 246 in the last 7 days |
Bugs Closed | 213 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/KDE |
828
|
/trunk/l10n |
298
|
/trunk/extragear |
281
|
/trunk/koffice |
151
|
/branches/extragear |
130
|
/branches/work |
128
|
/trunk/www |
121
|
/trunk/playground |
117
|
/branches/stable |
104
|
/trunk/kdesupport |
89
|
Lines | Developer | Commits |
587
|
Gilles Caulier |
263
|
261
|
Laurent Montel |
114
|
134
|
Andreas Pakulat |
50
|
59
|
Inge Wallin |
48
|
100
|
Dirk Mueller |
47
|
77
|
Sebastian Sauer |
46
|
99
|
Aaron J. Seigo |
44
|
124
|
Allen Winter |
39
|
72
|
Cyrille Berger Skott |
35
|
70
|
Pino Toscano |
34
|
Internationalization (i18n) Status
Language | Percentage Complete |
Portuguese (pt) |
100%
|
Estonian (et) |
96.29%
|
French (fr) |
93.85%
|
British English (en_GB) |
87.19%
|
Polish (pl) |
86.59%
|
Galician (gl) |
85.3%
|
Turkish (tr) |
84.13%
|
Russian (ru) |
82%
|
Catalan (ca) |
78.37%
|
Czech (cs) |
70.45%
|
Bug Killers and Buzz
Person | Bugs Closed |
Thomas McGuire |
36
|
Matt Rogers |
27
|
Bram Schoenmakers |
26
|
Joris Guisson |
14
|
Tommi Tervo |
12
|
Luboš Luňák |
11
|
Philip Rodrigues |
11
|
Gilles Caulier |
9
|
Seb Ruiz |
8
|
Andreas Pakulat |
7
|
Program | Buzz |
Amarok |
5080
|
KMail |
3930
|
K3B |
3590
|
Kate |
3490
|
Kopete |
3254
|
KDevelop |
2738
|
Quanta |
1728
|
Kaffeine |
1710
|
Kontact |
1562
|
Kicker |
1544
|
Person | Buzz |
David Faure |
788
|
Adriaan de Groot |
571
|
Allen Winter |
552
|
Stephan Kulow |
548
|
Aaron J. Seigo |
454
|
Waldo Bastian |
432
|
Robert Knight |
323
|
George Staikos |
318
|
Troy Unrau |
292
|
Thomas Zander |
257
|
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 146 selections this week
Bug Fixes
Graphics
gs often gives me 634x898 when i asked for 635x898
okular needs the pixmap to be the exact size he asked for, so preporcess it
KDE Base
The size of the docks inside KMainWindow has not been saved in the following use case:
- open an application which has several docks
- resize the docks without resizing the window or adding/removing docks
- close the application
This has been fixed now.
Implementation note: installing the KMainWindow as event filter by dock->installEventFilter(this) and overwriting QMainWindow::eventFilter() did not work inside KMainWindow::event().
This fixes the bug 142424 as originally reported, for the B2 decoration.
Keramic has the same issue, but the code is completely different.
The title unhiding code is still broken with Composite enabled, though.
KDE-PIM
Fix bug "Rebuilding index files breaks "subject threading" for existing messages"
Patch from A. Pfaller. thanks!
Networking Tools
- Fixed Setting to show New Interface Wizard was not stored correctly.
- Fixed Adding new network from Scanning didn't fill in encryption settings automatically
- Fixed WPA enabled networks were shown as new if wpa_supplicant was not started
INTEGRATION:/branches/KDE/3.5/kdenetwork/kopete/libkopete/avdevice 673109
fix bugs 140528 and 143376.
Apply patch from bug 137742 to fix bug of the same number.
Focus the global status message when editing status messages
Commit patch by Josh Berry to fix bug 59080.
Thanks for the patch!
Utilities
The Xinerama screen setting is now updated when the window is moved to a different screen using facilities outside of Yakuake itself, such as the new shortcuts provided by Lubos Lunak's Xinerama Improvements patch
- set for KWin 3.5.x. The window size and position get updated to fit the new bounding box accordingly.
Features
Development Tools
Port to use KDevPlatform
- Removed lib/ and the plugins that are in platform
- adjusted CMakeLists.txt to find and use KDevPlatform includes/libs
- fixed a few KDE library issues that showed up now
- changed all includes that use kdevplatform header from #include "foo.h" to #include <foo.h>
A somewhat better way to differentiate between class and non-class (at least it works on Sun's Java 6 now)
Refactoring project file system watcher.
Watcher wrapper emits more fine grained signals such as filesCreated/Deleted(), directoriesCreated/Deleted(). Add some more logic into add/remove to increase stability.
Soon this will move into lib/project
Adding treesynchronizer. this class connects project filesystem watcher's signals and do custommake's own treatment at the reponse of filesystem change.
Educational
* Adding more options for the Qt-Designer plugin
(later on to be integrated with the Legend in Marble):
- show relief, ice, rivers, lakes, borders, elevation model
- quick and dirty rendering
- updated examples2.ui to reflect those changes
Threading is now actually working.
Implemented "semi-preemtive" locking to keep gui responsible to editing when simulation is running.
back-port massively improved text renderer from avogadro trunk. The outlining engine has been rewritten, IMHO it now looks very good :)
Graphics
Rework ghostview generator, not finished but i can see valgrind_manual.ps quite correctly
- We don't use libqgs anymore but libgs directly
- We don't use an out of process executable anymore to talk to libqgs
Using libgs is a bit cumbersome (only one gs instance per process) and almost no other gs viewer does it, but if you look at kghostview code it's full of X black magic, so going the libgs path feels better for my sanity and for portability
the okular ghostview backend now uses libgs directly
starting to port libkexiv2 to KDE4/QT4/CMake
A huge pile of work. Not sure I'll be able to capture everything:
1) Remove C plugins entirely
2) Add factories for loading objects from xml
3) Implement a demo of the new XML spec (reading)
4) Support a few graphics nodes for reading
5) Implement skeleton of writing xml
6) Some general refactoring and cleanup
7) Add some missing actions / shortcuts
8) Start to spec out how plot might work
libkexiv2 from trunk : Port to QT4/KDE4 done to 95%.
Warning this code is not yet tested ! It just compile. regression test need to be done later, when digiKam will be ported to QT4/KDE4
Marcel, QTextCodec::heuristicContentMatch method has disapear in Qt4.
I don't know how to fix it actually. Please take a look...
starting to port libkdcraw to CMake/QT4/KDE4
libkdcraw form trunk (KDE): first approach to introduce the soname ID of libary like suffix of kdcraw binary program. By this way, we can install more than one libkdcraw version on the same computer.
Merge the two collection scanning methods.
There was one group of methods from the ioslave, and one group from scanlib.
Functionality was essentially the same.
The current method is mostly the scanlib one with some parts from the ioslave, but it did not really matter.
Allow re-using of tags from the previously tagged image in the annotation dialog
KDE Base
Do alternating rows being drawn correctly on all cases. As before, the first row after a category always goes on Base color, and after then it alternates
- kind of fix the event loop which led to signals being dropped
Note that the event loop is never finished for download, and that I still don't understand why it worked for the test apps, but at least you can view KAnagram files in KAnagram now.
When application A handles postscript and application B handles text/plain, prefer (by default) A over B, no matter what the InitialPreference is. The initial preference is now understood as "for a given level of mimetype inheritance", so that real handlers are preferred over more generic handlers, by default (user configuration can override this, of course).
With unit test (which creates a fake .desktop file).
This includes a ksycoca format change, so KSYCOCA_VERSION was updated; make sure to install the updated kbuildsycoca as well if you update & install kdecore.
Made weightedOffers() private (moved to .cpp file in KServiceTypeTrader, made private + friend in KMimeTypeTrader). And export one less symbol, KServiceTypeProfile::sortMimeTypeOffers().
* add a comment field
* allow different kinds of comments (plain, info, warning, error) so we have a unified place for these messages in dialogs and pages instead of trying to invent new display methods all the time. currently the display sucks horribly, but will talk to the artists about something that loooks nice =)
Add links for sending a mail to the author and visiting the website
The clock everyone was waiting for.
Several improvements in the code, added size configurability, and others.
make kwrite look better with Oxygen style
The Oxygen style uses a gradiented background, which makes it necessary that the URL navigator uses alpha blending instead of mixing colors. Looks quite nice now :-)
assure that all statusbar elements use a transparent background to look nice with Oxygens gradiented background
Instead of darkening the background color of an inactive view, just use a transparent background. Makes no big difference for styles like Plastique, but looks better for Oxygen.
* Saner resizing of the icon when pressed
* Nicer SVG, also fixed the corners, now are pixel perfect
* Prepared the code for the upcoming blur of the wallpaper....
Add the very first version of icon cache.
First big step to make it possible that the DolphinView can be embedded as KPart into Konqueror (discussed with David Faure). A lot of refactoring of the DolphinView has been done:
- The DolphinView does not contain the URL navigator, the filterbar and the statusbar anymore. Those widgets have been moved to DolphinViewContainer.
- The DolphinView does not contain any reference to the main window anymore.
Currently there are some minor regressions (the statusbar shows less informations, renaming has been deactivated), but they will get fixed during the next days. Also still a lot of interface cleanups must be done, but let's just do it step by step...
make the frame rates per second by dividing by 1/duration. we will likely want different durations per anim, but i really like the idea of controlling the durations centrally as a means to .. guide (yeah, that's it!) Animator developers
Added support for repoId selection and selection of recent queries.
Still missing: more sparql commans.
enable hovering information in the status bar again (has been disabled temporary because of the DolphinView/DolphinViewContainer split)
Work on character search. Now also unicode code points are recognized.
scan for raptor plugins
First round of cleanups, mainly of the view manager.
Always create the tab container (95% of the code paths would convert the container to a tab container after the fact, so let's just do it before hand and simplify the code in many places). But create its popupmenu on demand.
Port all inherits() calls to qobject_cast.
Next step is to add unit tests, meanwhile shout if anything broke :)
Major Xesam ontology update.
KDE-PIM
Add the ability to override the body and printing font.
Draft of the new CalendarDecoration interface and first plugin ported (Picture of the Day). The interface still has to be extended to the various views, and implemented in the various views and positions (see my blog at <a href="http://blog.loic.corbasson.fr/">http://blog.loic.corbasson.fr/</a> for an overview).
Picture of the Day is also still a work-in-progress: no functionality improvements there in this commit. Older plugins can still use the OldCalendarDecoration interface; places in the code relative to this interface have been marked to ease the removal if decided.
There is still a lack of documentation, which will be completed in a future commit. Feel free to comment, as this is my first interface design tentative, and finding a way to make it as flexible as wished in the initial specifications was not completely evident for me.
change the "correct" phases to those found at
<a href="http://en.wikipedia.org/wiki/Table_of_lunar_phase">http://en.wikipedia.org/wiki/Table_of_lunar_phase</a>
and these do not match the phases computed by the class.
Not sure why. I don't want to take a class in astrophysics.
Maybe something to do with timezones or DST?
Bottom line: the unit test will fail.
Jason can you help me? The code is in kdepim/libkholidays/lunarphase.cpp
Added the possibility to position a decoration at the bottom of each day. Removed small non-working temptatives to size the decorations correctly.
Office
Uncomment //#define CACHE_EXACT_BOUNDS and KisPaintDevice will attempt to cache the exact bounds of a paintdevice through the setDirty calls.
This is not perfect: filled shapes stop working, for instance. I also do not notice any speed improvements, but I'll leave the switch in for Cyrille to play with when he wants to profile next.
And who knows -- we may get it working after all. It makes about 15 to 45 ms difference when selecting.
- introduce a new class : schema to hold information about schema (unfortunately XMP does not define a standard way to have validating schema :( )
- in the store:
. don't inherit from QHash
. add various functions to access the entries
. add various functions to access the schemas of this store
- kis_legacy_importer is supposed to hold a function for converting from the previous serialization in krita1.x, just include some dead commented code that I didn't want to loose for now- Entry and metadataeditor are adapted to use the schema and new api
Multimedia
Starting to actually do something with the Jamendo info. Show artist picture and description if available
Show description for jamendo albums. Also tries to show covers, but this does not work yet as the JamendoXmlParser does not pick up covers yet
added a type method to SqlStorage which returns the actual type of the database backend, e.g. sqlite, mysql, postgre. Not completely implemented yet
Networking Tools
Add a floating toolbar used later in fullsceen mode. This widget as based on the floating toolbar of okular; but I have changed quite a lot: e.g. it takes QActions for the buttons, the widget can be transparent (can be changed with the scroll wheel), ... At the moment it is not used anywhere.
Scan dialog now has only one button cancel, which becomes close when the scan is finished.
Also fixed bug with non functioning x button on scan dialog.
Change the emoticons dialog so that it doesn't use the whole screen when showing large emoticon themes
Implement fullscreen mode.
Yeah, this takes the new floating toolbar in action :)
The new fullscreen mode is completely different implemented than the old one was. Now we use Qt / KDE fullscreen mode; but not change the resolution of the x-server anymore, which was IMHO very ugly.
Also add some initial actions for remote views. Nice extra: Take a screenshot of the remote desktop and send it directly to the clipboard.
Simplify the Account Config dialog (discussed with Matt Rogers)
The custom color still needs to be put somewhere else.
User Interface
Buttons on the windec, new dots, and it looks much more nice.
do not remoave the commented code. some algorithms in there are still needed.
the windeco export code (now using xrender and with proper axis ;)
new sheet at 16x16?
- theme engines install their specification files
- themes add the attribute 'spec' containing the specification name
- theme editor tries to load themes with pycokoon for previews. almost ready, but it still needs to provide more theme specification information
Utilities
* Slightly better (though far from perfect) error handling for extracting files
Games
set minimum section size so that you don't get ... when making the widget small
Thanks Aaron for the suggestion
+ Do not show "Game Over" sprite anymore (Currently only out commented: Do you need it Johann?)
+ Fix bug in graphical push buttons
+ Quick start needs to be connected differently to main window to set Prefs properly.
+ Grafix: Pushbutton needs no hover state (removed from SVG)
Quick launch in intro should work properly now.
All countries are now real SVG objects; it remains to place them as needed and to highlight with a good color
Other
Remove empty Xiph comments. Patch from Stephan Booth.
Optimization
KDE Base
Save 120 exported symbols and 40K file-size (stripped) by using the pattern QList and such use:
- make all template class functions inline
- use a *Data class that does all the dirty work and has non-inline functions
=> no explicit template instantiations needed anymore except for the meta stuff in ObjectDescriptionModel that is needed for qobject_cast.
Office
Given that everything was serialized anyway because of the BKL, remove the other two mutexes -- this should help a lot with performance, but actually, I think I noticed a degradation. Please test!
Other
Development Tools
Import the code from kdevelop/lib and kdevelop/plugins, along with the Architecture api documentation and some other files
Added a first version of a FindKDevPlatform.cmake module to make it possible to find the platform libraries and includes
Renamed simpleoutputview to standardoutputview
Plugins that are imported are: cvs, duchainviewer, filemanager, genericprojectmanager, konsole, projectmanagerview, snippet, standardoutputview, subversion and teamwork
Moved vcs and outputview interfaces into their own module as both provide a library
Announcement will follow on major devel lists
Redo the move, this time the history is preserved, this also means the changes look slightly different than the first time( some deletes some moves).
!!!!!! IMPORTANT NOTE !!!!!!!!!!!
Everybody who wants to change something in kdevelop/lib or one of the plugins that are copied to the platform (snippet, teamwork, konsole, filemanager, duchainviewer):
Don't, checkout kdevplatform and do the change there. I'm starting to port kdevelop to use the platform tomorrow and expect to be done on wednesday evening. I will do this in a separate branch and the first thing that will happen are deletion of lib/ and the mentioned plugins. So any changes you do between now and the time I merge the branch back may get lost.
Create a branch to port KDEvelop to the new KDevPlatform Module
Add the development overview image
Educational
Graphics
The beginnings of some design specs or at least statements
Move Gwenview to kdegraphics, in accordance with the KDE release team.
Add a copy of this file here.
I extracted it from <a href="/issues/2007-06-10/files/jpegsrc.v6b.tar.gz">ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz</a>
Seems that most distributions don't supply jpegint.h so I suppose we need to provide it ourselves.
Create a kbackgroundsnapshot.
It's just a command line which allows to make screenshot directly and store picture on desktop 'a la MacOsX'
It's easier than :
-> launch ksnapshot
-> select type of snapshot
-> create snapshot
-> select filename for snapshot
-> save snapshot
kbackgroundsnapshot is just one snapshot, but if we add global shortcut for each type of snapshot we can make life more easy I think.
Fix mem leak into ksnapshot.
start kipi-plugins QT4/KDE4/CMake port
KDE Base
use krun instead of qprocess and make sure that we don't block our own process. you can see this happen in the second screencast, actually, and it's really lame ;)
don't draw a background, just go transparent by default as that is how it most often wants to be used. this way if the background is not a solid colour or some repeatable pattern we still look like we fit in (c.f. doplhin w/oxygen style)
Create iconcache SoC branch
With Kevin Ottins' blessing, checking this in -- sorry about the API. Functions removed were because they are unlikely to return valid (accurate) data, and device libraries generally handle this correctly, so taking this out before it's stuck in there until 5.0 (can be added back later if this situation improves).
Functions added better reflect current HAL specifications (which were modified in conjunction with this work), allow for multiple drivers for devices, and allow applications to discover a device's protocol, which is crucial for automagically using a device in an application.
Hopefully there won't be any further breakage here.
add code to set up the environment on Mac OS X based on kderc, this lets us inject things into PATH even if Finder doesn't know about them.
Also, add a workaround for setting up DBus based on the kde support scripts from <a href="http://ranger.users.finkproject.org/kde">http://ranger.users.finkproject.org/kde</a>
-- this will go away when dbus has autolaunch support on osx.
Experimental look based on aseigos blog
* let's not bother with the blur here quite yet; let's do it Right(tm) later in an image effects lib, and when we can actually operate on the backing store
* if there is not -pressed element, still paint something proper
proof of concept for composited effects by toying with the backing store
do the locking a bit more intelligently; soon we'll need to have id's for the coronas so we can save/restore settings
Raise the timeout to 10 minutes. RDF queries can be quite slow.
Make KSSL private. Move kcert, kcmcrypto, and kuiserver (back) to kdelibs. I created a security/ directory for this, which could be renamed, and also put kuiserver there temporarily until we decide on the best location for it. Next checkin will remove these from kdebase. Also renamed .cc->.cpp
KDE-PIM
Copy some useful stuff over from the libkholidays_ng library which may never see the light of day. Included are:
AstroSeasons: a class for Astronomical Seasons (solstices and equinoxes)
Zodiac: a class (not fully functional) for the Zodiac calendar also includes test programs
and, increased the library verson number.
Moving kmobiletools 0.5 to extragear (thanks helio for the quick reply).
change license to LGPL.
Approval granted by Cornelius.
Office
add libkisexiv2 which is supposed to serialize/unserialize to/from exif (and in the future IPTC)
Networking Tools
soc-kopete-messenger branches
created for kopete messener plugin development to implement the Windows Live Messenger 8.1 support in KDE4.
User Interface
Import PyQt4 bindings for Cokoon
Utilities
Make initial session naming/numbering consistent with Konsole.
Create utils directory to move first parts of ported guidance into.
First bits of powermanager port to Qt4.
* Create a branch for some changes in Ark. Mostly cleaning up the code a bit so that it is more maintainable.