Review Request 125293: Fix drag'n'drop extraction of CLI plugins

Elvis Angelaccio elvis.angelaccio at kdemail.net
Mon Sep 21 19:16:41 UTC 2015


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

Ship it!


Ship It!

- Elvis Angelaccio


On Sept. 21, 2015, 6:28 p.m., Ragnar Thomsen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/125293/
> -----------------------------------------------------------
> 
> (Updated Sept. 21, 2015, 6:28 p.m.)
> 
> 
> Review request for KDE Utils, Elvis Angelaccio and Raphael Kubo da Costa.
> 
> 
> Bugs: 208384
>     http://bugs.kde.org/show_bug.cgi?id=208384
> 
> 
> Repository: ark
> 
> 
> Description
> -------
> 
> This fixes drag'n'drop extraction of selected entries from Ark to e.g. Dolphin. Previously, the entries would be extracted with full path, which is not what the user expects and not how libarchive handles tar-based archives. This was due to the CLI plugins not supporting root nodes (i.e. removing a part of the path). This is now circumvented by extracting to a QTemporaryDir, removing the root node from the path, and finally moving the files to their final destination. The moving to final destination is done in a new member function in CliInterface (moveToFinalDest). This function checks if the destination file exists and prompts the user for action if that is the case.
> 
> The emit finished() call, which signals that the extract/list/delete/add-job has ended, was previously done in CliInterface::processFinished(). The call had to be moved to CliInterface::copyFiles()/list()/deleteFiles()/addFiles(), respectively. Otherwise the jobs would be completed after extracting to the temporary dir and before moving them to their final destination. This was also necessary for the emit userQuery() call in moveToFinalDest().
> 
> Things to consider:
> QTemporaryDir creates a directory in /tmp. What happens/should happen if this partition fills up?
> 
> 
> Diffs
> -----
> 
>   kerfuffle/cliinterface.h 052851a 
>   kerfuffle/cliinterface.cpp 1e936a6 
> 
> Diff: https://git.reviewboard.kde.org/r/125293/diff/
> 
> 
> Testing
> -------
> 
> Extracting files from zip, 7z and rar archives by selecting and dragging them to Dolphin.
> 
> 
> Thanks,
> 
> Ragnar Thomsen
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-utils-devel/attachments/20150921/9ce50302/attachment.html>


More information about the Kde-utils-devel mailing list