Issue 300
11th August 2013 by KDE Commit-Digest TeamContributors
Alex Fikl
Giacomo Barazzetti
This Week...
Statistics
Commits | 1911 by 154 developers |
Open Bugs | 21108 |
Open Wishes | 15926 |
Bugs Opened | 202 in the last 7 days |
Bugs Closed | 187 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/l10n-kde4 |
162
|
/branches/stable |
139
|
/trunk/l10n-support |
70
|
/ksieveui/autocreatescripts |
24
|
/generic/dataengines |
21
|
/plasma/generic |
19
|
/part/syntax |
15
|
/trunk/www |
13
|
/KTp/Logger |
13
|
/krita/ui |
11
|
Files | Developer | Commits |
366
|
Laurent Montel |
134
|
249
|
Sebastian Kügler |
84
|
192
|
Dan Vratil |
64
|
150
|
Marco Martin |
53
|
141
|
Burkhard Lück |
47
|
108
|
Ingo Malchow |
42
|
111
|
Boudewijn Rempt |
41
|
120
|
Milian Wolff |
40
|
102
|
Gilles Caulier |
38
|
108
|
Sayak Banerjee |
37
|
Internationalization (i18n) Status
Language | Percentage Complete |
Ukrainian (uk) |
100%
|
Swedish (sv) |
99%
|
Portuguese (pt) |
99%
|
French (fr) |
98%
|
Polish (pl) |
97%
|
Dutch (nl) |
97%
|
Spanish (es) |
97%
|
German (de) |
96%
|
Estonian (et) |
95%
|
Italian (it) |
92%
|
Bug Killers
Person | Bugs Closed |
Christoph Feck |
23
|
Jekyll Wu |
21
|
Dominik Haumann |
15
|
Thomas Lübking |
14
|
Ralf Habacker |
8
|
Dmitry Kazakov |
6
|
Laurent Montel |
6
|
Myriam Schweingruber |
6
|
Milian Wolff |
6
|
Thomas Pfeiffer |
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 69 selections this week
Bug Fixes
Development Tools
Don't crash when the pattern only consists of forward slashes.
In such cases, the exploded pattern will be empty as we skip
empty parts and split on '/'.
Unalias type after delayed type resolution befor baseClass import.
This fixes a bug where semantic analsis failed for typedefed template
arguments in base classes.
Educational
make RoutingWidget resizable within the QScrollArea
* fixes routing dialog getting unreadable with many way points
make RoutingWidget resizable within the QScrollArea
* fixes routing dialog getting unreadable with many way points
(cherry picked from commit aa76f5682521b6d0d0a80bdd4c378108a8f5a6da)
Allow standard keypress events in the tables in the Observation Planner
The table showing objects in the observation planner had the
keypresses eaten by the observation planner class. While only the
"delete" key event was actually handled, this meant that the standard
keybindings for navigation did not work. Most notably, the arrow keys
for navigation would not work, which made browsing through objects
rather difficult.
This fixes it by absorbing only the delete key event.
Furthermore, it seems like the event filter may not be necessary. Any
possible reasons for preferring it over regular signal-slot
connections must be investigated and the former replaced with the
latter if no reasons exist.
BUG
fix sky rotation
The plugin would only rotate the sky after the map had covered the whole screen.
make RoutingWidget resizable within the QScrollArea
* fixes routing dialog getting unreadable with many way points
FIXED-IN: 4.11.1
(cherry picked from commit aa76f5682521b6d0d0a80bdd4c378108a8f5a6da)
Provide more predictable and useful default naming for plots
Graphics
Fix fictionbook loading
Prefer the backends that declare explicit support for a mime over the ones that get the support by inheritance
In the fictionbook case it was happening that application/x-fictionbook+xml inherits text plain
so when we ask for the fictionbook backend, we get both
the one that says
MimeType=application/x-fictionbook+xml;
and the one that says
MimeType=text/plain;
and then it happens that the second has bigger X-KDE-Priority
By prefering the ones that explicitely declare support for a mime we "fix" this
OTOH we may want to explore showing the backend selector if there's more than one by default
FIXED-IN: 4.11.0
Don't keep track of middle mouse press in a variable
This fixes the rendering problem in 321212. Why? Because what was happening is that for some reason the middle mouse press to gets to the PageView but not the release, this meant that the PageView got stuck into mouseMidZooming mode and all sort of bad things happened. Now since we don't cache if the mid mouse button is pressed (we just query it when needed) everything is better.
Ideally i'd like to know why we get the press and not the release, but not sure that's feasible to "fix".
REVIEW: 111901
FIXED-IN: 4.11.0
Fix OpenCV version to use for Faces Recognition
KDE Base
A rather bigger commit than I would have liked :/
Anyway:
a) Tighten up textObjectAWord considerably, and make it behave more like Vim's, including all of Vim's rather weird corner bases that I can uncover. In the process of doing this, I fell foul of some ambiguities in e.g. findPrevWordEnd etc, and so:
b) Have findPrevWordEnd etc return an invalid cursor if they can't find what we're asking them for. This reduces some ambiguities, such as: if findPrevWordEnd returns Cursor(0, 0), does it mean that the previous word is a single character at the beginning of the document, or that there is no previous word at all? Updated all call sites, and added regression tests for each one.
c) Added textObjectAWORD and textObjectInnerWORD. The latter is not as obsessively Vim-ish as the former.
d) Fix some debug info with the "run command with motion" stuff which printed out an incorrect range.
e) Made the special-casing of "w" and "W" inside the "run command with motion" part more specific: we're looking for *precisely* the "w" and "W" motions, not just a motion which ends in "w" or "W" (which includes the new "aw" and "aW").
There's some duplication between textObjectAWORD and textObjectAWord which I hope to remove.
Fix possible out of range error inKItemListSizeHintResolver::itemsMoved
The function assumes implicitly that the moved range always starts with
the index 0. This is indeed the case at the moment, but it might make
sense to change that in the future. This commit prevents that we get an
out of range problem then.
Thanks to Emmanuel Pescosta for finding this problem, see
https://git.reviewboard.kde.org/r/111808/
Fix unintended runtime dependency introduced when fixing #134960.
REVIEW: 111776
Turn KImageCache into a mixin for KSharedDataCache
Explanations needed on that one. :-)
We want KImageCache in KGuiAddons, but we can't depend on KCoreAddons
from there. Unfortunately KSharedDataCache (base class of KImageCache)
is in KCoreAddons.
We escape that unfortunate situation thanks to several moves:
* factor out the local cache code in its own class;
* introduce a template mixin class which inherits from the local cache
class and introduce all the KSharedDataCache dependent code, this
dependency will be resolved at compile time in the client code
(remember it's a mixin);
* to make it nicer to use have KImageCache as a #define of the mixin
instanciated for KSharedDataCache
Pass the size of the bitmask and return before overflowing it
Apparently some times KEY will be bigger than NBITS(KEY_MAX) for
example when removing my Dash Keyboard (only when removing). So to
be safe (better than sorry) let's check max_size before filling info.
Fixes crash in 4.11 with some input devices with keys (keyboards).
Better activation check in KillWindow
If the grab keyboard fails we better do not activate the window killer
otherwise we are in an inconsistent state.
REVIEW: 111903
Fix problem with advanced openvpn settings not being saved.
Ensure MimeType's XML Data is Loaded before Returning Properties
Comment information is found in the XML data so needs to be loaded
before returning property values. The same would apply for the Patterns
property if you were to query that from the property name instead of the
KMimeType::patterns() method.
FIXED-IN: 4.11
REVIEW: 111852
Make KFileItem a Q_MOVABLE_TYPE
This greatly reduces the memory used by KFileItemList because it
prevents QList from allocating memory for every element separately.
This change cannot be made in KDE 4.x because it is binary incompatible.
REVIEW: 111789
unselect tag before deleting
KLinkItemSelectionModel: Synchronize currentIndex
In addition to synchronizing selection, also synchronize the current
index.
This fixes a bug in Gwenview where image operations are not applied to
the correct images when multiple images are selected.
FIXED-IN: 4.11.1
REVIEW: 111953
fix crash in KateHlManager::identifierForName
Thanks to Gerald for lots of testing + valgrind trace :)
Thanks to Dima Ryazanov for the patch!
FIXED-IN: 4.11.1
fix for Lilypond syntax highlighting
Lilypond syntax highlighting: 'q' (chord shortcut) is not recognized as note
Thanks to Wilbert for the patch!
FIXED-IN: 4.11.1
Hotfix GL crossfading
Not correct crossfading
Purpose of the hotfix is to manipulate opacities of the "semi-crossfaded™"
pixmaps so that on a quick animation and sloppy check it looks somehow
believable (instead of bumping the window to full opacity)
REVIEW: 111888
Make the setData() accessor take a QVariant as payload.
The implementation now specifically tries to support byte arrays
being passed in, which is what the base class speaks. To try and
retain the previous behavior anything else is attempted to be
converted to a string and failing that, silently dropped.
REVIEW:111748
Replacement for XEvent queue inspection in FocusOut event case
Instead of inspecting the XEvent queue we create a Timer with a
singleshot of 0 msec to move the setActive(false) call to the end of the
event handling. In case there is a matching FocusIn event this will be
handled before the timer fired and can cancel the timer.
KDE-PIM
Don't call Akonadi via DBus when the server is not running
When Akonadi server is not running, configuring the Monitor filter
via DBus will crash, because NotificationManager is not yet ready.
Wait for server to reach the 'Running' state, then connect to the
NotificationManager and subscribe to notifications.
Fix incidences being duplicated when importing a calendar.
The ETMCalendar already detects new items, so don't insert them
when the ItemCreateJob finishes.
Fix Bug 323272 - Querying a Microsoft Exchange's Active Directory via LDAP is extremely slow
FIXED-IN: 4.11.1
Fix notification filter
The logic was broken, as it never took in account sources that were
listening only to specific collections and had no other criteria set.
Office
Fix that spellchecking was being drawn when print and elsewhere where it shouldn't be
- Allow carriage return as line terminator.
Fixed subpixel precision bug when the canvas or a dab is mirrored
When the dab is mirrored, the subpixel offset should be inverted.
Networking Tools
Fixed timelines of user lists
User lists are now fully working again.
REVIEW: 111855
add "Application" type to .desktop, not "bookmark"
makes adding apps to activity to current activity work correctly
Features
Development Tools
Show declarations of parent contexts in code completion.
Most notably, always show the class declarations, which is what
we use for UiObjectDefinitions. They are always accessible via their
id globally, show that as well.
Educational
Adds overlay rendering support
Make it possible to remove plots
Changes the "clear" button in the FunctionEdit for a "remove" button.
Graphics
Maintenance Tool : Add Multi-core support for Metadata Synchronizer tool.
Now, metadata synchronization between database and files (and vis-versa) is multi-threaded and use multi-core CPU.
This do not freeze GUI as previous in previous versions and speed to process files is drasticaly increased.
CC
insert GPS data into the EXIF DB
KDE Base
support fps counter text on xrender
FIXED-IN: 4.11
REVIEW: 111878
Backup Statement Generator: statements without a datatype can be valid
In Nepomuk the nao:description is stored as an rdfs literal, which means
it doesn't have a datatype, but is supposed to have a language tag.
Since we don't store the language tag, it is just stored as a string.
This used to be considered invalid by the statement generator and
therefore the nao:description (dolphin comments) was never backed up
even though it was requested.
Also added unit test
REVIEW: 111947
Interactive sed replace when the 'c' flag is used - works only when a) in Vim mode and b) when also using the emulated command bar.
This removes sedMagic from SedReplace and replaces it with InteractiveSedReplacer, which is based on my recently re-worked sedMagic but with a few bug-fixes (e.g. it fixes a bug where replacing text that originally contained newlines would not shift up the last line in the range, leading it to make replacement *beyond* the desired range) and also re-worked to be made, as the name suggests, interactive. This could quite easily be used to implement interactive sed replaces in non-Vim mode.
DIGEST
desktoptojson executable
A small program which takes a .desktop file and writes out a .json file
from it, to be compiled into plugins using the Q_PLUGIN_METADATA or
K_PLUGIN_FACTORY_WITH_JSON macros.
REVIEW:111689
Adjust the ThumbnailItems to QtQuick2
AbstractThumbnailItem inherits from QQuickPaintedItem using QPainter to
do the fallback painting of icons.
The scene is adjusted to get the information from QQuickItem instead of
QDeclarativeItem. Clipping got a little bit more complex as the clip
path does not exist any more. To get it right the ThumbnailItem needs to
specify the parent it wants to be clipped to with the clipTo property.
E.g.:
clipTo: listView
The scene uses this clipTo parent item to correctly calculate the clip
region. Also the ThumbnailItem needs to have clipping enabled.
Note: this commit currently breaks TabBox as the qml and view are not
yet adjusted. In scripting the export of the item is disabled, but any
qml script using a ThumbnailItem would obviously also fail.
KDE-PIM
new agent for 4.12
Activate grantlee theme support in kaddressbook. Rename some function in grantleethememamanger
NepomukFeeder IndexScheduler: Report accurate percentage for items being removed
Item removal seems to be a lot more CPU intensive than email indexing
because of all the optimizations. The user should therefore be given a %
that they can keep track of. Without this patch it just shows 0% or
100%.
REVIEW: 111929
Start to implement contact theme editor (Grantlee theme based)
Office
Add api for writing ODF that is generated from the ODF RNG file.
Two years ago I wrote an initial version of this patch and a detailed discussion on the mailing list [1] followed. The main objections to the patch have been dealt with (see below).
Most of this new version was written at Akademy in Bilbao.
Very short summary of the patch:
This patch should help everybody, young and old, with coding C++ for writing ODF and make errors easier to catch.
The OpenDocument Format specification is published with a Relax NG file that specifies the XML format. This file can be used to check if ODF files are valid. It can also be used to generate a C++ API headers. This is what this patch does.
Example:
Instead of writing:
==
xmlWriter->startElement("text:p");
xmlWriter->addAttribute("text:style-name", "italic");
xmlWriter->startElement("text:p");
xmlWriter->addAttribute("text:style-name", "bold");
xmlWriter->addTextNode("Hello World!");
xmlWriter->endElement();
xmlWriter->endElement();
==
you can write:
==
text_p p(xmlWriter);
p.set_text_style_name("italic");
text_span span(p.add_text_span());
span.set_text_style_name("italic");
span.addTextNode("Hello World!");
==
Some advantages:
- autocompletion when coding: faster coding
- tag and attribute names are not strings but class and function names: less errors
- nesting is checked by the compiler
- you write to elements (span, p), not xmlwriter: easier to read
- required attributes are part of the element constructor
Implementation considerations:
- Calligra is large, so the generated code mixes well with the use of KoXmlWriter and porting can be done in small steps.
- class and function names are similar to the xml tags with ':' and '-' replaced by '_'.
- stack based: no heap allocations
- only header files: all code will inline and have low impact on runtime
- modular: one header file per namespace to reduce compile overhead
- code generator is Qt code, part of Calligra and runs as a build step
Not in this patch (and places where you can help in the future):
- generate enumerations based on Relax NG
- check data type for attributes (you can still write "hello" to an integer attribute)
- complete port of Calligra to the generated code
- improved speed by using static QString instead of const char*
Provided solutions to previously raised issues:
- modular headers to reduce compile overhead
- function "end()" to optionally close an element before it goes out of scope
- use structure of Relax NG file to reduce header sizes by inheritance from common groups
- provide most KoXmlWriter functionality safely through the element instances
- closing elements is now automatic at a slight runtime overhead
Dynamic keyword improves: now, imports using 'import modulename', 'import modulename as mn', 'from modulename import *', and 'from modulename import functionname1, functionname2, ...' are supported
Make adding a word to dictionary at least remove the red line of the word
Other occurences of red lines will not be removed.
Have to figure out how to do that, as we may have more than one document
Multimedia
Use higher bitrate Ogg Vorbis instead of Mp3 for Jamendo.
Mp3 is offered in higher quality by Jamendo, and it can be played
by all gadgets without transcoding, so it's the better choice.
Jamendo service: Use direct file download instead of BitTorrent.
When pressing the "Download" button in the Jamendo service, Amarok
would download a torrent file via deprecated API and then try to open
a torrent client for downloading the album. This was brittle and barely
ever worked as there are rarely any seeders and peers.
Now the download function uses the exact same code as the "Copy to
Collection" function, including the option to transcode on-the-fly.
DIGEST: Amarok now supports direct download of Jamendo albums instead
of downloading via BitTorrent. The download is now far more reliable, and
on-the-fly transcoding to other formats is possible.
GridView scroll using mouse wheel
REVIEW: 111984
REVIEW: 111864
Show list of all music as default in All Music mode
Thumbnails of High resolution pictures can also be viewed.
REVIEW: 111863
Networking Tools
accounts-kcm gui code for steam plugin of libpurple
Gui code for accounts-kcm that gives the steam-mobile plugin of libpurple a native/shiny look. I Didn't include the https tickbox because it seems to not function.
REVIEW: 111727
Initial implementation of WinLogger plugin
WinLogger is (will be :P) our own extremely simple logger for Windows.
Building TelepathyLoggerQt on Windows is pain, so it will be much easier
for the Win guys to just use this.
Change Qt WebKit HTML5 default settings
Enable HTML5 features support by default because we are having some
bug reports about sites NOT working fixed just by enabling these.
These features are probably not mature enough, but they seems stable
enough to enable them :)
Optimization
Development Tools
Optimize code completion for many items of potential match quality.
The match quality is not queried just once, but multiple times.
Thus it is quite noticeable when we cache that value after first read.
We do the same for the match types of the CodeCompletionContext
and further cleanup getMatchQuality(), esp. to reuse the same
TypeConversion for the given loop.
The biggest impact is in constructor calls, esp. of e.g. QString.
KDE Base
Make KFileItemModelTest faster
The 500 ms timeout before items are resorted does not make much sense in
the unit test. Removing this delay makes the test run much faster.
KDE-PIM
Replace qwebpage by a qjson parser (code based on runner/translator). Speed++
NepomukFeeder: Add a delay when deleting emails
Otherwise it results in very high cpu usage. One doesn't want that.
Multimedia
When playing a music file, save the album cover (if any) to pmc image cache.
Use this cache when listing albums in metadata music backend
Other
Educational
factor out dedicated executable "marble-mobile" for mobile devices
Having a dedicated executable for mobile devices should ease maintainance for various reasons:
1) handling the smallscreen flag correctly is rather fragile and has lead to regressions in the past
2) allows for deeper integration into the system w/o "smart" code (determining network state, screensaver handling, hardware zoom buttons, etc.)
marble-qt looses the --smallscreen and --nosmallscreen commandline switches.
REVIEW: 112242
Created a csv library to read/write data (with decoding/encoding) to csv files
TODO: read and decode methods
Implemented dump of database to csv file
KDE Base
Update Haskell
This patch improves highlighting of import directives and adds
support for C->HS preprocessor directives. Currently C->HS stuff
messed up all highlighting.
Thanks for the patch.