You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdebase/tdeioslave/trash/DESIGN

54 lines
2.1 KiB

DESIGN
======
tdeio_trash implements the XDG trash standard currently at http://www.ramendik.ru/docs/trashspec.html
In case race conditions between the various instances of tdeio_trash
are a problem, trashimpl could be moved to a kded module, and
tdeio_trash would use DCOP to talk to it. It's a bit hard to come up
with use cases where the race conditions would matter though.
BUGS
====
* Undo of "restore" isn't available. Need to get origPath by metadata I guess.
TODO
====
* Clean up konq_popupmenu.cpp for Type=Link URL=trash:/ :(
* Also, provide metainfo for trash contents for that desktop link.
=> maybe we need a new mimetype?
Like application/x-trash-desktop, inheriting application/x-desktop.
And a "trash.trashdesktop" filename or so (ouch, migration issues...)
* Detect removeable media to avoid .Trash-foo on it. How?
* Trashcan properties (properties for trash:/? hmm. Easier with separate dialog)
- Maximum size for trash can (#18109 suggests a %, but a MB size is easier).
This means to delete the oldest files from the trash automatically. #79553
* Err, should we support renaming? :) Difficult to disable...
In fact it's already not disabled in readonly directories (e.g. "/") -> todo
(for F2 and kpropertiesdialog)
* Deleting oldest files when size is bigger than a certain configurable amount (#79553)
Bugs closed by tdeio_trash
========================
#79826 (3.3 only)
#62848 (configurable trash location)
#78116 (.directory)
#18109 (general one)
#17744 (restore)
#76380 #56821 (trashing on same partition)
Choice of URL scheme
====================
We use trash:/trashid-fileid[/relativepath]
This gave problems with CopyJob::startRenameJob which exposed trashid-fileid
to the user as a filename when dropping a file out of the trash.
But this was fixed with the fileNameUsedForCopying=Name setting.
A previous experiment was trash:/filename[/relativepath]?t=trashid&id=fileid
but this gives problems with going Up (it first removes the query),
with KDirLister (it wouldn't know when to remove the query, to find the URL
of the parent directory).