Review Request 120337: Implement the renaming feature in Ark
Elvis Angelaccio
elvis.angelaccio at kdemail.net
Mon Oct 6 10:50:51 UTC 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/120337/#review67981
-----------------------------------------------------------
I've just realized that whish 234375 is highly related to the renaming feature. Indeed, renaming an entry is just a particular case of moving an entry (i.e. when the destination directory is equal to the source directory). So, I'd better to generalize the renaming feature into a *move* feature. This would require a filemanager-like set of actions (e.g. Cut, Copy, Paste, etc.) and this would also allow us to address other bugs like, for instance, 162054.
Having said that, before to start writing new code (possibly a lot of code), I'd really appreciate some feedback whether this strategy makes sense or not.
- Elvis Angelaccio
On Set. 23, 2014, 2:18 p.m., Elvis Angelaccio wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/120337/
> -----------------------------------------------------------
>
> (Updated Set. 23, 2014, 2:18 p.m.)
>
>
> Review request for KDE Utils and Raphael Kubo da Costa.
>
>
> Bugs: 65576
> http://bugs.kde.org/show_bug.cgi?id=65576
>
>
> Repository: ark
>
>
> Description
> -------
>
> This is a review request for an implementation of the renaming feature in Ark. While the implementation is partial, it fulfills most of the use cases expected by the users and provided by other archivers, e.g. Gnome's File Roller.
>
> # The goal
> Allow the user to rename a file or a directory within an archive. To keep it simple, only one entry at time can be renamed, i.e. the *rename action* is enabled only when there is a single selection.
>
> # What has been implemented
> - Rename using libarchive and the rar plugin.
> - Rename a file
> - Rename a directory
> - Overwrite an existing file after renaming one of its sibling (if the user confirmed the operation)
>
> # What is still missing
> - Rename using the zip e 7z plugin. For the zip plugin, there is an [upstream bug](http://www.linuxquestions.org/questions/linux-software-2/problems-with-zipnote-writing-to-files-4175502552/) that makes `zipnote` crash. For the 7z plugin, its *rename* command is available only beginning from version 9.28 or later, that is still a beta (even Arch Linux repo are stuck to stable version 9.20). So, for both these formats, either we wait that the renaming feature is made available upstream, or we could try to use libarchive (even if just for renaming).
> - Merging between directories. At the moment is not possible to merge two sibling directories when one of the two is renamed with the name of the other one. It's also not possible to overwrite a directory by a sibling file and viceversa. This feature needs much more work, a own review request and probably a deep refactoring of the `ArchiveNode`/`ArchiveEntry` usage.
>
>
> Diffs
> -----
>
> plugins/libarchive/libarchivehandler.h 088c0fe8e25c3674c091c51b02692ca88b5a4928
> plugins/libarchive/libarchivehandler.cpp 0fba52864523bf07ba8c898aa6b15cd867001de6
> plugins/clirarplugin/cliplugin.h e11fca40571b2a551bca5e9042f6319984594939
> plugins/clirarplugin/cliplugin.cpp f5f7b184cb9f7ee16efd74968f2e86dc83668b4d
> plugins/clizipplugin/cliplugin.h 3a310e0a6d486e9abddc77ff24d81a0b7328d93d
> plugins/clizipplugin/cliplugin.cpp 1be2a10f722865c23fba6df5c25993742ce38d69
> part/archivemodel.h 7f8c527fc331778e0ec74dce047eba5c56507499
> part/archivemodel.cpp 43262689ad989e3a9233e279db6dcd532084a031
> part/ark_part.rc 044c11a562d03589314f05e86eb1d68e633ee35e
> part/part.h 5379b9fc1aaa4ce451c8b1745ca46ee78630b005
> part/part.cpp b4ebcd27c462d2b8037b5ea40c56969eda71bdcb
> plugins/cli7zplugin/cliplugin.h 9f122e4abbabd5698622fba25c104dc4398e7ae7
> plugins/cli7zplugin/cliplugin.cpp 500f121de97ef395110658a6ca495298bc797b46
> plugins/clilhaplugin/cliplugin.h 10aedad9a62b92274caa1dc584b738e3831f3de7
> plugins/clilhaplugin/cliplugin.cpp 5c2aa6e3b8f033f4747dabc9aa433cabd411f4a4
> kerfuffle/archive.h 515788f978c1d29146c25dcb57a9dad2d46371f7
> kerfuffle/archive.cpp c2c5b18528def63405a8703475b1c592ca945973
> kerfuffle/archiveinterface.h 801318b7842d78a0de54700ffdb43a945f513fbf
> kerfuffle/archiveinterface.cpp 3319de074225ccf8cb0fe54ffadca5882cf29342
> kerfuffle/cliinterface.h b4d79ed2f3ffbbbe28f7087f1fbff36de5138f36
> kerfuffle/cliinterface.cpp eab1c6a3200543989fd501e4d54e3e0b06b48999
> kerfuffle/jobs.h d704dfc764e9f83d69d1f82242730e1977667c22
> kerfuffle/jobs.cpp 472a6e05616fef3eeedd071a31d87d6a32bfe8c3
> kerfuffle/queries.h 0abf6890539d49806dee02af5cc17f73d3fd1183
> kerfuffle/queries.cpp 2067d0f0e475828e04231ff45dd1d72fe784d07a
> kerfuffle/tests/jsonarchiveinterface.h e74c4f1b6d630df736045151389183fbf1f7f556
> kerfuffle/tests/jsonarchiveinterface.cpp 14e62f44cc9ab4bbb611a1bbb1f22ae223de2899
>
> Diff: https://git.reviewboard.kde.org/r/120337/diff/
>
>
> Testing
> -------
>
> - Rename a file and then preview/extract it, to check its content. Repeat the check after reopening the archive.
> - Rename a directory and then preview/extract/rename one of its children. Repeat the check after reopening the archive.
> - Rename a file with the name of a sibling, confirm the overwriting and then preview/extract it. Repeat the check after reopening the archive.
> - Rename a file with the name of a sibling, prevent the overwriting by choosing another name and then preview/extract it. Repeat the check after reopening the archive.
> - Rename a file or directory multiple times in the same Ark session.
>
>
> Thanks,
>
> Elvis Angelaccio
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-utils-devel/attachments/20141006/2208629e/attachment.html>
More information about the Kde-utils-devel
mailing list