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