Issue 316
1st December 2013 by KDE Commit-Digest TeamContributors
Alex Fikl
Giacomo Barazzetti
Danny Allen
This Week...
Statistics
Commits | 2046 by 157 developers |
Open Bugs | 21171 |
Open Wishes | 15899 |
Bugs Opened | 244 in the last 7 days |
Bugs Closed | 316 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/l10n-kde4 |
195
|
/branches/stable |
106
|
/trunk/l10n-support |
56
|
/plasma/generic |
16
|
/generic/applets |
15
|
/src/lib |
15
|
/trunk/www |
13
|
/libs/ksysguard |
12
|
/src/declarativeimports |
10
|
/plugins/knotes2 |
9
|
Files | Developer | Commits |
351
|
Laurent Montel |
133
|
234
|
Nico Kruber |
82
|
243
|
Martin Gräßlin |
81
|
171
|
Boudewijn Rempt |
57
|
123
|
Albert Astals Cid |
54
|
147
|
Gilles Caulier |
50
|
138
|
Yuri Chornoivan |
46
|
132
|
Ralf Habacker |
44
|
105
|
David Faure |
35
|
93
|
Sebastian Kügler |
31
|
Internationalization (i18n) Status
Language | Percentage Complete |
French (fr) |
98%
|
German (de) |
98%
|
Dutch (nl) |
97%
|
Italian (it) |
94%
|
Estonian (et) |
93%
|
Galician (gl) |
92%
|
Danish (da) |
89%
|
Hungarian (hu) |
88%
|
Catalan (ca) |
86%
|
Greek (el) |
83%
|
Bug Killers
Person | Bugs Closed |
Gilles Caulier |
80
|
Christoph Feck |
45
|
Jekyll Wu |
31
|
Andrea Iacovitti |
26
|
Dmitry Kazakov |
12
|
Milian Wolff |
11
|
Myriam Schweingruber |
10
|
Lamarque Souza |
9
|
Michal Humpula |
9
|
Albert Astals Cid |
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 75 selections this week
Bug Fixes
Development Tools
Fix broken python import when using multi line comments.
Searching for comment end tag should start *after* comment start tag,
otherwise the comment start tag will be interpreted as comment end tag too.
FIXED-IN:4.11.4
(cherry picked from commit f8777927eb3db9d3718f597335250b5057650184)
Fix crash importing python file with more than 32 classes.
FIXED-IN:4.11.4
(cherry picked from commit 098d0b47014506cceb96523ad0468d22ce47c7ad)
Fix bugs in option application to module-set modules.
Handling options for the modules generated from a module-set has always been
especially clunky, and at some point even the hacks failed and it became
impossible to do things like setting an option for a specific module picked out
of a larger module-set.
E.g. the idea was always that the following would work:
module-set foo
repository kde-projects
use-modules kdelibs kde-workspace kde-runtime
cmake-options -DCMAKE_BUILD_TYPE=Release
end module-set
# Override the above, but only for kde-runtime
module kde-runtime
cmake-options -DCMAKE_BUILD_TYPE=Debug
end module
Probably I should have named "module" as "options" or even "override" (and
that's still feasible), but in any event this has been broken for awhile:
whenever kde-runtime is built it would end up with a Release build type instead
of a Debug one.
Worse yet, the second mention of kde-runtime was handled as a separate module.
Usually this duplicate module was weeded out by accident during the dependency
resolution phase, but that leaves open the question of which internal Module
object was the "winner"... now we can't even rely on the option handling being
predictably broken.
This was partially helped by c565d4c which at least prevents the code from
spitting out duplicate modules from within a given module-set (which is quite
easy to do by accident with kdelibs).
This commit reorganizes the command line and option reading code to do the
following:
- Add a "pending option" tracker, to hold option values that should be applied
to a named module, if one happens to be created, either via explicit
module-set expansion (e.g. if you ask for nepomuk-core or nepomuk-widgets) or
via implicit expansion (e.g. if you ask for kdemultimedia, you get juk and a
lot of others).
- Add a "selector" method which is responsible for translating module entries
on the command line into appropriate module-set or module selections from the
Modules and ModuleSets read in from the rc-file.
- Pass a subroutine to the module-set expansion method and the selector method
to ensure that any new Modules created as a part of either process are checked
for pending options (either from the rc-file due to the "override" module
method, or from the command line.
- While I was digging it out I made the long-overdue switch to Getopt::Long
away from my custom option parser. There are a couple of minor features lost in
this process but if they are needed I can add them back.
Now it should be possible to override options for individual modules within a
module-set. However as before, the module you wish to override *must* have been
mentioned somewhere before in a use-modules entry so that kdesrc-build can
recognize that it must hold onto those option values for later application. It
is still safe to mention a kde-projects module and its superset, they will be
re-ordered if necessary.
FIXED-IN:1.16
Fix bug not importing python classes without methods or members.
FIXED-IN:4.11.4
(cherry picked from commit 779a898aa79a9bac3de1b2cbb7f5a1cfa48bc45e)
Fix warning if __new__ argument is called cls, not self
This patch fixes a warning on __new__ method argument complaining about
the usage of self instead of cls.
REVIEW:114084
GCI-TASK:5883312908271616
Fix import of python import with multi line comments after declarations.
FIXED-IN:4.11.4
(cherry picked from commit e394b5a668be5e21bd38f06c1d313c0615e4900f)
KDE Base
vi-mode: fix computation of zz cmd when folding
REVIEW: 114224
vi-mode: make Finnish keyboard work properly
This commit is potentionally breaking non-latin keyboards
behaviour. On the other hand tests for it are not present
and manual confirmation in vim/gvim also failed.
REVIEW: 114212
vi-mode: fix yanking in visual block mode
REVIEW: 114220
vi-mode: fix normal mode "s" command repeat
make "4sfoo\\esc" work as expected
REVIEW: 114205
vi-mode: return to correct mode from visual mode
adds KateViInputModeManager::getPreviousViMode() solve the issue
REVIEW: 114215
remove false noop breaking branches
FIXED-IN: 4.11.4
KDirWatch: fix stop+restart scan for all backends
* The docs says no signal will be emitted, so disable the code that
was remembering the events in a list of "pending" events.
* Fix behavior difference between inotify and other backends, which would
even emit "created" when restarting the watching (completely wrong!)
* Adjust code that would trust QFSW rather than compare mtimes: clearly
it was written as a workaround for Windows ("adding files to directories
doesn't change the mtime on Windows"), so on Unix keep the mtime comparison
to avoid spurious signals when restarting the watching. The OS-dependent
behavior isn't great though.
So even though this makes KDirWatch behave more as documented
(no signal while watching is stopped), it still emits signals when
watching is restarted, on Windows. Could be fixed for individual files,
though, at least.
Do not encode QString to QByteArray and cast it back to QString
This causes problem when there are Unicode characters in ${HOME}
REVIEW: 114219
FIXED-IN: 4.11.5
vi-mode: fix unfunctional Del key
regression on KDE/4.12 branch
REVIEW: 114210
fix crash in KZip on overwriting existing entries (+ unit test)
REVIEW: 114048
thanks Albert for review
KDE-PIM
Don't bother IMAP servers with not supported flags - part II
Added a Akonadi collection as parameter to ResourceTask::fromAkonadiToSupportedImapFlags()
to make sure that the method has always a collection to work with. Therefore the method
can also be static.
E.g. "forward" at least doesn't result in an error anymore.
REVIEW:114108
Fixes: Kmail Crashes when errors occure while sending mails
When a subjob fails just emitResult right after it ent exit the
function.
FIXED-IN: 4.11.5
REVIEW: 114081
Fix regression in SQL query in ItemRetriever introduced in parttable-optimization
The query relies on LEFT JOIN returning NULL values in case item does not have
the requested part stored in Akonadi. We were however using LEFT JOIN...INNER
JOIN to join in PartTypeTable and we also had the condition to match part types
placed in WHERE instead of the JOIN, so if an item did not have the part stored
in Akonadi, it was filtered out from the results, exact oposite of what this
query is supposed to do.
This was revealed by GID migration unit-test in kdepim-runtime which started
failing after the parttable-optimization branch was merged to Akonadi.
Office
fix typesetting for newer sage versions
Since version 4.12 sage doesn't support the command sage.misc.latex.pretty_print_default anymore.
Instead we use the %display ipython magic. In order to keep the code clean the
specific commands have moved to a dedicated python function "__cantor_enable_typesetting(enable)"
that gets declared on init and called by the backend when needed.
This patch also introduces a finer handling of version numbers instead of just having a simple
"legacy mode".
Tested with Sage versions 5.10 (old commands) and 5.12 (new command)
FIXED-IN: 4.12
(cherry picked from commit c3626842a34bd324d271a54b05076840cbd6e616)
Rework modify selection dialogs.
Add all supported units by KoUnit to border, feather, grow and shrink
selection dialogs.
Fix the layout of the dialogs.
Thanks to Boudewijn Rempt for review.
Thanks to Sven Langkamp for his help.
REVIEW: 114102
Fix the subpixel precision offset problem in Color Smudge Paint Op
This patch does two changes:
1) We save not the theoretical hotspot of the lastly painted dab, but
the real center of the dab.
2) Disables the calculation of the subpixel precision values for the dab
in Color Smudge Op. The point is, the Color Smudge Op needs to access
other areas of the image. And this access can be aligned only (yeah,
since non-aligned bitBlt is not possible). So using of subpixel
precision will 1) break alignment; 2) will make the calculation of the
real hotspot of the dab impossible.
Fixed bugs in transitive reincarnation of the Clone Layers
This patch fixes two problems:
1) The Duplicate of a Group Layer will reset links inside internal
Clone Layers properly.
2) The removal of a group layer will reincarnate all the clone layers
which were connected to the descendants of that layer.
Fix Transorm Worker to shrink device bounds when doing scale-down
When doing a scale-down a great portion of the image becomes filled
with the default pixel. If the default pixel of a paint device is not
fully transparent, then the exactBounds() will not shrink automatically.
That is why we need to purge() all the default tiles of the paint device
here.
Note: the Crop visitor needs *not* the same stuff, since
KisPaintDevice::crop() calls KisDataManager::setExtent() which
explicitly drops all the tiles outside of the requested area.
Special thanks to Boud, who has found the real cause of the bug!
Multimedia
collectionscanner: don't store dirs in shared memory, prevent size issues
We used to store all directories to scan in the shared memory, which
can exceed the 1M we reserve for it. Refactor the resume-on-crash
algorithm in order not to need this.
Thanks to Evert Vorster for noticing the problem and testing this patch.
FIXED-IN: 2.9
Games
always return a valid move to avoid the game freeze
When Controller::finalizeShot receives an Illegal move, it just does
not know what to do next, and the game freeze.
This patch implements the last option to return a valid move, searching
for a free cell one by one, therefore it becomes impossible to return
an Illegal move because or the computer wins or the opponen wins before
the board is empty of free cells.
Another solution for dummyAI could be to implement a list of
free cells and choose on them randomly.
FIXED-IN: KDE/4.12
REVIEW: 113854
Features
Development Tools
advanced features for string formatting completion
REVIEW:114157
GCI-TASK:5867490248753152
Rainbow color-highlighting for top-level variables
Enable rainbow-color highlighting for top-level variables if there are
no class or function declarations.
Currently it's also disabled if there are imports, although more by
accident than intentionally.
REVIEW:114138
GCI-TASK:5846685427171328
optimize: avoid memory allocations in endsInside(...)
It's a few times faster like this.
Educational
Road grade options for MapQuest routing
GCI task #5853014195699712
REVIEW: 114058
Preliminary support for autguide subframing
Graphics
Extend AudioPlayer so that it gives info about if something is playing at the moment or not
Reviewed by Jaydeep Solanki
REVIEW: 114019
Add new metadata tags filter option button with drop-down menu.
Add new option to not filter tags.
Rename "Full" tags filter as "Photograph"
Move tags search text field on top of metadata list view to optimize space visible on list-view
Add new metadata tags tools option button with drop-down menu to group all tools action and simplify GUI.
FIXED-IN: 4.0.0
KDE Base
vi-mode: keep visual cmds in history for repeat
Make the "Vj>." and familiar just work.
REVIEW: 114143
Added command g~~ in vimode
g~~ toggles the case of a line.
Also added automated tests for this command
REVIEW: 114136
New mediacontroller plasmoid
Very basic plasmoid that uses the mpris2 engine to play/pause the
running track.
Improve locale time formatting in Digital Clock applet
Qt's QLocale does not offer any modular time creating like Klocale did,
eg. no "gimme time with seconds" or "gimme time without seconds and with
timezone".
QLocale supports only two formats - Long and Short. Long is unusable in
many situations and Short does not provide seconds. So if seconds are
enabled, we need to add it manually to the Short format that QLocale
provides us.
That's done by JS regexp replace that looks for the delimiter between
"h" and "m", takes it and appends it after "mm" and then appends "ss"
for the seconds. Also it checks if the format string already does not
contain the seconds part.
Reviewed-by: Sebastian Kügler
Make the calendar applet follow current locale with first day in week
Also rename startDay property to firstDayOfWeek property so it's more
clear what it does. Handling the first day of week is changed a bit too
as QML uses 0 for Sunday while QDate uses 7 for Sunday, so the
getter/setter is accomodated to that fact and converts from 0 to 7 on
setting and vice-versa in the getter.
REVIEW: 114099
vi-mode: add "ZZ" and "ZQ" normal mode commands
REVIEW: 114207
Implement simple version checker for python plugin's dependencies.
PEP396 declare that module should have a `__version__' attribute
with 3-tuple of integers. Also, some bad modules have it as a string,
which is also handled.
X-Python-Dependencies now may have a version in a parenthesis possible
w/ leading version compare operator ('=' is omitted). The others are:
<, >, !=, <=, >=. Desktop files are fixed for the new style.
Make KLimitedIODevice::bytesAvailable return the numbers of bytesAvaliable to read
At the moment KLimitedIODevice::bytesAvailable is returning at least the size of the file, so QIODevice::atEnd never returns true because it thinks there are more bytes to read. This makes that if you feed an "invalid" svg like "<?xml version="1.0"?>" to the QImageReader it infinite loops believing there will be more stuff to read but then read() always returns 0 but then bytesAvailable says there are more and it stays there forever.
FIXED-IN: 4.11.5
REVIEW: 114226
KDE-PIM
Contact: Implemented files transfer by appropriate button.
Added KIO dependency.
REVIEW: 114196
Add merge contact widget
Start to implement new editor (editor with autocorrection)
KTp/Contact: Implemented stream and dbus tubeServicesCapability.
Fixed ContactTubesRole in Models/ContactsListModel::data().
REVIEW: 114109
SQLite: Handle joins in UPDATE queries
Since SQLite does not directly support JOIN expression in UPDATE or UPDATE on
multiple tables at once, we have to convert the JOIN into a subquery in WHERE
condition.
The conversion is far from perfect, but it passes the unit-tests based on the
query that does this (I think there's only one such query in Akonadi that does
this, see FetchHelper::updateItemAccessTime())
This fixes updating atime on items from virtual collections when using SQLite
backend.
FIXED-IN: 1.11
Sender address is editable.
Free form editing of the FromAddress is possible, and saving/loading drafts
with a custom FromAddress works.
A huge thanks to Stephan Platz (paalsteek) for his patch. This commit is built
upon that very patch.
Start to implement upload file on dropbox
Contact: Implemented files transfer by drag'n'drop.
REVIEW: 114132
Office
Show tax group depending on price visibility
Multimedia
Implement VideoSourceControl, AudioSourceControl
- first attempt
- builds
- not implemented in backends yet
Add support for reading lyrics from tags.
REVIEW: 113389
Networking Tools
Added option for global zoom settings :)
Add plugin for haze/sipe protocol support
REVIEWED-BY: David Edmundson
User Interface
tint default button
Added Qt::Sheet to the list of windows to tag as transparent.
Optimization
KDE Base
Calculate the intersection only once
The intersection of rects are calculated twice without need.
The function QRectF::intersected() calculate and returns the intersection.
If there are no interesection, the returned QRectF is empty.
If the intersected QRectF is equal to QRectF argument, it contains the QRectF argument.
Reviewed in: https://git.reviewboard.kde.org/r/114036/
KDE-PIM
IMAP: do not overwrite flags with data from cache
There is no point in doing this and wasting CPU resources for something which is
already updated elsewhere. The flags are always maintained by the mailbox
synchronization; this code is just useless.
tree: preallocate memory for all TreeItemMessage instances during the mailbox sync
There is no measurable performance change on my test setup, which is expected --
the amortized cost of reallocating is still O(1) per element, i.e. O(n) for the
mailbox as a whole, and pointer copying is dwarfed by the overhead of dynamic
allocation of the actual nodes and other useful work, but it's still good style
to preallocate what is known to be needed in future.
Thanks to Thomas Lübking for suggesting this.
REVIEW: 114124
Office
Add a numerical input field to the compression slider
Also update the tooltip and make the layout a bit tighter.
D +- -- krita/plugins/formats/jpeg/bla.jpg
Utilities
Correctly catch offscreen panels when building the exclude list for workArea().
Other
Educational
It doesn't seem to be very likely that Nokia releases a phone with Qt5 ;)
We can always resurrect it from KDE4 if some platform stills keeps using
Qt Components instead of the QtControls with Qt5.
Add capitals to Turkmenistan regions that have them different from the name of the region
Thanks to MinSik CHO and the Google Code In program
First approach to QtControls backend for kalgebramobile
Graphics
Make thumbnail cache readable by all users.
This makes sharing a kphotoalbum database actually possible.
to be more generic, use "item" instead "image" on text filter options
KDE Base
[powerdevil] port XRandRX11Helper to XCB
Basically write a new helper using QAbstractNativeEventFilter which
means having to use xcb.
I haven't been able to test this since my workstation doesn't have a
backlight atom, will test and polish later.
detect removable devices more reliably with udisks2 backend
[processui] Disable KAuth code
Unfortunately someone forgot to update the KAuth documentation or provide
porting notes. Which just makes it impossible to guess how the API could
work.
Make statusnotifieritems mostly work
- scroll events work (so volume control via kmix works)
- activation and deactivation works (toggling window)
- rmb triggers attached menues, but position is not yet mapped
Progress. =)
[ksysguard] Adjust CMakeLists.txt to build KSysguard
And with that KSysguard is back, but the FancyPlotter looks a little
bit broken...
Welcome back klipper
Office
- Unwanted fields show in ledger for investment - reinstate Interest category for Sell activities.
Remove unused widgets from jpeg export dialog
The preview checkbox was already hidden, and I'd never even noticed
the grayed out 100KB label -- but that was also never implemented.
At this moment, I don't see it getting implemented either, so remove
these widgets altogether.
User Interface
Shuffle the code around a bit
These methods are in the middle of other together-related methods, for
no reason. Looks like corn flakes in the middle of beer. Sure, you can
do that, but why would you. Actually I should try that.