Developing a new KIO Slave (GSoC 2016)

Arnav Dhamija arnav.dhamija at gmail.com
Wed Jan 20 10:08:57 GMT 2016


Hi!

I am a first year undergraduate student at the university interested in 
contributing to KDE for the 2016 edition for the GSoC.

I wish to contribute with an original idea. A short summary of my idea 
is as follows:


  File Trays for making file selection easier in Dolphin

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 selecting files using Ctrl+A or the 
selection tool, we find that we need to select only a subset of the 
required files we have selected. 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 this folder prior to 
copying, but this is a very inefficient and very slow process if large 
files need to be copied. Moreover, the use of Ctrl+Click to select files 
is not a user-friendly operation - it requires fine motor control to not 
accidentally release the Ctrl key which will cause one to lose the 
entire selection of files.

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. 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.

Therefore, 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, send via 
Bluetooth, create a list of symbolic links, etc. I also plan to 
integrate the KDE Purpose Framework API in Dolphin to improve the 
sharing options of the application as a whole.

The complete details of the project, including usecases, implementation 
details, features, and more can be found here: https://goo.gl/XeszhC

As far as implementation of the project goes, I intend to use a*KIO 
Slave* for having a virtual directory storing the URLs to added files 
added in the File Tray. It will accessible by KDE applications working 
similarly to how bluetooth:/, trash:/, fish:/, etc. work. However, 
complete documentation on writing KIO Slaves is hard to find, so I want 
the opinion of this mailing list on whether a KIO Slave is the best 
approach to this project. The view displaying the File Tray also 
requires some context menu actions specific to it.

This project will later be expanded to include a Plasmoid for the KDE 
desktop, so I feel KIO Slaves would make this much easier to implement. 
I would love to hear the opinions of KDE developers on this matter.
-- 
arnav dhamija
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.kde.org/mailman/private/kfm-devel/attachments/20160120/2fdd7650/attachment.htm>


More information about the kfm-devel mailing list