Issue 2124th December 2011 by KDE Commit-Digest Team
|Commits||2450 by 198 developers|
|Bugs Opened||460 in the last 7 days|
|Bugs Closed||1016 in the last 7 days|
|Aaron J. Seigo||
|Albert Astals Cid||
Internationalization (i18n) Status
|Aaron J. Seigo||
|gregor freenet de||
There are 118 selections this week
Fix integration with custom output paths in CMake.
Fix storing/restoring of environment settings
This works around a change in kdelibs that was done to fix
KConfigDialogManager's behaviour with Qt4.8 and normal Q/KComboBox. With
that change the user-property is not considered anymore for Q/KComboBox
and instead the hardcoded index/text-handling part is done. That breaks
our own KComboBox subclass since we relied on the fact that our own
user-property would override that hardcoded stuff.
After looking at the kconfigdialogmanager sources I noticed that it
supports a special property "kcfg_property" which can point to a
property-name and then is considered first as the property to store
into the config file. With that we can again restore the behaviour of
storing the currentProfile to the config file.
This will work on all kdelibs back to sometime 2009, which covers KDE
4.5 and later at least, which is enough since the code requires 4.6 anyway.
make overwriting existing notes impossible:
edit existing note instead, if multiple notes are not supported
(this is the case for PO)
Remove the need for the hash so we can map back from words to characters
This is needed because sometimes the hash had collissions and make it impossible to know which character we had to put back
Now we just keep the word and the characters together in the same class and it is much easier to correlate them
Also the code gets much more simplified and less new/delete are needed
This fixes the crash in 287138
I am still concerted that we use the page width and height in TextPagePrivate::correctTextOrder, but that should not cause crashes, at most some misplacements of very small text
Properly parse "characters" formed by two QChars
This fixes the crash at 287138, it does still not really fix the flaw in the algorithm in TextPagePrivate::breakWordIntoCharacters
when there are two strings with the same text and the same bounding rectangle in the same page, but i still don't know how to fix that problem properly,
so i've fixed a bug that was generating the situation for files that actually do not have it
use the default corona in case the widget doesn't provide one
we need a different solution for libplasma2, however.
kwin: bugfix nouveau GLES + loose texture bindings in kwin_gles
There seems to be a problem with nouveau GLES if you want to create an
EGLImageKHR more than once in a frame for the same pixmap. This patch
circumvents the problem in the way that it implements tfp the same way
as the mesa example in
mesa/demos/src/egl/opengles1/texture_from_pixmap.c does it. A nice
side effect of this is that it also avoids the overhead of recreating
the texture for every damaged window.
constrained square makes sense for vertical but not horizontal panels
catch another possible mimetype identification
phonon: Allow the audio setup GUI to work second time round.
This basically clears things out properly such that the second invocation populates
it all again with fresh data.
sync the dialog to the graphics widget before moving it
workaround qt ref counting bug seen triggered often in libtaskmanager
not patching libplasma as i'd like to keep this mess limited to taskmanager related code
rather than burdoning all DataEngines with it. this requires today's KDE/4.7 libplasma to
work as expected: sourceRemoved was not being emitted for direct-deleted containers.
Don't assert on dbus communication, just print the error and return.
I could reproduce this by stopping plasma in gdb after starting a job.
The dbus call to plasma would time out, and we'd get a dbus error here.
we need a useful new property or new DataObject type to describe a C
header which does not have an absolute path.
Comment it out for now.
deny glsl by limited NPOT, not GLSL
To avoid user confusion, hide the "Remember password" checkbox whenever the
wallet is disabled.
Note that this does not affect credentials being kept for the duration of
the application(s) that set them or are currently using them. It only deals
with persistent caching of password in KDE wallet.
(cherry picked from commit da6f4c128d32de782d4e70e11a083f4e20753242)
exclude user events during sleep
containmentType() .. NOT type()!
and now we know the source of the "panel covers the entire screen" bug
Fix Date Display in dolphin info panel
Date localization need to be done within kfilemetadatareader process,
and need to use localtime instead of UTC time.
get rid of the text halos
they are (relatively) expensive and should be unnecessary now:
we have blur, it works well, and when we don't blur we use different backgrounds.
one more "take one thing off" while i'm futzing around in tooltips
don't hold on to the job pointer, it gets passed back to us in the completion slot
don't resize the news widget
Revert "Ensure %w and %# are also expaned in the 'Copy input' dialog"
That fix is not good enough because it makes '%w' being updated only
after keystroke instead of immediately . The issue of updating title is
actually a little more complicated than I have understood.
Revert it because the regression should influence more users than the
fixed problem does. Need to spend more time to find a better fix.
This reverts commit 1c1981501b6e3bcd433840bf36f7851f06772322.
mime ptr may be null apparently
calendartable can be null
Display media title on Mediaplayer applet
it uses metadata when available and fallback to file name.
Handle helper protocols here, so that links to ssh://host work
(after the security warning).
Helper protocols have to run an app, there is no kioslave associated
with them. KRun has the code for it.
Correctly set the host that is going to be blocked by the ad filter.
Fix regression induced (but likely not caused) by commit e91e5fed6b1aad365e12e919f430c3e8147552d3
Commiting on behalf of Jaime Torres.
On k-c-d I suggested this would be another ouotcome of bug #213068 and Jaime could confirm this and the
scrollbar policy workaround to work.
He suggested to fix it by "setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);" instead (since presumingly the
pluginselector is always top-down oriented)
I tested that variant as well and could not reproduce the issue.
Since Jaime has no acces to his development environment for today he asked me to either revert his commit or
apply the hotfix working around bug #213068 as mentioned above.
Because i could not spot any bug in his commit i'll go with the hotfix to prevent a regression.
Resolving the actual recursion bug is an outstanding issue.
set the parent of the config skeleton object to be the dialog
Folder View pointed at Trash doesn't update the context menu properly
enable empty_trash action in contextualActions when the url is pointing
to trash:/. contextualActions checks to see if the url protocol is trash
before adding the empty_trash action, but does not check to see if it
should be enabled or not.
Fix regression in Klipper, which broke the "Show at mouse position" feature back in 4.5.
Committing this with i18n approval.
Don't attempt to access the kernel settings if the kernel hasn't
been registered yet.
Fix Bug 287779 - Copy Email then Paste As Attachment does not work as expected
Make mailfilter's dummykernel less dummy, and also provide a Settings interface to it.
This properly fixes 286762 (the previous fix just postponed the crash to a later stage).
Remove MailCommon::Kernel::settingsAreRegistered, as it doesn't make sense to have it (SettingsIf is mandatory).
Fix Bug 288007 - kmail filter import broken
now we can import old filter. We can export/import filter.
in Private::storeListResult(), don't try to create a delete job
for an empty list of items. probably means that the ItemDeleteJob
class should assert on such cases so we find other errors like this.
Patch by Ahti, thanks!
a bunch of little things found by valgrind to help prevent crashes:
- init memory
- check return codes
- check for negative length values passed to QByteArray::mid()
in getCountRecursive() don't assert on invalid collections; instead,
just ignore invalid collections. this is because collections could be
deleted in the meantime and deleted collections are invalid collections.
Fix crash when printing.
Don't ignore the return value of erase and/or don't assume
vector.end() never changes.
Make sure that the Bcc header is removed
When sending a mail make sure that the Bcc header is removed before
sending the mail.
Restore "Reports: fix bug: no indication of selected toolbox action for report element"
+fix for Plan
This reverts commit b424b352f682db0b31e68f1d8b35cf55f5c13693.
Fix saving of connections that are part of a group
This fixes bug 288108 - Connection in group not saved correctly
Fix dropcaps that contain a softbreak. In the same step we also fix
dropcaps that begin with spaces
Fix chart vs plotArea background-color.
Before we did not proper evaluate the plotArea background-color and
opacity in 2000/2003/2007 charts and where ending in lot of cases
with the wrong plotArea background-color for that reason.
Fix bug 282091:Words not saves heading numbering. Now we save text:outline-style at office:styles.
Fix for bug 287747: Underline is not displayed for numbered list labels. Now these are displayed
Fix axis orientation was swapped when the diagram was vertical.
This can be verified by loading the ODP referenced at bug 287895
into Stage. There at slide number 9 we displayed only one big
bar rather then all the bars with the expected at the y-axis
defined chart:maximum. That was so cause we completly ignored
any vertical=true definitions for the axes cause Axis::loadOdf
was called way before we called PlotArea::setVertical.
If a CSV file contains lines with differing numbers of columns (or the
last column is empty), and if one of the selected columns happens to
be the last column in a line with fewer than the maximum number,
an array goes out of bounds.
Use the actual line's column list count instead of maximum column count.
Create valid odf on saving of Unavail shape
This fixes bug 288138 - Unavail shape creates invalid xml on saving
Updated plan to properly uncheck report items once inserted
Fix embedded objects are not saved if they are after the last row with content.
This is the second and last part to address and finally close bug 287997. The both commits are independent of each other (means they both fix independent bugs that where visible with the ODS document attached to the bugreport).
fix locking of tools, when the method returned before the the end reached the layer stays locked
using KisSystemLocker everywhere now to prevent such cases
libmsooxml: libmsooxml: fine tuned text:line-break processing
Introducing a new <text:span> element having text-properties
defined by endParaRPr in selected situations in order to prevent
usage of the styleForModification function:
* Do not save text-properties into paragraph styles also in case
of empty paragraphs. Save an empty <text:span> having
text-properties defined by endParaRPr. Looking for the default
font size defined by the application in case the endParaRPr
formatted span is removed and new text is inserted.
* Insert an empty <text:span> having text-properties defined by
endParaRPr in case the <text:line-break> is the last element of
the paragraph in order to apply the correct fo:font-size to the
new line. Replaced the original fo:font-size from
text-properties of <text:line-break> by TEXT_FONTSIZE_MIN to
not affect the line-height calculation of both the new line and
the current line. This disables of course application of the
default font-size defined by the application in case of
* Removing the fo:text-transform attribute is also removed from
text-properties of text:line-break because it disables its
functionality during layout (did not check the layout part).
* Also removing the style:text-underline-style attribute. If
text styles of the text chunk and text:line-break match,
underline is applied until end of the line during layout.
Disable cover fetching action for tracks not in the collection
Fix last.fm scrobble composer fallback to artist
Now correctly scrobbles with the artist name if the composer field is empty and
the scrobble composer option is enabled, rather than silently failing.
Patch by Ilya Kasnacheev.
Wikipedia applet: regexp for German disambiguation pages
Why was that missing? That's one of our largest user bases...
Also, many, many more languages need to be added there.
Correctly parse disambiguation pages for songs in the English Wikipedia
The regexp looks wrong, I gues it didn't work at all before...
Fix service albums cover not being set after successful download
Weak qobject pointers cannot be promoted to qsharedpointer. So in
coverDownloadComplete() the downloaded cover is never used. Just use
ServiceAlbumWithCoverPtr which is available.
GCI Task : Don't open useless tabs or windows for actions in the new tab page
Patch by Hüseyin Zengin. Thanks !
Makes dropping urls on KGet work in more cases.
Thanks go to Dawit for the patch.
Caches deviceUni and activatableType for RemoteActivatable class to
prevent dbus calls from stalling the entire desktop.
Fix crash in PeerManager
Clean up line breaks in app description.
Change networkmanagement_configshell to inform error using dialogs
instead of console messages.
Change mobile broadband (wwan) checkbox into a tristate checkbox. I do
not know why NM sends a wwan disabled signal right after we send an
enable wwan command, the checkbox bounces for while until NM finally
decides to enable or not the mobile broadband state.
The third state is "partically checked", represented by a dashed tick
Do not use null backend pointer in warning message.
Since the register has a mechanism to make the selected item visible remove the external
viewport vertical scroll position setting mechanism from kgloballedgerview since the two
mechanisms conflicted with each other causing this bug. This was the code is also simplified
and we can assume that scrollTo does not change the viewport's position if the item is visible.
fix a crash when generating the akonadi bindings
added support for msvc2010 preprocessor (windows only)
On the first instance creation available preprocessors are detected and saved.
If neither cpp and cl could not be found in the pathes provided by
KStandardDirs::findExe(), then the default install location of msvc2010 is
Make it possible to define some environment variables to be run
on cmake executions.
These environment variables are integrated both in the CMake parsing
and the actual cmake executions inside KDevelop.
Improved support for comprehensions
List comprehension is fully supported now, except for
highlighting the iterated variable, which requires DUChain changes.
Dict comprehensions are supported, but without content type
tracking. The target is only assigned a plain "dict" type.
Finishing software keyboard refactoring.
Close the following issues:
Provide methods to remove an alpha channel from an image. Remove alpha channel before saving to JPEG.
- hasTransparentPixels checks if, given there is an alpha channel,
some pixels actually is transparent (alpha < 1.0)
- bitBlendImageOnColor allows to compose an image over a constant color
This is equivalent to create a DImg, fill it with a color,
blend the first image over the new one, and replace the first image with the result.
- removeAlphaChannel blends the image on a color, usually, white, and removes the alpha channel
- in updateMetadata:
ensure that the previous embedded preview is always removed
only add a new check that a preview is only added if the original image is significantly
larger than the intended preview size
To be discussed and currently unchanged: handling of transparent pixels
Better support for KWin's TabBox feature
TabBox is now completely controlled from Plasma side. It gets
activated when the dragging starts and connects to the item selected
signal. When an item got selected the panel is closed. As soon as
the panel closed either accept or reject of TabBox is invoked to
close it and (if an item was selected) to activate the window.
This means the switching is slightly delayed.
if it is a binary, then make a desktop file for it
patch by Will Stephenson
Show a QML dialog on KDE session exiting. There are two themes:
1. default.qml, this is a basic replacement for the current dialog. It
is not fully functional yet. I need to add the boot options (for grub2)
and work more on the GUI since the QML components I am using lack some
features used in the current dialog (QPushButton popup menu, icons on
button's right side, growing background effect on QPushButtons, label
text aligned to the right instead of to left). The dialog/shutdowndialog
borders also do not work properly, dialog's resizing still needs work
and the screen's graying out effect does not work. I guess the QML
dialog is stopping the graying out effect somehow.
2. contour.qml, this is meant to be used with Plasma Active. Contour.qml
uses larger buttons for touchscreen friendliness. For now it includes
only the lock screen, sleep and shutdown butons.
contour.qml is the default in this patch, that will change when this
branch is merged to kde-workspace master branch.
Initial support for resource events in read-only kparts
This makes Okular play nicely with activities and
Update to 1.1:
- added toggle play list button to default controls set;
- added track length infromation to play list (sortable);
- added option to disable D-Bus interace;
- improved dialog appearance;
- more friendly install script;
- removed compile time dependency on gettext;
- some other fixes.
re-enable auto-migration when screens change
hopefully this is fixed by e2108ed to libplasma; if not we can restore the #if 0 for 4.8.0
Embedded mode for TabBox
DBus method to embedd the TabBox into another window. It follows
the geometry changes and keeps a defined offset to the borders of
the parent window.
Required for Plasma Active's window strip.
apply effect transformations on taskbar thumbnail
The filtering of items has not been implemented yet in
the KFileItemModel of the new view-engine. The patch brings back
this functionality again, but some minor issues are open:
- When filtering trees expanded directories should only get
hidden if no child is visible
- Regular expressions are not supported yet (they have not been
supported in Dolphin 1.x but it is now quite simple to implement).
- When filtering previews and removing the filter it might be
possible that the preview is not shown (is most probably an
an already existing bug in KFileItemModelRolesUpdater).
Start of attempt to support writing to the server:
1. Implement a set of class-based wrappers which can be declared
on the stack, and thus automatically deal with resource deallocation
of all the myriad error paths. These could be used throughout the
code to the same end.
2. Implement comprehensive error reporting logic in support of the
3. Flesh out the calendar change path, but leave it disabled. The logic
in mapiconnector2.cpp exposes a bug in libmapi where SetProps asserts in
cast_mapi_SPropValue() because it omits support for PT_MV_CLSID.
First step to allow to export/import filter (don't save as a collection
id but real path and we will restore it)
feature: Export of non local files (example: http://myserver/document.qif)
Implement support for filled radar charts.
This commit does;
1. implement support for filled radar charts in KDChart. The same patch was applied to KDChart master so the change is not lost when we sync later with a newer KDChart version.
2. implement support for reading, writing and editing of filled radar charts in the charting plugin.
3. implement support for reading filled radar chart from Microsoft 2000/2003/2007 documents and producing proper ODF for filled radar charts out of it which is then passed on to the charting plugin.
Kexi: improved opening of .kexis files and creating new app instances
*Do not display connection dialog when opening .kexis file that define database name
*Welcome view: when clicked on a database open it in a new Kexi instance if another database is already opened in the current instance
DIGEST: Kexi: improved opening of .kexis files and creating new app instances
feature: Dashboard > Shares & Indexes renamed to "Quotes" and provide a possibility to select all available Units (Objects, Currencies etc.)
Show cover for all tracks from the Amazon store in the playlist
The API is soon going to support this, this makes use of that change.
Amazon store: More intelligent searching for album of a track
If it's a compilation: don't add the artist name to the search string.
kmix: Add support for capture stream volumes introduced in PulseAudio 1.0
Shortcut + slot to open downloads page (in a new focused tab)
Google code-in 2011 task by Omer Faruk Oruc.
REVIEWED-BY: furkan, adjam
Download Management ++
- let users choose a "default" download dir
- Moved download code to download manager
- follow dfaure's suggestions about overwrite handling
(kdelibs commit 88e3b372fb9c539)
- download label notification (for 3 seconds): this can be further
improved with an icon...
Add spell dictionary combobox
Reviewed-by: David Edmundson
Implemented group inplace editing.
[REB:did some coding style edits, but changed no functionality]
Implement the seek, tell and read callbacks inside the snd audio decoder
don't smooth image while scaling the webpage during zoom
I'm not sure if this is *really* needed. Rendering is disabled, so the
webpage won't do layout updates which makes for the biggest performance
gain already. The image still seems scaled smoothly though, so we
disable that as well and just scale the frames during zoom animations
There's no visible performance gain on my laptop, but let's try anyway
if it squeezes out a few more FPS on devices.
Improved symlink handling on the indexer level.
The indexer will now index directly symlinked files like any other file.
Indirectly symlinked files will create an additional kext:altUrl
property on the target file.
For this to actually work kext:altUrl will have to be treated as a 2nd
special case besides nie:url in the DMS.
thread the disk free info fetching so on systems where it is slow it doesn't hang the whole UI
dolphin may wish to do similarly?
don't allocate 1k chunks of memory for a few longs here and there
more transparent minimized task, they stick out more
M +- -- desktoptheme/air/widgets/tasks.svgz
Magiclamp: fix integer overflow, cpu waste
Optimization. Don't create foldercollection when not necessary. Show error message when we delete folder (before we didn't see it because folderCollection was deleted before)
Major speedup when deleting many messages.
Turns out that QHash::begin() is very slow, it's a linear search through
the hash's buckets, to find the starting point.
Avoid using to much memory and overloading nepomuk
The ItemQueue stores now id's only instead of full items, and only fetches a couple of items at a time.
This ensures that not too much memory is used. To ease the load on nepomuk if a storejob times out,
we insert a timeout.
Optimize the inverse iterator by making it by a factor of 100 faster.
The inverse iterator logic is used in statistical functions like betainv. Before we parsed and applied a formula >=1000 times for each single iterator call. That is slow^as^hell. This is fixed now by passing in a function-pointer for the formula function that should be used during iteration what obsoletes the expensive^as^hell formula execution done before.
The effect is that documents that made heavy using of formulas using the inverse iterator are now a few hundred factors faster loaded and displayed. This is most notable with the www.inrets.fr%2Ffileadmin%2Fur%2Fma%2FFichiers_mistral%2FPage_Brenac%2FContr-Bf-Aft-Accid-Study2.ods from our collection of test-documents. Before loading that file never finished (cstester aborted with signal 9) while now we have it loaded and displayed in <6 seconds.
Improve document handling
Display new document name property
Add new document(s) on merge
Add remove document command
Kexi's Main Window main area: show close buttons on tabs; remove borders
*set close buttons on view tabs always visible
*remove main area borders for cleaner GUI
*remove MainWindow.HoverCloseButtonForTabs setting
DIGEST: Kexi's Main Window main area: show close buttons on tabs; remove borders
Optimize Formula::scan and make it close to double as fast.
Regular expression using QRegExp are indeed evil. This improves the time spend in Formula::scan during loading the www.worldmapper.org%2Fdata%2Funderlying%2FWorldmapper_U3_hdr%304_tables1-22.ods from ~4.6 seconds to ~2.8 seconds what saves us around ~2 seconds.
Tested with cstester and some Q_ASSERT's against all our ods, xls and xlsx documents to make sure the just introduced Util::isCellReference behaves exactly like the regular expression did before.
Optimize DependencyManager by using iteraters to save some lookups.
On loading the www.worldmapper.org%2Fdata%2Funderlying%2FWorldmapper_U3_hdr%304_tables1-22.ods document the DependencyManager::updateAllDependencies took before ~20.2 seconds and takes now ~18.8 seconds what equals a speedup of ~1.5 seconds.
Introduce and use optimized version of KoXml::namedItemNS to lookup for KoXmlTextContentPrelude elements.
The saving isn't that huge. If I take out the optimization then the lookup takes ~3ms with the OO.org 1.1 specs and ~1ms with the patch.
This addresses a review-comment from https://git.reviewboard.kde.org/r/103276/
Optimize saving to ODF.
This combines the commits ecac0d03d90c and the idea from commit 43b0a39eb91 together to;
1) keep the to-cell anchored shape handling intact and working as expected.
2) improve the saving-speed by some tons of factors by using the RowRepeatStorage to compress identical rows together.
All tested test-documents are still working as expected before vs after the patch. Feedback welcome :)
Fix infinite loop in context view eating CPU until main window is shown
We used to use _scene_ sceneRect in
VerticalToolbarContainment::updateGeometry() to update applets and
geometry, but that leaded to infinite loop (across mainloop) -
m_applets->setGeometry(), refresh() would enlarge _scene_ sceneRect by
a few pixels which would trigger updateGeometry() and so on...
We now use _view_ sceneRect to update geometry. Rick W. Chen discovered
some glitches in applet collapsing when this patch is applied, but he
has a patch for that in the works and this is more serious problem, so
lastfm: load friend/neighbour avatars on demand
Otherwise all your friends' and neighbours' avatars are downloaded every
time when starting amarok (cached and whatnot). May not be much of an
issue depending on how popular you are.
rekonq menu clean up (last hopefully)
This change comes from comparison with firefox/chrome menus
Faster clean startup (with just two side previews to load)
libmsooxml: text properties inheritance kung fu
* Don't add style:use-window-font-color="true" into
text-properties of a style of a text chunk when fo:color is not
provided. This only affects text inside tables at the moment,
becasue the default text colors (color scheme defined by
slideLayout) are used for any other text. This was overriding
the fo:color defined in the cell style.
* Remove all text-properties from paragraph style in case the
paragraph is not empty. The endParaRPr element specifies the
text run properties that are to be used if another run is
inserted after the last run specified. It does not affect
formatting of text chunks in the paragraph. That's a paragraph
specific piece of information that we are not going to save
into ODF at the moment.
* Store <text:line-break> inside of a <text:span> element.
Process the rPr (Text Run Properties) of the br (Text Line
Break) element, but only use it to format the
<text:line-break> (It should apply to a newly inserted run of
text). That's another piece of information that we are not
going to save into ODF at the moment.
> I inferred the following a inheritance hierarchy:
1. font-size defined in the rPr element inside br
2. minimal font-size in the paragraph if any font size is provided
3. font-size defined by endParaRPr if present
(other text-properties are not important at the moment)
REASON: At the moment the current text style is applied until
end of the line (like underline) and then the line-break is
applied. Also when a line-break is located at the end of
paragraph (empty line is inserted) the application default
font-size is used because there are no text-properties in the