Issue 335
13th April 2014 by KDE Commit-Digest TeamContributors
Marta Rybczynska
Jürgen Appel
Giacomo Barazzetti
This Week...
Statistics
Commits | 1711 by 126 developers |
Open Bugs | 22090 |
Open Wishes | 16061 |
Bugs Opened | 229 in the last 7 days |
Bugs Closed | 185 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/l10n-kde4 |
165
|
/branches/stable |
100
|
/trunk/l10n-support |
59
|
/trunk/www |
52
|
/krita/ui |
9
|
/src/core |
8
|
/src/CMakeLists.txt |
8
|
/kaddressbook/printing |
8
|
/tags/KDE |
7
|
/trunk/l10n-kf5 |
7
|
Files | Developer | Commits |
600
|
Laurent Montel |
223
|
162
|
Boudewijn Rempt |
57
|
150
|
Aleix Pol Gonzalez |
56
|
144
|
Marco Martin |
49
|
141
|
Dominik Haumann |
47
|
123
|
Burkhard Lück |
41
|
108
|
Kevin Funk |
37
|
93
|
Albert Astals Cid |
36
|
102
|
Vishesh Handa |
34
|
78
|
Martin Klapetek |
26
|
Internationalization (i18n) Status
Language | Percentage Complete |
Ukrainian (uk) |
100%
|
Portuguese (pt) |
100%
|
Swedish (sv) |
99%
|
Brazilian Portuguese (pt_BR) |
99%
|
German (de) |
99%
|
French (fr) |
97%
|
Dutch (nl) |
97%
|
Spanish (es) |
96%
|
Bosnian (bs) |
93%
|
Italian (it) |
90%
|
Bug Killers
Person | Bugs Closed |
Martin Klapetek |
22
|
Jekyll Wu |
17
|
Marco Martin |
16
|
Christoph Feck |
10
|
Laurent Montel |
9
|
David Edmundson |
9
|
Dennis Nienhüser |
7
|
Jan Kundrát |
6
|
Bhushan Shah |
5
|
Dan Vratil |
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 61 selections this week
Bug Fixes
Development Tools
Various fixes for mercurial plugin VCS.
Various fixes for mercurial support. Basically updated so it can be built against latest kdevplatform. Also fixed tests so they pass.
Changes:
1. Removed DVCS view factory
* Kdevplatform change commit 41db303595d55d355a80d896a25543f449819d30
2. Changed MercurialHeadsModel constructor to match VcsEventsWidget
* Kdevplatform change commit a6d910861906365f0ef11b99badbbde01e6f3c7b
3. Fixed tests
4. Other changes
REVIEW: 117379
Leverage reloading detection on the IProject class
Informs the IProject instance through the recently introduced setReloadJob,
that the project is being reloaded by a given job. This makes it possible
for the ProjectController to tell whether it's safe to spawn a new project
reload.
FIXED-IN: 4.7
KDE Base
don't close the menu on submenu open
HACK: is not possible to set a transient parent of a QWindow as a QWidget
because the QWidget's window is not existent until is shown,
at that point it's too late for setting a transient parent
Prefer using QScreen instead of QDesktopWidget
Fixes placement of KRunner on multi-screen set ups.
Reviewed by Alex Fiestas.
the panels for nonexistent screens don't appear
if the screen isn't there when plasma starts,
don't add the panels of that screen
if a screen is disconnected, remove the panels of said screen
Fix KUser::groups() and KUser::groupNames() on UNIX
If available we use getgrouplist() which returns all group IDs.
Otherwise we fall back to using getgrent() and checking whether gr_mem
contains the user. For some reason gr_mem doesn't usally contain the
users primary gid, so we add the corresponding struct group for that gid
as well.
REVIEW: 116881
Minor dependencies cleanup
1) QtGui is needed to determine openGL implementation (GL vs GL ES)
2) Completion, Config and KIO are explicit link targets so search for them
3) DocTools are needed for doc dir
4) Zlib and XCB:: are not needed
5) Only Wayland Client is needed
6) Added minor description improvements
REVIEW: 117463
KUser: Make guessHomeDir compatible with Windows XP.
SHGetKnownFolderPath was introduced in Windows Vista; change code to use
GetProfilesDirectory instead. Without this change, apps using kcoreaddons
don't even load in XP (whether they use KUser or not).
REVIEW:117437
Load kio4 translation catalog when loading kfile
This helps for pure Qt apps like VLC that get
the kdelibs file dialog to get it translated properly
KDE-PIM
Ubuntu: Imap Settings re-work
The Imap settings page is now part of a tabbed component so we can group
all settings pages together similar to desktop version.
Settings page now validates user input on required username and server
name fields. Presenting red label text
Page now has a toolbar to save settings
So now if the user already has a configured account the first page they
see is the Mailbox view and get prompted for password. The user can still
access settings from the toolbar
Added save.svg, settings.svg and cancel.svg all are from the
ubuntu-mobile-icons package
available from http://packages.ubuntu.com/trusty/all/ubuntu-mobile-
and is available under the CC-BY-SA 3.0. Copyright by 2004-2012,
Canonical Ltd.
REVIEW:117504
Moved setting mailbox sorting preference from imap settings to SettingTabs.qml
Add a bridge between the QQuickNetworkReply and QNetworkReply
This is simply a wrapper class which provides the data made available via the
QNetworkReply into the QML WebView. The Qt5's WebView API does not support
providing a QNetworkAccessManager anymore, so this is our best bet.
REVIEW: 117445
Ubuntu: Fix for dual use mailbox's
Enables the viewing of dual use mailboxes. Clicking on the progression will show any nested mailbox's
Clicking anywhere else will show the message list for current mailbox.
REVIEW: 117446
Fix Bug 297138 - When saving an attached file from a mail, give the user the ability to either open it or open the folder where it has been saved
FIXED-IN: 4.14
Office
Fix saving/loading of exr images with small alpha values
There are several issues possible:
1) The image has zero alpha + non-zero color pixels. We artificially raise
the alpha value to allow premultiplication.
2) The image has tiny non-zero alpha + non-zero color pixels, but division
is possible without overflow of color channels. Then we must not change
anything.
3) The image has tiny non-zero alpha + non-zero color pixels, but division
is not possible due to a half overflow. In this case we must also raise
alpha a bit (as in case 1) ) to allow correct rendering of the image.
Sketch/Gemini: Postpone the image changed signal reaction a bit
This ensures the layer thumbnails only get updated every x miliseconds
(currently 250, for no particularly good reason), because otherwise the
layer model would constantly request an up to date thumbnail to be
created, which could be something of a slowdown... This would even
happen when in desktop mode, as for some reason the layer panel's
listview would insist on requesting the new data even if the view
isn't visible.
Fix two user-interaction bugs in multilayer EXR
1) Warn the user that some layer types cannot be saved to the EXR
and will be lost.
2) Ensure that all the layer names in EXR are unique. Otherwise the
layer data will also be lost.
Fix the usage of i18n before KInstance exists.
See the techbase article about the difference between i18n and
I18N_NOOP. Using i18n before the existence of KInstance would
result in untranslated strings and the inability to use the
"--config" KApplication option.
This problem was signalled by the following warning on the output:
KGlobal::locale(): Warning your global KLocale is being recreated
with a valid main component instead of a fake component, this
usually means you tried to call i18n related functions before your
main component was created. You should not do that since it most
likely will not work
We should look out for this warning in the future.
Also fixed another I18N_NOOP static table to contain 'char *' instead
of QString, to avoid useless usage of qPrintable().
Add more grid presets and shortcuts for toggle and snap
Patch by Bart Kelsey. Thanks!
If I had a penny for every d pointer we ever leak...
We wouldn't need a krita fundraiser anymore, ever.
Remove unused and badly named method and variable
It was meant to visualize the active layer:
added the visualization of active layer.
It's colorspace independent, but only works in non
GL mode. Also it is highly experimental, but this
is something for you to play with.
The effect is turned on/off via the checkbox in the
layer docker
Added support to save layer attributes and order into EXR
Now we save a special EXR string attribute 'krita_layers_info' that
stores attributes and order of the Krita layers. We cannot do it by means
of EXR itself since the EXR standard does *not* define any compositioning
or ordering rules of the containing layers. So we do it ourselves.
Multimedia
Only call QApplication::syncX() from the main thread
This fixes a regression introduced in 2db4c4. In order to pass WID to gstreamer
synchronously, a Qt::DirectConnection between Pipeline signal and a VideoWidget
slot must be created. However the signal from Pipeline can be emitted from an
arbitrary thread, so we can't call QApplication::syncX() directly from the slot
callchain. This patch moves the call to VideoWidget::syncX() slot that is called
from X11Renderer via queued invocation to make sure it's always executed from the
main thread.
FIXED-IN: 4.7.3
Networking Tools
Match contacts in watcher proxy by contact id instead of ContactPtr
Fixed two crashes in the previewer: The first occurred when authentication
data was requested and the password dialog was just closed and the other
one occurred when a recurring authentication error happened.
Propagate TextChannelWatcherProxyModel data from subcontacts to persons
FIXED-IN: 0.8.1
Use proper DPI in chat view
WebKit has a DPI hardcoded to 96; in order to not get super tiny fonts
we rescale them by the real DPI
Reviewed-by: David Edmundson
User Interface
warp cursor per virtual desktop wrap direction
if there's no desktop toLeft/Right above/below it's wrong
to warp the cursor, branch opens on corner edges
Forward port of eea4bb81105f2c289831cf1f682c3927a24fd831 from kde-workspace
Features
Development Tools
Update source code formatting for Mercurial plugin.
Updated formatting
* Remove trailing whitespace
* Replace tabs with spaces
* Reformat code so it's properly indented
* Use a single space before pointers and references, but not after
Now all style follows KDevelop code style guidelines from http://techbase.kde.org/Projects/KDevelop4/CodingStyle
I'll update #117379 when this is merged (don't have permissions myself) so it will be easier to see changes there.
REVIEW: 117493
Educational
Added exponential zoom in/out feature in Solar System Viewer
REVIEW: 116965
KML tag writer for NetworkLinkControl
REVIEW: 117343
Implement wish 236177: expand and collapse all lessons function in lessons pane
WISH: 236177
REVIEW: 116788
Graphics
Launch documents from external sources in new tabs
FIXED-IN: 4.13.0
REVIEW: 116700
KDE Base
Use capabilities instead of SUID where available
This requires that both libcap libraries and setcap
executable are found during build, otherwise the old
procedure of SUID is used
REVIEW: 117125
Make clicks on window thumbnails raise windows again.
Also converted thumbnail size to gridUnit.
vimode: update the relative line numbers when pressing return.
REVIEW: 117453
KDE-PIM
Add support for the x-test language
Since we're using Qt's facilities for determining what language to use (based on
the technology we're using, we're a Qt application, not a KDE one), we end up
with examining the QLocale::system(). However, its return value is actually
sanitized by the C library (?), i.e. trying to use either LANG or LC_ALL set to
x-test or x_test does not work at all.
Rather than inventing a custom scheme, it's easier to just follow the KDE's
conventions for env vars, and this patch makes it follow the KDE_LANG env
variable when asked for the x-test language. We still follow the systemwide
settings, and the Qt's own locale is not changed (so you might still get
"untranslated" messages in Trojita in case they're provided by Qt itself).
REVIEW: 117429
Office
Support for selections in gmic filters
Add more grid presets and shortcuts for toggle and snap
Patch by Bart Kelsey. Thanks!
sketch/gemini: Add copy and paste functionality to Sketch
Add Merge Payee Option. Patch by Felipe F. Tonello.
This patch implements the operation to merge payees. This is done by
reusing the payee delete slot, modifying it to support merge operation
and add support to it in KPayeeReassignDlg dialog.
The main difference between delete a payee and merging a payee is that
when merging the user can merge to a new payee. So the modification
was done to support this use-case.
REVIEW: 110212
gemini: add breakpad support to Krita Gemini
Networking Tools
Added option to show when contacts leave chat
Added git push
Pushing to a remote is now possible. A Push object is created for a
remote using the Repository class. The Push object is then configured
as needed. Finally calling the execute() method does the actual pushing.
The test needed a bit of configuration since libgit2 supports pushing to
only bare local repositories - a bare local repository is created before
the pushing test is run.
KPeople plugin: Implemented groups cache support.
REVIEW: 116706
Implement %senderColor% replacement for Adium themes
Add actions to contacts in group chat
It is now possible to start a 1-on-1 chat, send a file and show details for
each contact in a group chat room.
REVIEW: 117501
Other
Hide the plasmoid when no device is connected
Add documentation generation using Sphinx
This is deliberately modelled very closely on CMake's documentation
system. It's a hefty patch, because it involved changing all the
documentation to be in reStructuredText format. I also cleaned up the
copyright/license statements at the same time.
Note that the find modules contain the full license, due to the fact
that ecm_use_find_module() copies them out of the ECM distribution.
Optimization
KDE Base
Make kickoff hightlight not lag
Having a hightlight move slowly on mouse over simply makes everything
look slower than it is.
Disabling after discussion with Jens Reuterberg
Try harder to generate up to 10 matches in Baloo's runner.
Baloo's runner plugin doesn't want to return more than 10 matches,
and was achieving this boundary by looking for up to five files or
mails and combining the results. This means at most five items were
returned if there's either no files or no mails in the index, nor
did it try to fill up that 10 if there's less than five matches of
one type.
With the approach implemented here, it'll try to fill up the full
ten by searching for as many matches as necessary, at the cost of
initially searching for up to 10 mails and potentially throwing
some of the results away (matches are still presented in files,
mail order, though). This comes on advice from Vishesh that look-
ing for mails is faster than looking for files.
XapianDatabase: Catch more exceptions
KDE-PIM
ItemSync: Use batch processing and allow throttling
With this patch we process the items in batches and gives resources the
possiblity to throttle the retrieval of messages using the
readyForNextBatch signal. This way we avoid using huge queries and
loading all items into memory, making the whole process a lot less
resource intensive, and make it work for large folder.
REVIEW: 117471
Enable concurrency in our copy of QSQLITE driver
The original patches that were implementing blocking versions of sqlite3_*
functions were simply using usleep() to wait before trying again in case the
function returned SQLITE_LOCKED. This patch removes use of usleep() and instead
uses SQLite's native unlock_notify API designed exactly for this purpose.
The new unlock_notify() code shows that calls block for ~80ms in average, which
is much less than 500ms that the usleep() code was expecting.
More importantly, this patch enables shared cache in SQLite, which enables
actual support for concurrency in SQLite and allows us to get rid of the global
mutex in DataStore that was serializing transactions, which results in notable
speed up of certain operations in Akonadi, most notable item synchronization,
because we are now able to actually sync multiple resources in parallel.
This is the first step needed for upstreaming our changes to Qt, but further
optimizations are possible.
We don't have any unit-tests or benchmarks for the driver atm (and the Qt ones
don't cover our needs), so we need to check carefully for possible regressions.
For that reason this goes to master, but can probably be backported to stable
if everything turns out to be OK.
Office
Sketch/Gemini: Postpone the image changed signal reaction a bit
This ensures the layer thumbnails only get updated every x miliseconds
(currently 250, for no particularly good reason), because otherwise the
layer model would constantly request an up to date thumbnail to be
created, which could be something of a slowdown... This would even
happen when in desktop mode, as for some reason the layer panel's
listview would insist on requesting the new data even if the view
isn't visible.
Other
KDE Base
Implement KUser::faceIconPath for Windows XP.
The undocuented API we're using has a different ordinal and parameters
on Windows XP vs Vista/7. I refactored the code to use a template
and structs encapsulating the differences, as otherwise the code
became too redundant.
REVIEW:117454
[kglobalaccel] Remove notification support
KGlobalAccel emitted notifications when:
* a shortcut is pressed
* a new shortcut is registered
Both are configured with no action at all. Thus the notification is not
of much use. Why it shouldn't show a popup had been discussed on kcd [1].
This means the notification right now has nothing more than debug
purpose. While this might be a valid usecase it doesn't make much sense
to do this with KNotification - for this see Aaron's mail [2]. Also e.g.
KWin dropped all notifications for debug purposes for the same reason.
If there is a need for a kind of notification on global shortcut
triggered or a new registered global shortcut this could also be easily
emulated by adding an explicit signal to the DBus interface.
This removes the KNotificiation dependency.
REVIEW: 117464
[1] http://lists.kde.org/?t=126463249400002&r=1&w=2&n=16
[2] http://lists.kde.org/?l=kde-core-devel&m=126463340225306&w=2
Allow compiling Dolphin with KF5
This does not work properly yet, there are probably quite a few bad signal/
slot connections due to KUrl -> QUrl. However dolphin starts without
crashing.
Accessibility is not ported since that changed quite a lot from Qt4 -> Qt5
and I have no idea how it is supposed to be used.
This is the first commit for review 117395
Remove hack for "mozilla"
It's dead, since 2006 it's "SeaMonkey" and it has a proper window class:
WM_CLASS(STRING) = "Navigator", "Seamonkey"
(Yes, I installed it. No, my distro doesn't have a package.)
REVIEW: 117472
Initial import from the monolithic kde-runtime.
This is the beginning of revision history for this module. If you
want to look at revision history older than this, please refer to the
techbase wiki for how to use Git history grafting. At the time of
writing, this wiki is located here:
http://community.kde.org/Frameworks/GitOldHistory
If you have already performed the grafting and you don't see any
history beyond this commit, try running "git log" with the "--follow"
argument.
Branched from the monolithic repo kde-runtime, frameworks branch, at commit
85b1a18736650e28d8addd441f83083987298233
KDE-PIM
IMAP Resource: download email in throttled batches so we don't overload akonadi.
This makes it possible to download large folders 200k+ without going OOM or
overloading akonadi.
Additionally this patch disables the fetching of missing item bodies,
and fixes the progress reporting by setting the total number of items.
Networking Tools
First attempt to get it working with KF5