Automatic rename in KIO rename dialog

todd rme toddrme2178 at gmail.com
Sun Oct 25 02:04:05 GMT 2009


I would like to start developing for KDE.  The place I wanted to start
is the KIO rename dialog.  This is the dialog that appears when there
is a file name conflict during a file or directory copy or move
operation.  Currently there are a six options: rename, skip, auto
skip, overwrite, overwrite all, and cancel.  What I want to do is add
another option: auto rename.

The main use case for this would be move operations, primarily
attempts to merge two directories.  At least the way I see it,
generally speaking the end result of an attempt to merge two
directories is one directory.  The "auto skip" option will not work
here, because conflicting files will be left behind and you will still
have two directories in the end.  Overwrite is not always desirable
because the conflicting files may not have the same content, resulting
in data loss.  It would be useful for file move operation in general,
at least when the goal is to not lose any data and not have any of the
files you are trying to move be left behind in the original location.

Another use case is trying to copy unrelated files from someone else's
computer to your flash drive, or someone else's flash drive to your
computer.  Similar use cases could happen with copying files to or
from unrelated network drives.  In this case skipping files is no good
because you won't copy all the files, and overwriting is not good
because you are almost certainly going to destroy data (it is unlikely
the other user will have the exact same files you have).

Presently the only option in this case is to click the "suggest"
button and then the "rename" button.  Besides the fact that these are
two buttons, making the operation tedious and difficult to begin with,
they are also at opposite ends of the dialog box, requiring moving
your mouse fairly accurately over a very long distance.  This requires
two mouse clicks and two fairly long mouse movements for every
conflicting file.  This is the only operation (amongst rename,
overwrite, and skip) that requires two mouse clicks, and the only one
that requires much mouse movement, yet it is the only one that cannot
presently be automated.  I can say from experience this is an
extremely tedious operation.  Even using the keyboard, the keyboard
shortcuts fro the the suggest and rename buttons are not at all
similar, requiring changing your hand position substantially.

There are three bug reports I have been able to find in a fairly quick
search requesting this feature.  The first one is actually mine, the
other two are from other people.  Two at least have multiple votes, so
I am not the only one to have noticed this problem.  :

https://bugs.kde.org/show_bug.cgi?id=177121
https://bugs.kde.org/show_bug.cgi?id=100769
https://bugs.kde.org/show_bug.cgi?id=165398

Further, I have seen numerous requests for improvements to this dialog
box, but unfortunately without any specifics about what to improve.
So although I can't say for certain this is what those people wanted,
there are many people dissatisfied with the dialog box overall.

I think this is a very important feature, one found in other operating
systems like Windows Vista, and one there is demand for from users.
So I think it would be very useful to implement and I am willing to do
so myself if no one else wants to.  However, I do not want to work on
it unless I know that it will be accepted in principle.  That is,
assuming I do a good job at it (a big assumption, I know), would it be
accepted?

Now one likely objections is that the dialog box is getting really big
already.  There are already a bunch of buttons, adding another one
will only make it bigger.  One possible solution to this would be to
eliminate the "overwrite all" and "auto skip" buttons and instead have
a single check box labeled "apply to all".  When this is checked, the
overwrite button would act as overwrite all, the skip button would act
as auto skip, and the rename button would act as auto rename.  The
cancel button would not change its behavior and the rename button and
text entry field would be disabled since these buttons would no longer
have an effect.  This would simplify the dialog box to begin with, and
the auto rename function would not add any complexity for users (on
the contrary it would make the UI more consistent).  This is just a
possibility, having an additional button is still a solution if this
is preferable (and would be implemented first for testing purposes
anyway).  But I would like to know before I start what the final
result should be (assuming the idea is acceptable to begin with).

Thank you very much fore your time.  I know this is a bit long-winded,
but I am not familiar with the protocol for getting ideas like this
approved and wanted to address possible objectives.  I am hoping to at
least get the idea approved and in the feature plan for 4.4, and maybe
even have a prototype working by the soft freeze.  I have a fairly
good idea how to proceed, although there are a few details of the code
I will need clarified, but I can worry about that on my own time.

-Todd




More information about the kde-core-devel mailing list