Issue 276
24th February 2013 by KDE Commit-Digest TeamContributors
Jürgen Appel
This Week...
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 58 selections this week
Bug Fixes
Development Tools
Let the patch review menu always work
We weren't showing it when there's a selection. This was a micro-optimization
and it didn't help much.
This way we'll always have the de/select all actions available, whether there's
a selection or not.
Educational
Work-around for missing phrase type problem.
The internal logic does not recognize phrase type changes, yet. Hence,
when a type is changed the internal lists in the Unit objects are not
updated. Hence, no phrases are returned.
KDE Base
Fix crash when clicking an action in context menu for a removed device
Devices can be added and removed while the context menu is open.
Sfter an action has clicked that needs to access a device, we therefore
have to check if its position in the model has changed, and more
importantly, if it is still there at all in order to prevent a crash.
FIXED-IN: 4.10.1
REVIEW: 108989
Fix bug 292950 by deleting QCoreApplication only after
Storage->ServerCore.
The bug occurs because Storage->ServerCore may persist after
QCoreApplication is gone. If the socket receives a remote disconnected
message from virtuoso (which it might because this is shutdown and
virtuoso is being killed) it tries to translate it, but can't because
the translators went with QCoreApplication. Thus the crash.
This was made much less likely by Vishesh already with cea2870f04eec
but we can do better.
For most services connect QCoreApplication::quit() to the service
destroyed() signal.
For the storage service, disconnect that slot from the service and
reconnect it to
ServerCore::destroyed() (so that the application is only quit after the
ServerCore destructor runs). We do this in the service dtor, which is
allowed because the
dtor runs before destroyed() is emitted (I checked this).
FIXED-IN: 4.10.2
REVIEW: 108997
Fix searching multiple ctags tags
Thanks to Aleksandar Radovanovic for finding the problem and the root cause :)
Improve handling of URLs in vim mode
Patch by Fabian Kosmale:
Prior to this change, neither opening relative URLs like ../foo.txt nor
paths which included ~ were possible. This patch adds support for it. The
argument after :e will be interpreted as a relative URL if possible, else
as a absolute URL.
The relative URL is resolved relative to the URL of the active document if
it exists, else relative to the current working dir . This differs from
vim's behaviour, where always the cwd is used. I decided for this,
because it was what was used before, but have no strong opinion about
what should be used (active document URL, cwd or home dir as it used to
be).
Workaround QtWebKit 2.3's behavior change when emitting 'QWebPage::geometryChangeRequested'.
For some reason it now sends a default width and height of 100 on new window creation even
when the site did not specify those dimensions.
NOTE: This workaround will cause a regression if a site attempts to create a popup window
using Javascripts with the following parameters: x=0,y=0,width=100,height=100. Under that
circumstance, the window will end up being created as another tab in konqueror instead of
a popup window.
FIXED-IN: 1.3 branch
Make user defined custom style sheet work.
FIXED-IN: 1.4 (kwebkitpart)
(cherry picked from commit 7e5ab58ceb0849c38592ebdde7389ffbed33f6d1)
Nepomuk Config: Ignore cases when there is no mount point
In some cases the mount point is empty. We do not want to store records
for those cases under their own group as that would intefere with the
genreal list of include/exclude folders.
The people affected by this bug should clear their nepomukstrigirc file.
Patch by Franz Fellner
FIXED-IN: 4.10.1
Removed a trailing space of death :p
Prevent repeated re-layouting of all items while previews are generated
There was some code in KStandardItemListView::itemSizeHintUpdateRequired
already that was supposed to prevent an expensive re-layouting of all
items when a preview is received. However, it didn't quite work as
intended because also the "iconOverlays" role changed.
The new approach is to only re-layout if text of a visible role changes,
because this is the only way how the space needed by an item might
change (see KStandardItemListWidgetInformant::itemSizeHint()).
FIXED-IN: 4.10.1
REVIEW: 108984
Do not abort EGL backend creation if EGL_NV_post_sub_buffer isn't supported
In case the extension is not present eglQuerySurface returns EGL_FALSE
when querying for EGL_POST_SUB_BUFFER_SUPPORTED_NV and sets an
EGL_BAD_ATTRIBUTE error state. If this is the case it's not an error we
should abort on, but one we should ignore as it's the same as extension
not supported.
FIXED: 4.10.1
KDE-PIM
Fix crash due to dangling session pointer in m_pendingInitialSession.
This happens after disconnect() kills all sessions (e.g. due to losing
internet connection while the password dialog is up, or explicit toggling
of offline/online status, or due to the "SSL not supported").
, 310072, 308888, 288268, 312057, 309357, 308207, 312535, 311014, 309346, 307780
FIXED-IN: 4.10.1
Office
fix layer rotate left
problem was found by Dario Cambié
Try to make the autosave saver.
Multimedia
Warn before overwriting stabilized clip
Fix: add track to playlist by double click on arrow in the collection
FIXED-IN: 2.8
Networking Tools
Properly close conversations before delegating them to ktp-text-ui
Helps to make a more coherent behavior upon the detaching feature.
Reviewed by David Edmundson (reviewboard is not working properly... :/)
Fix hovering contact buttons
If we have the icon item as the target for the tooltip, the tool button's
hovering state gets broken and it only works when the mouse is on the
margin between the contact picture and the button frame.
This patch fixes this by attaching to the parent item, so that it keeps
getting the mouse events.
REVIEW: 109038
User Interface
Fixed handling of minimum widget size when toggling expert button
Utilities
FIXED: [ 315357 ] krarc silently fails to display contents of some zip files
Zip files containing paths with "." as a path component are still not handled,
but now krarc reports an error instead silently failing.
Features
Educational
Implement type restricted phrase listing.
This patch adds the logic to the difficulty selector: restrict
the displayed phrases to a specific difficulty level.
training screen: allow multiple highlighted keys for the next character
Based on a patch by Peter Feigl
This useful for training on chorded keyboards where one has to press
multiple keys at the same time to produce a character.
FIXED-IN: 4.11.0
Graphics
Txt backend
REVIEW: 109009
FIXED-IN: 4.11.0
Find and external SQLite v2 for digiKam DB 0.7 conversion
Instead of rely on an internal copy of SQLite v2, search for an external version of it;
if not found, disable the import/conversion of old databases from v0.7, failing directly with an error message.
REVIEW: 109110
new behavor about KMemoryInfo:
Check if memory info from current platform is supported or not (for ex, MacOSX is not support)
If not, -1 is returned from memory parser. In this case, digiKam will try to continue to allocate memory. An error message is printed to the console as debug statement.
If yes, we try to check memory info. If an error occur, 0 is returned, else 1.
This will solve multiple issues from bugzilla about non show large images in preview or editor, if memory allocation to store decompressed pixels data is more than 100Mb
CC
Implement saving and loading of the column list.
KDE Base
support a permanent glSwapBuffer
either by
- forcing fullrepaints unconditionally
- turning a repaint to a full one beyond a threshhold
- completing the the backbuffer from the frontbuffer after the paint
FIXED-IN: 4.10
REVIEW: 107198
[KMenuEdit] Ability to sort elements
REVIEW: 107409
FIXED-IN: 4.11.0
Update views showing trash:/ when restoring trashed files.
Thanks to A.J.Reddy for the investigation and initial patch, and thanks
to Frank Reininghaus for the testing.
FIXED-IN: 4.10.1
Search&Replace: -Invoke "search as you type" on "Search in Files".
-Remove jumping to the first result on "Search as you type" as that is more
disruptive than having to invoke "Go to next match".
-Increase the search as you type processing timeout to 50 ms.
Port Zoom effect to XCB and some small improvements
* use xcb_fixes_foo
* drop QX11Info - we don't need it in the effects
* use QScopedPointer for GLTexture/XRenderPicture
* remove commented code
* use kDebug instead of qDebug
Of course XCursor library is still used as there is no XCB replacement.
What could be considered is adding a getCursor hook into the
EffectsHandler as also the ScreenShot Effect is getting the cursor and
using XCursor doesn't seem future proof to me ;-)
Sorry for putting everything into one commit.
REVIEW: 109083
add View > Split View > Close Inactive Views
FIXED-IN: 4.11
Better naming to navigate documents
Forward -> Next Document (menu: View > Forward)
Back -> Previous Document (menu: View > Back)
@T.C.: If this is in the Kate docbook, it needs to be adapted to reflect
the new naming in KDE 4.11.
FIXED-IN: 4.11
improve context highlighting
added verbatim
added titles (section, ...)
added _^ to be highlighted in math
added math text support
fixed macros to not contain pluses
fixed erroneous error highlighting of formula mathmode
fixed block highlighting
Patch by Phil Schaf.
I changed priority to 8, since it otherwise might win over LaTeX,
which is maybe not what one would expect?!
REVIEW: 109106
Add --fullscreen command line option
Add option to go into full screen mode via command line.
REVIEW: 109042
FIXED-IN: 4.11
KDE-PIM
Importing the findbar from rekonq
Multimedia
Add 2 more variants of seeking shortcuts + hidden config options
Control + L/R - Short seek
L/R - Normal/ Medium seek
Shift + L/R - Long seek
Along this the "Go Up in Media Sources Pane" gets renamed and reassigned
to Backspace.
FEATURES:
* Added keyboard shortcuts for small 2 s seeks (Ctrl + Left/Right) and long 1 minute
seeks (Shift + Left/Right) in addition to standard 10 s seeks. Durations are now
configurable in amarokrc, see Amarok Handbook. Patch by Anmol Ahuja.
@Anmol, you may want to check minor changes I made to the patch.
REVIEW: 108964
FIXED-IN: 2.8
CCMAIL: Anmol Ahuja
Networking Tools
Trim whitespace from urls
Whitespace from the start and end of the urls
was not being removed.
This caused no suggestions to show up or an
incorrect path for Paste & Go.
REVIEW: 109059
Signed-off-by: Andrea Diamantini
Add ConversationsModel::totalUnreadCount property
Adds a property to the ConversationsModel to tell how many unread messages
we have.
REVIEW: 109073
Improve behavior of KTP plasmoids
When starting chats from the contact list plasmoid, if there's a ktp-chat,
use it.
This happens by not forcing the preferred handler when starting a chat.
REVIEW: 109033
Utilities
show 'Apply' button in kate part config dialog
Thanks to Fabian Kosmale for the patch! Keep it coming :-)
REVIEW: 109094
FIXED-IN: 4.10.1
Optimization
KDE Base
Do not search for localfiles on not connected external harddrives
As Nepomuk does not allow to save data for local files that are not
available anymore, the webminer should wait until the requested location
is mounted again.
This patch checks for each resource if the localfile is available before it
starts the search.
search&replace: put shortened paths into result tree view
In folder- and project search mode, the base directory for
the search is now removed from the displayed items in the treeview.
This makes the entries much shorter and contain less duplicated
information.
Alex
Cache whether screen powersaving is inhibited
DPMSAction disables or enables DPMS (and sets timeouts) as appropriate
when inhibition policy changes. As setting DPMS timeouts resets the
timer this will delay the time at which DPMS activates. But this is only
necessary if the ChangeScreenSettings inhibition changed.
Chrome sets short-lived InterruptSession inhibitions while uploading
data. This has the effect of indefinitely delaying DPMS activation.
So cache the current screen inhibition state and only decide whether to
enable or disable DPMS if the new state is different.
REVIEW: 109126
OpenGLPaintRedirector updates textures directly
Ownership of decoration textures is moved from SceneOpenGL::Window to
OpenGLPaintRedirector. The PaintRedirector is responsible for updating
the textures whenever they change. For this GLTexture is extended by an
update(QImage, QPoint) method which uses glTexSubImage2D to update only
the changed parts.
The big advantage compared to before is that if e.g. only a button is
animated only the button part is updated instead of the complete deco
part.
Introduce dedicated PaintRedirector subclasses for OpenGL/XRender
PaintRedirector is turned into an abstract class providing a factory
method which returns either an instance of
* OpenGLPaintRedirector
* NativeXRenderPaintRedirector
* RasterXRenderPaintRedirector
OpenGLPaintRedirector is basically doing exactly the same as the parent
class used to do before. Though the idea is to extend the functionality
to have the PaintRedirector write directly into OpenGL textures to limit
copying the complete decorations.
NativeXRenderPaintRedirector is similar to OpenGLPaintRedirector by
rendering into a QPixmap and providing the pictureHandle for the QPixmap
to SceneXRender.
RasterXRenderPaintRedirector is providing the functionality for the case
that the QPixmap/XPixmap relationship is not present. From the QPixmap
containing the pending decoration paint a QImage is created and then the
relevent parts are copied directly into the decoration pixmap.
REVIEW: 109074
Networking Tools
Cache all the conversation in the ListView
Keep all the delegates in memory while showing. It could be a problem
if the conversation grows _a lot_ but it has to grow a lot.
Possible ways to solve it:
- limit the log lines that we'll be displaying. We're talking about a
plasmoid anyway. If the user wants to read the log, he'll use ktp-log-viewer.
- set interactive to false. Then we can scroll as much we want, but not with
the scrollbar
- buy a better aleix
REVIEW: 109051
Utilities
Improve build time by not compiling files twice
Since kdelibs requires CMake 2.8.8 since 4.10 we can use the OBJECT
library feature from CMake >= 2.8.8 here. This means the source
files that are used both in the shared library (result) and the static
library (for unit tests) only once.
It saves compiling 113 files again with the exact same settings.
This works with CMake >= 2.8.9 since it needs POSITION_INDEPENDENT_CODE
target property. For CMake 2.8.8 fall back to old behaviour
Also added #include "moc_*.cpp" to all Q_OBJECT derived classes since
apparently it doesn't work otherwise with OBJECT libraries
Time to build kasten/controllers with empty I/O caches before:
real 4m44.111s
user 4m7.949s
sys 0m27.373s
Time to build kasten/controllers with empty I/O caches after:
real 3m9.276s
user 2m41.777s
sys 0m19.293s
~33% percent improvement on my machine.
Security
KDE-PIM
Fix for sending encrypted mails to untrusted recipients
REVIEW: 107847
Networking Tools
Fix missing password field in wpa2 password dialog.
(cherry picked from commit e8726711de16f792ed4e96f5896361da0eef7d66)
Other
Development Tools
Port widgetgallery to QtQuick2
Saillant detail: This actually runs ond works "to a large degree" top of Plasma 2. :-)
Office
move more layer actions to new action system
Add kexi missing mimetype icons
(also pushed to KDE 4.10 branch and KDE trunk)
add application/x-kexiproject-shortcut icon
add application/x-kexi-connectiondata icon
add application/x-sqlite* and application/x-kexiproject-sqlite* icons
A +- -- kexi/pics/oxygen/128x128/mimetypes/application-x-kexi-connectiondata.png
A +- -- kexi/pics/oxygen/128x128/mimetypes/application-x-kexiproject-shortcut.png
M +- -- kexi/pics/oxygen/128x128/mimetypes/application-x-kexiproject-sqlite.png
M +- -- kexi/pics/oxygen/128x128/mimetypes/application-x-kexiproject-sqlite2.png
M +- -- kexi/pics/oxygen/128x128/mimetypes/application-x-kexiproject-sqlite3.png
A +- -- kexi/pics/oxygen/128x128/mimetypes/application-x-sqlite2.png
A +- -- kexi/pics/oxygen/128x128/mimetypes/application-x-sqlite3.png
A +- -- kexi/pics/oxygen/16x16/mimetypes/application-x-kexi-connectiondata.png
A +- -- kexi/pics/oxygen/16x16/mimetypes/application-x-kexiproject-shortcut.png
M +- -- kexi/pics/oxygen/16x16/mimetypes/application-x-kexiproject-sqlite.png
M +- -- kexi/pics/oxygen/16x16/mimetypes/application-x-kexiproject-sqlite2.png
M +- -- kexi/pics/oxygen/16x16/mimetypes/application-x-kexiproject-sqlite3.png
A +- -- kexi/pics/oxygen/16x16/mimetypes/application-x-sqlite2.png
A +- -- kexi/pics/oxygen/16x16/mimetypes/application-x-sqlite3.png
A +- -- kexi/pics/oxygen/22x22/mimetypes/application-x-kexi-connectiondata.png
A +- -- kexi/pics/oxygen/22x22/mimetypes/application-x-kexiproject-shortcut.png
M +- -- kexi/pics/oxygen/22x22/mimetypes/application-x-kexiproject-sqlite.png
M +- -- kexi/pics/oxygen/22x22/mimetypes/application-x-kexiproject-sqlite2.png
M +- -- kexi/pics/oxygen/22x22/mimetypes/application-x-kexiproject-sqlite3.png
A +- -- kexi/pics/oxygen/22x22/mimetypes/application-x-sqlite2.png
A +- -- kexi/pics/oxygen/22x22/mimetypes/application-x-sqlite3.png
A +- -- kexi/pics/oxygen/256x256/mimetypes/application-x-kexi-connectiondata.png
A +- -- kexi/pics/oxygen/256x256/mimetypes/application-x-kexiproject-shortcut.png
A +- -- kexi/pics/oxygen/256x256/mimetypes/application-x-kexiproject-sqlite.png
A +- -- kexi/pics/oxygen/256x256/mimetypes/application-x-kexiproject-sqlite2.png
A +- -- kexi/pics/oxygen/256x256/mimetypes/application-x-kexiproject-sqlite3.png
A +- -- kexi/pics/oxygen/256x256/mimetypes/application-x-sqlite2.png
A +- -- kexi/pics/oxygen/256x256/mimetypes/application-x-sqlite3.png
A +- -- kexi/pics/oxygen/32x32/mimetypes/application-x-kexi-connectiondata.png
A +- -- kexi/pics/oxygen/32x32/mimetypes/application-x-kexiproject-shortcut.png
M +- -- kexi/pics/oxygen/32x32/mimetypes/application-x-kexiproject-sqlite.png
M +- -- kexi/pics/oxygen/32x32/mimetypes/application-x-kexiproject-sqlite2.png
M +- -- kexi/pics/oxygen/32x32/mimetypes/application-x-kexiproject-sqlite3.png
A +- -- kexi/pics/oxygen/32x32/mimetypes/application-x-sqlite2.png
A +- -- kexi/pics/oxygen/32x32/mimetypes/application-x-sqlite3.png
A +- -- kexi/pics/oxygen/48x48/mimetypes/application-x-kexi-connectiondata.png
A +- -- kexi/pics/oxygen/48x48/mimetypes/application-x-kexiproject-shortcut.png
M +- -- kexi/pics/oxygen/48x48/mimetypes/application-x-kexiproject-sqlite.png
M +- -- kexi/pics/oxygen/48x48/mimetypes/application-x-kexiproject-sqlite2.png
M +- -- kexi/pics/oxygen/48x48/mimetypes/application-x-kexiproject-sqlite3.png
A +- -- kexi/pics/oxygen/48x48/mimetypes/application-x-sqlite2.png
A +- -- kexi/pics/oxygen/48x48/mimetypes/application-x-sqlite3.png
A +- -- kexi/pics/oxygen/64x64/mimetypes/application-x-kexi-connectiondata.png
A +- -- kexi/pics/oxygen/64x64/mimetypes/application-x-kexiproject-shortcut.png
M +- -- kexi/pics/oxygen/64x64/mimetypes/application-x-kexiproject-sqlite.png
M +- -- kexi/pics/oxygen/64x64/mimetypes/application-x-kexiproject-sqlite2.png
M +- -- kexi/pics/oxygen/64x64/mimetypes/application-x-kexiproject-sqlite3.png
A +- -- kexi/pics/oxygen/64x64/mimetypes/application-x-sqlite2.png
A +- -- kexi/pics/oxygen/64x64/mimetypes/application-x-sqlite3.png
A +- -- kexi/pics/oxygen/scalable/mimetypes/application-x-kexi-connectiondata.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/application-x-kexiproject-shortcut.svgz
M +- -- kexi/pics/oxygen/scalable/mimetypes/application-x-kexiproject-sqlite.svgz
M +- -- kexi/pics/oxygen/scalable/mimetypes/application-x-kexiproject-sqlite2.svgz
M +- -- kexi/pics/oxygen/scalable/mimetypes/application-x-kexiproject-sqlite3.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/application-x-sqlite2.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/application-x-sqlite3.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/small/16x16/application-x-kexi-connectiondata.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/small/16x16/application-x-kexiproject-shortcut.svgz
M +- -- kexi/pics/oxygen/scalable/mimetypes/small/16x16/application-x-kexiproject-sqlite.svgz
M +- -- kexi/pics/oxygen/scalable/mimetypes/small/16x16/application-x-kexiproject-sqlite2.svgz
M +- -- kexi/pics/oxygen/scalable/mimetypes/small/16x16/application-x-kexiproject-sqlite3.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/small/16x16/application-x-sqlite2.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/small/16x16/application-x-sqlite3.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/small/22x22/application-x-kexi-connectiondata.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/small/22x22/application-x-kexiproject-shortcut.svgz
M +- -- kexi/pics/oxygen/scalable/mimetypes/small/22x22/application-x-kexiproject-sqlite.svgz
M +- -- kexi/pics/oxygen/scalable/mimetypes/small/22x22/application-x-kexiproject-sqlite2.svgz
M +- -- kexi/pics/oxygen/scalable/mimetypes/small/22x22/application-x-kexiproject-sqlite3.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/small/22x22/application-x-sqlite2.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/small/22x22/application-x-sqlite3.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/small/32x32/application-x-kexi-connectiondata.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/small/32x32/application-x-kexiproject-shortcut.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/small/48x48/application-x-kexi-connectiondata.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/small/48x48/application-x-kexiproject-shortcut.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/small/64x64/application-x-kexi-connectiondata.svgz
A +- -- kexi/pics/oxygen/scalable/mimetypes/small/64x64/application-x-kexiproject-shortcut.svgz
Networking Tools
Figure out the chat plasmoid state
Tell the plasmoid state given the open conversations and the unread
messages.
REVIEW: 109072
Improve contact list header delegate
* Increased spacing
* Increased account icon size
* Increased header height to be the same as contact's
* Background is now solid color (button's color)
* Stuff is better aligned with the contacts
* Group icons were removed (didn't bring any value, just clutter)
* Added some code comments
REVIEW: 106763
Utilities
Make sure we don't exit the transaction after accepting the EULA
Other
Nicer user icons and texts