Issue 217

8th January 2012 by KDE Commit-Digest Team

Contributors

Mutlu Inek
Jaka Kranjc
Paulo Dias
Vladislav Blanton
Marta Rybczynska

This Week...

Aurorae goes QML, ClientGroup becomes scriptable in KDE base. Calligra sees work on footnotes, all the interactive painting tools are threading-friendly; Kexi introduces Simple User Feedback Agent. Rekonq adds about:tabs, easy method to manage rekonq tabs. Support for Twitter photo upload API method in choqok. Board Editor and random layout addition to kmahjongg. Memory leaks fix due to circular references and other updates in Amarok. Initial port of Calendars resource to libKGoogle 0.3 in akonadi-google. Skrooge has "Show" menu in scheduled operations.

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 118 selections this week

Bug Fixes

Educational

Thibaut Gridel committed changes in [marble] /lib:

Fix crash when invisible placemarks are selected and not yet in the viewport

Thibaut Gridel committed changes in [marble] src/lib/geodata/data/GeoDataFeature.cpp:

GeoDataFeature: always provide a style

Eike Krumbacher committed changes in [kmplot] /:

This patch introduces an ERROR token. This helps loading files
with function, which reference undefined constants. By now, these
files do not make kmplot crash anymore.

Patch was discussed at reviewboard, December 2011.

Graphics

Benjamin Girault committed changes in [kipi-plugins] /:

Patch from brad -- Part 1

Introduces finer (multi platform version) binaries detection for
kipi-plugins.

KDE Base

Peter Penz committed changes in [kde-baseapps] /src:

Revert patch using the native graphicssystem as default

I'm trusting Christoph Feck's advice here. Additionally the smooth scaling
has been activated to fix bug 290865.


FIXED-IN: 4.8.0

Nikita Churaev committed changes in [kde-workspace] plasma/desktop/shell/controllerwindow.cpp:

Fix widget explorer and activity manager search fields not receiving input after opening.

REVIEW: 103597

Peter Penz committed changes in [kde-baseapps/KDE/4.8] dolphin/src/main.cpp:

Use the native graphicssystem per default

The scaling of pixmaps is just way too slow with the raster graphicssystem (see KPixmapModifier::scalePixmap()). It is of course still possible to run Dolphin
with the raster graphicssystem, but this has to be done explicitly then.

Peter Penz committed changes in [kde-baseapps/KDE/4.8] /src:

Folders Panel: Activate folders on single-click

Even if double-click is used as default setting, the folders panel should
open folders with a single-click.


FIXED-IN: 4.8.0

Thomas Lübking committed changes in [kde-workspace] kwin/clientgroup.cpp:
Dawit Alemayehu committed changes in [kde-runtime] kurifilter-plugins/ikws/searchproviders/cpan.desktop:

When the second parameter is missing default to empty not "dist".


FIXED-IN: 4.8.1
(cherry picked from commit b0efe1cbe84b4eb2e78d28896a5c450c314ce2bc)

Jekyll Wu committed changes in [kde-workspace/KDE/4.8] klipper/klipper.cpp:

Do not set default values for four global shortcuts.

This make them less intrusive for users of other applications, and
klipper now behaves effectively the same for a fresh account as before
BKO 259539 is fixed. The down side is there are no more recommended
shortcuts.

Peter Penz committed changes in [kde-baseapps/KDE/4.8] dolphin/src/kitemviews/kfileitemmodel.cpp:

Fix issue that an empty directory is shown in the split mode

Root-cause was that the signal KDirLister::completed(KUrl) must be watched
by the model and not KDirLister::completed().


FIXED-IN: 4.8.0

Dawit Alemayehu committed changes in [kde-baseapps/KDE/4.8] /src:

Save and restore the text selection.


FIXED-IN 4.8.0

Peter Penz committed changes in [kde-baseapps/KDE/4.8] dolphin/src/kitemviews/kitemlistwidget.cpp:

Fix style-issues in items when not using Oxygen

Thanks to Jonathan Marten and Christoph Feck for the analyses
and the patch.

Still open: The focus frame in cleanlooks is not drawn.

Sebastian Trueg committed changes in [kdelibs/KDE/4.8] /network:

KTcpSocket: forward encryptedBytesWritten from QSslSocket.

Very important for the timeout detection in the akonadi imap resource.
write(5MB) gives an immediate bytesWritten(5MB), only encryptedBytesWritten
allows to see some regular activity on the socket.

, 258361

Michał Dutkiewicz committed changes in /trunk/playground/base/plasma/applets/miniplayer:

Update to 2.1:
- save and restore sections order;
- fix freeze when using sequential playback mode;
- add workaround for video not updated before going full screen;
- some other fixes.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 17 more) Revision 1271009
Thomas Lübking committed changes in [kde-workspace/KDE/4.8] kwin/effects/presentwindows/presentwindows.cpp:

