|Commits||2171 by 153 developers|
|Bugs Opened||232 in the last 7 days|
|Bugs Closed||208 in the last 7 days|
|Albert Astals Cid||
|Aleix Pol Gonzalez||
Internationalization (i18n) Status
|kollix aon at||
There are 44 selections this week
Save single-layer CMYK images correctly to PSD
Fix search input interaction
This reworks the focus handling of the search input.
Previously, the lineedit would never keep focus, the focus always stayed
with the root item. This means that the keys for the lineedit needed to
be filtered one by one, and the lineedit wouldn't get the proper focus
This patch changes the mechanism to switch focus between lineedit and
root view / tab view. It makes the lineedit behave as one is used to.
As a cherry on top: Kickoff will paste the clipboard content with
Control+V even if the search input doesn't have focus.
Kickoff clears search after closing
Add error handling for dbus errors in dbus-call-with-callback.
This was the reason why m_recreateBusy could be stuck to 'true' forever,
the normal callback wasn't called because the DBus call ended in error
(my guess is a timeout due to extra-busy system, or kbuildsycoca crashing).
Old bug, first reported in 2008...
IMAP: refuse to work when STARTTLS is required but server sends PREAUTH
Oops, we cannot send STARTTLS when the connection is already authenticated.
This is serious enough to warrant an error; an attacker might be going after a
plaintext of a message we're going to APPEND, etc.
Thanks to Arnt Gulbrandsen on the imap-protocol ML for asking what happens when
we're configured to request STARTTLS and a PREAUTH is received, and to Michael M
Slusarz for starting that discussion.
Hope the error message is readable enough.
Fix deadlock in SearchManager search update
Scheduling a task into QEventLoop and then blocking the thread by QWaitCondition::wait()
which is awaken by the task won't work. The task will never get dispatched by the event
But it's OK to use updateSearchAsync() in searchUpdateTimeout(), the tasks will get
queued in QEventLoop and dispatched one by one, so now problem.
On closing the content writer do not expect it to be allocated
This fixes assertion in KoSimpleOdsDocument::createContent() where content stays unallocated if the filepath points to a nonwritable directory. Manifest and body are both allocated so I left the relevant assertions and conditions intact.
Allow the backward interval to be eaten by the forward interval
This is possible in the case when the BW-interval was generated by
a fully adjacent FW-interval, then the start or end of the intervals
This effectively fixes a crash/infinite loop in during the filling.
use right function to check for restoration
helps a bunch with not getting states messed up
Removes duplication of call-ui window for a single channel
CAFF: do not encrypt user ids for keys that do not have encryption capability
Instead give the user a message about why they were skipped.
CAFF: do not abort for user ids that are already signed
Instead give the user a message that they were skipped.
Add --resume (and --stop-on-failure) command line options.
Now you don't have to do --stop-on-failure=1.
--resume is documented in the man page and docbook, but basically lets
you resume the last build list quickly without source or metadata
updates, starting from the module that failed. If you want to skip the
failed module, look into --resume-after and --stop-before.
Break Custom Buildsystem Plugin apart into 2 pieces.
*Now it's possible to define macros and add include directories/files through GUI.
*The GUI is always accessible by clicking on Project->Open Configuration.
Note that there is no relation between this plugin and .kdev_include_paths.
That is include directories from .kdev_include_paths are not accessible
from Custom defines and includes plugin and vice versa.
In future .kdev_include_paths file will be used only for out-of-project files.
*After includes/defines modification, the project must be reloaded manually to apply the changes.
*Include files assistant stores data in .kdev_include_paths, but it should in .kdev4 file for in-project files.
*It's difficult to add many include directories at a time.
Don't forget to run kbuildsycoca4.
Hide the Tour panel from the Panels menu
The Tour Widget is not yet ready for prime time. It's not shown in
the Panels menu now, though it's still possible to activate it via
a right click on the menu area. Curious people reading commit messages
hence can still enable it, and we'll introduce it in full glory with
the next release.
[kwin] Introduce a new Effect Loading mechanism
Effect loading gets split by the kind of effects KWin supports:
* Built-In Effects
* Scripted Effects
* Binary Plugin Effects
For this a new AbstractEffectLoader is added which will have several
The EffectLoader will be what the EffectsHandlerImpl is using and it just
delegates to the three other types of loaders. Thus the handler doesn't
need to care about the different kinds of effects. The loading is
supposed to be completely async and the EffectLoader emits a signal
whenever an Effect got loaded. The EffectsHandlerImpl is supposed to
connect to this signal and insert it into its own Effect management.
Unloading is not performed by the loader, but by the EffectsHandler.
There is one important change which needs to be implemented: the ordering
cannot be provided by the loader and thus needs to be added to the
So far only the BuiltInEffectsLoader is implemented. It's not yet
integrated into the EffectsHandlerImpl, but a unit test is added which
tries to perform the various operations provided by the loader and the
BuiltInEffects. The test should cover all cases except the Check Default
functionality which is only used by Blur and Contrast effects. This
cannot be mocked yet as the GLPlatform doesn't allow mocking yet.
Dolphin Facet Widgets: Implement date based filtering
This required changes in Baloo which require reindexing. Since the
storage location has changed for Beta 3 everyone should be re-indexing
everything, so it won't be a problem.
Distinguish between IMAP errors and network failures
The network errors could sometimes be remedied by simply reconnecting, which is
different from stuff like "hey, the IMAP server told us that we made a mistake".
Anyway, this is supposed to be a first step in transparently handling the netwok
annoyances without needlessly disturbing the user.
Start to implement mailmerge support
Add mailmerge test gui app
Adding .xsl file that translates Atom feeds retrieved from WorldCat's
OCLC Open Search into BibTeX documents (@book exclusively)
feature: Ability to reorder the suboperations in the split operation
Add GUI for switching Fast and Composition-enabled mode fo the Fill Tool
Connect the Scanline Fill algorithm to KisFillPainter
This patch finishes the implementation of the scanline algorithm.
There are a few TODOs still:
1) Supports pixel sizes 1, 2, 4 and 8 bytes. Asserts for anything else.
2) Code Duplications in KisFillPainterTest
3) Unittests are still failing or do nothing
4) No UI for the fill tool to choose whether to use compositioning
sketch: Add a method for creating a new image with lots of options
Add Baloo Plugin
kde-projects: Try to optimize kde_projects.xml handling.
I have a fairly large kdesrc-buildrc, and simply doing a
"kdesrc-build --pretend kcalc" (where kcalc is not directly mentioned in
the config file) was taking 32 seconds to complete, since kdesrc-build
would have to go through each possible kde-projects source of kcalc,
and XML-expand it, in order to find kcalc.
Before this fix, each XML-expansion read the whole XML file looking for
modules matching the search string. Then, everything about the XML file
was completely forgotten.
Now the XML file is read only one time, and every possible kde-projects
module is remembered. We then filter the list of modules each time
there's a request. We can probably optimize this still further, but this
alone is enough to get me down to 3-4 seconds locally.
My KF5 installation doesn't show anywhere near as much improvement (but
then it didn't have anywhere near as many different use-modules entries)
Move SearchManager into a thread
Search updates can be slow and expensive, so we definitely don't want them
to block the main Akonadi thread.
Reduce memory usage of the akonadi indexer
Most of the memory seems to be take by keeping all of the akonadi data
(mostly kmime) in memory and then indexing it. We now use the
EmitItemsIndividually delivery option and only keep one email in memory
at a time. This drastically reduces the memory usage while having
resulting in a minor decrease in speed.
A very simple test of 130k emails -
EmitItemsIndividually - 57.6 seconds - 60 mb
EmitItemsInBatches - 56.3 seconds - 500+ mb
Skip virtual collections to avoid accidentaly loading a search collection.
Otherwise it can happen that huge amount of mails are loaded into memory just to
be discarded (2gb korgac anyone?).
I noticed this in korgac, korganizer, and kmail when trying to open invitations.
The reason were 60000 email in my Last Search folder.
Renames the "Open" button of KFileDialog to "Send"
Calmer display of transfer speeds
The position of the upload information jumped around, depending on the
length of the string of the download information.
Solve this by splitting up the labels, making them individually shown
and hidden, and position them aligned to an imaginary center line at
enough distance from the label in order to get the most reliable positions,
while still eliding correctly with width available and buttons
cli7zip: Change the precedence order of the 7z binaries we look for.
Instead of going from least capable (7zr) to most capable (7z), do the
opposite. Looking for 7zr first means that even though a 7z binary capable
of handling a certain archive type might be present on the system it will
not be used. This is particularly troublesome because 7zr does not support
archives with password.
This should not cause any problems for distros that ship only some 7zip
binaries since we still look for all 3 of them (7z, 7za and 7zr).
Move buttons to the bottom of the plasmoidviewer's main view
Applets are added at the top right, under the buttons. Putting the
controls at the bottoms nicely gets it out of th way.
Remove the notifications plasmoid tabbar
Now only persistent notifications will be shown in the history and they
will be merged into one if it comes from the same app and same title.
This should significantly reduce the amount of notifications in the
popup -> no tabs needed.
Alternatively a StatusNotifierItem should be created if the developer
wishes to give the user an indication that something important happened
and needs action.
Remove defunct plugin-loading code, and deprecate KLibrary
KLibrary::factory() tried to load kde3-style plugins (not unreasonable
to drop support for) and kdelibs4-style plugins (which do not work,
since they depended on Qt support). It now does nothing.
This and the KPluginFactory::findPlugin() method leave KLibrary with no
purpose, so deprecate it.
Commit b779f3478b02fc60b3005ad00a7859519d70d9dc in kservice