Issue 152
10th October 2010 by Danny AllenContributors
Marco Krohn
Danny Allen
Dominik Tritscher
Mutlu Inek
Tom Vollerthun
Marta Rybczynska
Vincent de Phily
Xavier Vello
This Week...
Major thanks must go to the patient KDE sysadmins Ben Cooksley and Tom Albers who have provided a lot of technical assistance over the past weeks helping to get the server ready for this day. I am also extremely grateful for the people who have volunteered to contibute so far, helping to review / classify commits or be a features editor (these people are credited at the top right of each page), or offering to translate both the Digest and Enzyme interfaces into various languages, and also people like Marco Krohn who have given me lots of feedback on Enzyme improvements. But more people are still needed - especially editors! - so please consider contributing if you can do so on a regular basis. Enjoy!
Some time later, Sebastian Kügler invited me to work on Plasma NM instead of KNM, which I accepted since I really like the traffic graph in Plasma NM :-). Since then I rewrote my initial Modem Manager implementation to be a Solid backend separated from NM backend and committed it to trunk during Akademy 2010 in Tampere. I also did plenty of hacking at the Solid Sprint and I just wanted to thank the Solid guys for helping me when I asked and for the great time in Madrid last weekend.The MM backend took me several weeks of work: it is a big implementation with 151 files changed/added to Solid. I used it as base to add more information to Plasma NM's interface details tab (operator's name, signal quality and access technology) and the signal quality meter in the connection tab. Some people asked in my blog if I could port the nm-applet's connection wizard to Plasma NM, even my employer asked me to do that, so I finally started porting it. This week I have finished the Mobile Connection Wizard, which makes it easy to configure 3G connections in a Plasma workspace like with Gnome's nm-applet. There is still a little polish to add, but I think the result will please the people who missed this feature.Today, Plasma NM works great and has the most important features for a network management system. The next things I want to work on is PIN/PUK unlock, adding data traffic graph and adding a dialog to select which details to show in the interface details tab. One thing I really wanted to see working properly in Plasma NM is connection sharing. Network Manager already supports that but its implementation conflicts with existing firewall rules, and does not support encryption or access control lists. I created a script that supports all that, although it conflicts with NetworkManager. I plan to use the knowledge I have received implementing that script to improve connection sharing in Network Manager and Plasma NM.
I also wanted to implement SMS read/send and contact management but unfortunately ModemManager does not support those two features in my hardware so that is something that waits for that support to be added.
Statistics
Commits | 2327 by 190 developers |
Open Bugs | 22155 |
Open Wishes | 16869 |
Bugs Opened | 703 in the last 7 days |
Bugs Closed | 844 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/KDE |
233
|
/trunk/l10n-kde4 |
136
|
/branches/stable |
98
|
/trunk/playground |
80
|
/trunk/extragear |
74
|
/branches/work |
63
|
/trunk/koffice |
53
|
/trunk/l10n-support |
49
|
/branches/KDE |
37
|
/trunk/www |
31
|
Files | Developer | Commits |
113
|
Allen Winter |
78
|
321
|
David Faure |
57
|
205
|
Bertjan Broeksema |
55
|
546
|
Burkhard Lück |
51
|
1693
|
Chusslove Illich |
51
|
523
|
Boudewijn Rempt |
48
|
101
|
Volker Krause |
48
|
174
|
Gilles Caulier |
47
|
53
|
Yasen Pramatarov |
47
|
208
|
Marco Martin |
47
|
Internationalization (i18n) Status
Language | Percentage Complete |
Ukrainian (uk) |
100%
|
Swedish (sv) |
99%
|
Brazilian Portuguese (pt_BR) |
99%
|
British English (en_GB) |
97%
|
Spanish (es) |
96%
|
French (fr) |
93%
|
German (de) |
92%
|
Low Saxon (nds) |
92%
|
Estonian (et) |
89%
|
Dutch (nl) |
89%
|
Bug Killers
Person | Bugs Closed |
Christoph Feck |
131
|
Peter Penz |
72
|
Myriam Schweingruber |
55
|
Felix Wolfsteller |
45
|
Urs Wolfer |
40
|
Christophe Giboudeaux |
36
|
Beat Wolf |
36
|
Volker Krause |
32
|
Milian Wolff |
25
|
Leonardo Finetti |
20
|
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 115 selections this week
Bug Fixes
Educational
Have MarbleWidget create and own the RoutingLayer. Fixes routes not visible in applications embedding a MarbleWidget.
Graphics
update libraw to 0.11-beta3.
Changes (significant ones):
1) Fixed bug with half_size processing: if params.half_size is set, than params.four_color_rgb is set on postprocessing stage (that is right) and not returned back after postprocessing (that is wrong). So if you use half-mode and full-size in mixed sequence, it may result to postprocessing problems on some cameras.
2) AHD interpolation is refactored:
- on single-thread processing, entire processing (open-unpack-postprocess) is 5-10% faster than before.
- on multicore systems with OpenMP enabled, full processing pipeline is about 1.5 times faster on 4-core machine.
So, AHD part is MUCH faster.
With ICC convert tools, assign right ICC profile to target image and remove Exif color space tags.
Use right order to clone data from one item to another one.
check for the data pointer, not for the size
this way we can load resources of 0 bytes (not much useful per-se, but at least we know they are actually existing in the epub archive)
KDE Base
Expand the "..." in the copied string, when selecting squeezed text.
This fix is only activated when compiling against Qt-4.7 (since I added API there for that purpose, via a Qt MR, some time ago).
It's never too late to fix bugs from 2003 :)
Fix text shadow placement
http://reviewboard.kde.org/r/5504/
- Integrate the patch from Matthias Fuchs from http://reviewboard.kde.org/r/5496 to allow having leading zeros when renaming files: E.g. Using the name "A ###.jpg" results in the filenames "A 001.jpg", "A 002.jpg"... The patch could be simplified a little bit by guaranting only one connective sequence of #'s.
- Move the renaming code into the RenameDialog
- IconGridLayout now uses minimum size as only hint for creating new rows / columns.
- Restored accidentally commented onConfigAccepted behavior.
- Removed kDebug() output.
KDE-PIM
when printing debug messages in the mailLossDebug mode, do not attempt to access the folder's prettyURL(). this is because prettyURL() searches up the folder's ancestry while trying to discover its family name :)
problem is: on quit, the ancestor nodes might already be invalidated due to the order they were destroyed.
thus, we use folder->idString() instead in the print.. it ain't pretty, but it's safe and does the job.
Make sure that the slider keeps the same with when the progress
label changes (e.g. from 0% to 10%).
Copy all needed headers when replying to a mail
Save attachments into a temporary directory and create the symlink to the real data
in that place, rather than making the link itself a temporary file name.
eg. before the link was "file_[RANDOM].txt" and now it's "attachmentsRANDOM/file.txt"
the advantage is that the base name is still "file.txt" and that is easier to
deal with in saveAs dialogs, compared to "file_[RANDOM].txt".
kolab/issue2786
When sending events as an iCal e-mail attachment, use the correct timezone.
Fixes kolab/issue4561.
Office
this fixes the bug in flake, where single key shortcuts prevented text input.
to reproduce, do the following:
1. open shortcuts configuration and assign the shortcut "a" to the about dialogue.
2. activate default tool => a shows about dialogue
3. create textshape and write something with a => about dialogue shows, but it shouldn't
In the qt lib textinputs are working, while there are these shortcuts, so in flake it should also work.
the patch works this way:
the canvas forwards bool QWidget::event(QEvent* theEvent) to KoToolProxy. The tool proxy asks the current tool, if it is in text mode (isInTextMode) and interrupts the shortcut if so.
* Implement handling of Viewport as well as Window.
I think I finally got everything correct now.
Fixes missing legends in ms documents opened with kword.
The fix applies the transformation of the parent to the outline before
the intersection test is done, otherwise objects that are in the outline
may not be drawn. This is only done if the shapecontainer is not the
toplevelcontainer as in this case the caller to koshape applies the
transformation.
This is a patch 5505 from reviewboard
Table View
* fix crash when not matching entering text into the combo box line edit
Avoid crash when probing the clipboard
the clipboard creates an ItemStore without parent, so make sure we don't dereference the pointer if its null.
Fixed drawingML to have outline style for docx & xlsx
Change names of axes in drop-down menu as well.
* Fix a crash when a page is moved before the first page.
Don't crash on restarting layout on a changed doc
User Interface
Make sure tools based on QDialog and which show potentially long file paths and/or vector names get maximize/minimize buttons on Windows. It was the case under Linux (at least with kwin) but not under Windows.
Based on the examples/widgets/windowflags examples from the Qt distribution this should solve the issue for Windows without changing too much for Linux. Maybe we only need to add the context menu button?
Utilities
Fix sequence pixmap to overlay the right widget
Changed update and issued date to datetime text, since sometimes both are in the same day
Features
Development Tools
* Attempt to make it easier to track down parse errors in smokegen by giving the text of the current line as part of the error.
* The source filename and line number would be nice too, but it isn't obvious how to do that.
Educational
Route guidance mode (automatic recalculation of the route when deviating).
When activated, position tracking is enabled as well as auto center and auto zoom.
Whenever the current location is off the route, a new via point is inserted and the route recalculated.
Visited via points are marked and removed before a new route is calculated.
The original route is saved and restored when guidance mode is disabled.
ThemeSelectView is now able to show the themes in multiple columns.
This is espacially needed when shown on the n900 with its wide screen.
Add an Ok button to the map view dialog to close it. Use a sane initial size.
Remove now uneeded hiding of labels in map view widget for small screen devices.
optimize size for maemo
KDE Base
New UDS_COMMENT which allows to add text comments to file items.
Approved by review request http://reviewboard.kde.org/r/5307/.
This will be used to report search excerpts for full text searches in Nepomuk.
Implement the actions "Open in New Window" and "Open in New Tab" for the case if no item is selected.
export plasma widgets in a plugin instead of directly in libplasma: this will hopefully avoid adding > 1000 locs into libplasma even for who isn't using qml
the cmake is an hack atm waitin QT_IMPORTS_DIR to be added in FindQt4.cmake
Optimize locking a shared cache.
KSharedDataCache uses a process-local mutex to protect against multiple threads trying
to remap an improperly sized cache. But this pretty much never happens, and the locking
can be better done within the code that does the remapping. This refactoring removes the
cost of a QMutexLocker creation and lock acquisition from the common lock path.
Allow to use wildcards when searching filenames or simple text files with the filenamesearchprotocol.
Add the "Find" action per default to the toolbar.
FEATURE: OR operator (+) supported in string filters
KDE-PIM
KHolidays: New HolidayRegionSelector widget for clients to allow users to configure what Holiday Regions to use.
The widget provides a number of modes and features to fit most use case scenarios I can think of:
* A display only mode
* A single Holiday Region selection mode
* A multiple Holiday Region selection mode with optional secondary selection for Days Off / preferred Holiday Region
* A search line
* Ability to modify level of detail displayed when space is limited
* Qt Designer plugin
Future features planned include a pop-up with details of all holidays defined in a region, and better region naming once holiday types are implemented.
See ReviewBoard http://svn.reviewboard.kde.org/r/5518/
Save the akonadi data on a Flash Card on Windows CE if one can be found
Add an action for adding sub todo's
NOTE:
The task list in the main view of the application is a *list* and not a tree. So subtasks will appear at the same level as its parent tasks atm. I'll therefore leave the bug open for now.
Stephen: is there an easy solution for this?
Implement Send As iCalendar action.
Show the new alarm dialog also in korganizer-mobile.
Add code to save all attachments
Begin of SMIL send support
Only get and replace, no GET url composition
Implement work week view.
Fix showing of the week if the first day of the week is not Sunday.
Office
* added a subclasses for line, spline and freehandcurve (parent is simple curve)
* started to implement transfer function for simplecurves, it will transfer a qpainterpath into values. the qpainterpath will come from the simple curves.
* kissplinecurvewidget is the first of the new widgets, that uses a kiscurve. currently only in the paint method, but the calculation is already in kissplinecurve
* other smaller refactorings..
always forward tab and backtab keys to the parent.
This makes it possible to always use tab to go to the next cell when entering data.
Entering literal tab characters is still possible in the external editor.
Make the formula shape compatible with OOo.
When OOo created a formula, it added an annotation to the mathML.
This was loaded and saved back wrong by KOffice, which made it impossible to load back again.
With the added support for math:annotation, we can now interoperate with OOo fully.
This is despite the fact that OOo saves as an embedded document and KOffice saves inline mathML.
NOTE:
The contents of annotations are not saved back correctly.
This is because the OOo formula editor creates a text version of the formula in the annotation.
If the formula is edited in the formula shape, then the annotation will be wrong.
Better to just save an empty annotation then.
Networking Tools
Replace the custom integer widgets by spinboxes
svn path=/trunk/playground/network/telepathy-accounts-kcm-plugins/; revision=1182475
Sets global status message instead of setting it for each account.
User Interface
Utilities
Games
Display player names in their own player colors in the status bar.
Patch originally by Viranch Mehta, adjusted to compile without ASCII casts.
See http://svn.reviewboard.kde.org/r/5547/
Other
Dictionary switcher at via context menu + It stores your last used dictionary and load it next time
Support multiple, non-overlapping maps. Maps can be placed in any subdirectory of ../maps/earth/monav/ now and will be recognized automatically if they contain the plugins.ini required by monavd.
Optionally (recommended) a $dirname/$dirname.poly file in osmosis polygon filter file format (in the tiling scheme from cloudmade; might switch to kml instead) can be provided to determine if the map is applicable for a route request (i.e. all via points in the route request are inside the map polygon).
The .poly files can be downloaded directly from cloudmade (CC-BY-SA, distributed with the country osm.bz2 files).
They correspond to simplified country borders.
Auto computation of reports in monthly reports
Optimization
Educational
remove MarbleMap::zoom{In, Out}() and simplify MarbleWidget::zoom{In, Out, View}()
Graphics
update internal LibRaw to 0.11-beta4
Changes:
1) Exception-and-OpenMP patch (already tested by me)
2) LibRaw I/O is now C++ iostreams based instead of plain old FILE* I/O. Thanks to Adam Hooper's efforts on LibRaw speed-up.
Iostreams are MUCH faster in multi-threaded envirionment. On Linux and MacOS I see 10-15% improvement on dcraw_emu -h (half_size processing). So LibRaw::unpack() is about 1.5 times faster or so. On Windows (and Intel Parallel Studio compiler) I see about 3x times improvement on LibRaw::unpack() and big Canon .CR2 file, but under Windows I estimate timings via VTune profiler, in the wild improvement may be less.
On the other side, iostreams may create compatibility problems. Yes, streams are in C++ standard library for decades, but it is possible to meet problematic compiler.
Please report any comolation problem to backport later this patch on KDE 4.5 branch
KDE Base
Optimization: When removing metadata donot query for sub-files/folders of the resource when it is file.
Only look when it is a folder.
Internal cleanups to assure that the asynchronous request for the folder-information works reliable when switching between directories.
Disable OpenGL rendering by default, it causes various bizarre side-effects on the N900.
Optimize a decAutoUpdate+incAutoUpdate code path which led to unregistering+reregistering to KDirWatch for the same path,
which is unnecessary, and probaby caused the bug Lubos reported, where OOo's KFileDialog wouldn't show files created
since the last filedialog, because that event gets processed very late (no event loop while no dialog is up), after the
deregister+reregister.
Tested with "./kdirlistertest testOpenUrl testOpenUrlFromCache" and watching the KDirWatch debug output.
KDE-PIM
Optimize some hotspots in the IMAP parser:
- avoid the non-const operator[] of QByteArray, it's slightly more expensive than the const version (or at()) and we call it several hundred million times during a mail check
- don't clear the internal parser buffer for every line received from the server, but only every 4kB of read data
Together this saves about 20% CPU time in the IMAP resource. It also uncovered a bug in the parser causing a out of bounds access to the internal buffer.
Nearly double the speed of parseParenthesizedList(), saving a few percent CPU time in every client app.
Some improvements in "Reply to all" function:
- Won't add account nick to reply
- Won't repeat nick if it already in reply
Office
De-QObject-ify the factories and registries
There is no reason for the registries and the factories the registries contain to be QObjects. The only thing it was used for was the parent-child relation so the factories would be deleted on shutdown.
The objects would thus both be in the hashmap and in the list of children of the registry, effectively clouding the ownership relation.
To make all registries in KOffice consistent in usage, the destructors of the registries now delete their contents, there is no parent-child relationship anymore.
It also saves memory and makes it clear where all these objects are destroyed
PPT: improved the test of nested bullets and extended sharedtemplates.xsl
Utilities
Add an installedCount() function that is faster than using the packageCount() overload function that takes a package state flag.
Add more efficient toInstallCount() and toRemoveCount() functions to Backend.
These both just grab int's already cached in memory by APT, meaning that we don't have to iterate through every Package and get a full state reading to determine whether it is being installed/removed.
Other
Accessibility
rename kttsd to jovie
Graphics
update
update
add XMP and DNG sdk version to about data
Warning : DNG version is not available in sdk. i set it by hand in data.
This value need to be updated at this place when DNG sdk will be update later.
Note : new XMP sdk is available. We use 4.4. current version is 5.1.2 (http://www.adobe.com.ph/devnet/xmp.html)
KDE Base
PowerDevil v2 is here.
Sorry for the huge commit, but unfortunately this is not a light change.
PowerDevil v2 is a lightweight, Solid::Control free and extremely modular version of KDE's Power Management system. It also features a fully revamped UI.
This commit is the first step towards a stable product: expect feature regressions and bugs.
Overhaul the system-specific lock handling in KSharedDataCache.
This commit refactors the lock selection, creation, and acquisition/release
semantics in KSharedDataCache by introducing an interface for the cache locker
which is created once at KSharedDataCache creation and used from there on out.
Instead of checking the lock type every time the cache is meant to be locked or
unlocked, a quick check is done to ensure that the lock type in the cache
didn't somehow change (wrapped in KDE_ISLIKELY so hopefully essentially
instant). Profiling revealed no real change in performance.
The more important part is that it should be easier to actually add lock
handling for e.g. the Windows platform. Once Windows-native locks are supported
all we'd need is a mmap wrapper to get rudimentary working support on Windows
without having to use the kshareddatacache_win.cpp hack.
This has been tested using pthread_mutex_t and sem_t under normal usage, my
torture suite, libkgame's testbed, a KSharedDataCache benchmark from Manuel
Mommertz and a couple of games of KPat. ;)
Please let me know if I've dorked it up somehow for non-Linux/glibc.
Port battery applet away from Solid::Control
... Tada-da-da-da-da, another one bites the dust .... ta-da-da-da-da-da ...
Aaand another one, and another one, and another one ....
another one bites the dust.
Depend on Qt 4.7
kdelibs and kdebase in trunk now depend on Qt 4.7. Other modules will depend on Qt 4.7 as and when they depend on kdelibs 4.6. DO NOT use Qt 4.7-dependent code in modules where the maintainer has decided it should only depend on kdelibs 4.5 and Qt 4.6.
Woah, the "indic spellchecking regression" was in fact a fix: we don't spell-check numbers anymore, and these funny letters are actually numbers (thanks kcharselect for the confirmation)
Undoable Clear for text editor.
KDE-PIM
For now disable the following SFR based resources:
- kdeaccounts
- vcard
- mbox
Currently I'm working on making SFR based resources suitable for running in the AgentServer and this requires changes to how the resources deal with settings. ICal will be the first, the obove will follow soon.
Use Dialog instead of slideoutPanels for Clock / Calendar
Use the non-draggable panel to show the Clock and Calendar widgets, with Cancel and OK buttons collapsing the panel besides their obvious tasks. Ideally these buttons should be in Dialog.qml, IMO. Use an Item instead of a Row to organize the widgets in the dialogs.
Implemented complete ResourceIdentifier. Still haven't tested it.
Office
Use a 32x32 icon in chart config widget
Networking Tools
Creating directory for new plugin IMStatus.
This plugin will import status from Choqok to Instant messengers
User Interface
Move Cursor Theme KCM to Workspace Appearance
This probably needs some documentation adjustments.
http://reviewboard.kde.org/r/5468/
Utilities
Other
Added a slightly modified version of the KWallet backend (so that it does no longer depend on kdeui's kwallet) to the importer, and make the importer use it instead of the public API, which will be deprecated and switched to the new backend when this importer will actually be useful.