Pick correct screen area in tabbox w/o scree focus separation case

David Faure committed changes in [kdelibs/KDE/4.8] kdecore/config/kconfigini.cpp:

Apply patch by Anssi Hannula, to fix KConfigIniBackend::isWritable

... when the parent directory doesn't exist.

cdUp() fails when the parent directory doesn't exist, causing
isWritable() to bail out and return false without checking further
parent directories.

Fix that by walking through the tree using QFileInfo::absolutePath()
instead.

https://bugs.mageia.org/show_bug.cgi?id=3601#c10

REVIEW: 103577
FIXED-IN: 4.8.1

Sebastian Trueg committed changes in [kdelibs/KDE/4.8] kdecore/kernel/kstandarddirs.cpp:

Honour $PATH when looking for executables.

The very old idea of not requiring PATH to be set, when compiling KDE
into a custom prefix, doesn't make that much sense (we require tons
of other env vars anyway), and doesn't allow users to control PATH.


FIXED-IN: 4.8.1

Sebastian Trueg committed changes in [kdelibs/KDE/4.8] kdecore/config/kconfigini.cpp:

Apply patch by Anssi Hannula, to fix KConfigIniBackend::isWritable

... when the parent directory doesn't exist.

cdUp() fails when the parent directory doesn't exist, causing
isWritable() to bail out and return false without checking further
parent directories.

Fix that by walking through the tree using QFileInfo::absolutePath()
instead.

https://bugs.mageia.org/show_bug.cgi?id=3601#c10

REVIEW: 103577
FIXED-IN: 4.8.1

Raphael Kubo da Costa committed changes in [kde-baseapps] konq-plugins/domtreeviewer/domtreecommands.cpp:

domtreeviewer: Fix build with clang.

