Issue 297
21st July 2013 by KDE Commit-Digest TeamContributors
Jos Poortvliet
Alex Fikl
This Week...
Statistics
Commits | 2107 by 159 developers |
Open Bugs | 21015 |
Open Wishes | 15892 |
Bugs Opened | 257 in the last 7 days |
Bugs Closed | 318 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/l10n-kde4 |
142
|
/branches/stable |
97
|
/trunk/l10n-support |
61
|
/trunk/www |
48
|
/ksieveui/autocreatescripts |
25
|
/libksieve/ksieveui |
24
|
/part/view |
13
|
/ksieveui/scriptsparsing |
11
|
/plasma/generic |
10
|
/templates/neverland |
10
|
Files | Developer | Commits |
486
|
Laurent Montel |
181
|
279
|
Ingo Malchow |
98
|
162
|
Yuri Chornoivan |
55
|
144
|
Milian Wolff |
49
|
126
|
Benjamin Port |
42
|
114
|
Sébastien Renard |
38
|
105
|
David Faure |
36
|
90
|
Boudewijn Rempt |
34
|
90
|
Dominik Haumann |
30
|
78
|
Dan Vratil |
30
|
Internationalization (i18n) Status
Language | Percentage Complete |
Ukrainian (uk) |
100%
|
Brazilian Portuguese (pt_BR) |
99%
|
Swedish (sv) |
99%
|
Polish (pl) |
97%
|
French (fr) |
97%
|
Dutch (nl) |
97%
|
Spanish (es) |
97%
|
German (de) |
96%
|
Estonian (et) |
95%
|
Italian (it) |
92%
|
Bug Killers
Person | Bugs Closed |
Jekyll Wu |
37
|
Myriam Schweingruber |
30
|
Thomas Lübking |
29
|
Christoph Feck |
19
|
Boudewijn Rempt |
11
|
Dominik Haumann |
9
|
Albert Astals Cid |
9
|
Sergio Luis Martins |
8
|
David Edmundson |
7
|
Frank Reininghaus |
7
|
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 172 selections this week
Bug Fixes
Development Tools
Do not disable presistent storage.
This fixes a reproducible crash on shutdown. Considering that we
leverage temporary sessions (and temporary caches) anyways, this
feature should probably be removed. This crash clearly shows that
its implementation is broken.
Reenable unit test and make it pass.
The testsuite still crashes on shutdown though. I do not see
it consuming infinite amounts of memory though. Furthermore,
use QFAIL or similar in such cases instead of Q_ASSERT as
the latter would not properl cleanup the test suite.
Fix macro expansion when the arguments are split over multiple lines.
When a macro is used that requires arguments and those arguments are
split over multiple lines kdevelop is not able to expand the macro.
The expander respects only the current line and therefore the parser
does not find the corresponding close brace. In this fix the next
line is added to the argument list until the close brace is found or
EOF is reached.
REVIEW: 111007
Fix support for PHP 5.3's late static binding.
This is still not 100% correct, but since "static" is evaluated at runtime
we can not determine at parsing what class type it really is.
However, it's always gonna be either the class it was declared in or one
that extends the class it was declared in, so using that class as type
should provide better information than for example mixed.
REVIEW: 111598
Improve support of regular expression breakpoints(from gdb toolview only)
Use ideal test size as maximum height for maximized widget contexts.
This fixes the display of the macro tooltip for longer macro names
or file names, where one would only see the last line of the macro
description, i.e. only the filename and not the actual macro signature
Educational
avoid weather and photo items to change their screen position after their first appearance
updateChildPositions() must be called before setProjection(), otherwise an invalid size() is used to determine the screen positions in setProjection().
KDE Base
A couple of fixes to ctrl-a/x: don't update the number immediately to the left of the cursor on ctrl-a/x, and ensure that this new code doesn't go into an infinite loop if we can't find anything parseable as a number at all + some other edge cases. Rename some local variables.
Fix build if HAVE_NEPOMUK is not defined
We really have to make nepomuk-core and nepomuk-widgets a hard
dependency in the framworks era.
Oh, wow - looks like I didn't test for gk/ gj when there is nowhere to move. Add tests, and fix bug exposed by them!
fix logout effect shaderfile locations
REVIEW: 111600
Fix highlighting of devisions after object member access.
Overwrite the changed role value with an empty QVariant,
because the nepomuk roles provider doesn't overwrite it when the property
value list is empty.
REVIEW: 111505
FIXED-IN: 4.11.0
always delete the page after a pop()
this makes the component behave the same as the stack in components of meego, ubutu and QtControls
Fix the bug with m_commandResponseMessageDisplayHide timing out causing Kate to switch to the view that owns the KateViEmulatedCommandBar (the standard Kate command line bar has the same issue & similar fix). This requires us to stop m_commandResponseMessageDisplayHide when the kate_view loses focus, which requires us to process the pending event queue when we invoke the bar - otherwise, if we're replaying some keypresses without pausing for breath, as it were, as we do when we execute a mapping, macro, or test case, the focus change won't actually be processed until *after* the timer has been started, resulting in it being stop()'d right away. Unlike the standard kate command line bar, we also add some code that will recommence m_commandResponseMessageDisplayHide when the kate_view is focussed again, so it doesn't hang around until manually dismissed.
The tests for all this stuff require some fairly big changes to the Vim mode test set up. We needed to wrap kate_view in a QMainWindow, as we need to take focus away from it to a dummy widget called dummyToFocus, and this must be in the same window for the test to work. The new test is pretty fragile, though - there seems to be a lot of magic with how Qt focuses things. I've added a message to this effect that is printed out when the test begins to run - if it fails, just comment it out and let me know.
Do not add image folder when users cancel the operation
FIXED-IN: 4.11.0
Resolve the KTcpSocket + KSslCertificateManager situation.
It's needed inside KIO, and by some code outside kdelibs (e.g. KImap),
but we don't want it as public API in KIO because the longer term plan
is to have this functionality in Qt. So for now, we have a copy in KIO
internally (with renamed files and namespaced classes), and another one
in kde4attic (can't be kde4support yet, since there's no replacement
available).
Once Qt has the necessary code (= storing the list of invalid certificates
approved by the user, and having the necessary hooks/signals for our dialogs
to be shown), we can kill the KIO internal copy, and move the kde4attic one
to kde4support.
REVIEW: 111480 Ignore duplicated notifications
Disable antialiasing for the indentation lines.
Since the lines are now not washed out anymore, the contrast should
probably be decreased by default.
update packing logics to honor activities and tabs
at the same time using MaximizeArea instead MoveArea
ratio:
movearea allows to pack windows under panels and while
one can expect users of packing to know alt+lmb, we usually
do not allow to loose the titlebar
Moreover this relies on packing against dock windows what
fails with "virtual" struts as input shaping panels
(eg. cairo-dock?) might use (ie. we we would also have packed
against plasma panel shadows - back then ;-)
REVIEW: 111603
FIXED-IN: 4.11
Various tweaks to the "waiting for register" mode of the emulated command bar, included a new "waiting for register" indicator (a '"', to the right of the text edit).
Various fixes to the emulated command bar and completions.
Fix segfault, be sure nativeWidget() is not null
No need to escape angle brackets now that no regexps are used
Queries like "size < 2M" were rejected because the pattern contained
"\<" and not "<". This was needed because the angular brackets have a
meaning in regular expressions. Now, there is no regular expressions
anymore.
use a different property name to avoid conflict with qml built-in ones
FIXED-IN: 4.11
REVIEW: 111613
This should finally fix the problem, that the first time the completion popup is shown, the first group is empty.
The problem was that group titles did not get created, while m_hasGroup was empty, if a model later on in the chain caused m_hasGroup to be set, the first models didn't have valid groups -> no header text displayed. This definitely needs testing and should not be backported yet, as long as it is not being tested
Fix crash when places items are dropped onto themself
FIXED-IN: 4.11
fix offset when drawing line numbers
also ok to backport to 4.10
FIXED-IN: 4.11
move kdiskfreespace to KDE4Support
REVIEW: 111605
v2: fix kdiskfreespace install header file
A few more fixes for gk/ gj, including when some motion sets m_stickyColumn to something too large to adhere to with gk/ gj (need to recompute a sensible m_stickyColumn in this case) and also take invisible indentation into account when computing the new m_stickyColumn.
reload works now for resetting the file modified state in tree
fix the case that there are documents opened in the root of the remote server
My previous commit and this one also fix another bug
prevent shrinking away titlebar f. bottom corners
it's the same condition as shriking away from plain edges
(one can resize exclusively in that direction as well)
REVIEW: 111573
Fix Session config for plugins in new MainWindows
REVIEW: 110731
Cancel the timer that dismisses the command response message when we invoke the emulated command bar, so the bar doesn't suddenly inexplicably disappear!
KDE-PIM
Prevent crash when asking for the URI of a fake person without contacts
We shouldn't need this, but crashing is awkward.
Reviewed by Martin Klapetek
Only try to replace TextChannel in setTextChannel if it has actually changed
Reviewed-by: Aleix Pol
Fixed-in: 0.7.0
Make the text channel notifications peristant and delete on close
This solves a bug in which notification buttons fail to work after a timeout
REVIEW: 111500
FIXED-IN: 0.6.3
Fix hightlighter
Fix regression from kmail <4.11 Necessary to commit this patch before 4.11
Readd "Put in outbox" requested by David/Andris
(cherry picked from commit 7859851b856d538fdbb858bd2d69a8f917e6af41)
Office
Only enable chart button if it is a report that actually supports charts
Fix the build.
Seems that boemann is not building the tests. Booo!
The test now builds but I don't know if the suggested rects make sense.
Wrap KoShapeBackground in QPointer
This patch wraps KoShapeBackground in a QPointer instead of doing manual
refcounting. Bug 321714 shows, imo, that the manual refcounting is
fragile and sometimes breaks. I don't remember why we weren't supposed
to use QPointer (other than that it gets a little ugly with subclassing),
but it seems a good fit here.
There are other classes that do manual refcounting, and I think those
should be converted, too -- but in another patch.
Take care when dereferencing pointers
Do not crash when saving a groupd as an image
Fixed a crash caused by an invalid index into plcfSpa.
Re-save in MS Word 2000 did Not fix the invalid index. A minor
modification followed by a re-save did fix it. Re-save in MS
Word 2003 did fix it. I decided to ignore such a floating object
- the test doc is huge and I could not create a simple test file
to propose a correction procedure.
Test document: esis.sc.egov.usda.gov%2FWelcome%2FFiles%2FESIS%20User%20Guide.doc
Fix an offset bug after converting a pixel selection to a vector one
The outline of the shape is now stored in image pixels, so no additional
conversions are needed. Take care that the shape itself works in document
coordinates, not image ones.
Multimedia
coverinfo: Do not crash if an MP3 file has no ID3 tag.
This rarely happens since taglib will simply create an ID3 tag if one
didn't exist before... but taglib can't do this if it can't find the
file, which now seems to occur for files with a non-UTF8 filename
encoding.
You see this as a 'Couldn't resolve the mime type of <<foo>> -- this
shouldn't happen' message on the console. In this situation JuK is able
to resolve the file to an appropriate TagLib::File subclass, but the
TagLib object is in an invalid state.
CoverInfo wasn't checking for this (it was assuming any TagLib::File*
that it was given was valid).
I took a look through the reported JuK crasher bugs and didn't see
anything relevant.
I'm not sure whether this will end up in the KDE SC 4.11 or 4.11.1.
Remove some memory leaks. Mainly cleanup for shutdown, but also for (dynamic) controls. Makes valgrind output easier to inspect for relevant leaks.
CC
MPRIS2: avoid updating Metadata when between tracks
When changing tracks, we would emit PropertiesChanged for Metadata
twice, once with mpris:trackid set to /org/kde/amarok/PendingTrack and
once with the actual new trackid (because the first time the playlist
code had not yet updated the active track). If the track was changed
manually (not just progressing to the next one) we would often also emit
a PropertiesChanged with an empty Metadata before repopulating it.
This solves the first issue by making the signal connection for
trackChanged from EngineController queued, meaning that by the time the
MPRIS2 code gets the signal, the playlist has updated the activeTrack
and we can easily figure out the correct trackid.
It solves the second issue by ignoring the trackLengthChanged signal
when it has a meaningless value (<0), which seems to happen at some
point during track changes that are not predictable.
REVIEW: 111512
TrackOrganizer: fix foolish behaviour on Windows wrt \ vs. / path separators
BUGFIXES:
* Fixed organizing/copying/moving tracks to Local Collection on Windows.
FIXED-IN: 2.8
CCMAIL: Patrick von Reth
DIGEST: Amarok fixes organizing/copying/moving tracks in Windows
Fixing PMC crash when clicked on shuffle/random without
playing song in playlist.
REVIEW: 111528
Signed-off-by: Sujith Haridasan
Add safeguard for potential out-of-bounds QVector access.
FIXED-IN: 2.8
Fix keynav (almost) for music list when filtered by album/artist
Fixes for memory leaks, unitialized values. Also do error checks before evaluating DBUS reply.
CC
SqlScanResultProcessor: correctly escape SQL query
BUGFIXES:
* Fixed invalid SQL queries when you have files or folders with an
apostrophe in your colleciton.
I'm ashamed, this was a stupid brown-paper-bag flaw on my side.
FIXED-IN: 2.8
Networking Tools
Fix saving secret modes for vpnc and l2tp vpn types.
Fix connecting indicator
Remove all connections from the editor when NM is stopped
Correctly search to see if we support the certificate type
FIXED-IN: 0.6.3
REVIEWED-BY: Daniele Domenichelli
Fix ContactFilterModel account filter
We were comparing pointers instead of actuall account IDs.
Thanks to Viktor Joba for pointing out the bug.
Don't run dialog to select region of pixmap for empty pixmaps
Wrap KDED Config in a ScrollArea
This fixes a bug that KMultiPageDialog does not automatically add a scrollbar
and forces the dialog to be very tall
Systemsettings does not have this problem because it has it's own scrollbar
Reviewed-by: Martin Klapetek
Fixed-in: 0.7.0
Utilities
Reenable code that doesn't work with OpenSuse yet
Remove buffer interface pointer from the textbuffer header file
This caused a funny memory corruption, since if you #included the header
file without the #define being set, you would end up with a class size
which was too small. Thus, when using new, not enough memory was allocated
to hold all the members of the class, which ultimately led to crashes.
Proper undo handling, with not just one action undone per click
Attach URL to dragged image to mimedata
This makes dropping ksnapshots images into clients work that don't pick up the
image data, but only look for a URL in the dragged mimedata.
REVIEW:111564
Other
Fix marshalling of pointer types in ruby slots and signals
Fix event handlers in components.
For components applyProperties is called twice (this is needed and actually Qt's
QMLEngine also does it like this). As a consequence event handlers
(onSignal: ...) were connected twice to the same signal. This commit fixes this
by disconnecting the old one before connecting the new one.
Fix width of TextInput in DOM backend
Previously, the input element did not use the width defined in
QML because only the div element's width was set. This is fixed
by adding "width: 100%" to the input element's style.
REVIEW: 111582
Fix marshalling of QString types when invoking a slot
Features
Development Tools
Use TestCore API to properly remove temporary data after test run.
Add support for PHP 5.4's function array dereferencing.
Implement git stash show in the Stash Manager
Connected the stash manager with the patch review UI to see the contents
of a stash.
REVIEW: 111504
Add support for php 5.4's short array syntax.
A first step towards support for the new syntax features introduced
in PHP 5.4. This implements parsing support for the short (json-style)
array syntax where one can rewrite
$var = array( "key" => "value" );
as
$var = [ "key" => "value" ];
REVIEW: 110374
Hide empty folders after filtering
Now when using the filter bar in the projects panel, the folders that
contain no items matching the filter are hidden, so you don't have to
manually search through all the folders to see if there are items or
not. I know this is slower than the previous code, however I tried this
on a big project (Qt) and the impact on performance was unnoticeable.
Additionally, Aleix suggested to change the label next to the items when
the filter is enabled, so I did it too in this patch. Now it displays
the number of hidden items, instead of the visible ones.
REVIEW:111537
Make remote urls without path invalid.
This is not something we will support, we only care about 'path'-like
paths after all. The extra code required to support this corner case
is not worth the effort.
Furthermore expect the proper warning messages in the unit test.
Educational
Create initial training session class.
Add an OpenCL aberration implementation
Move earth velocity calculation to Astrovars
Show learning progress.
Use stereographic projection for aberration.
This method produces different results than the old
method, but I believe it to be better. It uses
proper relativistic effects and a very accurate estimation
of the Earth's velocity.
Only use phrases with recordings in training.
Graphics
make selection grabbers larger
The selection grabbers are too small, especially on high DPI screens
For now just make them larger (not depending on the screen DPI)
FIXED-IN: 4.11
KDE Base
Use parameterized queries for addStatement.
This improves performance, especially for long query strings.
Ideally we should use parameters whenever possible, maybe even reuse
a prepared query for each adding of a statement.
show modified and modified on disk in the project plugin
Add "Add to Desktop" and "Add to Panel" actions.
Makes the applet tell the viewer about its containment context
when toggling the viewer and then catch D-Bus signals from the
viewer to implement add requests. The way the applet runs the
viewer has changed a little to simplify the addition of the
above by dropping the --show <screen> argument that was redun-
dant with the toggle() D-Bus method.
"Copy Filename" context menu action like in the document list/tree
Fairly big change that mainly changes the way the KateViEmulatedCommandBar deals with Enter when completion is active. This enables us to do a :sort without having to press Enter twice. Completions are now filled in in the bar just by scrolling through the available completions, which is more in line with how Vim (and also Kate's own command bar) behave. Cancelling a completion will revert to the last manual (i.e. - not arising from scrolling through the completion list) change.
Also fixes bug with Command completions not treating "-" as part of a command (e.g. in "set-auto-indent"), and also prevents completions popping up when we're writing e.g. :s/se<don't want completion here - it's annoying!>
As an experiment, I'm allowing completions invoked via ctrl-space to be dismissed via Enter without dismissing the whole bar; not sure if I'm happy with this, though, so I might change it.
Accessibility: Implement setting of cursor position
REVIEW: 111574
Add the new wallet type selection dialog
When a new wallet is created, the user is now invited to choose
if between the classic, blowfish encrypted, or the new, gpg encrypted,
wallet file type
Add an example higihlight.js file
Some more work on command history. Add a history of "replaced" text (not yet used, but will be used in upcoming SedReplace work), and factor all this "history" logic into a private "History" class.
Poor man's support for parameterized ODBC requests.
Parameters can improve performance significantly, especially with long
query strings.
Thus, in our effort to make Soprano use parameters we start with the
very simple case of adding statements, ie. we restrict ourselves to
4 Nodes as parameters.
fix PHP 5.3 heredoc and nowdoc syntax
Please other users/developers test this.
I don't really know whether this patch is correct.
FIXED-IN: 4.12
experimental in master. Show dots again instead of a solid line, can't promise that it will stay in
allow endRegion and startRegion in combination with lookAhead
FIXED-IN: 4.12
REVIEW: 111540
KDE-PIM
Separate the data fetching and the merge job spawning
This way we make sure that we're not having nepomuk changing things in
between.
Prevents some crashes.
Initial QML Calendar components plugin.
Upload monitor settings to server via dbus
Add CHANGEDSINCE parameter to FETCH command
This parameter allows clients to fetch only those items that have been
changed since given timestamp.
REVIEW: 111507
Make it possible to merge people without contacts
It's definitely needed, although there are still some cases we're not
following.
Make REMOTEID optional in FETCH responses.
REVIEW: 111593
First step to support sieve parsing. Now we can create page from script.
Step 2 load infos in action/condition (tomorrow ?)
Improve parsing support
launch account wizard from Accounts List Page
Explicitely set text color to black
The akonotes plasmoid provided by KJots has a yellow background
(provided by an svg image) but takes the text color from the current
plasma theme.
This results in unreadable notes when you are using a (dark) theme with
a bright text color, e.g. Slim Glow or Produkt.
This patch fixes this by simply setting the text color to black.
FIXED-IN: 4.11.0
REVIEW: 111515
Office
Implementing Color Balance Filter
Krita uses palettes, too.
krita: Assign different priorities to the input actions
This is used to resolve conflicts when multiple shortcuts with different
actions can be activated with the current input.
Introduce the text reader into the docx filter.
This patch is going to be improved later.
Allow the user of a sketch view to activate it explicitly
Multimedia
Replace custom texture loading code with Qt functions.
Change MPRSI2 backend to operate nearly completely asynchronously. The still synchronous parts will be converted in the next step.
CC
Improve usability of applet toolbar drag'n'drop.
Before, dnd was done by clicking, moving, releasing, which is
not how dnd usally works. Now it works by keeping the mouse button
pressed, and then releasing at target position.
Also we now change the mouse cursor during drag operation.
FIXED-IN: 2.8
Improve hover effect for applet toolbar buttons.
Networking Tools
KGet applet in QML, Engine update
Add a first version of the embed.ly provider (missing stuff, WIP)
Show scrollback and enable 'Previous Conversations' action in group chats
REVIEW: 111524
use the list of supported extensions for the import VPN dialog
about export when it's not implemented for a particular VPN type
Games
Replace QMLList by a more general notify system.
Up to now there was class called QMLList, that actually did nothing but
overwriting push to emit a changed signal. This is now done when setting an
array as value of a property so it also works with arrays defined in qml code.
Other
add an autotags table
this allows creation of tags that will be automatically added when
another tag is created.
even more magical: autotags are generated on demand.
so an author tag of "Foo Bar" will get associated with the "author_f"
grouping tag. if "author_f" doesn't exist -> it gets created.
currently only used with author tags, but easily extensible beyond.
When marshalling C++ value lists to ruby, create copies of the
elements and give script ownership to the copy instances
Add support for invoking ruby slots
breat out the mandatory tag def into its own file: assetRules.js
also add entries for all assetType entries we have. this is not a
complete and finished definition, but gives us a clearer place to put them
Add Support for Positioners.
This commit adds support for positioners, namely the types Row, Column, Grid and
Flow. Transitions are missing completely, yet, everything else is working. :)
This commit also reorders the entries in files.json for the test pages.
Make Repeaters and Positioners work together.
This commit fixes to bugs, one in Repeaters on in Positioners:
- Repeaters added items as their own children instead of the children of the
parent like it is done in Qt Quick. That's needed to be able to position them
using Row, etc.
- Positioners also positioned items that has a width or a height of 0. Qt Quick
Positioners don't do that. This commit fixes that.
Optimization
Development Tools
Cleanup CMakeLists, only compile required files for cppcodegentest.
This speeds up compilation time on one hand and - more importantly,
fixes a reproducible crash on shutdown for me.
KDE Base
Optimize dash pattern, safe allocation of pattern vector.
keep buffer swap pref automatic until GPU detected
enforce to "e" (cheap) when driver is still unknown after
detection must be assumed to have run, so a sane value is available
when the context is up
FIXED-IN: 4.11
REVIEW: 111548
Replace the use of regexps in patterns by simple A|B|C forms.
This simplifies the pattern syntax (and thus allows easier auto-completion),
and speeds-up the pattern matching as piles of QRegExp objects are not created
anymore.
Use const_iterators for our Effect iterators
We never modify the list, so we don't need the mutuable iterator. This
ensures that the data doesn't get detached.
Use QVector instead of QList for the list of active effects
We only append to the list, so the advantage of insertion into QList
does not matter.
Thanks to Milian Wolff to point this out in his Akademy talk [1] and for
pointing me to Marc Mutz blog post [2] discussing this topic and
recommending the usage of QVector over QList.
[1] http://milianw.de/files/apps-on-speed-akademy2013/index.html
[2] http://marcmutz.wordpress.com/effective-qt/containers/
REVIEW: 111597
trigger quick tiling on edges of maximize area
screen area can be inacecssible due to panels
FIXED-IN: 4.11
REVIEW: 111556
KDE-PIM
Remove to unused JOINs.
Speeds up FETCH by another ~10%.
REVIEW: 111619
Store filename of external payload without path
Store only filename instead of the whole path in parttable. The path is always the same
so this can save quite a lot of disk space and since server knows the path it can easily
prepend it to the filename before sending it to clients.
When client announces NOPAYLOADPATH capability, the path is not prepended to filename,
which reduces size of replies a bit.
REVIEW: 111541
Optimize lookup of sources that are interested in given notifications
Rework handling of contacts selection/deselection
Reviewed-by: David Edmundson
Factor out item query result extraction.
This prepares a more sophisticated column selection in the query, to avoid
loading data we don't need at all.
Save up to 25 MB on mysqld.
More noticeble with MariaDB.
Although we don't use MyISAM, it's still loaded, and can't be disabled,
so at least, make it use less memory.
Only query columns we are actually going to use.
Speeds up the KMail folder listing test case by about 10-20%.
Restructure the parsing code a bit to make it easier to test.
Also clean up the init code, and avoid some more string operations and
conversions.
Simplify some code in the children resolution
Cache the rows value, so that it's not fetched on every iteration.
Check for the item value first, assert in case it's not available.
mixedmaildir: don't use 1.5GB of memory when importing a very big folder
Subjobs pile up too fast because they are cheap to create and
because it's taking around 5 event loops for one to start.
Office
A significant refactoring in the Predefined Brush engine
This patch ports the predefined brush engine to the new capabilities
of Qt. It removes a huge chunk of hand-written code. Here is a short list
of changes:
1) All the operations are now performed on non-premultiplied RGB values.
The use of premultiplication resulted in instability of the color,
which caused artifacts on scaling and rotation of the brushes.
2) Trilinear filtering of the brushes is now substituted with simple
bilinear filtering from the nearest pyramid level.
It turned out that trilinear filtering not only impacted the
performance, but also introduced heavy aliasing artifacts on specific
zoom levels.
3) After the patch the speed of the dab generation raised 3-5 times. Here
are the values for 512px brush:
Before patch:
Scaling: 34 ms
Rotation: 19 ms
After patch:
Scaling: 6 ms
Rotation: 9 ms
,319944,300665
Multimedia
Replace custom texture loading code with Qt functions.
Other
Remove ; after if, fixing a huge performance-leak.
There was a ; after an if-condition, with the consequence that the body was
always executed. As the body added a signal-slot connection, it soon resulted in
about 5000 connections, causing a huge performance-problem.
Other
Development Tools
Mark the uses of constants inside namespaces.
REVIEW: 111517
Educational
Make training screen prettier.
There are still some steps to go to make it really pretty, but
probably a good starting point.
Use math.h instead of cmath.
Also known as "let's try to prevent the #ifdef madness before it grows too
wild".
`isinf' and `isnan' are macros in C99, are not mentioned in C++03 and are
regular functions in C++11 (some C++ standard libraries such as GNU's
libstdc++ do implement those functions in C++98 and C++03 mode).
Simplify the current checks by unconditionally using math.h instead: this
allows us not to care about whether the `std' namespace is required and
assumes both `isinf' and `isnan' are macros, which are implemented when
undefined.
CCBUG: 320803
REVIEW: 111509
KDE Base
Disable lanczos filter also for SandyBridge on Mesa 9.1
Debian gave me an update to 9.1 and I started feeling the pain...
Mesa 9.2 works fine on the same hardware.
REVIEW: 111558
-work on building kcrash standalone
-include the needed cmake module files
-port away from check_prototype_exists() to check_prototype_definition(),
which comes with cmake (and documented this on
http://techbase.kde.org/Development/ECM_SourceIncompatChanges and
https://community.kde.org/KDE_Core/Platform_11/Buildsystem/FindFilesSurvey)
Alex
Replace {start,end}Position with position and length in CompletionProposal.
Allow the completion popup to be closed with Escape even on the date-time page
Port TCPSlaveBase away from KMessageBox
Replace signals: with Q_SIGNALS: and slots with Q_SLOTS: everywhere in kdelibs
REVIEW: 111609
KDE-PIM
KMail depends on Akonadi now
Update the details view to be less confusing and more simple
Office
Designer plugins should be unversioned .so files
Split out a reader for ODF text contents.
This prepares for readers of e.g. ODS and ODP since it means that we
can share the text reading part between them.
Also adapt the ascii filter to the new API.
Remove all text level backend functions from the OdtReader backend.
They are now in the OdfTextReader backend instead.
Networking Tools
Replace ICQ button with KDETalk
Since David fixed the KDETalk plugin, and now registering a new account
works, it makes sense to "promote" it and add it in the first page.
I think ICQ is not that special compared to other accounts in the second
page, therefore it is replaced it with KDETalk.
Reviewed-by: David Edmundson
Utilities
Use QAction* instead of KAction* due to changed return types in KF5
Prepare include Paths for Qt5
Use external libkomparediff2.
Get actions from KompareModelList's actionCollection and add them to ours in KomparePart.
Other
Auto-completion widget
The auto-completion infrastructure of the parser is used to display
a list of auto-completion proposals.
They can be patterns ("sent" can become "sent to", "sent at", "sent on", etc),
tag names and date-times. A future commit will allow contacts to be auto-completed.
Auto-completion infrastructure
The client application tells the parser where the user cursor is in
the query string, and the parser provides a list of completion
proposals around this position.
added week number (somehow it is not including prev month's date :/
When converting a C++ value list to ruby, create copies of the
elements
REVIEW: 111472
Used KIO for opening and saving a file in khipu
After a completion, place the cursor at the end of the first placeholder value.
If there is no value (a pattern was selected, not a value), the cursor is placed
where the user can enter the value.
For left-to-right patterns, nothing changes, but patterns with terms after the
placeholder are now better handled. For instance, "at : pm|" is now "at | : pm",
and the user can enter a time.
Changed some strategy in autosaving feature.
1) Initially, autosaved file was visible. Now. it will have a front dot along with the filename to make it invisible.
2) If we dont have the filename for autosaving, it will take the default name (i.e. ".Temp.khipu.autosave").
In other cases, it will be saved with the name ".filename.khipu.autosave" , in the same directory where the actual file is.