Issue 156
7th November 2010 by Danny AllenContributors
Beat Wolf
Tom Vollerthun
Jonathan Thomas
Marta Rybczynska
Marco Krohn
Dominik Tritscher
Xavier Vello
Danny Allen
Stefan Majewsky
Paulo Dias
This Week...
New policy: Commit-Digests will be released regardless of whether there is original introduction content each week (although of course i'll still be trying to get such content!). If you can help in contacting developers for original content, please volunteer.
The plan is to release a Digest every few days from now until we're caught up to real-time.
The next Digest will have a nice article about KDE-PIM, so look forward to that!
Statistics
Commits | 2356 by 189 developers |
Open Bugs | 22146 |
Open Wishes | 16945 |
Bugs Opened | 596 in the last 7 days |
Bugs Closed | 758 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/KDE |
337
|
/trunk/l10n-kde4 |
145
|
/trunk/kdesupport |
92
|
/branches/stable |
55
|
/branches/work |
54
|
/trunk/extragear |
52
|
/trunk/playground |
50
|
/trunk/l10n-support |
39
|
/trunk/koffice |
29
|
/branches/extragear |
28
|
Files | Developer | Commits |
260
|
Kevin Ottens |
67
|
635
|
David Faure |
60
|
357
|
Nuno Fernades Pinheiro |
60
|
434
|
Stefan Majewsky |
57
|
129
|
Patrick Spendrin |
46
|
197
|
Tobias Koenig |
42
|
81
|
Wolfgang Rohdewald |
39
|
65
|
Allen Winter |
33
|
63
|
Dimitrios Glentadakis |
33
|
183
|
Burkhard Lück |
31
|
Internationalization (i18n) Status
Language | Percentage Complete |
Swedish (sv) |
99%
|
Brazilian Portuguese (pt_BR) |
99%
|
Portuguese (pt) |
99%
|
Spanish (es) |
96%
|
British English (en_GB) |
96%
|
Low Saxon (nds) |
93%
|
German (de) |
93%
|
Dutch (nl) |
92%
|
French (fr) |
91%
|
Estonian (et) |
90%
|
Bug Killers
Person | Bugs Closed |
Darío Andrés |
334
|
Christoph Feck |
46
|
Peter Penz |
27
|
Myriam Schweingruber |
25
|
Dominik Haumann |
22
|
Beat Wolf |
20
|
Sergio Luis Martins |
9
|
Milian Wolff |
8
|
Michel Ludwig |
8
|
Dawit Alemayehu |
8
|
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 124 selections this week
Bug Fixes
Development Tools
dhaumann:
fix bug #156330: lugin loading in kate sessions
This removes the default.katesession and merges it back into the katerc config file. Unnamed sessions are read and written back to katerc.
This way, changes in the plugin settings and the recent-files-menu are saved.
Please test this thoroughly, so we can be sure it's working for KDE 4.6!
Make the malformed diff check more tolerant to prevent choking on SVN-generated diffs or on diffs resulting from the use of diff >>.
It could probably use a better fix than such simple whitelisting, but this should fix the annoyance for now.
Tested on Fedora 13, kdelibs 4.5.2.
Backport revision 1193415 from trunk.
Graphics
* Correct year handling for non-gregorian calendars (year should be retrieved from KCalendarSystem, NOT from QDate)
KDE Base
Jörg Afflerbach:
Added loads of missing functions mostly from PHP > 5.2.
Added functions from xdebug and suhosin.
Highlight "global" as keyword not as function.
Marked some functions as deprecated and even dropped some really weird ones.
Added some missing PHP 5.3 functions.
Marked POSIX regex functions as deprecated.
Dropped "fgetwrapperdata", "debugger_o(ff|n)" and "dotnet_load"
don't try to migrate if the activity service is missing
this should prevent a few more duplicates
Make sure to give global constructors like Object, String, etc., global names, since at least one crazily overengineered marshalling system uses them as keys.
Fixes search on devexpress.com support center.
Suspend the available disk space polling while the indexer is idle.
Restart it when the indexing continues.
* replace qhash by qmap and avoid side-effect prone QHash::operator[]
* use TimeLine data memeber instead pointer to prevent leaking
* only setTransformed() if there's really a current animation, not if "a window we know is mapped"
* therefore use a poperty to know whether the effect manages a deleted window
* set the TRANSFORMED flag in prePaintWindow as it should be
Make !pluginsEnabled() work proeprly rather than do some weirdo attach/detach dance
Fix KDirWatch so that it has a more uniform behavior whether the backend is inotify or FAM:
the most important change with inotify is that when a file is created in a watched directory, dirty(dir) is emitted rather than created(dir/file), as it has always been before inotify.
created() is for things that have been explicitely watched for.
Many fixes in the FAM support, most taken from the last year of fixes in the inotify code.
Some fixes in the unittest: FAM (well, gamin at least) can't detect the case where /etc/localtime is deleted+recreated immediately; and FAM needs more sleeps in the tests so that it can detect mtime differences.
This makes the test much slower in fam mode (19s instead of 5s), and I'm not sure about some of these delays, to be investigated further.
Linux users can run the unittest in FAM mode with KDIRWATCHTEST_USE_FAM=1; should automate that somehow...
Allow for unevenly distributed row heights / column widths and respect the preferred size of the child items; this should better accomodate icons with varying text lengths and prevent icons from growing beyong their preferred size.
Section count estimation is still overly pessimistic, however.
fix another potentially misleading error message
don't let extra output confuse us
we already assume that getting EOF instead of a stub signature is an authentication failure.
actively rejecting all extra output on top of that does in fact break things if PAM or some login script prints something before the stub is executed.
FIXED-IN: 4.5.4
KDE-PIM
There were two settings for configuring the work hours background color. Remove one.
Fixes this config option not working in korg-mobile.
Bug 255673: Fix KAlarm showing in system tray at login when configured not to show in tray.
Don't crash when parseVCards() returns an empty list.
Can happen if the vcard string doesn't have vcard content.
There is code that depends on the KLineEdit having a specific object name (although this is possibly not sensible).
This stops KMail crashing when opening the settings dialog.
Fix clicking on text where there is a preceding line to the left of the line you click.
Before the cursor was placed in the preceding line.
Manifestations of this bug are:
* not possible to click in hyperlinks at the top of a table bug:247536
* not possible to click place cursor to the right of shapes with text around both sides
* and obviously hyperlinks to the right of such shapes wouldn't have worked either
Office
This was the hardest bug I've ever fixed.
Our custom editable combobox is really hard to maintain regarding input events.
Let's hope this is fixed now.
After some testing in trunk we should backport this to the stable bugfix branch so reporters please test this thoroughly.
The fix consists of two parts.
The first one is to replace the completer window type from popup to tooltip. This was done to avoid stealing the keyboard input from the combobox's lineedit. So far we where relaying key press/release events to the line edit but this is not enough for using input methods (see QInputContext).
The first part enabled using input methods after showing the popup but for the first time we show the popup. This was because somehow showing the popup would mess up the input context of the widget. Work around this with a second fix: create a new input context for the combobox each time the popup is show.
Fixed a crash due to calls to projection->set{X,Y}()
We can't adjust projection's offset on every call to KisSafeProjection::getDeviceLazy() because other threads may *write* to this device at the same time.
So we adjust its shift only once, that is on projection's initialization.
Add a semantics element after math element, so that we generate MathML compliant markup while being compatible with OOo.
Related with r1184288
Task editor bug fix: Allow setting task estimate calendar to None.
A proper fix for bug 255682
The problem was in KoShapePaste, because it performed setParent() and controller->addShape() calls separately.
There is no need to change Krita's part of shape layers for that (that is why this patch reverts commit 1192386).
The change to KoShapePaste was approved by Thomas on a mailing list yesterday.
Ledger view remains disabled after switching to a different file.
This was caused by the fact that the accounts model was not loaded by the time the account selector in the ledger was being used to set the visible account.
This means that at that time the visible account could not be set.
After the accounts model gets loaded nobody tried to set the ledger's visible account which is correct.
Fix this problem by making sure that the accounts model is loaded by the time the ledger's visible account is being set.
Do this by activating the "load on idle" feature only if there is a real account loaded not after the first time like it was done before.
+ A small step in improving the performance issue. Load the accounts model on idle instead of when dataChanged() is emitted when it's possible.
Backport to the stable branch.
Multimedia
Networking Tools
Do not delay the initilization of MainWindow, as then not all download groups are loaded if KGet is started with some urls to download, e.g. if KGet is not running and started from Konqueror.
Games
Fix Ball simulation when ball is invisible.
Fix collision behavior of Cup, and fix a crash in KolfGame dtor.
The crash fix introduces another crash when the game is closed, but
fixing the other crash is more important right now because it hindered
me from starting any games.
Fixing KDE bug 254864: when playing, place default action buttons
always at the same position, making it easier for mouse users
(i.e. humans using mouses, not mouses playing Kajongg)
Rework the DealerInfo class to improve robustness.
This may be overkill, but it makes the DealerInfo class much easier to
use. Translation duties have been moved inside the class to ensure the
developer gets a translated string unless he explicitly requests the
untranslated bytes.
The base ID and the subtype IDs are handled separately inside the class and there are explicit getters for each.
Features
Development Tools
mwolff:
Show amount of compile errors and warnings in popup of build plugin.
Thanks for the patch to Oliver Sander.
dhaumann:
fix: Build plug-in should allow to interrupt
Thanks for the patch, Oliver! Please keep it up.
Other part of patch got commited by me in other commit
Educational
KDE Base
nsams:
Add default shortcuts for moveLinesUp/Down
Eclipse does have Alt+Up/Down but that does something else already in KDevelop,
so use Ctrl+Shift+Up/Down.
improve code sharing as suggested by dominik
if selection ends at beginning of line, skip that line
Select duplicated text
don't duplicate code, instead create private helper functions
remove duplicateLine function, as the new ones do basically the same
add script that duplicates selected lines up/down
Added implementation of the FileInfoExtension to allow KPart plugins to obtain such information
factor out device blacklisting (ignoring);
now it should be again possible to see partitions
(I will adjust it to crypto stuff tomorrow)
Internal cleanup:
- Also handle KFileItem specific meta-data inside the provider for consistency and easier maintenance
- Don't try to reuse label-widgets. This just makes the code tricky to maintain and does not result in a measurable speed-benefit or less flickering.
FEATURE: Support for relative context present actions
REV: http://svn.reviewboard.kde.org/r/5631/
FEATURE: It is now possible to drag the notifications window around to put it in the "less annoying" part of the screen.
It will be forcefully kept inside the desktop geometry and there is a big snap to put it in the default position
FEATURE: support phone calls for contacts
patch by Bart Visscher
review board: 5604
new operations for Storage:
* expire, with age and group as parameters
* delete, with group and key as parameters
new db structure: creation time (still unused, but would be hard to add in future releases)
and access time, used for expire
- Add a function to explicitely set a parent widget for the authentication dialog in KAuth::Action
- In Polkit-1 backend, have the backend stream the parent to the authentication agent (polkit-kde >= 0.98.1 is required)
- Make UI components in kdelibs set the parent widget correctly, so that 3rd party components using those are fixed for free
Add support for tracing entering/leaving blocks, and indenting debug output inside the block.
Inspired by Mark Kretschmann's merge request for koffice (amarok's code).
Easy to use, just put a KDEBUG_BLOCK at the beginning of the relevant methods.
Add KWARNING_NOTIMPLEMENTED and KWARNING_DEPRECATED, also inspired by the amarok debug framework.
FEATURE: fallback paths for the contents prefixes as well.
this is basically a merge of http://reviewboard.kde.org/r/5765/ with http://svn.reviewboard.kde.org/r/5763
Enable LXR and EBN for Massif Visualizer.
Hint at the reason for disconnect
After half an hour of debugging if there's anything wrong with networkmanager, or the plasmoid, I've found out that wifi doesn't work because the hardware switch is disabled. PEBKAC top-to-bottom.
Now we show the reason why the network doesn't work in the tooltip.
(There's really nothing we can do automatically when hardware is disabled.)
Enable QFileSystemWatcher on all platforms (except if not available in Qt).
Not used by default though (it has one downside: delete+recreate+modify doesn't work)
Actually, if we are clever about defaulting to fam on nfs, we can default to qfswatch everywhere except linux where inotify works slightly better.
rakuco said ok for qfswatch on bsd too (to benefit from kqueue support; with the patches from MR2425).
Looks all clean now :)
Add KLocalizedDate to make localization of dates fun.
The new KlocalizedDate class is a convenience wrapper around KCalendarSystem
and QDate to make it easy for coders to localize dates. The api is very
consistent with QDate making most uses a simple changing of class name.
See review http://svn.reviewboard.kde.org/r/5692/
In making the new api as simple and easy to use, a number of new features were
added to KLocale and KCalendarSystem, mostly convenience enums, but also Week
Numbering system (currently only ISO Week supported).
The apidox is not yet complete, but I will finish this after hard freeze kicks
in.
- Added support for missing QNAM DeleteOperation.
- Let QNAM handle all operations not supported by KIO, e.g. CustomOperation.
KDE-PIM
Upload local images, and update their src in html is done!
Using JSON to transfer data between JavaScript and C++, and depending Blogilo on QJSON
What about adding FindQJson.cmake to cmake modules installed with KDELibs!?
So other KDE apps like Choqok can use it as well :D
MainWindow: add a dynamically shown (as-you-type) SearchBar
The key filter selection doesn't really work (combobox) but the string filter does.
Kudos go to Tobias for the twisted-brain approach to SearchBar hiding :)
Office
Start of List Save refactoring. Supports Numbered Paragraphs
List Save Refactoring. Added Support for saving of simple lists
List Save Refactoring. Supports saving of multi-level lists
Budget and forecast for accounts
Draft of budget module. Budget report in monthly report.
Nearly working shape caching
This implements caching of shapes using QPixmapCache following the
design of QGraphicsView's caching, with some flake-specific changes.
(Flake can show different sets of shapes on different canvases, while
QGraphicsView shows the same scene on different paint devices.)
Current problems:
* when editing, shapes get overpainted incorrectly
* in kword, the margin offset seems wrong, so the page is broken
off at the wrong place.
* editing text doesn't work atm
Multimedia
Implemented QML-based theme system. Added first (very rough) version of default "Oxygen" style
Networking Tools
Enable video support on FreeBSD via v4l compatibility.
http://reviewboard.kde.org/r/5750/
User Interface
Utilities
ADDED: options: Panel > General > Layout > Frame Color / Frame Shape / Frame Shadow
Games
Config, slider for animation speed: revert meaning: leftmost value 0 is slowest, rightmost value 99 is 'no animation'
Fixing KDE bug 254866:
Introduce an option to show only possible playing actions.
Defaults to yes.
kajongg: new command line option --rulesets shows all available rulesets.
Will be used for bash autocompletion
Optimization
Educational
Use one .ui file instead of three.
Fixes visual glitch between two nearby widgets (previously overlapping) and makes it easier to maintain.
Use a d-pointer.
Use Q_PRIVATE_SLOTs.
Gray out next instruction when it's far away (more than 1000 m, transport type adaption tbd).
Increase text size when close to the next instruction point.
Fix unneccessary double slot connection to position tracking and routing model.
Fix zoom buttons not disabled at min/max zoom values.
Re-add progress bar distance estimator, but use the distance to the instruction point instead of the remaining time (less flaky).
KDE Base
Support for the QString % operator for faster string concatenation
Enable the use of fast QString concatenation by default
Cache generated Lanczos textures.
This provides a significant performance improvement especially for Present Windows.
Whenever a lanczos resampling is done the resulted texture is cached, till the window is damaged or a texture of different size is required.
This means that for a taskbar thumbnail the resampling only occurs once unless the window is damaged and for present windows it only occurs when the windows are resized and then only after the windows have already been moved. Highlighting windows does not cause a resampling any more.
See review request http://svn.reviewboard.kde.org/r/5708/
Use Lanczos in Boxswitch also during animation.
Thanks to the caching the animation does not cause performance problems any more.
mwolff:
opt: use faster QHash for cache that has a ptr as key
This makes reformat source in KDevelop a bit faster
mwolff:
add benchmark for doc.setText with moving ranges, showing a huge bottleneck
the testcase adds 2400 moving ranges which make the setText call roughly 1000 times slower compared to no ranges at all
Office
Optimize styles loading.
Use a shared default style to reduce the number of malloc/free which will happen otherwise.
This reduces the number of mallocs/frees by 20% the tested document.
delay filling the StyleStorage RTree until the data in it is actually needed (usually when a sheet is shown for the first time).
This can make showing the first sheet quite a bit faster.
In the future this might be extended to do the rtee-filling in the background in a separate thread.
Networking Tools
Adds NewTransferDialogHandler that handles the dialog creation and the adding of transfers.
If there is enough information to add transfers directly it will do that using static methods of KGet, adding all in one run.
This class also makes the mostLocalUrl call asynchronously, thus massively speeding up adding transfers.
In kget.cpp itself that is not possible, as the methods there have to return a result instantly.
Games
Other
Educational
Don't show the Apply button on Maemo since it is only useful in modal dialogs.
Use a third tab for managing maps instead of a toggle button in the configure tab.
KDE Base
And here come the unit tests....
Unit tests for
- SimpleFacet
- DynamicResourceFacet
- FacetModel
- ProxyFacet
Along for the ride are a few fixes (direct results of the tests) and some small API
changes - only renamed methods and signals actually. The latter is only intended to
make for a more consistent usage (matching method names in Facet and FacetModel).
Reenable nepomuk
Assure that always the search-box is shown instead of the URL-navigator if a Nepomuk-URL is requested.
We still have to think about how to show queries that cannot be represented by the facet-widget, but at least it is sure that this kind of information should not be shown by the URL navigator.
Add a new KDE_NO_DEPRECATED setting allowing to completely remove from the API deprecated symbols (if they are ifndef'ed).
It's turned on in the Mobile profile only.
Remove WinCE backend code for solid-hardware
This is unused and broken and likely never going to be used anywhere.
prefer description() over vendor + product, fixes weird device labels
(see eg. http://ktown.kde.org/~lukas/pics/kde46/encrypted-unlocking.png)
Disable the filter-dock if Nepomuk is not active.
KDE-PIM
Videocatcher has moved to playground/network/videocatcher
- text_calendar plugin is now async, no nested event loop needed.
- No longer needs kresources.
- Updates to invitations are now displayed as such.
There still some codepath that says it doesn't find the incidences.
Working on that.
Networking Tools
Uses NewTransferDialog instead of KGet::addTransfer in main.cpp and also adapts NewTransferDialog to handle more cases without user intervention.
These changes should result in fewer dialogs -- and then idealy only NewTransferDialog -- are displayed to the user.
Whois widget improvements:
- Moving images of action under the avatar
- If realname is long it won't move close button down
- Brackets won't show, if timezone doesn't present
- Last status label won't show, if user didn't write any status
User Interface
new mimes apart from some minor fixing this concludes the big remake of the mimetypes in size 256x256
next size to be adressed is 128x128, and 64x64...... all the way to 16x16 (the small ones shoud require litle changes apart from metafore chages produced in this refacturing
Games
Replace home-grown line intersection calculation by QLineF::intersect. Kill Point and Lines::Line classes.
First use of Tagaro::Scene, Board, and SpriteObjectItem in KolfGame class.
This demonstrates how Tagaro::Board's automatic scaling makes big parts of the current resize handling code obsolete.
Add EllipticalCanvasItem class as common base class for Ball, Bumper, Cup, Puddle, Sand.
This is the first time in my Kolf activity that I can restore a feature:
The ball is now colored again (although the current theme does not have a translucent ball, so the colored ellipse cannot be seen below the opaque ball texture).
Finally port BlackHole to Tagaro::SpriteObjectItem via EllipticalCanvasItem.
This mostly concludes the removal of the obsolete resizing code. The
game is now about as stable as before, although I have the feeling that
wall collision is a bit worse now. No idea why, though.
Adapt Kolf::Overlay and Kolf::Shape from playground/games/kolf2/base.
I'm aiming to restrict CanvasItem subclasses to those which are actually
relevant for the gameplay (e.g. Bumper, Cup, Bridge; e.g. NOT RectPoint
and WallPoint). The first step is to introduce a means of displaying
editing interfaces without the need for additional CanvasItems, i.e.
Kolf::Overlay.
The Overlay class relies on the Shape class which determines the
outlines, but Shape will also be useful for the upcoming step to Box2D.
That code is already available in playground/games/kolf2/base, but I've
kept things simple in this first step. The aim is to replace the editing
interface first, and further simplify datastructures in the various
CanvasItem subclasses in the process.
Currently, an overlay is only installed on Cup and Wall. I plan to
stabilize those first before I install overlays on all items.
Create a Box2D world, and attach Box2D bodies to all CanvasItems.
This is unfortunately a very large patch, because it touches everything
in the CanvasItem hierarchy, the ItemFactory, the KolfGame and the
shapes at once. All these objects are closely related through Box2D's
object hierarchy (world -> bodies -> fixtures -> shapes), so these
changes can hardly be split up further.
Milestone! The intro level works with Box2D-powered ball propagation!
The shotgun approach to object cleanup: Destroy everything!
Up to now, I had problems with "ghost walls". Turns out that these are
the objects from the previous games (i.e. the intro game), which are not
correctly cleaned up by the KolfGame dtor. Because the CanvasItems have
so many interdependencies and stuff, I'll just delete items with a shape
for now. This needs to be replaced by proper cleanup somewhen.
Make Box2D the default physics engine for Kolf.
Mission accomplished, folks!
move ksame from kdegames to tags/unmaintained/4.
move klickety from kdereview to kdegames.
Make Klickety do a more convincing job when pretending to be KSame.
Which this patch, "klickety --KSameMode" becomes very hard to
distinguish from "ksame". Window titles, menu entries, icons, the
about dialog, and highscore window all refer to Same Game.
I copied authors and credits from KSame to be shown when in KSame mode,
as I thought the was reasonable. The copyright of course is untouched as
the actual code is 100% Klickety's. If anyone disagrees with these
credits, please feel free to change them. This was just what I felt
would be best.
Other
tell people where the new repos lives