Issue 136
9th November 2008 by Danny AllenThis Week...
Statistics
Commits | 2935 by 254 developers, 9186 lines modified, 1644 new files |
Open Bugs | 16552 |
Open Wishes | 14719 |
Bugs Opened | 590 in the last 7 days |
Bugs Closed | 742 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/KDE |
886
|
/trunk/l10n-kde4 |
531
|
/trunk/extragear |
340
|
/trunk/playground |
338
|
/trunk/koffice |
202
|
/branches/stable |
127
|
/branches/work |
109
|
/trunk/l10n-support |
71
|
/trunk/www |
69
|
/branches/KDE |
65
|
Lines | Developer | Commits |
975
|
Dario Freddi |
154
|
275
|
Thomas McGuire |
153
|
198
|
Gilles Caulier |
94
|
187
|
Laurent Montel |
92
|
255
|
David Nolden |
83
|
175
|
Volker Krause |
73
|
151
|
Aaron J. Seigo |
72
|
153
|
Allen Winter |
67
|
148
|
Andi Clemens |
62
|
28
|
Frank Osterfeld |
39
|
Internationalization (i18n) Status
Bug Killers
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 92 selections this week
Bug Fixes
Graphics
finally fixed the BIG memory leak in the batch red-eye removal plugin.
Now it doesn't waste hundreds of MB RAM anymore.
KDE Base
Fix Amarok support.
The old Amarok D-Bus interface is no longer supported by Amarok, but org.kde.Amarok still exists when Amarok is running, confusing the engine and making the applet ignore the working org.mpris.amarok interface.
Unfortunately missed 4.1.3 by two days. C'est la vie.
two things bugged me about this: the buttons were the opposite of their checked status (so when the cpu applet was shown, the cpu button was greyed out!) and it wasn't animated ;) ...
all that is fixed (though I'm using a QTimeLine there... hm)
This was quite a porting mess. The old code would fill up qt/4.4/libraryPath in Trolltech.conf with all kinds of paths, most of them duplicates. This hurt startup time and made applications load plugins from incorrect plugin dirs.
I've rewritten the code to do what it was intended to do:
- look at libraryPath
- remove all entries that KDE added last time
- add all the paths KStandardDirs returns for the qtplugins resource
- store what we added to the list
- store the new list
my libraryPath entry is down from 50 to 1 (after I manually removed all the incorrect paths, which I recommend everybody else to do, too)
Features
Development Tools
Respect the new "Recursive" feature-computation flag.
This should be the last core bits we need to implement simple refactoring. :-D
- Allow statically overriding the TopDUContext-features needed for a specific url, in ParseJob.
- Add a central function to ParsingEnvironment that determines whether the context needs to be updated due to not satisfied features of an import.
Enable intelligent use-searching that includes updating the duchain when required:
In the uses-widget: Collect all potential places where the use of a declaration can happen using the duchain include-structure, compute all files that need to be built/updated with complete use-information, and query an update of those files.
Once the update is ready, add the uses to the widget.
This only requires the simple processing enabled by "Full project parsing" to enable quite reliable use-computation across all loaded projects now. This btw. has nothing in common with a simple "grep", but is based on semantic language understanding.
Warning: This is quite slow when you use it on a very central declaration like QDialog..
Implement a generic infrastructure called DocumentChangeSet, that allows scheduling changes across a whole set of different documents, no matter whether they are currently open or closed.
It eliminates duplicates, and detects conflicts, with graceful recovery on problems.
When a change problem/inconsistency appears, all changes on all scheduled files are reverted.
This does not use smart-ranges yet, so no editing is allowed during a run.
This will be used for selective refactoring that touches many different files. For example simple declaration-renaming.
Say hello to refactoring!
- Implement a quite reliable project-wide rename functionality based in the duchain. It features a very nice preview using the uses-widget, and can rename everything, be it full classes including constructors/destructors/definitions, be it functions, which will be renamed overload-aware, or whatever else.
Don't expect 100% reliability yet, but it seems to generally work quite good. Of course it does not only rename the items themselves, but also all their uses in all loaded+processed projects, that's the interesting thing about it. ;-)
The functionality is accessible through the editor context menu, or the code-browser declaration menu.
Educational
Changes focused around refactoring the config dialog:
* Less unnecessary options
* Add a KTimeZoneWidget so that the user will be able to pick certain timezones to display on the map (e.g. where their family is or something).
This goes with the future change to using placemarks instead of painting over the map.
Graphics
digiKam from trunk: Cameragui :
- For UMS camera, use UUID of the media provided by Solid interface to identify already downloaded pictures.
We use UUID of the card inside the camera instead a set of informations to identify the camera (mount path for ex.) because the media is removable and can be mounted in other place, with a CF card reader for ex.
- Fix several bug in freespace widget which does'st show informations.
expand and collapse folder view when using quick filter text search
When searching for albums and tags with the quick filter text search, the folder view has not been expanded when an item matched the search criteria.
For this to work, we have to use setOpen() on every matched item. In most of the cases the whole album or tag tree will be expanded after you reset the filter again, which will be very annoying when you have a lot of tags or albums.
This commit will introduce a new FolderView method collapseView(), that will collapse the tree when the search criteria is removed. Right now it has two modes:
* RestoreCurrentAlbum (default):
Collapse the folder view and re-open the current viewed album.
In this mode, all root items are collapsed, then the one containing the currently selected album is expand again.
This mode will make sure that the selected album is visible in the folder tree by scrolling the view to the selected item.
* OmitRoot:
Collapse the folder view but omit the root item.
In this mode all items in the folder view are collapsed, and the first root item is expanded again (My Tags / My Albums etc)
New effect "Cubism".
Added RAW images support to SlideShow.
KDE Base
Add an option to enable image support in klipper.
Default is still disabled.
Add hashing algorithm to accept a passphrase and convert into a WEP key.
Also add a key type combo box to allow selection of passphrase or manual key entry.
Refactoring of systemtray notifications. Besides cleaner code this adds the following improvements:
* use PushButtons instead of the current buttons that are hardcoded.
* display a graphical close button on notification that don't supply actions.
* remove the icon from the notification and use that as icon for the extenderitem instead.
* make the sizehint depend on the length of the message.
Allow to configure no grid spacing.
This is useful if the icons view is used in the "column mode" with very small icons.
if an internal sound device (i.e. not hotpluggable) disappeared it's proably permanent.
Therefore we ask the user whether he wants to have the devices removed from the cache and give him the option to do it manually in the Phonon KCM.
Implement creating connections by clicking the connect button on a wireless network, by launching the connection editor or making a dbus call to a running instance.
Currently this only works if the KCModule is already open; if it is not it attempts to pass the required parameters (essid, capability flags) to kcmshell4, but this requires a fairly ugly patch to kdebase-runtime to use these so I will probably add a stripped-down version locally.
KDE-PIM
Added converter between KPIM<->KABC distribution lists, i.e. between Addressee entries used as distribution lists through using a custom KDE property and distribution list as used by the KDE addressbook API.
The intended use case is for KABC resource implementations which use KPIM Distlists internally to easily convert between them and the ones required by the plugin API.
add
1) icons next to the folder name (custom icons are supported)
2) tooltips for the folder, which eventually will show folder size.
I clicked on an emailaddress and it took me to a website.
That's phishing in my eyes.
Warn the user if this is the case.
Allow import of KNowIt files into KJots.
Office
Calendar view: Implement extended selection for keyboard, and make it possible to edit multiple days at a time.
Multimedia
Initial version of a scripted service that allows you to browse and listen to your favorite NPR content, including audio from most NPR programs dating back to 1995 as well as text, images and other web-only content from NPR and NPR member stations.
This archive consists of over 250,000 stories that are grouped into more than 5,000 different aggregations.
Now with 1500% more content!
Listen to stories from the following categories with the NPR Service: Topics, Music Genres, Programs, Bios, Music Artists, Columns, and series.
Add basic search functionality to the BBC script!
Take that Totem! :-P
Networking Tools
Utilities
Adding mimetype support.
Now you can finally transfer videos and images to your MTP device
Games
Optimization
Networking Tools
Made significant performance improvements when handling torrents with a lot of files:
- No longer register one object for each file to DBus, instead expand DBusTorrent interface to include files too (results in much faster start up times))
- No longer use signals to get notified of download priority changes (connecting signals to a lot of object is slow)
Other
Development Tools
add a toolbar icon for building the current selection.
Hopefully this makes it a bit easier for newcomers to discover how to build things.
Graphics
Incorporate a copy of POLE (from <a href="http://developer.berlios.de/projects/pole/">http://developer.berlios.de/projects/pole/</a>), which was originally developed by Ariya Hidayat.
This will allow extraction of the EMF files from the Compound File Binary Format (aka Microsoft OLE file format).
This isn't quite enough.
We still need to extract the Compound File Binary Format from the Cabinet format.
Integrate POLE into the generator.
Some messy rearrangement (refactoring is too nice a word) to allow multiple pages to be displayed.
They aren't always displayed that well though....
Inserted KIPI logo into "End of show" message.
dolphin like image properties tab content.
More space conservative.
Look better, more ready and pleasant to see that old design
KDE Base
Comment QButtonGroup code as it's not a qwidget so it does not work at all
If you see k-c-d discussion there's people that would want it to work, but no one has offered to write the code so better comment it to make clear it's not working unless someone volunteers
Improve extender layout for larger fontsizes:
- Make pointers to controls and battery layout in the extender members
- Set larger default sizes so at leat fontsize 12 doesn't get cut off
I'm completely in the dark why the QGraphicsLayout seems to impose the size to the widgets, rather than the widgets to the layout.
It would be really nice if a change in the widget size (for example setting a different text on a label) would actually make the layout adjust the sizing).
Right now, it doesn't so we have to hardcode sizes in some places. :/
In the networkmanager applet, we're running into the same problem, adding an item to a layout doesn't cause the widget to be resized.
Any clues on this are most welcome.
more plasmy look for the task group menu
it's kinda temporary and for 4.3 will be a "proper" solution :)
bum-de-dum! plasma to kdelibs.
Move the eyes applet to kdeplasma-addons (applet reviewed by Aaron)
move kbstateapplet to kdereview
move keyboardsLeds-applet back to playground.
The kbstateapplet does the same and more.
See also <a href="http://bugs.kde.org/show_bug.cgi?id=165402">http://bugs.kde.org/show_bug.cgi?id=165402</a>
Check if the program typed in the open-with dialog exists, to avoid downloading a huge file for nothing (when making a typo).
Testcase: <a href="http://bugs.kde.org/show_bug.cgi?id=81190#c2">http://bugs.kde.org/show_bug.cgi?id=81190#c2</a>
adjust KIO::itemsSummaryString() to show
5 Folders, 2 Files (20 KiB)
instead of
7 Items (5 Folders, 2 Files) - (20 KiB Total)
Allow having a smaller text width for the icons view (Text size: "Small"), so that the same grid size can be achieved like in Konqueror for KDE 3.
The default size for Dolphin will stay on "Medium".
Moving the Python bindings for the plasma library to kdebindings now that plasma is also in kdelibs.
new look for the panel and the default applets in it
Remove old configuration widgets for file tooltips - the correct and working configuration for this is part of the dolphin-provided config modules (which also show up in "Configure Konqueror"), so this was just redundant, broken and confusing.
Debloat code all over the place, Rewrote config dialog, finally.
It's so much nicer now.
Seeing as the background is always being drawn, always attempt to place icons within the appropriate area.
This actually brings the behaviour back in line with 4.1 with regard to when two or more rows are shown and gives a more visually pleasing experience.
Icon minimum sizes are also now taken into account, which essentially causes icons to be centered rather than top(left)-aligned when the panel becomes too small to fit a whole icon.
KDE-PIM
* Delete the email related classes. They were an experiment but didn't work out.
* Change the way anchors are dealt with. Still need to finish some stuff in the MarkupDirector to create anchors with a name but no href.
* Move richtext.html into the tests directory.
* Create image tags in a better way, not adding width and height attributes where not needed.
* Better way of determining when to create a newline. Includes unit tests. There's still a qt-bug to workaround in the newline stuff.
* Move the MarkupDirector::Private class to separate files.
* Some style and indentation fixes to the Director stuff.
* Process block contents in an entirely different way to close and open tags in the correct order. Includes many unittests.
I know much of this should be in separate commits, but it's still in playground anyway...
Project Name: Akonadi/NokiaN810
Development Team: Audrey Speronel, Cédric Descamps, Guillermo Cabañas, Karim Dembélé, Romain Pécoult
Client: Till Adams
Technical Contact: Volker Krause
Manager: Kevin Ottens
Description:
The Akonadi/N810 project is a KDE development managed by a five-student team of the IUP ISI (Institut Universitaire Professionnalisé en Ingénierie des Systèmes Informatiques). It consists in the development of an PIM (personal information manager) application suite based on Akonadi for the Nokia N810 platform, MAEMO.
Merge the KMail summer of code branch back to trunk.
This brings a reworked folder tree and a new message list, which is much more powerful than the old one.
New features include grouping, multiline items and the ability to customize just about everything of the look of the message list.
Also, we have a tabbed interface for opening more than one folder at once now.
An important aspect of the new message list is that drawing speed is now fast again (there was a regression in Q3ListView that made huge folders a real pain to navigate, reading commit folders was not a nice thing to do).
There are probably more things which I forgot to list here.
Also, this is big step forward in getting rid of Qt3Support in KMail, now just some tiny bits are left.
Many thanks to SoC student Szymon Stefanek for his awesome work on his project!
I can't stress enough how great this achievment is.
He even added very good API documentation to his classes :)
This requires the lastest version of qt-copy, otherwise you'll get mysterious crashes in Qt painting code from time to time.
We hope that this patch will be added to the next Qt 4.4.x version.
And finally, this merge also brings many regressions, which is not unnatural for such a big change.
In the remaining time before the KDE 4.2 release, we'll have to work on those to get it polished and regression-free.
Help here is always needed, and is a good opportunity to start working on KMail, since many regressions are low hanging fruit.
It also means the message list and the folder tree need a bit of testing.
If you find bugs, report them under the "new message list" and "new folder tree" component of the bug tracker, thanks.
I also plan to setup a wiki page with known regressions.
qt3support--
Let's hope I didn't screw this up, otherwise we'll see interesting filtering bugs.
Now the only Qt3 things left are the manage sieve script dialog (Tom, feeling like porting this?) and the subscription dialog.
Also, remove duplicate code in deleteMessage: simply call the version for one message for each message in the list.
Office
create a branch for the KPresenter BE Team
Ladies and gentlemen: "break my kwebforms" show begins:
DataProvider is undergoing a small refactoring (it becomes a Singleton class)
Add a method to "reopen" the connection to the database.
This will probably fix a bug with Authenticator::loadStore(), remove a global variable (ugh!) and provide a saner interface.
Drawbacks: not thread-safe, a little bit more complex introduces a serious point of failure...
Multimedia
On an application first run, show the collection setup with the Amarok settings widget. (Doesn't work yet)
Made the settings dialog remember its current page.
The dialog will now remember which page was last used, and will show the same page again the next time you open it.
However, it will not remember this across sessions, by design. After startup it will always show the first page (General Config), except on the first run, where it will show the Collection Config.
This is the same behaviour as in Amarok 1, and was discussed with our usability guru.
Additionally I've refactored some of the code and made it more modern and readable.
Remove seeqpod script from src and move an initial port to qtscript ( that I have had lying around for a little while ) into playground.
The old ruby script is kept around for refecence for now.
The new version basically works, but you have to hardcode your uid into the main.js source file, which is obviously not a valid solution, so I am commiting it in this state hoping that one of the people who has been asking for it to be ported soon will finish it up! :-)
Again allow to browse and open video files.
For a while canDecode() used to filter out all non audio/ mimetypes, but now we allow video/ too (as it used to be a while back), as Amarok is also able to play these (be it with sound only, or with the Video applet).
Remove the config option asking what size cover previews should be.
This is legacy from the Amarok 1.4 context browser.
Eventually if we re-add this option it should go in the current track applet config.
Don't overwrite plasma files.
Since Amarok is using plasma trunk, this causes big problems for users with KDE 4.1 plasma installed.
For anybody that has suffered at the hands of this indiscretion, you'll have to manually uninstall amarok, then replace your original plasma installation from your package manager.
A big sideeffect of this fix is that Amarok-plasma probably won't work for anyone with no plasma installation.
We need to resolve this.
User Interface
Port cokoon to KDE 4 API.
Patch by Joshua L. Blocher, reviewed by pinotree.
This is Joshua's first patch, thanks Joshua!
Enable compositing with nvidia by default only for driver 173.14.12 and up, this rules out GeForce4 and below, but there it's still possible to enable it explicitly if the user finds it good enough.
Utilities
Create a branch for my klipper kconfigxtfication efforts
Adding a dir for devicesync, importing from git is coming soon
Games
i fire up kolf for the first time in kde4 because i haven't played a game in forever and shudder at all the jaggy lines.
so i make an AntiaAliasedLine class, start replacing all QGraphicsLineItem usage with it ... and then notice someone had already made an AntialisedLine (sic) class that was identical to mine but innexplicably didn't use it everywhere =)
well, problem solved.
Added some new text designs to kings, queens and jacks(more royal looking)
Updated screenshot preview.