Konqueror delete unification

David Hugh-Jones hughjonesd at yahoo.co.uk
Sun Jul 13 09:28:43 BST 2003


OK, these patches do the following things.

For the user:

* removes "shred" entirelybb
* removes "trash" from the RMB
* creates a new delete action which is called by "delete" on the RMB and
the default delete keyboard shortcut.
* alters konqueror's config dialog to let you configure delete to store
files in the trash:
	- always
	- never
	- only for local files
* konqueror automatically asks if you want to trash a remote file the
first time you try to; if you opt just to delete it, and check "don't
ask again", it alters your setting.
* retains "trash" and "really delete" as keyboard shortcuts. But see
below for my problems with this!


Usability people: I would welcome feedback on this. It is mainly as
discussed on the lists. However, there are some changes. 

(1) Instead of having two "user visible actions", trash and delete, I
decided only to talk about delete, and whether delete "stores a copy in
the trash". This has some advantages:
* emphasis on deleting the file, rather than "moving it to the trash" -
which chimes more with what users want to do.
* no need to find a description for the "default delete action which can
be delete or trash"

It also has disadvantages (doesn't differentiate btw actions; how do you
now describe "real delete"?) I considered adding code to change the icon
(but not the "delete" text) dynamically depending on whether delete
would store a copy in the trash. This would be a useful hint, but it
adds to the complexity of an already very long file in
konq_mainwindow.cc. So I've left it for the moment.

(2) I've also only got one "confirm delete" option, rather than separate
ones for "trash" and "delete". Talking about one action not two sort of
goes with this. If you force a real delete, you have to confirm. (If you
don't want to confirm your real deletes, you can set them as the default
and force trashes instead.)

kfm-devel people: help! I am new to C++. I have a problem: I want the
konqueror browser extension defined in konq_dirpart to provide different
actions from the kparts/browserextension, so that I can ditch shred
without breaking kdelibs binary compatibility. So, I refactored
kparts/browserextension to call a protected method called
insertSlotsIntoMap(). Then I wrote a different implementation for
konq_dirpart. BUT: this never seems to get called. The functions are
static: am I misunderstanding how C++ inheritance works? 

The end result is that you get a lot of "action doesn't exist" warnings
from the browserextension and konq_mainwindow, and the "forcedel" and
"forcetrash" actions don't work - unless, bizarrely, you change views a
couple of times (from e.g. icon view to list view).

Help and solutions for this would be much appreciated.

There is one other tiny bug - at the moment the QWhatsThis for the
delete action doesn't tell you the keyboard shortcuts for forcedel and
forcetrash.

(There is also one other thing the patch does - removes the "go to weird
ass places" options from the Go menu. See the XML usability report for
why. This just sort of got bundled.)

This took longer than I naively expected. Right now I am locked out of
CVS kde because kdm has stopped accepting my login - the final indignity
:-) Apologies if the patch is not up to scratch. 

Dave

 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: delete_patches.tar.gz
Type: application/x-gzip
Size: 15034 bytes
Desc: not available
URL: <https://mail.kde.org/mailman/private/kfm-devel/attachments/20030713/da685625/attachment.bin>


More information about the kfm-devel mailing list