GSoC/2016/StatusReports/Batyrenko Vladyslav: Difference between revisions
Created page with "== Introduction == Ark is open source universal GUI tool for managing archives. It supports many archive types, such as 7z, zip, rar, tar etc. For now it allows only adding fi..." |
m "the to" -> "to the" |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Introduction == | == Introduction == | ||
Ark is open source | Ark is an open source GUI tool for managing archives. It supports many archive types, such as 7z, zip, rar, tar and so on. For now Ark allows adding files and folders only to the root of an archive. As it happens that a user needs to edit the archive content, there has been a proposal to extend Ark functionalities in order to allow users to add new files to any destination, as well as rename, move or copy them. So my GSoC task was to implement those features. | ||
For now | |||
== Status == | == Status == | ||
My first task, which was not related to the proposal | My first task, which was not directly related to the proposal, was to refactor two fundamental classes used to store metadata for archive entries. It was completed merging the classes into one and also choosing a new way to store the metadata: the QProperty system was utilized. All the features described in the proposal have been implemented and are functional. | ||
=== Implemented features === | === Implemented features === | ||
* '''Adding entries to specific destination.''' The existing action for adding files to root was changed, so it can now be used for adding files everywhere. If user selects a directory and uses the action, files will be added to the selected destination. If there is no selection or | * '''Adding entries to specific destination.''' The existing action for adding files to the root was changed, so it can now be used for adding files everywhere. If the user selects a directory and uses the action, files will be added to the selected destination. Otherwise, If there is no selection or one or more files are selected, the new files will be added to the root as usual. | ||
* '''Renaming entries.''' Renaming allows | * '''Renaming entries.''' Renaming allows users to change names of both files and folders. As in the Dolphin file manager, it can be called via the F2 shortcut and it is done in the inline lineedit widget, which makes Ark feel consistent with the main KDE file manager. There are also filenames checks provided, which limit user from entering slashes or use "." or ".." as filename. | ||
* '''Moving and copying entries.''' As in typical file managers, moving and copying are provided together with "paste" action, which are accessible via CTRL+X, CTRL+C and CTRL+V shortcuts respectively. | * '''Moving and copying entries.''' As in typical file managers, moving and copying are provided together with the "paste" action, which are accessible via CTRL+X, CTRL+C and CTRL+V shortcuts respectively. Users can move or copy files from different folders (which are expandable in the tree view) and paste them to the same destination at once. A folder can be copied into itself, but can not be moved. There are also checks for conflicting filenames implemented: users won't be able to copy or move files into a folder that has entries with the same names - that could lead to data loss. | ||
=== Some numbers === | |||
<syntaxhighlight lang="bash"> | |||
# git diff master gsoc2016/master --stat | |||
88 files changed, 4193 insertions(+), 1664 deletions(-) | |||
</syntaxhighlight> | |||
=== Screenshots === | === Screenshots === | ||
''' | '''Pasting entries.''' Here you can see that cutting one folder recursively selects all the inner entries and makes their icons grayed: | ||
http://mvlabat.github.io/ark-gsoc-2016/assets/2016-08-17/ark- | |||
http://mvlabat.github.io/ark-gsoc-2016/assets/2016-08-17/ark-pasting.png | |||
'''Renaming entries''' is done via inline editing: | |||
http://mvlabat.github.io/ark-gsoc-2016/assets/2016-08-17/ark-renaming.png | |||
http://mvlabat.github.io/ark-gsoc-2016/assets/2016-08-17/ark- | |||
== Work Report == | == Work Report == |
Latest revision as of 21:28, 26 August 2016
Introduction
Ark is an open source GUI tool for managing archives. It supports many archive types, such as 7z, zip, rar, tar and so on. For now Ark allows adding files and folders only to the root of an archive. As it happens that a user needs to edit the archive content, there has been a proposal to extend Ark functionalities in order to allow users to add new files to any destination, as well as rename, move or copy them. So my GSoC task was to implement those features.
Status
My first task, which was not directly related to the proposal, was to refactor two fundamental classes used to store metadata for archive entries. It was completed merging the classes into one and also choosing a new way to store the metadata: the QProperty system was utilized. All the features described in the proposal have been implemented and are functional.
Implemented features
- Adding entries to specific destination. The existing action for adding files to the root was changed, so it can now be used for adding files everywhere. If the user selects a directory and uses the action, files will be added to the selected destination. Otherwise, If there is no selection or one or more files are selected, the new files will be added to the root as usual.
- Renaming entries. Renaming allows users to change names of both files and folders. As in the Dolphin file manager, it can be called via the F2 shortcut and it is done in the inline lineedit widget, which makes Ark feel consistent with the main KDE file manager. There are also filenames checks provided, which limit user from entering slashes or use "." or ".." as filename.
- Moving and copying entries. As in typical file managers, moving and copying are provided together with the "paste" action, which are accessible via CTRL+X, CTRL+C and CTRL+V shortcuts respectively. Users can move or copy files from different folders (which are expandable in the tree view) and paste them to the same destination at once. A folder can be copied into itself, but can not be moved. There are also checks for conflicting filenames implemented: users won't be able to copy or move files into a folder that has entries with the same names - that could lead to data loss.
Some numbers
# git diff master gsoc2016/master --stat
88 files changed, 4193 insertions(+), 1664 deletions(-)
Screenshots
Pasting entries. Here you can see that cutting one folder recursively selects all the inner entries and makes their icons grayed:
Renaming entries is done via inline editing: