Issue 323
19th January 2014 by KDE Commit-Digest TeamContributors
Alex Fikl
Giacomo Barazzetti
This Week...
Statistics
Commits | 1668 by 147 developers |
Open Bugs | 21339 |
Open Wishes | 15946 |
Bugs Opened | 262 in the last 7 days |
Bugs Closed | 193 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/l10n-kde4 |
160
|
/branches/stable |
62
|
/trunk/l10n-support |
52
|
/trunk/www |
20
|
/pimcommon/storageservice |
15
|
/ksieveui/autocreatescripts |
9
|
/utilities/imageeditor |
8
|
/resources/imap |
8
|
/tags/KDE |
7
|
/trunk/kde-common |
7
|
Files | Developer | Commits |
423
|
Laurent Montel |
145
|
189
|
Cornelius Schumacher |
63
|
108
|
Sayak Banerjee |
51
|
141
|
Burkhard Lück |
47
|
123
|
Yuri Chornoivan |
41
|
111
|
Shantanu Tushar Jha |
38
|
78
|
Gilles Caulier |
30
|
87
|
Aleix Pol Gonzalez |
29
|
72
|
Valentin Rusu |
26
|
72
|
Chusslove Illich |
24
|
Internationalization (i18n) Status
Language | Percentage Complete |
Brazilian Portuguese (pt_BR) |
99%
|
French (fr) |
98%
|
Dutch (nl) |
97%
|
Estonian (et) |
91%
|
Galician (gl) |
90%
|
Italian (it) |
89%
|
Danish (da) |
88%
|
Hungarian (hu) |
86%
|
Catalan (ca) |
85%
|
() |
82%
|
Bug Killers
Person | Bugs Closed |
Jekyll Wu |
28
|
Christoph Feck |
25
|
Thomas Lübking |
11
|
Maarten De Meyer |
8
|
Albert Astals Cid |
8
|
Aleix Pol Gonzalez |
7
|
Harald Sitter |
7
|
Boudewijn Rempt |
6
|
Laurent Montel |
5
|
Dmitry Kazakov |
5
|
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 49 selections this week
Bug Fixes
Educational
Add CourseFilterModel.
This fixes inconsistent data handling in CourseModel which caused
invalid/undefined model states and non-obvious crashes (especially
when downloading GHNS courses.
Graphics
Don't try to print something with invalid sizes
Unfortunately as we can't add new strings to stable versions it'd say "unwnown error" if that happens
Don't think it's too bad since this shouldn't be happening much
Use DPI of current screen for PDF rendering
Includes some fixes from Albert:
* kscreen cmake fixes
Don't make libkscreen mandatory, give the proper version we need
* Fix the @since
* Kill Resolution and use a QSizeF
I first thought QSizeF didn't make sense, but well what's a dpi if not a number of pixels in width and some others in height?
* Remove unwanted const
* Remove unneeded utils.h includes
* Fix comments on realDPIXY()
* Make it compile in non X11
REVIEW: 111829
KDE Base
Add further parameter to compileUI if PyQt is newer than 4.10.0
As the method signature changed in 4.10.0, one needs to pass an
addional parameter; the empty string is a good default value
To prevent breaking pykde for older PyQt versions, the old signature
is called if the version is < 4.10.0
REVIEW: 115082
Do not use a shortcut for the KMessageWidget's "Close" action
This fixes the problem that the standard "Close" shortcut Control+W
might conflict with, e.g., the "Close Tab" shortcut in Dolphin.
FIXED-IN: 4.13.0
REVIEW: 114686
Fix double click can only select text within visible region
Double-clicking on text will highlight text not on the visible screen.
This is the 2nd part of this patch. The first part for triple clicking
highlighting the entire line is already in 2.12.
Thanks to Yichao Yu for this big patch.
REVIEW: 111441
FIXED-IN: 2.13
build plugin: add support for Intel icpc error messages
The format looks a bit different, an example is included in the
source file.
For gcc users still only one regex will be tested (after the first successfull one).
Intel users will have a bit more overhead.
I didn't measure it, but now the regex is checked only once, and after
that no additional searching in the string is done anymore, so it may
be even a bit faster.
Alex
KDE-PIM
Try to avoid another crash in the imap resource.
This crash might have appeared when:
* KIMAP::LoginJob fails with connectionLost
* SessionPool::onLoginDone calls cancelSessionCreation
* the emit connectDone will hiddenly leave the function and
call IMAPResource::onConnectDone which again calls SessionPool::disconnect
thus potentially deleting all Sessions (although with deleteLater()).
* cancelSessionCreation later calls killSession again with the pointer
that is potentially already deleted using deleteLater from the call to
disconnect.
* The code finally crashes in killSession when calling QObject::disconnect on
the apparently invalid session pointer.
The analysis is based on the backtrace in 322440 (duplicate of 319776).
Note that this analysis makes only sense if the deleteLater was actually
executed for some reason (we somehow entered the eventloop),
and that I never managed to write a testcase reproducing the issue.
Since I'm out of ideas I try anyways, also, code that leaves the function
in the middle of the function due to signals gives me headaches.
REVIEW: 114995
Now we can delete on yousendit server
Close IMAP mailbox before renaming it
Some IMAP servers don't allow renaming a currently SELECTed
mailbox, so we close it before RENAMEing it.
REVIEW: 114996
FIXED-IN: 4.12.1
Office
Fixed FFTW convolution worker to work properly in wraparound mode
It had at least two problems:
1) Some memory offset problems causing random pixels accessed
2) Wrapped line iterators working incorrectly when the access rect
was larger than the wrap rect. The rect iterator still has this
problem, but at least tells the user that the result is undefined.
Fixed the Unsharp Mask filter
Now it has the following features:
1) Uses Gaussian for the initial blurring instead of home-grown
circle mask
2) Supports floating point Radius value
3) Fixed the bug with wrong channelFlags are feed to the blur algo.
They didn't contain alpha channel before, resulting in really weird
results generated.
4) Uses Luminocity masking instead of mixing colors directly in RGB
Fix bug: data is not saved in form combo boxes
Subwidget is not focusable but the form requires focusable
widget in order to manage data updates so let it be this KexiDBComboBox.
Weboob import from paypal ignores dates and creates account "0"
Networking Tools
Fixing twitter favorites.
Fixed creating / destroying of twitter favorite tweets.
User Interface
Make notifications disappear after some time
Games
Fix Bug 329845 - menu is invisible after closed kbreakout in fullscreen mode
Merge patch from Marian.
Do not hide ships when they cannot be placed.
Some methods in the Delegate classes were too much procedural to my
like. I don't see with good eyes a method that should return a bool
returning a pointer instead.
To get rid of this, Delegate::canAddShip() now returns bool and when we
need to get a pointer to the next ship to be placed, nextShip() -- which
became public -- does its job.
This is not everything, the coolest part of this commit is that now
sprites will turn red when a ship can't be placed and green when this is
not the case. Just like some RTS games do. :-)
Just between us, having no sprites at all wasn't very user friendly.
FIXED-IN: 4.13.1
GUI:
DIGEST:
Features
Development Tools
Made 'Enable/Disable Undo' setting real working.
Allow external scripts to execute on folders if using %d parameter
Currently external scripts can only be run on files.
This patch allows calling them from project view context menu on folders under the following condition:
- %d parameter is used
- file related parameters (%s, %u, %f, %b or %n) are not used
When calling the script in any other way nothing changes - the directory of the current file will be passed as %d parameter.
REVIEW: 114582
Turn "whats this" messages into tooltip messages.
Obviously no one reads "whats this" messages, so let's show it
as tooltips, they are not so long after all. Also clarify some messages.
Educational
Implemented the Parsing Mechanism for Geogebra
Based on XSLT 2.0 and QtXmlPatterns. The XSLT provided is just a proof
of concept that should be fleshed out - and the code should be modified
accordingly to handle all the different types of objects.
I am actually not sure every possible object can be built using this
mechanism but many objects can be created by just selecting the object
type and stacking the parent objects so this should get us far.
KDE Base
filetree: add menu action to forget edit/view history
FIXED-IN: 5.0
move speel check dialog to bottom view bar
The ui is reasonably finished. The code could survive more polishing
but works mostly as expected.
REVIEW: 115080
GUI: spellcheck is now in bottom view bar
Ported KTranscript script engine use from KJS to QtScript
The KTranscript plugin allows the use of JavaScript binding for runtime
dynamic translations.
This replaces the KJS based code with equivalent QtScript based code.
REVIEW: 115485
vi-mode: enable numbered registers for "q" command
Reported-by: Jerome Leclanche
kjs: Implement ES6 Number isFinite, isInteger, isSafeInteger, isNaN and add MAX_SAFE_INTEGER, MIN_SAFE_INTEGER constants
REVIEW: 114464
kjs: Implement ES6 acosh, asinh, cbrt, cosh, exmp1, log1p, log10, sign, sinh, tanh, trunc Math Functions
REVIEW: 114449
add more actions to filetree menu
reload, close others, print, print preview
FIXED-IN: 5.0
vimode: added the sentence text object.
REVIEW: 115081
filetree: add close&delete action to ctx menu
FIXED-IN: 5.0
KDE-PIM
Add support for copy file/folder in Box.com . Add missing enum CopyFolder
Look at to implement gdrive support
Office
Editing SEPA credit-transfers keeps the beneficiary name
Minor improvement.
Multimedia
Support for the CanSetFullscreen property specified by MPRIS2
REVIEW: 114909
FEATURE: 4.13.0
Networking Tools
Implement the "clear urlbar action"
You just need to add it (OUT of the urlbar) with
right click --> configure main toolbar.
Is this enough guys?
PS: Thanks alouali for the idea ;)
Pump.io: set OAuth consumer key/secret in setters
Those where empty when the account is created and registered
User Interface
Create a new Clipboard component
Can be used to keep track of the clipboard by setting and fetching
information from it.
Games
utilities for the several ships patch
* Implement a bool canAddShipOfSize(size). When a ship of size size
can not be placed, then the AI or the player should start again. The
other option is to implement an Undo.
* Implement a clear() method to be able to start again
* In the battleField also add another hidden board with the cells having
only two status (free, busy) to be able to know the availability of the
cells.
It is easier for me in this way than the other way (sending a signal
to clear the ship borders when the shooting starts).
Also, done Roney suggestions.
Moved from reviewboard to branch
https://git.reviewboard.kde.org/r/114845/
Provide space on the puzzle table for the solution of the puzzle.
This change automatically provides space for the solution whenever the
pieces are shuffled and laid out. The option is configurable, using a
combobox, to provide space at Center (default), Top Left, Top Right,
Bottom Left or Bottom Right, or it can provide no space (option None).
The default (Center) reduces the dragging effort in large puzzles.
Other
use KDeclarative namespace for framework classes
KDeclarative has very generic class names, therefore a bad practiche for
public symbols.
this moves it under KDeclarative:: namespace as discussed in the sprint
REVIEW:115004
Optimization
KDE Base
Turn built-in effects into a library kwin links against
As all effects have always been compiled into the same .so file it's
questionable whether resolving the effects through a library is useful
at all. By linking against the built-in effects we gain the following
advantages:
* don't have to load/unload the KLibrary
* don't have to resolve the create, supported and enabled functions
* no version check required
* no dependency resolving (effects don't use it)
* remove the KWIN_EFFECT macros from the effects
All the effects are now registered in an effects_builtins file which
maps the name to a factory method and supported or enabled by default
methods.
During loading the effects we first check whether there is a built-in
effect by the given name and make a shortcut to create it through that.
If that's not possible the normal plugin loading is used.
Completely unscientific testing [1] showed an improvement of almost 10
msec during loading all the effects I use.
[1] QElapsedTimer around the loading code, start kwin five times, take
average.
REVIEW: 115073
Use the QMap iterator instead of foreach(key, map.keys()) in UpdateItemStatesThread::run()
and in VersionControlObserver::slotThreadFinished().
So we get O(n) complexity instead of O(n*logn), and O(1) memory instead of O(n).
Thanks to Thiago Macieira for providing this information.
FIXED-IN: 4.13
REVIEW: 115018
Only load datasource + action plugins on demand
This gives not only faster startup time, but allows tests to load only
the fake data source, without loading plugins first.
Reviewed-by: Martin Klapetek
Reduce timeout of startupfeedback to a sensible default
It's 2014 and we don't have to wait half a minute for an application
to start. In fact we mostly get false positives due to applications
not handling correctly startup notifications for already running
instances (e.g. click on link in email).
So let's reduce to a default which doesn't look like a broken setup.
REVIEW: 115046
Calculate all item size hints at once.
The speed up is really small, but theses changes are mostly straightforward and make the code a bit nicer - break
the KStandardItemListWidgetInformant::itemSizeHint beast into three smaller functions.
FIXED-IN: 4.13
REVIEW: 112979
Office
Band-aid the fill algorithm
This does two things:
* Cut down the memory usage of the map by 75%. The map was an array
of enum, which is int, which is four bytes per item, and the allowable
values per item were 0, 1, 2. For which a char is enough. Well, 2 bits
is enough, but that's too much fiddling for now.
* Before I noticed the preceding, I implemented a frugal way of handling
the map, using a tiled paint device. That cannot run out of memory thanks
to the swapper. So if, if, if the allocation of the map of quint8 fails
due to bad_alloc, fall back to this frugal implementation.
Other
Games
Refactor parts of Palapeli::Scene into GamePlay: first working version.
Methods relating to the puzzle table as a whole have been moved from
Palapeli::Scene into Palapeli::GamePlay, including puzzle loading and
shuffling, puzzle saving and restoring, victory animation and progress
reporting. This is to provide a simpler, more generic Palapeli::Scene
class that can be used in multiple scenes, i.e. the original puzzle
table and any number of piece-holders for use in solving large puzzles.
The main methods remaining in Palapeli::Scene are adding and removing
pieces, moving pieces, merging (or joining) pieces and signalling
changes in the state of the puzzle and its pieces.
Other
Refacture context handling.
This commit contains a complete rewrite of the context handling stuff in QmlWeb.
Now the context is a handles as a stack of all component contexts above, to
reflect how QML actually works.
Moreover now the root QML Item won't be a child of the DOM-node the user gives,
but it will take that node as its DOM-node, reducing the number of DOM-nodes
used. Also now the root element won't be able to use "anchors.centerIn: parent"
anymore, as it does not have a parent anymore (it doesn't have one in Qt as
well). Instead now the implicitWidth and implicitHeight of the root element is
set to reflect the size of the root DOM-node resp. the window size.
This commit brings in a bug with e.g. states in conjunction with components.
Look for the next commit for a fix.