KIO::UndoManager? (Re: KDE 4.1 Soft Feature Freeze in Effect)

David Faure faure at kde.org
Mon Apr 21 22:26:19 BST 2008


On Monday 21 April 2008, Allen Winter wrote:
> Howdy,
> 
> According to our KDE 4.1 Release Schedule [1] we are now in a Soft Feature Freeze. 
> 
> New features listed on the Feature Plan [2] can be committed to trunk for 4.1
> Anything not listed on the Feature Plan must be delayed until the 4.2 release.

Not sure if it's really a new feature since the code exists, but I missed the above deadline
for asking whether kdebase/apps/lib/konq/konq_fileundomanager* could move to kdelibs/kio/kio,
as KIO::UndoManager. This is based on request from Fredrikh so that I can also move the
dropping-files-onto-a-directory code from libkonq to KDirModel, so that he can benefit from
that feature in his new plasma thing for desktop icons (is this enabled already btw?)

I was thinking about moving that class for a long time (and added to the "classes that are
candidate for moving to kdelibs" wiki page long ago), since providing undo support
for KIO file operations could be useful in many places I think - not only dolphin/konq and the desktop,
but probably in many applications which have some sort of file-management features
(kdevelop? image viewers? etc.). Anyone interested? (although technically we have 2
users for this code already).

Please review kdebase/apps/lib/konq/konq_fileundomanager* for kdelibs inclusion.
It doesn't use QUndoStack/QUndoCommand, but this could be added (in kio or at least
in applications initially), as a layer on top of the undomanager (a bit like I did in koffice-1.x's kotext),
rather than being done inside the undomanager (I gave it a quick try and this didn't work
out for konqueror's rather complex undo needs, due to multiple windows/processes offering
the same undo commands etc).
One question that remains is whether the kio undo history should be kde-global or per-application.
I guess the latter makes more sense (if you rename a file in an image viewer you shouldn't undo this
from konqueror), but so we probably need a setting in the undo manager to enable 
or disable the inter-process DBUS synchronization that dolphin/konqueror/new-desktop-stuff use.

-- 
David Faure, faure at kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).




More information about the kde-core-devel mailing list