Review Request 120573: [OS X] make KDE's trash use the OS X trash

René J.V. Bertin rjvbertin at gmail.com
Sat Jan 10 21:39:11 GMT 2015



> On Jan. 9, 2015, 1:27 a.m., David Faure wrote:
> > Sorry, this one got drowned in the ML noise and I missed it....
> > 
> > After renaming idForDevice to idForMountPoint, please push to kde-runtime once the Applications 14.12 freeze is over.
> > Then you'll have to forward-port this commit to the kio repository, where the kio_trash code has moved (and port your code to Qt5/KF5, although hopefully it's not a lot of work).
> 
> René J.V. Bertin wrote:
>     When will that freeze be over?
>     
>     Also, think I introduced a (minor?) regression when I heeded a number of comments on Oct. 17th, and wrote _Trash "infrastructure" is now created only when really needed (please check if I forgot any cases), which does NOT include scanning the trash nor doing something with a trashed file (knowing a trashed file by name should mean the infrastruct. exists)._
>     
>     The regression being that when you empty the OS X trash and then navigate to the wastebin in Dolphin, any KDE content that was in the trash is still shown; even the properties are still available. I haven't checked exactly why this is yet; should I, or could I use it as a check to see if anyone actually uses the feature enough to be bothered? ;)
> 
> Albert Astals Cid wrote:
>     The packages for 14.12.1 have been created, you can commit now. About the regression, is it MacOS only or for everyone?

How could it be for everyone? It's only on OS X that the KDE wastebin is hosted in the Finder trash ;)


- René J.V.


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/120573/#review73542
-----------------------------------------------------------


On Nov. 28, 2014, 12:04 a.m., René J.V. Bertin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/120573/
> -----------------------------------------------------------
> 
> (Updated Nov. 28, 2014, 12:04 a.m.)
> 
> 
> Review request for KDE Software on Mac OS X, KDE Runtime and David Faure.
> 
> 
> Repository: kde-runtime
> 
> 
> Description
> -------
> 
> KDE on OS X does not handle the desktop session (no "Plasma") nor can it rely on XDG to obtain the proper paths to use for something like the trash. As a result, all applications that propose to move things they manage to the wastebin (Dolphin, but also digiKam) will store those items in a place that has no particular meaning on OS X, and that will thus tend to fill up.
> 
> OS X stores trash in one of several locations. Files trashed from the boot volume (and/or the volume containing $HOME, I don't actually know that) end up in `~/.Trash`. Files deleted from other volumes end up in `/Volumes/volName/.Trashes/uid`, where volName is the volume name (regardless whether it's an external or a remote drive; only mounted NFS shares are handled differently) and uid the numerical user id. Permissions on `.Trashes` are the same as those expected by KDE.
> 
> The kio_trash kioslave appears to support several actual trash directory locations, just like OS X. `TrashImpl::init()` creates a standard trash in `~/.local/share/Trash` (at least under OS X) but also `TrashImpl::trashForMountPoint()` that is used in cases I have not yet encountered.
> 
> On OS X, my modified `TrashImpl::init()` sets the standard trash directory to `~/.Trash/KDE.trash` and will create the `files` and `info` subdirectories as required, because they will of course be deleted when the user empties the OS X trash. `TrashImpl::fileRemoved()` has been modified to call a new function, `deleteEmptyTrashInfraStructure` to delete the KDE trash's internal infrastructure when the wastebin is empty so that OS X also sees the trash as emptied. (Since implementing `deleteEmptyTrashInfraStructure` this feature actually works, as expected as far as I can tell).
> 
> Remains to be done:
> - determine in what cases `trashForMountPoint()` is used, and finish the modifications for it to use `/.Trashes/uid/KDE.trash`
> 
> 
> Diffs
> -----
> 
>   kioslave/trash/trashimpl.cpp fe2e152 
>   kioslave/trash/trashimpl.h bc68723 
>   kioslave/trash/tests/CMakeLists.txt 9161fdf 
>   kioslave/trash/kcmtrash.cpp f4811fd 
>   kioslave/trash/CMakeLists.txt 3604089 
> 
> Diff: https://git.reviewboard.kde.org/r/120573/diff/
> 
> 
> Testing
> -------
> 
> On OS X 10.6.8 with kdelibs and kde-runtime git/4.14, using Dolphin. Tested actions are
> - move items to wastebin from $HOME and a directory on a different volume
> - restore items to both places
> - empty wastebin through Dolphin
> - empty OS X trashcan
> 
> 
> Thanks,
> 
> René J.V. Bertin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20150110/7e3d4cc8/attachment.htm>


More information about the kde-core-devel mailing list