DOM::Node does not originally have operator<(DOM::Node, DOM::Node)
implemented in khtml, so domtreecommands.cpp implemented it. However, it did
so in the `domtreeviewer' namespace.

When ManipulationCommand::addChangedNode() is called, it calls
ChangedNodeSet::insert(), which is actually QMap<DOM::Node, bool>::insert(),
which calls qMapLessThanKey(), which finally calls operator<().

Since QMap is not part of the `domtreeviewer' namespace, when
qMapLessThanKey() calls operator<(), it never looks for an implementation in
the `domtreeviewer' namespace. Argument-dependend name lookup makes the
compiler look for an implementation in the namespace of the function
arguments (DOM, in this case), so we need to move our implementation there.

For some reason, the code built fine with gcc.

Thanks to Nicolás Alvarez for the initial discussion, and [1] for the ugly
details.

[1] http://www.gotw.ca/publications/mill08.htm

(cherry picked from commit c3e23ca29959ae2aab154c5a8d40b823c1923e85)

Jacopo De Simoi committed changes in [kde-workspace/KDE/4.8] plasma/generic/applets/devicenotifier/package/contents/ui/devicenotifier.qml:

Rely on the dataengine to obtain accessibility

Do not rely on emblems to detect the accessibility state
of a device! We have a dataengine for that

KDE-PIM

Sergio Luis Martins committed changes in [kdepimlibs/calendaring] /calendar:

Make conflict prevention work across IncidenceChanger instances.

When undoing/redoing we must update the item revision to the last
revision known by our application, otherwise we get a conflict
dialog because the items sitting in the undo stack are old.

We will only get a conflict dialog for changes made by other
applications.

Allen Winter committed changes in [kdepim] akregator/plugins/mk4storage/metakit/src/string.cpp:

in c4_String::c4_String(), only call memset() if the number of bytes
to set is greater than 0.


MERGE: 4.8

Torgny Nyblom committed changes in [kdepimlibs] /:
David Faure committed changes in [kdepimlibs] /:

Fix wrong timeout when uploading/downloading large messages.

This fix requires the ktcpsocket encryptedBytesWritten signal added to kdelibs-4.8[.1?]

CC, 258361, 258378

Jonathan Marten committed changes in [kdepimlibs] /contact:

Improve appearance and operation of the IM address dialogue.

Instead of editing in place with an item edit delegate, use a
separate add/edit dialogue for the protocol and address. The
item delegate is only used for showing the standard address
in bold.

Open the item editor dialogue on a double click, so those users
who are accustomed to the double click to change will not be
surprised.

Eliminates the confusion when a user clicks on "Add" and then
thinks "but I didn't ask for AIM, how do I change it?".


REVIEW:103620
GUI:

David Faure committed changes in [kdepim-runtime] /imap:

Fix crashes due to deleted Session pointers being kept around.

And fix LogoutJob never going through in the idle session, because the IdleJob
runs forever. The idle job has to be stopped, first.

Tested with kDebugs and using 'RMB / Toggle online/offline'

Both fixes suggested by Kévin when discussing the issue with him.



FIXED-IN: 4.8

Office

Dmitry Kazakov committed changes in [calligra/shapes-as-node-model-kazakov] /ui:

Wrapped KisShapeLayer in KisNodeShape, fix signals for flake

To make node add/remove signals asynchronous we need to store
shared pointer of KisShapeLayer, so lets just wrap it into the
node shape. It'll make the life of maintaining siblings data easier.

This patch fixes layer activation signals as well. See comment in
KisCanvas2::KisCanvas2.

Marijn Kruisselbrink committed changes in [calligra/mobile-android-mek] /:

make tables build on android

Diffs: 1, 2, 3, 4 Revision 2a71dac...
Thorsten Zachmann committed changes in [calligra] /:

Fix whitespace handling in xml loading

This changes the xml loading to no longer strip whitespace. This fixes one of the
problems attached to the bug report where there is a text node with only a space
e.g. <text:line-break/> <text:s/>2 space.
This change uncovered some problems where white space was not handled properly:
anchors and line-breaks in filters, frame element loading in libs.
It also fixes saving of line-break to use the correct tag instead of the QChar::LineSperator as char.
Also whitespace handling after tabs, bookmark-ref and when variables are used have been fixed.

REVIEW: 103568

Diffs: 1, 2, 3, 4, 5, 6 Revision 16bc36a...
Gopalakrishna Bhat committed changes in [calligra] /:

On saving the document attached to bug 287747 the list label style was not saved. Now we do that.

Diffs: 1, 2, 3, 4, 5 Revision 2215d10...
Marijn Kruisselbrink committed changes in [calligra/mobile-android-mek] /:

make calligra-mobile build on non-x11 platforms and without openssl and libxml2

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 7bd934c...
Jarosław Staniek committed changes in [calligra] kexi/plugins/importexport/csv/kexicsvimportdialog.cpp:

CSV Import: Ask for opening the imported table

C. Boemann committed changes in [calligra] libs/textlayout/FloatingAnchorStrategy.cpp:

Offset should only be taken into consideration, when from-left,
from-inside or from-top

Boudewijn Rempt committed changes in [calligra/odf-xmlid-rempt] libs/odf/KoElementReference.h:

Implement a listener/facade/map structure for managing element references

It feels like Java... Or like Krita 1.3... This is what is being done
here:

* Calligra has two (for now) places where we use a particular string
throughout the lifetime of the application to cross-reference data:

* changetracking
* RDF

If we try to save a changetracked, rdf-containing document, both parts
will want to save an xml-id on the same element. So both parts need to
be updated on saving, when we create a new xml-id.

So, during saving, KoTextWriter will keep track of all the parts that
want to save an xml id. It will ask those parts for an implementation
of KoElementRefenceUpdateFacade and keep a list of those.

When the element is closed, a new KoElementReference will be generated
and used to save the xml-id on the element.

Of course, this means that you can only save the rdf document and the
changes _after_ saving the main text...

Dmitry Kazakov committed changes in [calligra] /:

Fixed threading bugs in KisSelectionManager and covered it with unittests

The problem is our transactions declare their work only in the very
end of processing. It means that there are no guarantees about exclusivity
of their work. So now I added beginMacro()/endMacro() calls to declare
their work and to lock the scheduler.

Thorsten Zachmann committed changes in [calligra] /:

Don't show Insert Menu twice

This fixes bug 290659 - Duplicated to menu item Insert

Jarosław Staniek committed changes in [calligra] kexi/plugins/importexport/csv/kexicsvimportdialog.cpp:

CSV Import: ignore any trailing delimiters if needed

*Fixed bug: ignore any trailing delimiters if "Ignore multiple delimiters" option is on, so empty extra column is not added

Sven Langkamp committed changes in [calligra] krita/ui/widgets/kis_preset_chooser.cpp:

fix text color in preset docker with other color schemes

C. Boemann committed changes in [calligra] libs/textlayout/KoTextDocumentLayout.cpp:

The way we find which rootareas to mark dirty has some flaws when deleting.
We now find from the position before to the position after. which sohould catch
more cases.

bug:290895

Jarosław Staniek committed changes in [calligra] kexi/plugins/importexport/csv/kexicsvimportdialog.cpp:

CSV Import: Do not ignore "Ignore multiple delimiters" setting


DIGEST:
Improve Kexi's CSV import when "Ignore multiple delimiters" setting is used

Dmitry Kazakov committed changes in [calligra] /image:

Fixed a bug in oblige child mechanism

After making the global selection a mask root layer may have a mask,
but still can ask its only child layer to share the projection.

There was another reason for the bug: the assert in createThumbnail
didn't take into account that the device may be empty.

Stephane Mankowski committed changes in [skrooge/Feature] /:

: No support of OFX format

C. Boemann committed changes in [calligra] words/part/dialogs/KWAnchoringProperties.cpp:

Fix bug that caused setting the vertical rel rather than horizontal rel
when clicking on align right

Multimedia

Matěj Laitl committed changes in [amarok] /:

Merge branch strohel-for-2.6 into master

This merge was agreed on the mailing list, so push it.

* strohel-for-2.6: (21 commits)
media device collections are never organizable: remove a bunch of cruft
media device handlers: minor cleanups
media device collection: implement batch meta-data changes in EditCapability
media device collection: factor out EditCapabilityMediaDevice to its file
iPod collection: convert from ReplayGain to Sound Check and vice versa
media device collection: whitespace fixes
media device collection: merge WriteCapabilityBase and WriteCapability
media device collection: merge ReadCapabilityBase and ReadCapability
media device collection: get rid of CustomReadCapability - was unused
Collection browser: show absolute free space on hover, thicker bar
{media device,ipod} collection: remove unused writeDatabase() method
media device collection: more consistent handling of compilations
Get rid of UpdateCapability entirely - it was no longer used
collection location: remove UpdateCapability use from slotFinishRemove()
current track applet: remove historic cruft (UpdateCapability use)
iPod handler: remove duplicate function call
MediaDeviceArtist::albums() is not used, do not maintain album list
Media device handler: remove debug stamps, not useful anymore
playlist: show also albumArtist, BPM, labels, lastPlayed and bitrate in tooltip
iPod handler: raise libgpod dep to 0.7.93 and simplify iTunes db writing
remove IpodHandler::slotInitializeIpod(), it was not used anywhere

Colin Guthrie committed changes in /trunk/KDE/kdemultimedia/kmix/backends/mixer_pulse.cpp:

kmix: Fix channel mapping for 7.1 side channels in PulseAudio.

Marco Martin committed changes in [amarok] /context:

contextview taskbar not child of containment

the containment being parent can control its appearance, such as clipping

Matěj Laitl committed changes in [amarok] src/covermanager/CoverFetchingActions.cpp:

CoverFetchAction: disable according to canUpdateImage() method

Previous algorithm only worked from MetaFile::Album, this one works for
it and for all albums that correctly implement Meta::Album interface.

Soren Harward committed changes in [amarok] /:
Matěj Laitl committed changes in [amarok] src/core-impl/collections/support/MemoryMeta.h:

MemoryMeta: const references, minor cleanup

Yes, QString is implicitly shared and KSharedPtr is light, but why not,
cost references are good.

Networking Tools

Lamarque Souza committed changes in [networkmanagement] applet/networkmanager.cpp:

Well, I thought that m_interfaces would never be empty when adding new
interfaces. It seems I was wrong.

Lamarque Souza committed changes in [networkmanagement] /:

Re-enable connection state info in interface details dialog. Add VPN
interface item after the interface list, like in nm09 branch.

Urs Wolfer committed changes in /trunk/KDE/kdenetwork/krdc/vnc:

Fix VNC authentication (when user cancels password dialog).

Urs Wolfer committed changes in /trunk/KDE/kdenetwork/krdc/vnc:

Do not try to share selection clipboard which breaks things (VNC).

, 284439
FIXED-IN: 4.8

Andrea Diamantini committed changes in [rekonq] /:

Finally fix problems with unset background

WARNING: This fix works just with qtwebkit 2.2.x!!!

Eike Hein committed changes in [konversation] src/viewer/viewtree.cpp:

Support keyboard event forwarding from ViewTree to inputbar-less views.

Andrea Diamantini committed changes in [rekonq] /:

Clean up rekonq.kcfg

It was really a mess before. I also found 2 settings never used...

WARNING: This will cost users to reset some settings. Sorry for that

Diffs: 1, 2, 3, 4, 5 Revision d44dbda...
Lamarque Souza committed changes in [networkmanagement/nm09] /:

Use QString instead of QByteArray to represent file paths.

Utilities

Martin Tobias Holmedahl Sandsmark committed changes in [filelight] src/part/part.cpp:

Make the main filelight widget a QScrollArea.

>From Espen Hustad:
Add scrollbar support to the filelight kpart.

The following patch adds scrollbar support to the filelight kpart.
No scrollbars are shown if the window is big enough.

Raphael Kubo da Costa committed changes in [ark/KDE/4.8] CMakeLists.txt:

Add missing add_definition() calls.

For some unknown reason, while the svn to git conversion work was going
on in branches/work/kdeutils-build-standalone, the lines adding
${QT_DEFINITIONS} and ${KDE4_DEFINITIONS} to the definitions passed to
the compiler end up not being included in each application's
CMakeLists.txt.

This was not a problem during the 4.7 series, as Dirk still packaged
kdeutils as a single tarball, and the top-level CMakeLists.txt used did
include these lines.

The issue came to attention during the 4.8 beta/RC phase, when 32-bit
Linux users had problems creating tarballs with Ark: libarchive is
usually built in those systems with -D_FILE_OFFSET_BITS=64. This is set
in KDE4_DEFINITIONS, which was not being used to build Ark. struct stat
then had different sizes for Ark and libarchive, which caused all sorts
of trouble.

Packagers might want to look at this commit and the equivalent ones to
the other affected kdeutils applications (filelight, kcalc, kcharselect,
kdf, kfloppy, kgpg, kremotecontrol, ktimer, kwallet, superkaramba and
sweeper) and apply them to their 4.8-RC packages.

Sorry for the mess!


FIXED-IN: 4.8.0

Games

Stefan Majewsky committed changes in /trunk/KDE/kdegames/palapeli/src/file-io/puzzle.cpp:

Secure Palapeli::Puzzle::m_allFutures with a mutex.



Thanks for the reminder, Christoph. This got off my radar somehow.

Features

Development Tools

Michael Pyne committed changes in [kdesrc-build] kdesrc-build:

kdesrc-build: Add support for qmake .pro builds.

Really this is just an excuse to build krapyl... although I needed to
add LIBS += -lqca, and there's no install capability either here or in
krapyl.

But it only took 45 lines and the logic is reasonably straightforward
for once... maybe this refactoring has turned overall useful by now. :)

By the way for those wondering...

# eV vote verifier
# Don't bother with cmake-options or configure-flags...
module krapyl
repository kde:scratch/sune/krapyl.git
end module

Graphics

Gilles Caulier committed changes in [kipi-plugins] /multithreading:

multithreading test program based on threadWeather interface now use a more user friendly GUI, based on kipi-plugin imagelist.
Processing is reported on GUI for each item starting and ending to be processed.
We can see that 4 item are processed properly at the same time on each processor (here i5 CPU).

Diffs: 1, 2, 3, 4 Revision 6483f5c...
Gilles Caulier committed changes in [kipi-plugins] /:

Apply patch #66886 from Jiri Bohac

KDE Base

Martin Gräßlin committed changes in [kde-workspace] /clients/aurorae/src:

Aurorae goes QML

What's working:
* background for active and inactive decorations inclusive transitions
* all buttons get loaded
* transition between button states
* all borders, paddings etc is working
* mouse interaction with buttons and title area

What's not yet working:
* special maximize mode
* mouse wheel on title area
* window tabs
* changing themes
* crash resistence (currently a not compiling QML file crashes KWin badly)
* window/blur mask (tricky - we need the alpha mask of the background SVG)

What's going to be dropped:
* special opaque mode
* decoration position at left/right/bottom instead of top
Why? Because nobody uses these features

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 8095c87...
Shaun Reich committed changes in [kde-workspace/plasma/sreich/applet/hdd-a] plasma/generic/applets/system-monitor/hdd_activity.cpp:

Add basic visualization for hdd io.

Presently, on my system, there are about 15 visualizations. In
other words it's monitoring 15 disks and making a really huge
applet.

I'm not sure how to handle what data it should display or have
configurable. Shall I hard-code RIO,WIO into their own colorings and
then the user selects the devices to apply? That would certainly make
things easier for me. At least for now. Ideas welcomed.

Martin Gräßlin committed changes in [kde-workspace] /:

ClientGroup becomes scriptable (again)

For this properties are defined in ClientGroup and several methods
are changed to be slots (to be invokable from scripts). On Client
the clientGroup is exported as a property.

The existing wrapper around ClientGroup is dropped as it is no
longer needed. Interestingly it was wrong anyway as it allowed to
construct a new ClientGroup, which has to be done internally.

At the same time the meta declarations get cleaned up a little bit.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision bc83dce...
Marco Martin committed changes in [plasma-mobile/mart/declarativeApp] /imageviewer/src:

a rough KDeclarativeMainWindow prototype

Diffs: 1, 2, 3 Revision de89408...
Shaun Reich committed changes in [kde-workspace/plasma/sreich/applet/hdd-a] /generic/applets/system-monitor:

Implement majority of config dialog. Fix RegExp handling.

Also use QTimer for source changes.

The config dialog is now populated with all of the hard disks we've
found. It shows UNIX device name only. It also shows /disk/loop[0-9],
which I imagine we wouldn't want (really clutters the selection).

KDE-PIM

Dan Vratil committed changes in [akonadi-google/v0.3] /:

Add AccountsListView as an GUI object provided by libKGoogle

For better comfort, libKGoogle can provide GUI widgets for some tasks, like list of accounts, calendars, etc.

The widgets will be in /ui subfolder and members of KGoogle::Ui namespace.

Diffs: 1, 2, 3 Revision 17b69bd...

Office

Brijesh Patel committed changes in [calligra/words-references-notes-erione] /textlayout:

added features
1) continuation of footnotes to next page if not enough space
2) enable the option to renumber footnotes page wise/document wise

Diffs: 1, 2, 3, 4, 5, 6 Revision a5ec80c...
Cristian Oneț committed changes in [kmymoney/4.6] kmymoney/converter/mymoneyqifreader.cpp:

Make the QIF import on Windows usable.

The QIF import on Windows never worked unless 'cat' was installed due to the preprocessing command feature.

Jarosław Staniek committed changes in [calligra] /main:

Main Window: Simple User Feedback Agent finally merged with master

DIGEST: Kexi instroduces Simple User Feedback Agent to report screen size, OS version, and distribution to help adjusting development to user needs

Diffs: 1, 2, 3, 4 Revision 7806144...
Dmitry Kazakov committed changes in [calligra] /:

Made all the interactive painting tools threading-friendly

Ported most of the painting tools to strokes, they use FreehandStroke
for executing their jobs:
- KisToolLine
- KisToolRectangle
- KisToolEllipse
- KisToolPolygon
- KisToolPolyline
- KisToolStar
- KisToolPath

Wrapped three complex tools into macros to block the UI when some
action is in porgress:
- KisToolTransform
- KisToolFill
- KisToolGradient

Dag Andersen committed changes in /trunk/playground/artwork/Oxygen/docs/calligra-icons.ods:

Prefix calligra to app icons for plan & planwork to avoid name clash

Stephane Mankowski committed changes in [skrooge/Feature] /:

feature: Addition of "Show" menu in scheduled operations

Diffs: 1, 2, 3 Revision 13b9c69...

Multimedia

Jean-Baptiste Kempf committed changes in [phonon-vlc] /video/mac:

VideoView needs to implement stretchesVideo from VLCOpenGLVoutEmbedding protocol

Signed-off-by: Jean-Baptiste Kempf

Matěj Laitl committed changes in [amarok] src/core-impl/collections/support/MemoryMeta.h:

MemoryMeta: support for cover images in Album and MapAdder

Matěj Laitl committed changes in [amarok] /:

MemoryMeta: support for album artists in MapAdder

ChangeLog is updated with entry for UmsCollection where this change is
user-visible.

Albert Astals Cid committed changes in /trunk/KDE/kdemultimedia/kioslave/audiocd/data/solid_audiocd.desktop:

Tell the ioslave which device to open, nice if you have more than one drive around
Patch by Paul Worrall

Matěj Laitl committed changes in [amarok] src/core-impl/collections/support/MemoryMeta.h:

MemoryMeta: support for compilations in Album and MapAdder

Matěj Laitl committed changes in [amarok] /core-impl/collections/support:

MemoryMeta::MapChanger: split addTrack() into 2 methods for future

Will be used by trackChanged() method.

Matěj Laitl committed changes in [amarok] /core-impl/collections/support:

MemoryMeta::MapChanger: implement trackChanged()

We use a little trick to remove the track from MemoryCollection and
then add it back, but only when the change was big enough that this
is needed. (a change to track comment really don't need to be reflected
to MemoryCollection maps)

Changing album artist is currently a bit funny, because it changes
album artist for all tracks in album. This is how MemoryMeta currently
works, albums are identified only using their name.

Matěj Laitl committed changes in [amarok] /core-impl/collections/support:

MemoryMeta::MapChanger: implement removeTrack()

Networking Tools

Andrea Diamantini committed changes in [rekonq] /:

about:tabs, easy method to manage rekonq tabs.

- added tabs page to rekonq ones
- manage about:tabs links
- let it manage show/close tabs
- fix settings for the new page
- adjust controls for it (modify, add thing removed)

REVIEW:103566

Diffs: 1, 2, 3, 4, 5, 6 Revision 4779e1f...
Andrea Diamantini committed changes in [rekonq] /:

improve closed tabs management

- remove reopened tabs from the closed tabs list.
- limit them to MAX 8 elements (it seems enough to me)
- save history also when there is just one tab closed
- DON'T save history when you opened a "rekonq" page

Lamarque Souza committed changes in [networkmanagement] /:

Add disconnect button to interface details window. Since the disconnect
button is small it is very easy to wrongly call the interface details
instead of disconnecting the connection. With an big and easy to click
or tap disconnect button in interface details the user can use it
instead of the small one.
Unfortunately it still looks displaced in the interface details window.
I need suggestions for a better place to put it or a another way to
allow disconnecting from interface details window.

Mehrdad Momeny committed changes in [choqok] /:

support for Twitter photo upload API method
by Atanas Gospodinov through Google Code in"

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 6ab3fc6...

User Interface

Ivan Čukić committed changes in [kactivities/ivan/activity-encryption] /:

Initial commit for the encryption manager

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 569ce24...

Utilities

Jonathan Marten committed changes in [ark] /:

Option to view files with unknown MIME type as plain text.

If no viewer part or external viewer can be found for the file,
ask the user whether it should be shown in the internal viewer
as plain text.

Logic in ArkViewer::view() rearranged to reduce nesting and to
centralise MIME type determination in a single place.

REVIEW:103110
GUI:

Michał Dutkiewicz committed changes in /trunk/kdereview/plasma/applets/adjustableclock:

Update to 2.8:
- allow to disable tool tip by setting empty value for toolTipFormat;
- allow to display holiday string (%h);
- improved Calendar syntax;
- always use calendar system selected in configuration dialog;
- use resize event to update scaling;
- some code cleanups.

Diffs: 1, 2, 3, 4, 5, 6 Revision 1271040

Games

Christian Krippendorf committed changes in /trunk/KDE/kdegames/kmahjongg:

Merging [1270655:1271030] work/krippendorf-kdegames to trunk

The Board Editor is available now.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 1271031
Christian Krippendorf committed changes in /trunk/KDE/kdegames/kmahjongg:

Random Layout

A new option in kmahjongg layout config dialog for using random layouts.


REVIEW: 6840
GUI:

Christian Krippendorf committed changes in /trunk/KDE/kdegames/kmahjongg:

Cycle angle with mouse.

Add the functionality to change the angle with the mouse wheel.


REVIEW: 6835

Other

Konstantinos Smanis committed changes in [kcm-grub2/experimental] /:

Detect GRUB2/BURG installation on startup.

Also remove the ability to manually select which configuration files
to edit.

Install/Restore Bootloader was transferred in the main UI, along with
a new action to manually Reload the Configuration.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3 more) Revision 23f08ed...

Optimization

KDE-PIM

Christian Mollekopf committed changes in [kdepim-runtime] /nepomukfeeder:

Fix livelock in feeder.

The feeder somehow managed to lock itself (probably caused by the block var).
This patch counts the running jobs instead of the boolean block variable which seems less fragile, because it's not necessary to know all possible entry/exit points of the queue.
The timeout after error was removed because the dms still doesn't merge all items properly, but the timeout is no longer needed because dbus doesn't time out anymore (dbus timeout increased).
This greatly improves the performance when there are a lot of indexing errors.

Allen Winter committed changes in [kdepim] /plugins:

port knotes plugin to Qt4 (the windowflags)

Diffs: 1, 2, 3 Revision b35feb0...

Office

C. Boemann committed changes in [calligra] /:

Some more work on making anchor properties work. It seems to actually
update the layout now

Still missing changing anchortype to and from page anchored

C. Boemann committed changes in [calligra] /kotext:

Remove the KoTextLayoutScheduler

document->markDocumentDirty provides the needed functionality already

Diffs: 1, 2, 3, 4, 5 Revision 61ba57f...

Multimedia

Matěj Laitl committed changes in [amarok] /core-impl/collections:

MemoryMeta: rename MapAdder to MapChanger to reflect future changes

Diffs: 1, 2, 3 Revision 7b1a200...
Matěj Laitl committed changes in [amarok] /core-impl/collections/support:

MemoryMeta: thread-safety (+docs about it), null safety

MemoryMeta::Track::{tracks(),addTrack(),removeTrack()} methods are made
thread safe by using QReadWrite lock. Thread-safety and reentrancy is
documented for various MemoryMeta classes.

Matěj Laitl committed changes in [amarok] /:

MemoryMeta: proxy capability methods too, cleanup

The cleanup contains removal of empty notifyObservers() redefinitions
- the method is protected so it couldn't have been called behind our
back. We also assert on null TrackPtr in MemoryMeta::Track constructor
to catch a crash early.

ChangeLog is updated with UmsCollection entry which is the user-visible
change of this commit.

Diffs: 1, 2, 3 Revision 1232a60...
Matěj Laitl committed changes in [amarok] /:

MemoryMeta: factor some logic MapAdder -> Track, prevent circular refcounts

We cannot easily store KSharedPtr to tracks, because it creates reference
counting cycle: MemoryMeta::Track::m_album -> MemoryMeta::Album::tracks() ->
MemoryMeta::Track. We therefore store plain pointers and rely on
MemoryMeta::Track to notify when it is destroyed.

ChangeLog is updated with entry for USB Mass Storage collection where
this change is user-visible. (well, theoretically) :-)

DIGEST: optimisation: fix memory leaks due to circular references

Diffs: 1, 2, 3 Revision 1a1ebe0...
Matěj Laitl committed changes in [amarok] src/core-impl/collections/support/MemoryMeta.h:

MemoryMeta: MapAdder: return newly created track, docs, refactor

MemoryCollection maps are no longer copied, which should save us some
CPU cycles.

User Interface

Hugo Pereira Da Costa committed changes in [oxygen-transparent] /:

use _NET_WM_OPAQUE_REGION when defining Blur areas.
Thanks to d1saster for posting the patch.

Other

Development Tools

Ralf Habacker committed changes in /trunk/KDE/kdesdk/umbrello/umbrello/widgets:

reduced differences to soc-umbrello branch by refactoring widgets constructors:

- set widget type and id through UMLWidget constructor
- integrated init() into constructor when the method is very simple
- moved m_pMenu initialisation into UMLWidget
- refactored UMLWidget and WidgetBase constructors

A similar patch will go into soc-umbrello branch. Afterwards the difference
in this area are reduced to the scene parameter in widgets and a parameter
in the UMLWidget and WidgetBase constructors.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 28 more) Revision 1272366

KDE Base

Sune Vuorela committed changes in [kdelibs/frameworks] /:

port knewstuff2+3 to qcryptographichash

Diffs: 1, 2, 3, 4, 5 Revision 9f58e8d...
Shaun Reich committed changes in [kde-workspace] /generic/applets/system-monitor:

Use the more-RAM icon for sm_ram. Use view-stats for sm_temp applets.

The RAM one used a media-flash-sd card thing. Which is less fitting than
media-flash is, yet it was used for temp instead.

Sebastian Kügler committed changes in [plasma-mobile/sebas/settingscomponent] /settings:

ConfigGroup is a leaned down version of ConfigModel

ConfigModel is based on QAIM, ConfigGroup is a QObject, making it much
lightweighter. A table-based model isn't too suited for nested
configgroups anyway, so we'll want something more tree-ey there.

We'll probably get rid of ConfigModel by then.

Port of the web config coming up.

Diffs: 1, 2, 3, 4 Revision 63f0e39...
Dawit Alemayehu committed changes in [kdelibs/KDE/4.8] kparts/browseropenorsavequestion.cpp:

Factor out and reuse the code that guesses mime-type from filename.

Show the mimetype comment ("HTML Document") instead of the raw mime-type
(text/html) in the file type label.

REVIEW: 103617

Albert Astals Cid committed changes in /:

Move kbluetooth to unmaintained, acked by afiestas

KDE-PIM

Dan Vratil committed changes in [akonadi-google/v0.3] /:

Initial port of Calendars resource to libKGoogle 0.3

- rewritten Settings dialog from scratch, should be fully working now (tested)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision c239f5b...

Office

Dmitry Kazakov committed changes in [calligra] /image:

Removed blocking signals from the KisImageSignalRouter

Currently, there is a quite annoying limitation: we cannot add/remove/move
layers from the context of the scheduler's thread. We can do it only from
the UI thread. It means that the actions, which work with nodes' position
should work using legacy undo adapter.

Here is an explanation of the problem
(from KisImageSignalRouter::emitAboutToAddANode):

Some of the users of our signals rely on the fact that the
signals are emitted synchronously from the same thread. Such
users are KisNodeModel, KisShapeController. They request the
data of the signal right from the node data, so these signals cannot
be emitted asynchronously. We cannot use BlockingQueued
connections here, because the we'll get a deadlock when UI
will decide to wait for scheduler to finish it's job.
That is why we explicitly check that no nodes are added,
removed or moved from the context of the scheduler thread.
Currently we have no other way than to assert in such a case.
So all the node modifications should be done using legacy
undo adapter, in the context of the UI thread.

Networking Tools

Martin Klapetek committed changes in [telepathy-nepomuk-service/dms-port] /:

Port to Telepathy-Qt 0.9

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision 2022fbb...
Lamarque Souza committed changes in [networkmanagement] /:

Reimplement filtering in connection list. The filtering now works like a
matrix: you choose one of the connections types (Normal, VPN, Shared) and
optionally an interface / device on the left widget. If no interface is
selected then the connection list will connections for all interfaces.
If one interface is selected it will show only connections that can be
activated using that interface. This is how branch nm09 works except of
the connection types.
I have reimplemented the filtering to also remove some code that are not
needed or that can cause performance degradation.

Diffs: 1, 2, 3 Revision 84f2103...

Utilities

Konstantinos Smanis committed changes in [kcm-grub2] release.sh:

Moved in extragear.

Games

Christian Krippendorf committed changes in /trunk/KDE/kdegames/kmahjongg:

BoardEditor: Save & restore geometry.

The geometry will be savd on close and reload on startup.