Issue 223
19th February 2012 by KDE Commit-Digest TeamContributors
Mutlu Inek
Jaka Kranjc
Marta Rybczynska
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 139 selections this week
Bug Fixes
Development Tools
Fix a regression in closeView which could cause modified documents to silently disappear without asking the user.
Don't do auto-formatting when just renaming variables, this may lead to unexpected results.
For example, whitespaces and/or newlines may have been inserted around the renamed variable.
Disable the multiple-toolview support for the 4.3 release
Reason: Inherent bugs which need significant work to be fixed.
Example: Open two equal toolviews (for example 2x konsole),
activate one, switch area, switch back, -> Both are
active instead of one. The problem is that views are
identified purely by their factory-id, which is equal
for toolviews of the same type.
The resulting state with 2 open toolviews looks buggy
and is unexpected and difficult to fix for the user,
this shouldn't happen in a quality release.
parseStmt(): Check for keyword == "<" and skipToClosing('<') short before
expecting `keyword' to be a type name. If `keyword' is then not a type name,
avoid accessing m_klass in the error message if m_klass is NULL.
(In reply to comment #12)
> [...]
> I see lots of marked-as-duplicates and backtraces but not one single Java
> code attachment to reproduce this with.
Okay, I looked at the marked-as-duplicates such as
https://bugs.kde.org/show_bug.cgi?id=245933#c2
and it seems we are talking about Java variable-length parameters (three
dots following the type name.) Here is the fix for that.
Import_Utils::createUMLObject(): If typeName.contains("...") then we are
dealing with a Java variable-length parameter. Handle this case specially:
- Set type to UMLObject::ot_Datatype
- Set parentPkg to umldoc->datatypeFolder()
- Set isAdorned false (to preserve ot_Datatype and prevent second creation)
AssocRules::m_AssocRules:
Add Containment associations for widgetA=wt_{Package,Class,Interface} and
widgetB=wt_Datatype.
SettingsDlg::applyPage( item == pageClass ):
Add missing setting of m_pOptionState->classState.showPublicOnly.
Graphics
Fix multiple crashes when out of disk-space.
Check QFile IO in ImageManager::ThumbnailCache::insert and in
ImageManager::ThumbnailCache::lookup.
Optionally find new images by mimetype only.
use KPHostSettings here.
Do not delete KIPI::Interface. It's done by KIPI host application.
In KPhotoAlbum Just try to rotate a image. All work fine.
Try again with the same image, for ex to rotate back, rotation dialog
appear, but nothing is processed. dialog still to 0%
This problem is now solver
KDE Base
Take snapshot of session state periodically in the background
This comes as an complement of the existing way of taking snapshot
on keyboard activity.
The time inverval is currently 2 seconds. That interval should be
increased if it causes noticable performance penalty.
FIXED-IN:4.8.1
kwin: fixing blur bug for move/resize events
The old blur version wrongly marked a cache region as valid with the
reason that this region would never become visible. It didnt matter
because the only case that this region could become visible was a
movement of the window on top, which back then would have forced a
workspace repaint of that region and as such would have invalidated
the cache anyway. With the introduction of addLayerRepaint the
last point is no longer true and we have to track the valid cache
regions more carefully.
Fix regression in KItemListControllerTest
Since commit 66ce4db4879cd80b2dcb6d65a0c74599c5e5f0ba, enabling or
disabling groupling may change the number of columns in the view.
Therefore, the test should first change the "grouping" setting and then
change the view geometry to make sure that the column count is correct.
(cherry picked from commit 61390b201acae2d8eea94fefc947977a8799af85)
Fixed logic error that prevented items in the sidebar from being refreshed correctly.
FIXED-IN: 4.8.1
Fix Blur not being applied to background of Grouping Panel
Improve mouse click behavior of Aurorae Menu button
The general idea is: single click opens menu, double click closes
the window. The problem is that the when the menu is opened after
the single click, the menu will eat the second click. So double
click will not work.
This commit brings back the workaround from Aurorae2. The clicked
event is not used at all, but we start a timer on the press event
with the doubleClickInterval. If no double click appears during the
interval we open the menu, if there is a double click we close the
window.
The downside of this approach is that there is a slight delay between
clicking the menu button and the menu appearing. For that the right
click behavior is unchanged. That is right clicking opens the menu
instantly and double click to close it, is broken.
ensure login name has focus when starting new user dialog
https://bugs.launchpad.net/ubuntu/+source/userconfig/+bug/710378
Details view: Fix indicator-branches
Up to now no indicator-branches have been drawn when showing a tree. The patch
fixes this so that that the style-dependent branches are drawn.
The main part of the patch is the implementation of
KItemListView::updateSiblingsInformation(). Most of the other changes are
related due to an internal renaming of the expansionsLevel-role to
expandedParentsCount and some related cleanups.
FIXED-IN: 4.8.1
revert shebang highlighting, breaks other languages that include this language
the only true fix is to add an attribute "firstLine=true/false" to the highlighting.
Always install networkmanager.png icons regardless which backend is
going to be compiled (networkmanager-0.7 or networkmanager_fake-0.9).
networkmanager_fake-0.9 does not install any icon, then when using
Plasma NM from branch nm09 there is no icon for it. Plasma NM's master
branch currently installs the icons, I will remove them from master
branch to prevent conflicts with this commit.
Fixed indexing of m3u files.
The analyzer now constructs absolute paths to the containing files and
creates nie:links relations to them. nie:hasLogicalPart does not make
much sense since the audio files are not actually contained in the
playlist, they are just referenced. NFO specifies the usage of rdf:list.
However, that is not supported in Nepomuk at the moment. Thus, we
cannot put any order on the linked audio files yet.
REVIEW: 103961
make PgUp/PgDown in 'Quick Switch' dialog work
patch by Alex Turbov, thanks!
KDE-PIM
Use a single job to fetch all items at once (fixes bug #293626)
Use KGoogle:::FetchListJob to fetch all items first (even those which take
multiple requests) and then send them all to Akonadi. This avoids using
items streaming and thus many crashes that were reported recently.
Fix Bug 293057 - KMail2 (Italian localization) fails to organize local folders in alphabetical order
FIXED-IN: 4.8.1
Cancel the current task when the session gets disconnected.
This makes the "abort" button in kmail work, for the case where we are
between two jobs, in the task.
improve procmail import filter
Avoid creation of duplicated resources through configuration lost
We forgot to explicitly store the config of the resources after their
creation by firstrun or the specialmailcollection helper.
This caused them to be recreated multiple times.
In removeItemFromMaps(), make sure the specified Akonadi::item
can be properly converted to a KCalCore::Incidence before proceeding.
Fixes a potential crash.
MERGE: 4.8
FIXED-IN: 4.8.1
Setting the indexer offline will actually do that.
It is very confusing for the user that the feeder continues to work
even though it is set offline.
Now that user interaction will not stop the feeder but just throttle it
there is no need for this confusion anymore.
Add a new option for printing the footer
Fix up the layouts of all the print dialog pages
add some more whatsthis and tooltips to the print dialogs
MERGE: none
GUI:
FIXED-IN: 4.9.0
Fix Bug 289287 - kmail's views are EMPTY and upon closing kmail, it crashes
FIXED-IN: 4.8.1
Start to fix Bug 259358 - Re-ordering folders via drag & drop not working anymore
Fix Bug 294053 - Setting a preference in Kontact to show/hide favorite folders in KMail has no effect
FIXED-IN: 4.8.1
Repair the locking of the view to the bottom of the scrollbar
... when sorting by date, ascending. It was done in the model with
the assumption that the view would react immediately, but QAIV does it
delayed for quite some time already, so this has to move to the view
instead, inside updateGeometries().
Note that this whole code wasn't supposed to trigger for initial loading,
only when receiving new emails in the current folder, but since akonadi
the loading is async anyway, so there isn't really a notion of initial
loading anymore - and this code triggers during loading too.
Reviewed and tested by Szymon Tomasz Stefanek (pragma).
(cherry picked from commit 818b77885418ddd9e109584a59b9369a3ceea43a)
Don't try to index collections with content we don't have plugins for.
Side-effect is that you can easily test indexing just one type now by
deleting the .desktop files of the plugins for other types.
(cherry picked from commit 6773e925547f4474607c7e2ef35968fc2629577e)
Handle duplicate event UIDs in different calendars
Event cache is now indexed by calendar ID and event UID, which should
reduce the possibility of crashes due to the wrong event being
deleted if any duplicate UIDs exist.
This should fix crashes (bugs 293193, 293290, 293360, and possibly
293346).
Refactoring KIMAP::LoginJob::handleResponse() method for better correctness.
Besides better readability, this makes handleResponse() method
handle not only untagged response caused by CAPABILITY command,
but also unsolicited untagged CAPABILITY response caused by AUTHENTICATE
command which is returned by Dovecot IMAP server for compatibility with
MS Outlook.
This fixes bug #249992.
REVIEW: 103854
Office
Let the spellchecker take country into consideration too
Another try to work around the qt bug
Fix import wizard moving to next screen without selecting source.
Next button in Tables Import Wizard is disabled until a valid database
to import from has been selected.
2.4 RC1
Multimedia
Always use nonnegative position in Playlist::notifyObserversTrackAdded()
This was the cause of bug 293295. Thanks to Marius for spotting and
reporting it.
BUGFIXES:
* Don't misbehave when track is dropped directly to saved playlist.
FIXED-IN: 2.6
Don't mark audio-CD tracks as unplayable.
They are just always enabled until we have a good way to detect the
correct CD is present.
FIXED-IN: 2.6
Fix vlc 2.0 compatibility of ADO
in VLC 2.0 somehow they broke definition of multiple options to the
same module, major inconvenience -.-
The new version works fine for 2.0 and 1.1
Networking Tools
The Delegate Channels Patch a.k.a David's massive patch
In the plasmoid:
Convert plasmoid to a handler from an observer
Support delegate channels (via a nasty hack currently)
Add popout button to delegate to main text UI
Merge the conversationsModel and handler into one class
Fix exposing a load of items to QML for no reason.
Some additional tidying. (and some additional messying :-) )
Clear unread messages on TextChannel::pendingMessagesRemoved()
In the textUI:
Always raise the window in the main Text UI handleChannel unless
hint explicitly says otherwise.
Additionally fixes a bug in which reconnecting an account could
cause the tabs to 'randomly' switch.
REVIEW: 103908
Fix magnet uri's not being handled properly in load torrent feature of webinterface
Set windowType flag of popup to Qt::Tool, to skip the taskbar
Make clicked links in chat actually open
Implemented a handler for the Text,linkClicked signal that calls
plasmoid.openUrl(). Also changed required permissions to include
LaunchApp.
Make popup stay visible even after it looses focus.
Will add an option to make it dissapear again (properly) later.
REVIEW: 103992
User Interface
Fix flicker of Splitter Proxy in oxygen-transparent, like for oxygen.
Fix ComboBox padding
Utilities
fix crashes on model changes
QAbstractItemModel::changePersistentIndex() is heavily underdocumented, so I
probably got it wrong. Use beginResetModel()/endResetModel() to guard "global"
changes in the model instead of layoutAboutToBeChanged()/layoutChanged(). This
should hopefully get rid of all the spurious crashes deep in the Qt model
implementation.
FIXED-IN:4.8.1
Fix the creation of sequence tools
In particular, of QuickBuild.
refresh the model when the ratings arrive
Fix show of an empty icon on the systray, and make use of KWorkSpace::requestShutDown.
Fix automatic refresh of package list when filters are changed CLOSES
Fix wrong scan progress indication while scanning big images.
Fix some colors for better readability, fix shadow/halo drawing
- Fix text color of journey route items
- Fix drawing of route stop items on mouse hover:
It could draw light text on a light halo (unreadable)
- Fix unreadable background/text color combinations in journey view.
The positive/negative background colors of the current color
scheme are darkened/lightened to provide enough contrast to the
text color. If the background color gets darkened it's saturation
gets raised to still be able to identify the journey rating easily.
For neutral rating the neutral background color form the current
color scheme gets now used instead of transparent.
- Fix zoom factor update of journey route items, they now properly
update their geometries to zoom factor changes
- Fix enable/disable drawing of shadows/halos
Apply Gregor Horst's patch to stop polling while a scan is ongoing
Fix bug which prevent the computer to sleep
Fix bug that crashed on apper quit due to changes on repos
Fix bug that prevented Close button to work on SessionInterfaceDialogs
Games
Make KCardDeck card IDs unique, even for cards with same suit and rank.
Previously, two KCards having the same suit and rank would have
identical IDs, leaving no real way (other than their addresses) to tell
them apart at run time. This makes implementing some changes I have
planned a real hassle.
Since KCardDeck was only using the lowest 6 bits of the 32 available in
the ID, we have plenty of room to store the card's position within the
deck. The new layout is 8 bits for the rank, 8 for the suit, and the
remaining 16 for the number. So that's support for 256 different ranks,
256 different suits and 65536 different cards.
This change is also made to KPat's slightly custom ID generation code.
Use new save format for "Remember State on Exit" functionality.
FIXED-IN:SC4.9
rewrite Original Call
it is not up to the client to tell the server he violated the original
call. The server now finds out itself and tells everybody.
nice side effect (and reason for doing this): the client no longer
returns two answers at once
Also, the rules of the game are now implemented correctly: the player
may even claim a tile and still declare original call if this is his
first discard.
this bug fix seems a little too big for backporting to KDE 4.8
fix problems in the server/client communication
Client.answers was used to accumulate answers from client to server.
But if the server sent some new message, this was cleared before the
answer to previous message was sent. (popup messages).
Effect: Sometimes buttons for chow/pung did not appear when they should
a bit much to be backported to KDE 4.8
Features
Accessibility
Adding button for video fullscreen
Adding skype messages
Adding the astromobile subproject
The astromobile project consists of multiple applications (including
simon, simon-touch, etc.) that communicate over dbus. The
central communication hub is "astrologic" where services (location,
navigation, etc.) meet coordination (simon-touch, simon)
Development Tools
Make it possible to enforce sequential processing of parsejobs
A parse jobs priority can now be accessed through the job object,
useful for re-scheduling the job with a higher priority or similar.
Parsejobs that have the RequiresSequentialProcessing flag set are now
forced to be processed in order of their priority. This means, no parse
job with a lower priority and the RespectsSequentialProcessing flag set
will be started before all jobs with a higher priority have finished.
That way, it is guaranteed that documents are parsed in the exact order
of their priority, which makes it possible to use the priority flag for
e.g. dependency handling on import statements or similar:
If an import is encountered, you can schedule the imported document with
parsePriority() - 1, and then re-schedule the current document with the
same parsePriority(). This is now guaranteed to re-parse the current
document only after the imported one was processed.
This patch also adds unit tests for the BackgroundParser. These also show
that the background parser was actually *broken* before, leading to semi-
random scheduling of parse jobs ignoring their priority
REVIEW: 104019
Get all modules working on Windows.
Qwt, QImageBlitz, and Qsci are currently untested on Windows. All other
modules, including Phonon, appear to be working.
Make it possible to enforce sequential processing of parsejobs
A parse jobs priority can now be accessed through the job object,
useful for re-scheduling the job with a higher priority or similar.
Parsejobs that have the RequiresSequentialProcessing flag set are now
forced to be processed in order of their priority. This means, no parse
job with a lower priority and the RespectsSequentialProcessing flag set
will be started before all jobs with a higher priority have finished.
That way, it is guaranteed that documents are parsed in the exact order
of their priority, which makes it possible to use the priority flag for
e.g. dependency handling on import statements or similar:
If an import is encountered, you can schedule the imported document with
parsePriority() - 1, and then re-schedule the current document with the
same parsePriority(). This is now guaranteed to re-parse the current
document only after the imported one was processed.
Educational
GeoPainter: specific rendering for untesselated linestrings across IDL
REVIEW: 103876
[Touch] Basic support for bookmarks
KDE Base
Window Switcher layouts follow Plasma Package structure
A new service type is introduced which is used by the KCM to find
all available window switcher layouts. This makes it finally possible
to have 3rd party window switchers.
Also the tabbox finds the packaged QML file through the service
definitions.
Desktop switcher is not yet in packaged version (UI to configure
is missing).
REVIEW: 103951
Update to 3.1:
- added initial support for placeholder previews in rich text editor;
- new theme selector with previews;
- added Progress clock, based on code from Peter Fajdiga;
- removed Flat theme (too similar to Default);
- updated internal HTML layout to be simpler and more future proof;
- add dynamic offset to themes with enabled background;
- events are now always synced;
- allow to zoom contents of rich text editor;
- use Plasma theme font by default;
- set initial focus for rich text editor;
- move bundled themes to XML data file;
- some other fixes.
Adding a video wall script
This script allows to have video fullscreen windows span all attached
screens creating a video wall.
This replaces the removed functionality that you could disable
xinerama support inside KWin for fullscreen windows.
REVIEW: 104014
powerdevil: Add an option for configuring lid close inhibit behavior
amazing. just implemented hover text nicely
painting order is beautiful now. it does a clearRect on the whole graph
though on each point change. that's hella expensive. must fix..
support file previews
32x32 icons for the location applet
A +- -- applets/locationchooser/package/icons/hi32-app-plasmaapplet-location-changed.png
A +- -- applets/locationchooser/package/icons/hi32-app-plasmaapplet-location-unknown.png
A +- -- applets/locationchooser/package/icons/hi32-app-plasmaapplet-location.png
A +- -- applets/locationchooser/package/icons/icon-32.svgz
Support KWin packages in plasmapkg
Additional support for:
* window switcher
* kwin scripts
* kwin effects
REVIEW: 104000
add dot (graphviz) highlighting
Add per-profile option 'BellMode' for choosing the type of bell
There are no GUI elements for controlling that option, so it is a hidden
option at the moment.
To configure this option manually, put following lines into some konsole
profile under ~/.kde4/share/apps/konsole/ :
[Terminal Features]
BellMode=N
Where N could be 0 for system beep, 1 for system notification and 2 for
visual bell. That mapping might change before next major release.
REVIEW: 104013
KDE-PIM
Introduce KGoogle::FetchListJob
FetchListJob automatically fetches all items from given URL
(handling multi-paged replies) and emits result() when all
items are fetched providing a single method to obtain all
items by one signal.
TODO:
- progress reporting
Extend quick search to include fulltext results from Nepomuk
Unfortunately it doesn't work correctly yet, we have to find a way to construct
the filter query for 'only in current folder' correctly.
Support creating and moving subtasks in Calendar resource
Office
Added PDF to QIF converter as provided by Volker Paul.
"The "ACcount STatement to QIF converter" acst2qif.py, a free Python script,
takes account statements in PDF, converts them to text using pdftotext and
extracts data from this text. The converter needs to be configured by a
configuration file that resides by default in $HOME/.acst2qif.cfg.
Documentation about the converter is in its sourcecode and the
configuration file (example) also contains its own documentation.
The converter needs Python and pdftotext. Its results are to be
imported in KMyMoney or other software that accepts QIF input."
Added print-orientation, print-papersize and print-margin commandline-arguments to calligraconverter.
This enables more control over the generated PDF documents.
CC_MAIL
Widgets: context message widget can contain arbitrary QWidget content
Also:
*buttons in context message widget can be left-aligned, useful for Help button
*context message widget now displays more modern callout
*context message widget now has internal widgets colorized using the view theme
*context message widget now uses the view theme
*context message widget now uses clean [x] button
Added more options to control the PDF-output via UI.
We are re-using the KoPageLayoutWidget (which is already
translated) to allow defining the page-size (A4, Letter,
Legal, Custom, etc), the Orientation (Portrait or
Landscape) and the margins. The other two introduced
i18n-strings are already in use in calligra/libs and
therefore already translated too.
The user is able now to full control produced PDF-files
in the Desktop-UI and the calligraconverter
commandline-application.
Final Improvements in Kexi Feedback Agent
Main Window
*feedback agent now supports selection of areas
*feedback agent now handles retrieving redirect URL
*status bar: HTML replaced with .ui files loaded by quitools and external Qt resources
DIGEST: Final Improvements in Kexi Feedback Agent
Multimedia
Auto-align works!
1. Add a clip to the timeline and set it as reference
in the context menu
2. Add a new clip to the timeline and select auto-align in the context menu
Still needs some refinements when dealing with collisions (undo etc.).
Add keyboard shortcut for Edit Track
Patch by: Jasneet Bhatti
FIXED-IN:2.6
REVIEW: 103960
Add delay to status bar messages
Simplified the status bar code and updated it to queue messages;
Consecutive error messages will not overwrite each other anymore.
Resolves: http://www.kdenlive.org/mantis/view.php?id=2519
adopt the whitewidgets!!
Audio alignment works.
This is at the moment still a brute-force attack (correlation
currently requires O(n²) time) but /works/ and is reasonnably
fast for clips with reasonnable length (not too many minutes).
Later the correlation can be replaced with an FFT version which
would only require O(n log n) time.
Example usage of the executable:
$ ./audioOffset mainVideo.avi someSound.wav
This will e.g. tell you that someSound.wav needs to be shifted
by 42 frames in order to be aligned. The MLT profile can be
specified with --profile=<mlt profile>.
Networking Tools
New History Manager, NO MORE QWebHistoryInterface based.
We are just saving datas on our own, I don't like QtWebKit APIs
to do it. We now call addHistoryEntry(url, title)
on loadFinished.
Data structure will remain the same as usual, but I think API
is better and data are now saved when we really have them
ready.
Add adblock icon to inform users that some contents was hidden
This is a patch by Andrea Di Menna, changed a bit to allow element
blocked/hided listing (you'll see it in next commit)
REVIEW:102761
REVIEWED-BY: adjam
Switch to nepomuk:/me from nepomuk:/myself
Additionally, avoid using Nepomuk::Resource as it caches the data
and uses resource to make sure the cache is up to date.
Plus, this is faster.
New History Manager, NO MORE QWebHistoryInterface based.
We are just saving datas on our own, I don't like QtWebKit APIs
to do it. We now call addHistoryEntry(url, title)
on loadFinished.
Data structure will remain the same as usual, but I think API
is better and data are now saved when we really have them
ready.
Move adblock manager to use multiple text files for rules and
separate adblock settings from rekonq ones.
We now have 60 adblock rules list sites stored to be enabled
"on click"
Filter plugin has a new and useful feature: User can set a filter just like before but to highlight a post instead of remove it.
Adds FileDeleter which manages the removal of files.
Users of FileDeleter simply specify the url of the file
to delete and are then able to connect to the job.
FileDeleter makes sure that for each file there is only
one job, i.e. it is possible to call deleteFile multiple
times.
Also adds a unit test for FileDeleter.
Move adblock manager to use multiple text files for rules and
separate adblock settings from rekonq ones.
We now have 60 adblock rules list sites stored to be enabled
"on click"
Move adblock manager to use multiple text files for rules and
separate adblock settings from rekonq ones.
We now have 60 adblock rules list sites stored to be enabled
"on click"
Let rekonq block sparse images (this idea has been copied from Arora)
Implement saving of Contact Groups
User Interface
Implement fallback on classic theme
Utilities
Show the existing installed version of a package in a separate column
Show the installation source repository of each package
Features asked by Will Stephenson
added an updates page
Also show reviews in the application view
Games
Suspend the game in the task switcher, allow resuming the game from that point
Add a new mimetype for .kpat files.
The new "application/vnd.kde.kpatience.savedgame" will store the entire
history of a KPat game, instead of just the current state stored by the
current "application/vnd.kde.kpatience.savedstate" files.
Add initial support for saving/loading history to/from file.
Instead of saving the just current state of the game, KPat now saves
the entire history, allowing one to undo/redo in the loaded file. I've
been wanting to do this for a while and finally got it finished.
This is a brand new and entirely separate XML format. KPat can open
both kinds of files and when saving the user can choose either one,
although we default to the new format. The old format will stay in
place for at least a few releases, but for simplicity's sake we might
want to remove support for at some point.
Hopefully it'll improve the quality of bug reports, since the user will
be able to attach the exact series of moves that lead up to a problem.
It also means that people won't lose their undo history when closing
KPat with "Remember State on Exit" checked.
In addition to the new history stuff, I've tried to improve the file
format to make it more human readable and therefore, hopefully more
useful for debugging.
I still have a few changes I want to make to the code and to the save
file format, but this is a decent start that seems to work quite well
already.
DIGEST:
Other
Job-based activity switching
Optimization
Accessibility
Making astrocam ui pure PHP (with a "theme"); Improving caching
KDE-PIM
Don't try to index collections with content we don't have plugins for.
Side-effect is that you can easily test indexing just one type now by
deleting the .desktop files of the plugins for other types.
Added throttling of the indexing on user interaction.
Indexing is now never suspended at all, only throttled.
Save the indexCompatLevel with each item.
This allows us to check if the items need updating in case the indexer
improved.
We now have a 2-step initial update: The initial update is done once
all collections are indexed. This is written to the config as before.
However, if the index compat level changes the initial indexing is
restarted. But in order to not re-index every single item between
restarts (in case the initial update did not finish) we check for the
compat level used on the item and only update those which have an old
one.
Improved Nepomuk feeder throttling.
The low prio queue is now throttled more than the high prio queue
making the indexing even less intrusive for the user.
Office
Changed: let CDR import filter create ODG directly instead of SVG (initial work, no content yet stored)
Optimize chart-shape and made loading charts double as fast.
We compress multiple proxyModelStructureChanged() emitted during loading charts now into one single call at the end of the loading process what gives us a huge speed-up when loading charts.
With my test-document ( Harmattan-Columbus_SW_Maturity_Applications_Release-W19_10.xls ) loading all the charts in that Excel document is done more then double as fast now (before ~40-50ms per chart and after this patch ~10-20ms).
Networking Tools
Creates the Contacts asynchronously
All Contact operations are peformed every 200 mseconds, so during
startup when all the contacts are being created, only one asynchronous
call is made to the storage service.
This speeds up the startup exponentially.
Games
Rewrite the state saving and restoring code to be diff based.
Previously, KPat stored the state of every single card for every state
in its undo/redo history. Since the vast majority of moves involve less
than 10 cards and a decent percentage involve only one, this approach
is obviously quite inefficient.
As of this commit, KPat now stores only the old and new states of each
card that has been altered since the last move. This is both more
processor and memory friendly, which is great, but it also opens the
door to creating a new saved game format that stores the entire game
history.
DIGEST:
Other
Graphics
Restructure progress manager so that adding/removing items and settings the progress of an item is thread-safe.
The progress item list is mutex-protected. The progress counters are incremented by atomic instructions.
[lcms2] porting
here there is another step, some private functions have been imported
from lcms2, but some small changes to cietonguewidget.cpp were needed
too.
Interface is now complete (with the exception of two informational
functions), results however are still wrong and further testing is
needed (below an example).
Digikam::CIETongueWidget::setProfile:
lcms1: Profile white point : x= 0.312713 y= 0.32912 Y= 1
lcms2: Profile white point : x= 0.307693 y= 0.43076 Y= 1.24611e-306
KDE Base
correctly apply text line count settings in list view
1)Apply the text line count setting in updateListViewState() - removed an incorrect pointer check
2)Relayout the items in the list view on text line count change and recalculate the list view size
This correctly fixes bug 261207, as it allows the user to set the text line count to 1, thus saving vertical space.
FIXED-IN:4.8.1
Use TileSets to cache progressbar indicators.
Use only the small dimension of the bar in the cache.
Stretch the large dimension when bar is expended.
More changes towards the new archtecture
Networking Tools
rekonq 0.8.90
AKA rekonq 0.9 beta.
If nothing bad will happen, will have 0.9 stable
in 2-3 weeks from now. I'll branch 0.9 code from this commit.
Master branch will reopen for development in some days.
Rewrite sysinfo in Python.
Not that much in the way of new features, though it's
a bit more configurable now (emulating the media script
in the approach) and support for reporting the distro
name version either via /etc/os-release or invoking
lsb_release was added. KDE version reporting is also
a bit nicer now, differentiating between running inside
a KDE session and not.
Games
libkdegames cleanup: remove KGrid2D
Other
-make use of the new KDE cmake modules in ECMQtFramework
ECMQtFramework.cmake now uses
- KDEInstallDirs.cmake, so it doesn't have to define th install locations itself anymore
- KDECompilerSettings.cmake, so it gets the full set we had in kdelibs4
- KDECMakeSettings, so it gets the full set of cmake features as before, and some more, RPATH, etc.
Alex
Encryption setting and tearing