Review Request 111585: Don't update clipboard before cut/paste KIO operation succeeds

Dawit Alemayehu adawit at kde.org
Sun Jul 21 06:54:04 BST 2013



> On July 20, 2013, 9:46 p.m., David Faure wrote:
> > kio/kio/clipboardupdater_p.h, line 34
> > <http://git.reviewboard.kde.org/r/111585/diff/3/?file=172590#file172590line34>
> >
> >     I'm confused. If the user presses Undo, the whole copy/move operation is undone, not just one URL out of many URLs, right?
> >     
> >     So I don't see why OverwriteContent doesn't work too, for the undo case?
> >     
> >     You cut three files A,B,C from dir1, and paste them into dir2. OverwriteContent updates the clipboard to dir2/{A,B,C}. If you then undo, the 3 files are moved from dir2 back to dir1, and  therefore OverwriteContent can be used to update the clipboard from dir2/{A,B,C} to dir1/{A,B,C}. What am I missing?
> >     
> >     Sounds to me like UpdateContent is there for the purpose of the other cases you mention in the description (e.g. #134960), but that's not tested yet.
> >

Well I should have probably used a better example or elaborated more in the documentation. The update mode is the one that should be chosen unless you are 100% certain the user did perform a cut/copy and paste operation. Currently, the only place I know where that is the case is when KIO::pasteClipboard is called for a move (cut+paste) operation. Otherwise, you should always use the update mode because you do not want to inadvertently overwrite the contents of the clipboard. I will see if I can clarify the documentation a little bit.


- Dawit


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/111585/#review36226
-----------------------------------------------------------


On July 20, 2013, 2:06 p.m., Dawit Alemayehu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/111585/
> -----------------------------------------------------------
> 
> (Updated July 20, 2013, 2:06 p.m.)
> 
> 
> Review request for kdelibs and David Faure.
> 
> 
> Description
> -------
> 
> The attached patch fixes a bug where the contents of the clipboard are prematurely updated during a cut and paste operation. In the process I also discovered that undoing the operation does not update the clipboard either. Hence that too is fixed by this patch.
> 
> Please note that this patch does not address all the cases where the content of the clipboard is not updated after a KIO operation. More specifically the clipboard content will be out of sync if the user performs the following operations:
> 
> - copy/cut a file or a directory and rename it
> - copy/cut a file or a directory and move it
> - copy/cut a file or a directory and delete it.
> 
> In fact there is a ticket for the copy/cut and rename file/directory scenario (bug# 134960). However, addressing these issues require a careful consideration of how to do it since delete/rename/move operations can be done outside of KDE's control. Do we simply fix the KIO jobs to handle this or do we address it the KDirWatch level so we catch all the scenarios? Probably the latter. Anyhow, that can wait until for the 134960 fix.
> 
> 
> This addresses bug 318757.
>     http://bugs.kde.org/show_bug.cgi?id=318757
> 
> 
> Diffs
> -----
> 
>   kio/CMakeLists.txt f7a3767 
>   kio/kio/clipboardupdater.cpp PRE-CREATION 
>   kio/kio/clipboardupdater_p.h PRE-CREATION 
>   kio/kio/fileundomanager.cpp 9f76fef 
>   kio/kio/paste.cpp ca451fb 
>   kio/tests/fileundomanagertest.h ebd02fa 
>   kio/tests/fileundomanagertest.cpp 7c1352c 
> 
> Diff: http://git.reviewboard.kde.org/r/111585/diff/
> 
> 
> Testing
> -------
> 
> Unit and manual tests.
> 
> 
> Thanks,
> 
> Dawit Alemayehu
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20130721/a569a4ce/attachment.htm>


More information about the kde-core-devel mailing list