Special:Badtitle/NS90:User talk:Shortstheory/GSoC 2016 Project Idea: File Trays for file selections in Dolphin: Difference between revisions
Shortstheory (talk | contribs) mNo edit summary |
Shortstheory (talk | contribs) mNo edit summary |
||
Line 5: | Line 5: | ||
Selecting multiple files in any file manager for copying and pasting has never been a pleasant experience, especially if the files are in a non-continuous order. Often, when copying files between devices we might find that we need to select only a subset of the required files we have selected and this leads to the unwieldy operation of removing files from our selection. Of course, the common workaround is to create a new folder and to put all the items in but this is a very inefficient process and can be very slow if large files need to be copied between devices. | Selecting multiple files in any file manager for copying and pasting has never been a pleasant experience, especially if the files are in a non-continuous order. Often, when copying files between devices we might find that we need to select only a subset of the required files we have selected and this leads to the unwieldy operation of removing files from our selection. Of course, the common workaround is to create a new folder and to put all the items in but this is a very inefficient process and can be very slow if large files need to be copied between devices. | ||
My solution to this problem is to add a | My solution to this problem is to add a Places option in Dolphin where the links to files and folders can be temporarily saved for a session. The files and folders are "staged" on this panel. Hence, the user can add folders and files from several different directories to this panel and can then collectively perform actions on all the items in the tray such as copy, paste, cut, delete items, send via Bluetooth, and to create a list of symbolic links. As part of the project, better sharing options for the File Tray and Dolphin as a whole using the KDE Purpose Framework API are planned to be implemented. | ||
Files can be added to this tray by using a right-click context menu option | Files can be added to this tray by using a right-click context menu option, using the mouse scroll click, or drag and drop. As an additional option, the session for the File Tray Panel can be saved for later use. Hence, complex file operations such as moving files across many devices can be made easy by staging the operation before performing it. | ||
This File Tray will be accessible through the existing Split view function in Dolphin as well as a directory available under the | This File Tray will be accessible through the existing Split view function in Dolphin as well as a directory available under the Places panel section. This would make it neatly integrated with Dolphin's existing toolset and it would make dragging and dropping easy. | ||
===Use Cases=== | ===Use Cases=== | ||
* Jerry has a large music collection on his computer and he has many devices such as a tablet, smartphone, HTPC, and a USB drive for his car audio. He needs only a subset of files from his extensive collection which he wants to keep on all his devices. Hence, to avoid making the same selection over and over again for each device, it's much more efficient for him to just create his list on the File Tray and then copy the same list to each device. | * '''Jerry''' has a large music collection on his computer and he has many devices such as a tablet, smartphone, HTPC, and a USB drive for his car audio. He needs only a subset of files from his extensive collection which he wants to keep on all his devices. Hence, to avoid making the same selection over and over again for each device, it's much more efficient for him to just create his list on the File Tray and then copy the same list to each device. | ||
* George is a student at university and he has a lot of unorganised files on his computer from lots of different directories. By selecting these files and staging them on the File Tray in a split view mode, he can easily discern where each file should go. He can then easily move files by simply dragging and dropping them in the directory they belong in. This makes the File Tray a helpful tool for file organisation. | * '''George''' is a student at university and he has a lot of unorganised files on his computer from lots of different directories. By selecting these files and staging them on the File Tray in a split view mode, he can easily discern where each file should go. He can then easily move files by simply dragging and dropping them in the directory they belong in. This makes the File Tray a helpful tool for file organisation. | ||
* Cosmo keeps forgetting where he keeps his important files as they are often hidden deep within directories and sub-directories. The File Trays feature can come to the rescue here by letting him stash the files in the File Tray and hence it will save him time from drilling deep into directories for a file. Hence, the File Tray can also be used for making quick shortcuts for files. For this I plan to add a feature and user preference to allow the user to restore the Tray from the previous session and to have the option of making the Tray retain the files stored in it across sessions. | * '''Cosmo''' keeps forgetting where he keeps his important files as they are often hidden deep within directories and sub-directories. The File Trays feature can come to the rescue here by letting him stash the files in the File Tray and hence it will save him time from drilling deep into directories for a file. Hence, the File Tray can also be used for making quick shortcuts for files. For this I plan to add a feature and user preference to allow the user to restore the Tray from the previous session and to have the option of making the Tray retain the files stored in it across sessions. | ||
===User interaction model=== | |||
Keeping in line with Dolphin's philosophy, this feature is designed to be as unobtrusive as possible. | |||
The File Tray will behave exactly like any other directory in Dolphin. However, the interaction model is not entirely obvious at first glance. | |||
For example, using Copy on a selection of files and Pasting in the File Tray will populate a list of the folders in the Tray. Now, copying these files from the File Tray and pasting them to another directory will retain the files on the Tray while creating a copy of these files at the chosen directory. | |||
Using a Cut on a selection of files on the File Tray will remove the files on the File Tray while copying them to the chosen directory. | |||
However, one interaction which I feel will create a lot of confusion would be moving the files to the File Tray. This will be confusing as moving files to a virtual directory is not possible as the files simply exist as URLs on the Tray. Hence, the context menu will have a minor modification to disable/remove the Move option to the Tray. If items are pasted from the Clipboard, the files will still remain in their source directory, regardless of whether they have been Cut or Copied from the source directory. | |||
On the other hand, there will be two options for Removing files from the File Tray. One option will simply remove the chosen files from the list in the File Tray and the other option will move the selection to the Trash. | |||
Furthermore, by default, the File Tray will not retain the files added in it across sessions, though I will add a button to restore files from the previous session. I also plan to add a Save button (not sure where it should go) to allow the user to save the selection of files they have made on the Tray. | |||
Another important note about the interaction model I have thought about is that the File Tray should have its own shortcut such as ctrl+W (of course the keyboard shortcut is subject to change). Invoking this shortcut on a selected number of files in the Active Directory should immediately open the File Tray and add all the Files in the selection there. Moreover, the Split view will be disabled whenever the File Tray is active. If the split view is open when the File Tray keyboard shortcut is activated, the Split view of the inactive directory will close and will be replaced with the File Tray. | |||
Additionally, the mouse scroll click can be used for one-click additions of items in the active directory to the File Tray. | |||
Also, the File Open dialog will undergo some minor modification to include a places option for the File Tray, so users can select items directly off the Tray for other programs. | |||
==Features== | |||
Also, there are a few more features I want to add to make the File Tray more powerful. However, these features are probably a better fit for Dolphin in general, and then the File Tray can use these functions from Dolphin: | |||
# The ability to create symbolic links of a selection of files. Nautilus has been doing this for a while. | |||
# Automatically create a music playlist file by selecting music files. | |||
# Adding support for the KDE Purpose Framework in Dolphin to make sharing easier. |
Revision as of 09:14, 19 January 2016
The Idea
Introduction
Selecting multiple files in any file manager for copying and pasting has never been a pleasant experience, especially if the files are in a non-continuous order. Often, when copying files between devices we might find that we need to select only a subset of the required files we have selected and this leads to the unwieldy operation of removing files from our selection. Of course, the common workaround is to create a new folder and to put all the items in but this is a very inefficient process and can be very slow if large files need to be copied between devices.
My solution to this problem is to add a Places option in Dolphin where the links to files and folders can be temporarily saved for a session. The files and folders are "staged" on this panel. Hence, the user can add folders and files from several different directories to this panel and can then collectively perform actions on all the items in the tray such as copy, paste, cut, delete items, send via Bluetooth, and to create a list of symbolic links. As part of the project, better sharing options for the File Tray and Dolphin as a whole using the KDE Purpose Framework API are planned to be implemented.
Files can be added to this tray by using a right-click context menu option, using the mouse scroll click, or drag and drop. As an additional option, the session for the File Tray Panel can be saved for later use. Hence, complex file operations such as moving files across many devices can be made easy by staging the operation before performing it.
This File Tray will be accessible through the existing Split view function in Dolphin as well as a directory available under the Places panel section. This would make it neatly integrated with Dolphin's existing toolset and it would make dragging and dropping easy.
Use Cases
- Jerry has a large music collection on his computer and he has many devices such as a tablet, smartphone, HTPC, and a USB drive for his car audio. He needs only a subset of files from his extensive collection which he wants to keep on all his devices. Hence, to avoid making the same selection over and over again for each device, it's much more efficient for him to just create his list on the File Tray and then copy the same list to each device.
- George is a student at university and he has a lot of unorganised files on his computer from lots of different directories. By selecting these files and staging them on the File Tray in a split view mode, he can easily discern where each file should go. He can then easily move files by simply dragging and dropping them in the directory they belong in. This makes the File Tray a helpful tool for file organisation.
- Cosmo keeps forgetting where he keeps his important files as they are often hidden deep within directories and sub-directories. The File Trays feature can come to the rescue here by letting him stash the files in the File Tray and hence it will save him time from drilling deep into directories for a file. Hence, the File Tray can also be used for making quick shortcuts for files. For this I plan to add a feature and user preference to allow the user to restore the Tray from the previous session and to have the option of making the Tray retain the files stored in it across sessions.
User interaction model
Keeping in line with Dolphin's philosophy, this feature is designed to be as unobtrusive as possible.
The File Tray will behave exactly like any other directory in Dolphin. However, the interaction model is not entirely obvious at first glance.
For example, using Copy on a selection of files and Pasting in the File Tray will populate a list of the folders in the Tray. Now, copying these files from the File Tray and pasting them to another directory will retain the files on the Tray while creating a copy of these files at the chosen directory.
Using a Cut on a selection of files on the File Tray will remove the files on the File Tray while copying them to the chosen directory.
However, one interaction which I feel will create a lot of confusion would be moving the files to the File Tray. This will be confusing as moving files to a virtual directory is not possible as the files simply exist as URLs on the Tray. Hence, the context menu will have a minor modification to disable/remove the Move option to the Tray. If items are pasted from the Clipboard, the files will still remain in their source directory, regardless of whether they have been Cut or Copied from the source directory.
On the other hand, there will be two options for Removing files from the File Tray. One option will simply remove the chosen files from the list in the File Tray and the other option will move the selection to the Trash.
Furthermore, by default, the File Tray will not retain the files added in it across sessions, though I will add a button to restore files from the previous session. I also plan to add a Save button (not sure where it should go) to allow the user to save the selection of files they have made on the Tray.
Another important note about the interaction model I have thought about is that the File Tray should have its own shortcut such as ctrl+W (of course the keyboard shortcut is subject to change). Invoking this shortcut on a selected number of files in the Active Directory should immediately open the File Tray and add all the Files in the selection there. Moreover, the Split view will be disabled whenever the File Tray is active. If the split view is open when the File Tray keyboard shortcut is activated, the Split view of the inactive directory will close and will be replaced with the File Tray.
Additionally, the mouse scroll click can be used for one-click additions of items in the active directory to the File Tray.
Also, the File Open dialog will undergo some minor modification to include a places option for the File Tray, so users can select items directly off the Tray for other programs.
Features
Also, there are a few more features I want to add to make the File Tray more powerful. However, these features are probably a better fit for Dolphin in general, and then the File Tray can use these functions from Dolphin:
- The ability to create symbolic links of a selection of files. Nautilus has been doing this for a while.
- Automatically create a music playlist file by selecting music files.
- Adding support for the KDE Purpose Framework in Dolphin to make sharing easier.