Issue 337
27th April 2014 by KDE Commit-Digest TeamContributors
Alex Fikl
Marta Rybczynska
Giacomo Barazzetti
Jürgen Appel
This Week...
Statistics
Commits | 2254 by 140 developers |
Open Bugs | 22283 |
Open Wishes | 16091 |
Bugs Opened | 283 in the last 7 days |
Bugs Closed | 209 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/l10n-kde4 |
143
|
/trunk/l10n-support |
58
|
/branches/stable |
47
|
/trunk/www |
26
|
/krita/plugins |
11
|
/src/part |
10
|
/src/CMakeLists.txt |
9
|
/kf5/adapt_cmakelists_file.pl |
8
|
/trunk/kde-common |
7
|
/kde-modules/KDEInstallDirs.cmake |
7
|
Files | Developer | Commits |
672
|
Laurent Montel |
236
|
564
|
David Faure |
190
|
447
|
Alex Merry |
149
|
243
|
Kevin Ottens |
142
|
192
|
Patrick von Reth |
66
|
162
|
Aleix Pol Gonzalez |
59
|
162
|
Aurélien Gâteau |
54
|
120
|
David Edmundson |
50
|
144
|
Ralf Habacker |
48
|
117
|
Nicolás Alvarez |
39
|
Internationalization (i18n) Status
Language | Percentage Complete |
Swedish (sv) |
99%
|
German (de) |
99%
|
Brazilian Portuguese (pt_BR) |
99%
|
Portuguese (pt) |
99%
|
Polish (pl) |
99%
|
French (fr) |
97%
|
Dutch (nl) |
97%
|
Spanish (es) |
96%
|
Bosnian (bs) |
93%
|
Italian (it) |
91%
|
Bug Killers
Person | Bugs Closed |
Christoph Feck |
31
|
Jekyll Wu |
27
|
Chao Feng |
13
|
Bernhard Beschow |
11
|
Jan Grulich |
10
|
David Edmundson |
10
|
Vishesh Handa |
9
|
Frank Reininghaus |
6
|
Thomas Lübking |
6
|
Martin Klapetek |
6
|
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 65 selections this week
Bug Fixes
Development Tools
Ensure that function declarations are highlighted in the "function" color.
KDE Base
change a bit resize logic
Make sure to always execute one between syncToMainItemSize()
and syncMainItemToSize() in a mutually exclusive fashion.
this should (hopefully) fix the dancing dialog problem
and dialogs with content of the wrong size
FileIndexingJob: Pause it when on battery
The FileIndexingJob normally just takes one iteration, except in the few
exceptional cases when there is an offending file. In those cases, we
try to call the extractor again with half those files, and keep
splitting until we find the offending file.
Normally, the file indexer is never run when on battery, so this patch
just makes sure the error detection code is not run when on battery and
the file indexer was already running.
Do not change the selection when re-sorting the view
If a range of items has been selected by Shift-clicking or by pressing
Shift+Arrow, then each of them is added individually to the selection
before the items are re-sorted.
Before this commit, the first and the last item in the range were
moved, and all items between them were selected, even though these were
not necessarily the items which had been selected before the
re-sorting.
REVIEW: 117603
FIXED-IN: 4.13.1
Fix memory leak with Dropbox version control plugin.
In the current version we only call endRetrieval when
beginRetrieval was successfully in UpdateItemStatesThread::run().
This causes some problems with version control plugins (like Dropbox plugin),
which have to do cleanups in endRetrieval.
Now we always call endRetrieval after beginRetrieval when updating the version states.
FIXED-IN: 4.13.1
REVIEW: 117753
Calculator plasmoid: use the right decimal seprator according to user locale
Signed-off-by: Davide Bettio
Force the screen locker's greeter to show the password input field in
case of immediateLock
If the screen locker is set to not require a password to unlock, it will
not show the password input field even when the powermanagement settings
suspend the system and are set to require a password after resume (when
it was already running at that point).
This locks people out of their system.
This patch adds a signal handler for SIGUSR1 that switches the running
greeter to immediateLock mode. The locker sends that signal to make sure
the greeter shows the password input field when necessary.
REVIEW: 117091
Prevent popup from closing when changing brightness battery monitor is hidden in system tray
Touching the plasmoid status causes the popup to close. This patch does not touch the status
as long as the popup is open and defers that to when the popup closes.
REVIEW: 117533
FIXED-IN: 4.11.9
screenlocker: don't leave behind screensaver processes
Currently the screen locker just kills the greeter (kscreenlocker_greet)
when the screen is unlocked by the user during the grace time.
But apparently this can leave behind running screensaver processes
launched by the greeter, see the bug report (which has the highest
number of votes of all open bugs AFAICS).
This patch changes this to only terminate the greeter, and adds a signal
handler to the greeter to exit gracefully in this case.
The signal handler exits with return code 1, so that it is not possible
to circumvent the password input by just sending a SIGTERM. (the screen
locker restarts the greeter in case it doesn't quit with exit code 0)
FIXED-IN: 4.11.9
REVIEW: 117644
Scroll to the right position when going back and show hidden files is enabled.
Instead of emitting the directoryLoadingCompleted signal (via slotCompleted) in
KFileItemModel::setShowHiddenFiles directly, we now call
dispatchPendingItemsToInsert instead.
@Frank: Thanks for your help!
FIXED-IN: 4.13.1
REVIEW: 117021
Force the screen locker's greeter to show the password input field in
case of immediateLock
If the screen locker is set to not require a password to unlock, it will
not show the password input field even when the powermanagement settings
suspend the system and are set to require a password after resume (when
it was already running at that point).
This locks people out of their system.
This patch adds a signal handler for SIGUSR1 that switches the running
greeter to immediateLock mode. The locker sends that signal to make sure
the greeter shows the password input field when necessary.
FIXED-IN: 4.11.9
REVIEW: 117091
Enable the previous and next tab toolbar buttons
when multiple tabs are opened. Disable them again
when there is only one remaining tab.
Additionally set the default state to disabled.
FIXED-IN: 4.13.1
REVIEW: 117778
Bug 333566 - Quick filter in KMail 4.13 stops working with non-Latin characters (Cyrillic Russian Unicode) - search empty result
FIXED-IN: 4.13.1
We need to update database
Calculator plasmoid: fix decimal point which was not working
Signed-off-by: Davide Bettio
KDE-PIM
Fixes MailWebView::scrollToAnchor
The DOM code in MailWebView::scrollToAnchor no longer seems to work.
However there is a QT api call in QWebFrame::scrollToAnchor()
introduced in QT 4.7 that implements the functionality needed.
REVIEW: 117642
Remove the invalid GID part from PartTable before starting PartTable migration
More people than we expected have invalid 'GID' part in their PartTable,
which breaks migration to schema 25, because it expects all part types
to have a valid name.
To work around this fact, we DELETE all parts with name 'GID' from PartTable
before starting the actual migration. This will not fix the migration for
people with other invalid parts, but I haven't heard of any such. To make
this completely bullet-proof, we would need to iterate through all entries,
which would be massively slower than current INSERT INTO ... SELECT FROM approach.
Distributions, this is a good choice for backporting into 1.12.1 ;-)
FIXED-IN: 1.12.2
Office
Mapping through sort/filter proxy to get selection
The editor component did not consider the filter/sorting proxy when
determining/updating the current selection of elements.
This bug caused issues in other places such as when assigning a value
from the value list to selected items. See GNA bug 21870 [1] for
details.
[1] http://gna.org/bugs/?21870
GMIC: Fix crash when filter is applied to the layer which was moved
- the computation of tile width was buggy
- scaling pixels to float color-space in temporary tile
did not take into account the posibility that the source
tile is read only partially (when you e.g. selection)
- there is still some corruption when bitblting
gmic result to layer
GMIC: Fix crash when filter is applied to the layer which was moved
- the computation of tile width was buggy
- scaling pixels to float color-space in temporary tile
did not take into account the posibility that the source
tile is read only partially (when you e.g. selection)
- there is still some corruption when bitblting
gmic result to layer
Multimedia
Delay before starting media sources
The MediaLibrary waits for some time before emitting newMedia, newAlbum
etc so that it can batch multiple items together. Due to this, we have
to make sure that the first time we populate the library, we give
enough time to consumers to update themselves before we start possibly
resource hungry media sources.
Networking Tools
Fix for a bug that caused the contacts list to not expand some groups on opening and filtering
I've fixed the 325506 bug by creating a decision upon the validity of the inserted item's parent. If it is valid, it works as before, considering it is a top-level element we want to collapse/expand. If it is invalid, the inserted item itself is probably the top-level node (hence the invalid parent - there's none), so we get it in another way.
I don't think the second validity check is strictly needed, but I thought it was safer to keep it anyway.
REVIEW: 117791
Text-UI breaks "Per window" keyboard layout switching
This bug happens when the user has switched the keyboard layout of a chat tab and then switched to another application with another language, And he received a message or an "is typing" chat status, the language is then changed to the language of the Chat Tab that he was previously in, which is of course is an annoying behavior.
The reason of this behavior is that the restoreKeyboardLayout method is called inside the onCurrentIndexChanged without making sure that the Chat Window is active.
REVIEW: 117729
Automatically strip spaces for DNS servers and domains
Conflicts:
libs/editor/settings/ipv4widget.cpp
libs/editor/settings/ipv6widget.cpp
User Interface
Keep timestamp of last syncRequest and update with xTime on each sync
The sync protocol with e.g. Qt 4 windows is broken if our app time is
older than the one of the last sync alarm event. Thus we keep a timestamp
in the syncRequest struct of the last sent sync request. If the timestamp
is newer than our xTime when sending the next request, we update the
xTime to ensure that we have a new timestamp again.
REVIEW: 117734
Utilities
Prevent crashes on source entries that contain a line like "##"
Simply ensure that while we are stripping # the string retains the
QString::at(i) requirement of i being a valid index (which requires the
size() to be greater than 0 for us).
Random note: while size>0 is equal to !isEmpty, the ::at() documentation
specifically ties the validity of index to size, so for clarity's sake I am
using size>0 rather than !isEmpty.
FIXED-IN: 2.2.1
Features
Accessibility
Punctuation feature of speech-dispatcher exposed to Jovie.
Added punctuation attribute to voices in talkercode, talkerlistmodel
and talkerwidget.
Support setting punctuation type based on punctuation attribute of
talkers and talkercodes.
Patch submitted by Ajay Singh
Development Tools
Ask user for confirmation before git checkout -- <path>
Since this discards all local changes irreversibly, it's too easy
to fat-finger in that clumsy menu and needs a confirmation.
Make the clang plugin use Includes and Defines interface.
Now it's possible to add includes/defines through GUI.
REVIEW: 117763
Educational
Implement new fields: pregrade and interval
This patch implements two new fields in a kvtml file:
- pregrade, which is equal to grade but used in the interval 0-1 days
as opposed to grade which is used for intervals 1 day and up.
- interval, which is used to indicate how long since a word was last
trained it is due for training again.
This is prerequisite to the implementation in Parley of the initial
training. The reason for implementing these two fields instead of
changing old ones is that it will still be backward compatible. I
think this is important, especially in the light of the ktouch issue
that we saw on the mailing list a few days ago.
REVIEW: 117730
KDE Base
For syntax highlighting, allow .js-files to start with a shebang.
When writing node.js scripts it is common to include a shebang at the
top, like `#!/usr/bin/env node`, and save it in a .js-file. However,
the syntax highlighter for JavaScript does not understand the shebang,
and tries to highlight it as JavaScript.
It is understood as two literal regular expressions (/usr/bin and /env
node), the last of which is not closed, meaning that the rest of the
file is attempted understood as part of the last regular expression.
This defeats syntax highlighting for .js-files that start with a
shebang.
This patch allows .js files to start with a shebang.
REVIEW: 117571
Add a System Monitor
This monitor is launched on pressing Ctrl + Esc, and closed when Ctrl +
Esc is called again. A kded module is responsible for keeping this global
shortcut.
Initial import of Application Menu aka (Homerun) Kicker.
This version is a mostly-from-scratch reimplementation of
the Plasma 1 version.
Some minor-in-scope loose ends are left, both external and
internal to the code; check TODO for whether your issue is
already known.
Add a ComboBox to PlasmaComponents
REVIEW: 117798
Timer plasmoid:
* Blinking when countdown is suspended
* Added Start, Stop, Reset to applet contextual menu
Signed-off-by: Davide Bettio
Mount partitions when you open them in a new tab.
Instead of just emitting the slotItemMiddleClicked signal in
PlacesPanel::slotItemContextMenuRequested we now use triggerItem with
Qt::MiddleButton, which does set up the storage first and emit
the slotItemMiddleClicked signal afterwards.
FIXED-IN: 4.13.1
REVIEW: 117755
Added viewMode getter method to KDirOperator to allow getting the current view mode.
Added setViewMode to allow setting a view mode. The QPA for QFileDialog is usong this method to implement QFileDialog::setViewMode.
Reviewed by: David Faure
Timer plasmoid:
* Stop when timer expires.
* Install it correctly
Signed-off-by: Davide Bettio
KRunner: start the timer if it is not running
This way one does not need to stop typing in order for results to start
showing up.
Add an explicit disable checkbox for Baloo
This adds a new string "Enable Desktop Search"
FIXED-IN: 4.13.1
KDE-PIM
Implement MERGE command handler
MERGE command allows merging new item into an existing one based on
GID and/or RID match. If no such item exists a new one is created.
If it exists, the new item is merged into the existing one, overwriting
conflicting flags, and parts.
Merging is restricted to parent collection and mime type, to minimize
potential RID/GID conflicts, since they are not guaranteed to be unique.
Syntax of MERGE command is equivalent to syntax of X-AKAPPEND command,
except for the command ("MERGE") is followed by parenthesized list of
attributes to merge by (currently supported values are "REMOTEID" and
"GID").
Implementation-wise, Merge handler is a subclass of AkAppend handler,
which allows reusing all the existing code for insertion of a new item
(in case no candidate for merging is found) and only implements merging.
IMAP-Resource: Refactoring of retrieveitemstask
This introduces the following changes:
* Batch wise fetch to not overload akonadi
* Proper progress reporting through setTotalItems
* Make it clear that incremental/non-incremental is a mode of the task that
cannot be changed.
* Removed the processed mailbox hack
* Introduced a check for inconsistent local cache state (since we rely on this to be correct)
* Made sure the local collection is actually cleared when empty on the server
* Made sure changesince is only used in inremental mode
* Some minor refactorings for code clarity
* Fixed "retrieve items without body" mode, which just worked by chance
and would delete all your local mail if it once didn't end up in
incremental model.
* Disabled "retrieve items without body" mode. This should be called
explicitly by the resource when required. It's very expensive and certainly
shouldn't be executed on every sync. The only reason it's still in the
same job is for codesharing (it's really entirely unrelated otherwise).
CollectionSync: allow to keep the local changes.
This new property allows resources to indicate whether the CollectionSync
should overwrite the locally stored changes.
This ensures that the CollectionSync doesn't overwrite existing attributes
with the default values provided by the resource on every sync.
REVIEW: 117697
Office
Add posterize filter
Thanks to Manuel Riecke!
Allow Color to Alpha filter work in Adjustment Layers
Thanks Beast to the patch! :)
Add find text in tree view, current diagram and all diagrams feature.
The implementation adds menu entries and keyboard shortcuts for 'find', 'find next' and
'find previous' functions.
On start of a find operation a dialog will be opened, which allows to set the find filter
and a simple search text. Depending on the selected filter all tree view elements or elements
from the current or all diagrams are compared case insensitive against the search text.
The results are stored for later access and the first result will be displayed as described below.
Running 'find next' or 'find previous' using the 'tree view' filter will select the related search result,
Running 'find next' or 'find previous' with current diagram or all diagrams filter set, shows the related
view and selects the requested widget, which is positioned in the center of the view with a 100% zoom.
If a related tree view item is present, it will also be selected.
The implementation is undo/redo proof, because it stores scene/object/widget id's instead of pointers.
gemini: Enable save incremental after saving a new file.
Caption isn't updated properly yet, but I could not really figure out
how to do that properly.
OdfTextReader: Add support for text annotations
This change also includes an enhancements to the KoXmlStreamReader
that was already published in the .h file but not implemented in the
.cpp.
libodf2: Add support for header/footer properties and page layout properties.
This is in preparation for support for page layout.
Networking Tools
Share images over common image sharing networks
When dragging and dropping images over the text-ui
allow uploading to popular services such as imgur.
This is useful when on networks that do not support
file transfer
REVIEW: 117573
FIXED-IN: 0.9.0
[ #37142 ] Complete the security validation GUI
[ #37142 ] Add a security evaluation framework
User Interface
Introduce config option for OpenGLPlatformInterface
A new config option "GLPlatformInterface" is added to the Compositing
settings group. Valid values are "glx" and "egl". This config option is
honored by the Scene to decide which backend to create.
The setting gets sanitized by the operation mode (egl for Wayland),
the environment variable KWIN_OPENGL_INTERFACE and the compile time
support. These switches are removed from the Scene to not have them
duplicated.
Utilities
Provide AppStream metadata file
REVIEW: 117609
This commit will add an AppStream AppData file to Ark so it can show up
in modern AppStream-aware software-centers.
For more information on AppStream metadata, check out this wiki page:
Other
Implement support for QFileDialog::setViewMode.
A unittest has also been added but commented out for now due to a bug in Qt: https://codereview.qt-project.org/#change,84137
Reviewed by: David Edmundson
Optimization
KDE Base
Cleaner: Remove the database file on disabling
Instead of manually cleaning every file which would consume a lot of
time and cpu.
KDE-PIM
Make PersonModel faster
Instead of performing a hash lookup each time in data() store
MetaContacts in the list and instead use the hash to the index only
for insertion/deletion.
Networking Tools
Remove internal countContacts function
This method counted the contacts in a group every time a contact in that
group changed. This meant on every insertion we would loop through the
entire set of contacts to make the new count.
Assuming all contacts come online we end up making contacts^2 calls to
data() which is obviously really slow. On my system KPeople::data()
showed over 300,000 calls on load
Instead strip this code and re-insert a simple filter at the contact
list level (see patch to contact list)
Other
KDE Base
Remove solid-device-automounter
This should be ported to systemd so any automount happens within
systemd user session startup and we do not depend on kded being started.
Also, The current code is not working well, it keeps mounting things
after you remove the item from the list, it mounts things twice making
it bad for encrypted disks (you get the dialog twice), the model gets
fucked up etc.
So, for the time being lets just remove it, and restore it the moment
we have a maintainer and somebody to make this rock.
Weather DataEngine/ion library: Port to Plasma2/Qt5 ++
Signed-off-by: Davide Bettio
KDE-PIM
MERGE: Only emit itemChanged if the item is actually modified by the merge
This adds a new optional argument to PartHelper::storeStreamedParts() that will
be set to true if the part data have changed, or a new part was created. The
code always compares data sizes first and will fall back to comparing the actual
data only when the 'changed' argument is set by caller and when part sizes are
the same.
Imap-Resource: Refactored to be subclassable.
Subclasses can inject a derived ResourceState and override all necessary
methods.
Office
Port Kexi Forms to Qt4's scroll area
This is a milestone leading to Qt5-based Kexi.
Temporarily wrapped TableView in order to keep it functional.
REVIEW:117687
DIGEST:Kexi on the way to Qt5: Forms ported to Qt4's scroll area
FIXED-IN:2.9.0
libodf2: Create a base class for KoOdfStyle
This will make it possible for the style manager to handle all
different style types in the future. Currently it can handle
style:style, but in the future it will also be able to handle
style:page-layout, text:list-style and all the number: style types.
User Interface
made kdecorations dependency optional to be able to compile oxygen style (and not window decoration) outside of kwin.
Fully port KXMessages to XCB
* use xcb to resolve the intern atoms
* use xcb event structure for sending the client message
* add xcb overload for KXMessages::broadcastMessageX
* deprecate XLib variant
* extend test to verify all three variants of sending messages
REVIEW: 117733