|Commits||2800 by 178 developers|
|Bugs Opened||338 in the last 7 days|
|Bugs Closed||375 in the last 7 days|
|Friedrich W. H. Kossebau||
|Friedrich Karl Tilman Pülz||
|Marcelino Villarino Aguiar||
|Albert Astals Cid||
Internationalization (i18n) Status
There are 58 selections this week
Check if raster image export succeeded and report if there are any errors.
For some strange reason, there seems to be no way to check if the SVG
export succeeded or not.
Do not get fooled by wrong filename extensions
A crash occurs if updateItemStates runs between the
UpdateItemStatesThread finishing and the finished() signal being
In this case, a new thread was not created, because the old thread
still existed. However, pendingItemStatesUpdate was not set, because the
thread was not running. Instead, the old thread was restarted.
This meant that the finished() signal from the first run could be delivered
while the thread was running for a second time, causing the thread to be
deleted while still running and thus a crash.
Solution: set pendingItemStatesUpdate if the thread is non-null,
even if it is not running, knowing that slotThreadFinished has not yet run,
and will call updateItemStates itself.
Make the BugzillaManager constructor requiring explicit URL parameter
It doesn't feel good to use a hidden default for bugs.kde.org and
require a second setCustomBugtrackerUrl() call to set a different
bugtracker address. That even doesn't take into consideration
the fact that the curent implementation of setCustomBugtrackerUrl() is
just broken: it just change the url, while the rpc connectin is still
for the old address.
In general, I think it is better to see and use BugzillaManager as
something dedicate to one tracker once it has been created. That is
especially true if we want to make it fetching and rememering more
information from the bug tracker: product information, supported
keywords, supported seveirty values, etc. It is better to create another
instance for another bug tracker instead of reusing one existing instance.
Stop grace period on unlock
It was safe to leak the grace timer when it was in the lock process,
since it was killed on unlock. Now it is not.
A password should always be required if the screenlocker is explicitly
triggered; but a screenlocker invoked while the grace timer from a
previous invocation is still active can be dismissed without a password,
at least for a short while. This also meant that the screenlocker
keyboard shortcut would not work until the grace timer expired.
prevent false positive mouse deactivation
Use a more meaning name for the uploaded attachment
It doesn't feel good when you want to save all attachments within one
report and find they are all named as "drkonqireport.txt". Now make it
use the same filename as suggested when saving the report locallly.
Reduce risk of timeout and race condition in KPtyProcessTest
Increase timeout, and sleep a while after waitForReadyRead() returns,
as it only guarantees that *some* data is available to read, while
the test assumes that a full line of data is available to read...
This reduces failure rate from 10% to 2% on my setup.
Fix handling of encoded URIs in mpris2 engine
A couple of entries in the metadata property of the MPRIS2 interface are
sent as encoded URIs. We decode these in the mpris2 engine, replacing
the QStrings with QUrls that can be used easily by the consumer of the
This fixes the display of album artwork in the Now Playing widget when
mpris:artUrl contains %-encoded non-ASCII characters.
Initialise the mCrossDomain member variable in the cookies
For several months now, all my cookies would be forgotten after a kded
restart. After debugging the problem, turns out that mCrossDomain was
of value 127, which makes no sense for a boolean.
This variable has been present since 2002, which means that the
"reject cross domain cookies" feature has been broken for 10 years and
(cherry picked from commit 794b14b8af5b610fc3eed6945f93f0c69dd49a9a)
Fix touch event handling so painting works in sketch.
Fixed a 10s freeze after every transform in the transform tool
Actually, the perspective worker shouldn't do anything when the matrix
Thanks David Revoy for reporting this bug!
Split backslash and escape filters
The backslash filter is now executed after that every other plugin has
This fixes a weird bug that allows to write as the conversation partner
if the emoticon set installed has an emoticon associated to a string
ending in "\".
Reviewed-by: David Edmundson
Rely on cupsAdminGetServerSettings() return value to know if the request went fine since it might just read the local file
Fixed regression due to the lack of browsing queues that system-config-printer had
optimizegraphics: Add support for pngout and AdvanceCOMP.
The work and testing leading to this patch were created and graciously improved
after review by Bruno George Moraes. It adds several things:
- Usage of the pngout tool, written by the author of the Duke Nukem 3D game
engine. (pngout is free to download the binary of, but is non-Free software).
- Usage of the AdvanceCOMP tool, which is similar to OptiPNG, but uses the 7z
library (so it optimizes not just PNG but also things like .svgz and .mng).
- Parallel execution of these tools to recursively optimize a subdirectory of
I've further improved it to meet coding style, remove a needless bash-ism, fix
some of the math code, and quiet the output a bit. Additionally it will use any
tools you have available instead of requiring you to run non-Free software to
work at all.
With parallel execution it is important to limit the number of simultaneous
processes xargs will run, we try grepping in /proc/cpu using Bruno's code, but
I limit it further to 4 tasks if that fails.
Thanks to Bruno for the patch and his patience, I figure this will probably be
one of the last SVN commits to kdesdk ever before we convert to git.
OsmAnnotate: use a real GeoDataDocument
Render stars as vectors whenever possible, when exporting sky image.
Stars are not drawn as vectors while rendering the SkyMap, for
efficiency. Bitmap stars render faster on the SkyMap.
Stars are also not drawn as vectors when using the "Real Colors" mode,
because it is harder to render those stars as vectors, although not
impossible. This is a future feature idea.
OsmAnnotate: put the document into the treemodel
- Improve the Astro-Coordinate Grid (Right Ascension / Declination)
- Don't show the Meridian
- Support dynamic grid with gridlines for hours, minutes, seconds
- Fast rendering
- Proper lonToString for Right Ascension
- Activate Astro Notation/Grid automatically with sky map themes.
OsmAnnotate: save from annotation document
DrKonqi now makes use of the new "drkonqi" keyword on bugs.kde.org
That makes it easier to identify and search for reports created by
DrKonqi. That should be helpful for developers to collect statistics and
Introduce a dedicated borders element in Aurorae
The Borders element provides the four properties:
And is used directly in Decoration for all the different kind of settings
following this pattern:
* normal borders
* maximized borders
* extended borders
These properties replace the existing used borderLeft & co. This makes
the code in the C++ side easier as the various border elements can now be
read with a shared implementation.
The Borders provide some convenient methods to set the sizes of the
borders. E.g. it's possible to just set the side borders to a specific
value. This should simplify the implementation of the no-side-borders
feature in new decoration.
The aurorae qml and plastik are adjusted to use the new way. Existing
3rd party decorations would break, but there's a good reason why there's
no documentation for QML based decorations ;-)
Get running on Python3
Adapt to semantics changes in Python3. Now works on both Python3 and 2!
Allow Timeline-URLs as homepage
Use translucent/dialogs/background elements where possible
In effects it's obvious that compositing is enabled, so specifying the
translucent element is no problem.
In tabbox a context property "compositing" is injected which decides
whether "translucent" or "opaque" elements should be used. Here the
translucent elements are only used if the Blur effect is available - for
this a new Effect::Feature Blur is introduced and in addition it is
tested whether the theme provides the translucent element.
Also the masking is adjusted to ensure that only the shadow is not
Reason for this change is that Plasma theme seems not always to pick up
whether compositing is used when used from inside KWin. It does not cover
the Desktop Change OSD which uses PlasmaCore.Dialog and there we cannot
(yet) inject that we use compositing.
Overall I'm quite unhappy with this patch and I do hope we can fix it in
the proper place in the lifetime of 4.10 and revert this patch.
Added console from libkscreen
We are going to use it as a tool to debug the kscreen project
instead of debugging only libkscreen. Once libkscreen is ready for
prime time we'll create another tool for it.
Support arrays in callDBus method of KWin Scripting
Thanks to Jan Palus for providing the patch.
Start to implement rename resized image
Display gContact$userDefinedField in KAddressbook
Make it optional to remove own identites from replytoAll
While the default behavior will stay the same it is now
optional to remove all your identities when using reply to all.
If the option is unchecked only the identity that is initially
set as the reply identity is removed from the recipient list.
Write annotation content into main document, it is just for first step, we should can use TextTool
to edit annotaion content. For now we have a simple ui to write annotation content and we can save it.
Allow to retrieve an account trough the statement interface using
the account's KVP and not only the KVP in the 'ONLINEBANKING'
node. Also added some extra comments vs. the review.
This enables importers that can access the IBAN from the external
source to automatically import the data in the correct account if
the user did fill in the IBAN field in kmymoney.
Introduce a "Fit Text Width" zoom mode
This also changes how the other "fit" modes work: We now zoom in to the fit the
max pagesize of the currently shown pages. Previously we zoomed in to the max
pagesize of the entire document.
The page counter in the lower left of Words' window now show the scroll position
and not the cursorposition. Previously it was a weird mix
The page counter also now shows ranges so that if pages 3,4,5 are shown, the counter
says "3-5 of 47"
Copy or move contacts between groups by dragging
When user holds Shift on drag start, no popup menu appears and
contact is moved from source to target group.
When user holds Ctrl on drag start, no popup menu appears and
contact is copied to target group.
When user holds no modifier on drag start, a popup menu appears
when contact is dropped, allowing user to choose whether to
move or copy contact to target group.
Show icon in channel contacts list when a user is typing in a group chat
Add busy/error widget for route data, fix height of news
Show a busy widget while loading route data as additional data.
Show an error label on errors while loading route data.
Store provider features in the PublicTransportModel to know
whether or not route data may be loaded as additional data.
Allow more height for journey news text.
Add a feature to tell the user to refresh his cache after a repo change
Use global timeout for network requests and script execution
Do not poll while waiting, simply wait for the signal.
A global and longer timeout of 60 seconds is now used for both
asynchronous network requests and script execution, which may
also include synchronous network requests. Properly set an
error message if the timeout expires.
This makes the engine also usable with very slow web servers
or internet connections (previously the timeout was around 15s).
Do not lock the mutex while the script gets evaluated in
ScriptJob::loadScript(). Access the request object of script
jobs only with locked mutex.
Separating the image export dialog from the image exporting backend.
Most of the code was just reused from class ExportImageDialog to
create class ImageExporter
The backend was separated so that the exporting of images can be
scripted via DBus without any user intervention necessary
No regressions were observed.
Remove unneeded objects, properties, rename a few ones to better reflect
the latest changes. 200+ lines down. :)
- make handlewidth adjust to iconsize
- less magic numbers
- applethandle buttons now animate with growing handle
- coding style here and there
- shorter move duration (75msec)
- use hover svg item instead of rounded rect for halo -> Way spiffier
- halo opacity is configurable
- immutable means: item doesn't grow
Merge big model refactor.
Replace all the models used to power KTp
Subclass of Tp::Contact (KTp::Contact) to power the model
Create a list of contacts ContactListModel
Which can be grouped into AccountsTreeProxyModel or GroupsTreeProxyModel
A bit of splitting to the transform tool
It makes the file about 100 lines smaller and fixes rounding bugs.
Add a hidden option for skipping the introduction in reporting assistant
That introduction page is not really useful/needed for users and
developers who have used drkonqi for enough times.
No GUI change involved, so it is now a hidden option in drkonqirc:
Embed "Assign Shortcut" into "Folder Properties"
The original actions (in the "Folder" menu bar menu and folder
list popup) remain present, they open the "Folder Properties"
dialogue at the appropriate tab.
Embed "Expiry" into "Folder Properties"
The original "Expire" actions (in the "Folder" menu bar menu and
folder list popup) remain present, they open the "Folder Properties"
dialogue at the appropriate tab.
As noted in comments in KMMainWidget::setupActions(), there is
still inconstency between the wording of the action and what it does.
Hooray, a seven year old wish finally implemented!
Change KoTextAnchor into three new classes
KoShapeAnchor - which in theory should be moved to flake later
KoAnchorInlineObject - which is the kotext part responsible for being an inline (asChar) object
KoAnchorTextRange - which is the kotext part resposible for toChar and toParagraph anchoring
Now the user no longer have to contend with invisible characters acting as anchors. These kinds
of anchors are now placed at a cursor position instead (using KoTextRange)
This also has the benefit that we can support toParagraph anchoring a bit better, as it's no
longer possible to move the anchor character away from the paragraphs first position.