12th May 2013by KDE Commit-Digest Team
|Commits||2441 by 142 developers|
|Bugs Opened||324 in the last 7 days|
|Bugs Closed||309 in the last 7 days|
|Aleix Pol Gonzalez||
Internationalization (i18n) Status
|Brazilian Portuguese (pt_BR)||
|Maarten De Meyer||
There are 53 selections this week
Don't store a ProjectBaseItem in the MakeJob
Use a QPersistantModelIndex instead and fetch the item only when it's
needed. This way we can make sure that we don't crash if the item was
deleted during the job's life.
This is a bug fix, but I'm only committing to master for the moment.
Make satellite group names translatable
All strings translatable.
Fix some space inconsistencies, force relayouting on resize.
Note: Review request consists of the following commits:
beb86d0 Fix some space inconsistencies, force relayouting on resize.
3046305 Restrict maximum size of shown text.
7daf920 Strip summary and author tags with excessive size.
3088eeb Equal button width. Show disabled update button for !upgradadable ones
5455fdb Migrate newstuff config file to MarbleDirs, use new internal dialog.
aef3e29 Finish display and actions.
36eb204 Publish download progress as model item property
600e127 Fix querying payload size (needs to follow redirects)
4fc11ba Finish display, actions, progress report.
e0df23b Replace browser action with an in-app installation dialog (in progress)
3f8cfe0 Download preview icon and use as decoration
8c60cbc Rename members to indicate they're URLs, not data
ICC profiles should be padded to 4 bytes
In practice with libpng >= 1.6 the profile cannot be embedded if it has
the wrong size thus preventing digikam/showfoto to write png files at
M +- -- profiles/srgb-d65.icm
i18n: must use KDE i18n's argument substitution.
Fix crash when quitting apps
KFileItem: port away from mode_t and time_t in the API.
Simplify constructors to avoid the very common
"Unknown [type], Unknown [permissions], url"
Provide both mode_t permissions() [for compat, and to support advanced permissions
like SUID/SGID in the properties dialog] and QFile::Permissions filePermissions()
so that apps can write portable code.
Merge branch 'KDE/4.10'
Pull in WebKit r83800 by Geoffrey Garen.
Don't show passwords contained in HTTP URLs in error messages
Reparse configuration before (un)loading scripts
When the scripting KCM triggered a loading of a script it did not work
because the scripting code was operating on an old data set.
Reparsing the configuration before evaluating which scripts to (un)load
solves this problem.
Cherry-picked from 4.10 branch: dd5b4bdec8e24359d4715c078e2f442967a3f873
Plasma Wallpaper BackgroundListModel: Avoid using KFileMetaInfo
1. The Xesam width and height properties are never returned by strigi
and haven't been returned for a very very long time. It currently
returns the nfo:width and nfo:height property instead.
2. KFileMetadataWidget is blocking and blocks while it is calculating
the height and width. It is better to open the file and calculate it in
another thread as done by the ImageSizeFinder
3. QImage in more reliable and actively maintained in contrast to
(cherry picked from commit 8a6f783dfd6f021173f5d3b47772b0fc320eba31)
Remove "Block global shortcuts" global shortcut
This shortcut did not make any sense to me, because you could block the
global shortcuts for KWin, but not re-enable them again. So once blocked,
it was blocked for ever till kwin --replace &.
This is in opposite to the commit message which introduced it
IMAP: parse 64bit MODSEQ and HIGHESTMODSEQ correctly
Thanks to Alberto Mardegan (mardy on IRC) for reporting. Shame on me for not
checking this properly from the beginning.
ABI: Vlan type is reported by NM as 11 and not 0x11
Don't skip item when restarting a job
When a recoverable error occured (invalid tokens), the job
skipped the item that has failed and tried to continued with
the next one after being restarted. With single-item
jobs this caused clients that expected exactly one item in reply
With QueueHelper, the job will re-submit the failed item after
restart before cnotinuing with the next in queue.
Fix Bug 319394 - KNode does not validate server addresses at account creation
Fixed a midifiers bug
1) The tool should register the modifiers it is going to use
2) The gesture() should be optional for a tool
Fix issues with width/height when creatign image from clipboard
Patch by Sahil Nagpal
Fixed positioning of the image pasted to Krita using Clipboard
Now it works the following way:
1) When copy-pasting from Krita it tries to paste the clip to the original
position in the image.
2) When copy-pasting from other applications it pastes the clip to
the center of the image
Fixed positioning of the image/layer Drag&Dropped to the Krita Canvas
Now the Drag&Drop of the image or a layer to the canvas works
in the following way:
1) [no modifiers pressed]
* Dropping Krita Layer (from Layer Box):
Positions to the original offset in the original image. If it doesn't
fit into new image, it drops to the center of the new image.
*Dropping an *image* (not URL) from Chromium or other application:
Drops to the center of the image.
2) [Shift modifier is pressed]
Both types of pastes are recentered near the center of the new image.
3) URL's are always dropped as usual to the top-left corner of the image.
Fix crashes on track change (both with Phonon-GStreamer and Phonon-VLC).
The Wikipedia applet uses QtWebKit for HTML rendering. On
Linux, QtWebKit uses GStreamer for media playback. Turns out that this crashes
with a high probability whenever an <audio> tag is present on a web page. As
music artists' pages often contain audio snippets in Vorbis format, it crashed
a lot when Amarok's applet rendered a page.
Removing all audio tags from Wikipedia pages before rendering them in our applet.
Of course, the real fix would have to be done upstream. But until that happens, our
workaround here fixes a shitload of crashes.
We might want to do a 2.7.1 release for Linux, with this patch.
Fix Saved Playlists and Podcasts actions
After 2 failed attempts to solve this non-intrusively, I realized the
obvious: the actions belong to the view, not the model! (Qt has no
Model/View/Controller, it has Model/View+Controller)
After this it was "easy", just a fair bit of work to move relevant
actions to PlaylistBrowserModel and ensure they work correctly. Some
playlist (and podcast) actions weren't really appropriate for
PlaylistBrowserModel. Methods to get actions from these needed to be
changed, because the old way simply didn't allow reliable action
When I was at it, I cleaned up a fair bit of things in podcasts (and
playlist providers) - I haven't seen such code bloat in a while -
100-line-long unused function isn't anything surprising there. I'm
pointing at you, Bart. :-)
This regression exists since Ralf's cleanups, although Ralf certainly
didn't introduce it - he just broke the delicate equilibrium of hacks
that kept it working. (and I still think it was working just by chance)
This doesn't go into ChangeLog as it was introduced post-2.7. The code
is not perfect yet (we have lost "Create Empty Playlist" if you clink
into empty space), but the bug this fixes is much more critical.
Fix change of the icon for section header
fix endless loop
do not go into infinite loop in "save diff"
Avoid crash at end of person-v-person game.
Rotate annotation to match page when setting annotation's properties
apply patch #79649 from Yiou Wang to support Video properties search in Advanced Search tool.
Create the XmlGui framework
Put KGlobalAccel in to bootstrap it. This way KGlobalAccel leaves
KWindowSystem as discussed with Martin.
Allow each plugin to disable levenshtein distance check
If a plugin does not specify a distanceString that should be used
for the false positive search result check. No check is used and
all search results are valid ones.
Needed to cope with the tvdbmal plugin, that adds alias support and
transforms the user search strings into something else.
Order tasks by activity
New ordering strategy ActivitySortingStrategy was created. This strategy will
order elements by the activities they are available on.
The items which are available in the activities with more tasks will be
New class to encapsulate a Window's Pixmap
The behavior for creating a pixmap for a window is moved from Toplevel
into a dedicated class WindowPixmap. Scene::Window holds a reference to
this class and creates a new WindowPixmap whenever the pixmap needs to be
discarded. In addition it also keeps the old WindowPixmap around for the
case that creating the new pixmap fails. The compositor can in that case
use the previous pixmap which reduces possible flickering. Also this
referencing can be used to improve transition effects like the maximize
windows effect which would benefit from starting with the old pixmap.
For XRender and OpenGL a dedicated sub-class of the WindowPixmap is
created which provides the additional mapping to an XRender picture and
OpenGL texture respectively.
tell the user where the POTD is coming from on the loading screen
Drop cursor font support and convert KDE Classic into an image-based theme.
The "KDE Classic" mouse cursor theme was implemented in code to source
cursor images either from bundled XPMs or by rasterizing glyphs from the
cursor font. This was used only when changing the cursor theme for
already-running applications at runtime; for newly-started apps (and so
including for new sessions) things relied on the special "#kde_legacy#"
theme name triggering an equivalent fallback in Qt and libXcursor, by
virtue of "#kde_legacy#" not actually existing.
This system-level fallback behavior is no longer evident on modern
systems, instead the distro-supplied default cursor theme gets loaded.
That meant the "KDE Classic" theme no longer actually worked for newly-
started applications (and so also not after relogin).
As the new fallback behavior makes sense, pursueing an upstream "fix"
is not economical. This patch instead takes the approach of deleting
the legacy code and reimplementing the "KDE Classic" theme as a modern
image-based cursor theme by dumping the results of the old rasteriza-
tion code into files.
This means losing support for theoretically-changable cursor fonts,
- It's doubtful any systems around today rely on custom cursor fonts.
- A mix of a custom cursor font and the XPMs bundled with the KCM
would be ugly anyway.
- This is all highly X-specific and likely of no use in future Wayland
Dolphin Places: Make it easier to drag and drop items
When doing a drop, a check is performed to see if it is within x pixels
from the top or x pixel from the bottom of the rect. If it is, then the
drop is considered a drop between items.
This x was fixed to qMax( 4, myStyleOption.padding ) which would
generally be 4. This is fine for some cases, but when the rectangle size
increases then this 4 pixels is not enough. Hence this 'x' is now being
set to 30% of the rectangle height.
By default the rectangle height is 20 pixels, so x is now 6 instead of 4
in the default case, which does make it slightly easier.
Also, this in-between-items check is only performed when moving from one
item to another. This is not good since if you enter the item and the
bottom, the indicator is shown, and then as to start moving it up it
stops showing, and then it should start showing again as you approach
the top edge.
Modified the code to run the check on every mouse drag event even if the
hovered item has not changed.
Both these changes combined make it much easier to drag and drop items.
Use signal/slots instead of deep function calls into decoration
For all the decoration updates called from Client into the decoration we
also have a signal being emitted. So turning the pure virtual public
functions into slots means we can just connect our existing signals and
get rid off the deep function calls.
The keepAbove/Below signals are changed to take a boolean argument as
needed by KDecoration and a few emitted signals are moved to a better
Start to implement vacation action
Now we can preview theme
Show preview when necessary
Add the option for automatically hiding options
Create a simple overview docker
FEATURE: a docker that shows the whole image as a thumbail (unless
the docker gets too small, then you only see part)
FEATURE: pseudo-infinite canvas
Now when you scroll the image far behind the border of the canvas,
you can see a subtle stripe appearing on the opposite edge of the
screen. If you click on that stripe, the image will be expanded to
up to the size of the canvas.
feature: Open report from dashboard widgets
Adding a tab to show information about a connection
Automatically acknowledge delivery reports of sent messages
This solves a bug in which the chat plasmoid could show an unread
message count when there are no unread messages
Some fixes to the model and make sure we always show VPN connections
Updated packaging files.
* Added ppa flag to debian version.
* Added locale support to spec file.
* Renamed spec file as it pretty much only works for SUSE right now.
Plasma Wallpaper Image Plugin: Avoid unnecessary renders of the wallpaper
When the selection in changed in the view, that calls Image::pictureChanged
which then calls setSingleImage which sends the image for rendering.
Once the image has been rendered, updateBackground is called which
starts the fading animation. This is completely unnessary.
(cherry picked from commit 3ae865333c40b9fb4de09d2c0a6cf00ec50a0382)
Fixed high CPU load when changing brush size with Shift-gesture
Now it can update not more often than 25 times per second
According to the measurements it allows us make about 80% less
I don't close the bug because of the second part (scaling). Need to
discuss it with Timothee and David.
RIP Darkerradio :-(
## R.I.P. ##
# Darkerradio #
# *2003-05-01 #
# †2013-05-01 #
After exactly ten years of service Darkerradio is no more. Removing all
references to it:
* Free Music Charts voting
* Cool Streams entry
The changes in code are big, but changes in functionality are little.
New code is more careful when sorting, ensures that tracks are fully
loaded when the users needs it and replaces any blocking behaviour
with asinc code (still with strong guarantees).
Also the test is greatly improved to test nearly all the functionality.