Issue 314
17th November 2013 by KDE Commit-Digest TeamContributors
Alex Fikl
Giacomo Barazzetti
This Week...
Statistics
Commits | 2245 by 165 developers |
Open Bugs | 21300 |
Open Wishes | 15925 |
Bugs Opened | 283 in the last 7 days |
Bugs Closed | 260 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/l10n-kde4 |
178
|
/branches/stable |
130
|
/server/lib |
52
|
/trunk/l10n-support |
44
|
/kate/pate |
38
|
/src/widgets |
17
|
/krita/ui |
15
|
/kmail/configuredialog |
12
|
/src/personsmodel.cpp |
12
|
/krita/plugins |
11
|
Files | Developer | Commits |
489
|
Laurent Montel |
173
|
219
|
Aaron J. Seigo |
73
|
204
|
David Edmundson |
68
|
177
|
Boudewijn Rempt |
61
|
159
|
David Faure |
55
|
147
|
Harald Sitter |
55
|
135
|
Aleix Pol Gonzalez |
48
|
144
|
Burkhard Lück |
48
|
144
|
Martin Klapetek |
48
|
102
|
Alex Turbov |
34
|
Internationalization (i18n) Status
Language | Percentage Complete |
French (fr) |
98%
|
German (de) |
98%
|
Dutch (nl) |
97%
|
Estonian (et) |
93%
|
Galician (gl) |
92%
|
Italian (it) |
91%
|
Hungarian (hu) |
89%
|
Danish (da) |
89%
|
Catalan (ca) |
86%
|
Greek (el) |
84%
|
Bug Killers
Person | Bugs Closed |
Jekyll Wu |
68
|
Christoph Feck |
19
|
Chao Feng |
13
|
Andrea Iacovitti |
13
|
Alex Fiestas |
11
|
Thomas Lübking |
11
|
Boudewijn Rempt |
8
|
Gilles Caulier |
7
|
Joris Steyn |
7
|
Ralf Habacker |
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 74 selections this week
Bug Fixes
Development Tools
Fix crash loading XMI
Do assign parent when loading XMI. Commit 1bfad17 regressed the loading of (for
example) RefactoringAssistant.xmi. This fix makes loadFromXmi() only determine
a new parent when pasting (so, when not loading a file) like it was before.
Fix copy/paste of folders
Copying folders in the tree view now works as described. Nested folders and
pasting to other instances of Umbrello work fine as well.
Ideally, when copying a folder, the XMI clip only contains the UML:Package node
and all child items are contained and loaded from Namespace.ownedElements. But,
loadFromXMI() does not support that. This fix makes a paste operation ignore
ownedElements completely and uses the "flat" list of all children to create the
objects.
Fix spell check for dictionaries without country code
FIXED-IN: 4.12
Fix selectedItem / currentItem mixup
Really fix all file templates
REVIEW: 113797
FIXED-IN: 4.6
Fix crash when copying widget
Check search result size before insert it.
Restore drag&drop in the tree view
This change allows moving items in the tree view into other items. For example:
move diagrams and classes to folders, move operations to other classes, etc.
It's also possible to copy/paste items by holding ctrl while dragging.
Fix Bug 243503 - Lokalize shows over 100% compatibility
Educational
Fix regression introduced in 9e630ca
Parsing a broken/non-existing KML document returns a null
GeoDocument, so we need to recreate a bookmark document in order
to prevent crashes later on.
FIXED-IN: 4.11.5
(cherry picked from commit 7603ee9e386ed7a6e638bdf5cf7a450b04a752b4)
KDE Base
clamp timeline time for highlighted desktop
FIXED-IN: 4.11.4
Fixed Mozilla bookmark import
REVIEW: 113785
FIXED-IN: 4.11.4
Replace the current selection (if any) in Visual Mode when pasting.
[kwin] Do not filter out button release events for moving clients
The QWidget of the window decoration is otherwise still thinking that
the button is pressed and waits for a release. Thus the next click on
the decoration doesn't trigger the move mode.
fix shortcut available check
and bypass idempotent shortcut setting
FIXED-IN: 4.11.4
REVIEW: 113807
Correctly position output identifiers on rotated screens
FIXED-IN: 1.0.2
Do not add plugins' directory into PYTHONPATH to avoid module names
clash. Add 'katepate_' prefix to all .desktop files installed (also
to avoid possible names conflict). Partucular plugins' .desktop file
now contain Python module name instead of .py filename. Added support
for directory based plugins.
KDE-PIM
Don't trigger a collection sync in the resource in the find unindexed items job.
This indirectly fixes the huge memory usage of the mixedmaildir resource,
because it was loading all the indexes for all the folders. Now it
only loads stuff on demand, as intended, when the user clicks on a folder.
Add UI hints and prevent saving a configuration which definitely is not going to work
v2: Check more fields -- thanks to Caspar for review.
REVIEW: 113886
Use dedicated slots for handling exactly the actions they should handle
Previously, all actions in the header context menu were handled by the
same method slotHeaderContextMenuTriggered(), even actions in submenus
which was clearly not intended. For example, selecting sorting
By Date/Time of Most Recent in Subtree in the Sorting submenu did also
enable the Sender column (because the action for showing/hiding the
Sender column had the same index set as user data as the action for
sorting By Date/Time of Most Recent in Subtree). Usage of dedicated
slots attached to the actions' signals instead of a single slot
attached to the menu's triggered() signal (which is also emitted for
actions in submenus) fixes this.
FIXED-IN: 4.11.4
REVIEW: 113901
Office
Fixed Expression Error status in Scilab backend
Fix the cursor of all the non-brush tools
The cursor/outline switching code has been moved to KisToolFreehand,
which means that the settings will be applied to it only. The rest of
the tools will show its default cursor.
If we cannot establish a profileName, do not create a colorspace
Fix the outline of the tools that do not provide one
Array values improvements
- Fix a crash when using array values.
- Make array values render correctly when used (ctrl+alt+enter)
fix text to columns
Multimedia
Fix sound glitch with "fade-out on pause" with GStreamer.
This is really just an ugly workaround for an issue with
(Phonon-)GStreamer. Essentially there is no way to flush the audio
buffers, so that implementing fade-out in combination with pausing
becomes a bit of a gamble.
Please test, as I cannot reproduce the sound glitch on my system!
FIXED-IN: 2.8.1
BACKPORT
use backend_version define as option for automoc + debug API target
otherwise classes may get moced with the wrong interface version setup.
also imported API target debug from VLC to make it obvious in the cmake
output what API target will be used.
FIXED-IN: 4.7.1
OrganizeCollectionDialog: hide complex options behind a button
In commit 7c780bf5, Ralf addressed bug 283361 by only showing the preview
table when the screen is large enough, which I believe went too far.
This is a bit different approach, the file scheme and other options are
hidden behind the Options button when the dialog is shown, making it much
more cleaner. The rationale is that the user usually sets up the options
once, not every time (and beginner users may be happy with the default
schema right away).
FIXED-IN: 2.9
Games
New levels by Frank Uebbing
Features
Development Tools
Support nesting of class in class
GUI support was removed in 4.11.3 for no valid reason. This commit adds it back
and also works with drag/drop operations.
Additional fix: don't lose stereotype of package when nested in class.
Add shape() reimplementation for drawing interface widgets.
Educational
filter the list of maps
using KListWidgetSearchLine it is just adding the class to the vertical
layout. thanks to Albert for telling me about this class.
FIXED-IN: 4.13
REVIEW: 113660
Save/Load variables working in Scilab backend
qgraphicsview handles the map and divisions
Using addPixmap to a QGraphicsView, just let the view handle the zoom,
moves.... Just handling all the view events to move the division
smoothly.
FIXED-IN: 4.12
REVIEW: 113425
Respect general sync activation status
Graphics
Improve the Auto Select user interface and the scan previewer
Move the autoselect controls to an AutoSelectBar below the preview
image, only displayed when auto select is turned on. Move the
scanner background combo box, along with the previously hidden
dust size slider and a new margin slider to a new AutoSelectDialog
accessed from the bar.
Add an application action (in the scan toolbar by default) to
turn on auto selection and show the bar, along with an icon
for it (currently a bit crude).
Change the threshold and dust size sliders to a KScanSlider to
provide a spin box for the value. Fix KScanSlider (and other
similar controls) being able to take keyboard focus in this
dialogue and elsewhere.
Centralise the auto selection constants (apart from the config
keys which are only used by Previewer) in a new AutoSelectData
namespace and header file.
Also move the scan size display and file size indicator to the
application status bar, eliminating the waste of horizontal space
caused by it alongside the preview area.
Centralise all status bar handling and item display in a new class
StatusBarManager, instead of being split between Kooka and KookaView.
Gallery image and scan area each have their own status bar indicators,
consistently formatted.
KDE Base
Add support for adding outputs
New intel driver adds virtual outputs, it starts with VIRUTAL1, when
it is activated when it creates VIRTUAL2 and so on.
This patch only adds "outputAdded", outputRemoved will come after.
REVIEW: 113720
DIGEST:
* Search installed Python plugins via trader
* Introduce `Kate/PythonPlugin` service type and .desktop files for plugins
* Make plugins management look-n-feel of C++ plugins management
* Enabled plugins now are per session (stored under "Enabled Plugins" key of the pate
config group), so it is possible to have different plugins in different sessions
(just like C++ plugins).
* Introduce per session configuration storage for python plugins (in addition to
a "global" one)
* Provide little more details if pate engine failed to load
... a lot of internal refactorings also have been done.
Update the Places Panel entries when switching the language
Before this commit, we stored the translated "Places" in
.kde4/share/apps/kfileplaces/bookmarks.xml. This was not intentional -
it only happened because
PlacesItem::updateBookmarkForRole(const QByteArray& role) always stored
the translated text (returned by PlacesItem::text()) in the KBookmark.
This is be fixed by first checking if the text() is equal to the
translation of the text that is already stored in the KBookmark, and
not updating it in that case.
Note that we have to make sure that all "Places"-related use the same
context "KFile System Bookmarks" to make that work.
Thanks to Burkhard Lück and Albert Astals Cid for helping to fix this
problem!
FIXED-IN: 4.12.0
REVIEW: 113850
New Calendar Applet
Very basic applet that shows the calendar view. It uses the
org.kde.plasma.calendar import in plasma-framework.
Huzzah for code sharing!
Implemented copy from device to local file system !
The only thing not working is setting the size of the file, but
the transfer itself works !
implement min/max sizes for panel length in the scripting
should be forward ported to plasma2's panel system
Add support for X-Python-Dependencies property of a kate/pate plugins'
.desktop file w/ a simple list of dependencies. "Simple" means this
list may contain only module/package names, cuz checker just tries to
import given name. If failed to load, the plugin gets disabled w/ appropriate
tooltip text in a plugins manager page.
Delay calendar initialization in digital clock
We use a Loader now to encapsulate the whole Calendar shebang, saving
hugely in startup time. Also, as the calendar is really only loaded
on-demand, it won't use any memory if you don't use it. This also means
that we can prevent Akonadi from autostarting on login, at least as far
as the Calendar is concered.
Unrelated: CompactRepresentation is now called DigitalClock.qml, as
that's exactly what it is.
DIGEST: lazy loading of Plasma Calendar
R +8 -2 plasma/generic/applets/digital-clock/contents/ui/DigitalClock.qml [from: plasma/generic/applets/digital-clock/contents/ui/CompactRepresentation.qml - 093% similarity]
Add a generic cloning method that works for workstations and laptops
the new cloneOutputs method adds extra checks like making sure the
picked resolution is not bigger than the bigger allowed resolution.
KDE-PIM
Big change to support synchronize resources.
Continue to implement merge contacts
continue to implement kiosk support
Office
Hide price fields depending on the attribute value 'HidePrices'.
This allows to create documents like notes of delivery which do
not display a price but only articles.
Rewrite the device mirroring code
This patch does effectively three things:
1) Implements new mirroring algorithm, which
+ doesn't have rounding bugs of the previous one
+ works 4-5 times faster that the previous one
+ is the same for Horizontal and Vertical mirroring
2) Ports mirroring to the Strokes Framework (implements
new KisMirrorProcessingVisitor)
3) Fixes exact bounds cache reset in KisPaintDevice
Added syntax highlighting for OctaveScriptExtension
Added syntax highlighting for RScriptExtension
Various improvements to the crop tool
Patch by Michael Martini. Thanks!
In addition a new decoration type has been added called crosshair. In
summary two new checkboxes have been added. One that allows the user to
either limit the crop to the current image size or grow the crop selection
beyond the image boundaries. The second checkbox enables center growing /
symmetric resizing of the crop bounds.
Multimedia
Allow right click to show menus on the media items
Networking Tools
Let the chat notifications timeout instead of being persistent
Reviewed-By: David Edmundson
Implement creating of messages with basic arguments
Make getting of messages asynchronous
Games
Make "current standings" dialogue dockable.
The dialogue "current standings" is replaced by a dockable widget. This way
the player is able to see the standings all the time without the need to
open/close the dialogue at the beginning of each turn.
The dockable widget can also be made floating, so it can be used almost the
same as the modal dialogue before.
REVIEW: 113782
GUI:
Other
Plasmoid now displays the devices' battery
add draw color and fill color functions
Optimization
KDE Base
KConfigXT performance fix: no need to reparse when nothing to save
Somehow I forgot to commit this after review 103166 was approved
(for KDE/4.7, in 2011 !!!). Not sure why it was "marked as submitted",
I couldn't find this commit in any branches.
Closing a kmail composer window takes a very long time, because it's calling
writeConfig() on 7 kconfigskeleton objects (see KMKernel::slotSyncConfig), and
each of them calls KConfig::sync() [that's ok, it doesn't do anything if there's
no change to save, i.e. no dirty entry] followed by readConfig(), which calls
KConfig::reparseConfiguration(). That's a lot of config file parsing, for a
case where *nothing has changed*.
Looking into the history of the kconfigskeleton code didn't help finding out
why writeConfig calls readConfig, this was added by Waldo in the initial
code in 2003.
A real sync() with dirty entries triggers a reparsing (to merge changes on-disk
with changes in memory), so it makes sense to propagate the changes from KConfig
to the KConfigSkeleton member variables after a sync. But not when sync does
nothing at all.
Single characters made QChar instead of QString
Making single characters as QChar when they are added to a QString.
Adding single characters to a QString is faster if the characters are
QChars and not QStrings.
Same holds for arguments to QString::startsWith(), QString::endsWith(),
QString::remove() and QString::section()
Changes made to in these function calls as well
REVIEW: 113859
KDE-PIM
Save memory by never holding two copies of the items.
Instead we modify the items "in place" in the result list.
Use update-during-copy-and-just-swap-tables approach to update PartTable
We create a PartTable_new with the new layout, populate
PartTypeTable, then we copy all data from PartTable to
PartTable_new and we modify the data on flight using
'INSERT INTO ... SELECT FROM ...' and then we just
rename PartTable_new to PartTable and drop the old one
This speeds up migration on MySQL by 50% as it avoids
copying the entire table twice for ALTER TABLE and also
works on SQLite
Multimedia
OrganizeCollectionDialog: further improve usability
* Remember dialog size
* Make the preview sortable
* Factor out common track paths of both preview and original to the
header to save horizontal space
* Prevent edits to the preview
* Don't repaint the table when you only toggle overwrite mode
Networking Tools
Small optimization for loading contact's icon
Reviewed-by: David Edmundson
Security
KDE Base
Move KIO to tier3
Removes staging/CMakeLists.txt as well.
REVIEW: 113820
Other
Port icons kcm to KF 5
Switching icon themes and effects works but the changes do not
seem to be picked up at run-time.
Also the KColorButton widgets don't seem to work, you select a colour
but the widget doesn't show the selection.
REVIEW:113853
Port KTimeZoned to Qt5/KF5
Originally I wanted to port KTimeZoned 1:1 to Qt5/KF5, but then I found
out that all the stuff KTZD was doing was added in QTimeZone, that
includes reading correct system files/env variables to obtain the
timezone and returning the proper system zone (KTZD did all this by
itself). It also doesn't need to parse the timezone files itself or
watch for their changes as QTimeZone objects are not stored.
So now it's just a thin module watching /etc/timezone (used by Debian-
based distros) and /etc/localtime (used by eg. Fedora or Suse, but also
by Debian in conjunction with /etc/timezone) for changes and if it
detects a change, it checks if the new timezone is really different and
if it is, it sends out a DBus signal "timeZoneChange". I changed it from
"configChanged" as I think "timeZoneChanged" makes way more sense.
Besides that it also watches the timezone database and emits signal
"timeZoneDatabaseUpdated" in case the database itself is changed.
REVIEW: 113260
Port Locale systemsettings module
This is a basic port, it builds and seems to basically function.
There's still a lot of KDE4Support stuff in there, and the
calendarsystem is disabled for now, as that part of the API changed a
bit. One issue I've seen is that the Plasma clock doesn't seem to pick
up the time format change, will need further investigation, possibly a
fix in Plasma.
Still, one more step towards a working desktop. :)
Screenshot: http://i.imgur.com/jld7RgS.png
DIGEST:Port Locale Systemsettings module
Remove <QtDBus/QtDBus> includes.
QtDBus/QtDBus includes QtCore/QtCore, i.e. all of QtCore.
We don't want that, it slows down compilation and muddies include dependencies.
This meant adding lots of includes from QtCore and QtDBus manually.
Bring back drkonqi
Reporting is deactivated as that requires kxmlrpcclient. Also tests
are currently disabled, otherwise it works just fine and provides us
a good looking backtrace on crash.
Multimedia
Begin refactoring Source, major clean up
Initial cleanup round for Source
Remove ifdef blocks about abstractmediastream
Horde of build fixes including fixes for AbstractMediaStream
Put prefix for SourcePrivate members
Virtual destructor for Source
Reorder Source copy constructor, remove friends
Device name from string to byte array
Rename (rhs) parameter to (other)
Reorganize includes for Source
Replace DiscType with Source::DeviceType
Add SourceControl skeleton code
Standardize header guards for Source related headers
Other
Add Windows Driver Kit headers
On behalf of Patrick Spendrin, he probably forgot to upstream this patch
from portage.