|
|
|
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).
|