On Tue, Feb 25, 2014 at 6:15 PM, Marc-André Lureau <mlureau@xxxxxxxxxx> wrote: > > > ----- Original Message ----- >> On Tue, Feb 25, 2014 at 6:03 AM, Marc-André Lureau <mlureau@xxxxxxxxxx> >> wrote: >> > Hi >> > >> > ----- Original Message ----- >> >> Probably the function of copying has three defects: >> >> >> >> i)For some languages,there is a mis-encoding of file name >> >> I have solved by myself...(under some circumstance) >> >> >> > >> > Yeah, I remember your patch, but you didn't follow up, right? Are you still >> > working on this? >> Aha:) I have followed your advices, but the effect is the same with I >> have patched >> I don't have good environment to do more test...So I still need to >> read source code deeply! >> >> >> ii)Can't drag multi-files >> >> I'm glad to see the following in source code: >> >> /* At the moment, the copy() method is limited to a single file, >> >> support for copying multi-files will be implemented later. */ >> >> g_return_if_fail(sources[1] == NULL); >> >> >> >> iii)But, it doesn't support for drag folder >> >> Is there TODO I don't find? Or any ideas about solution? >> > >> > >> > Imho, dragging files/folder shouldn't be done via a Spice "copy" protocol. >> > Instead, Spice should learn to implement drag and drop. Afaik this should >> > be doable, but nobody worked on it. >> >> Actually, I'm always curious if copying muti-files/folder can be done >> by compressing to a zip/... before transfering ......of course, it's not a >> cool solution... > > Compression can be handled by a remote filesystem protocol. Imho, we shouldn't reimplement something like scp/rsync in Spice. yeah, BTW, in spice-gtk-0.23/gtk/channel-main.c, if I change it like the following, then muti-files copying works! ---g_return_if_fail(sources[1] == NULL); if (!c->agent_connected) { g_simple_async_report_error_in_idle(G_OBJECT(channel), callback, user_data, SPICE_CLIENT_ERROR, SPICE_CLIENT_ERROR_FAILED, "The agent is not connected"); return; } +++ int cnt = 0; +++ while(NULL != sources[cnt]){ file_xfer_send_start_msg_async(channel, --- sources[0], +++ sources[cnt], flags, cancellable, progress_callback, progress_callback_data, callback, user_data); +++ ++cnt; +++} I think it over, and don't the reason RedHat doesn't support muti-files copying... Further, if g_file_get_path(sources[cnt]) is a folder, I can copy all files by DFS/BFS, then folder copying also can be supported Any idea? >> > Otoh, you might be interested in the sharing folder functionality. It >> > allows you to have a folder on the client mounted/visible directly in the >> > guest. From there copy will work like a regular guest operation, with >> > guest UI etc. >> >> Here's a particular requirement that files can ONLY be draged from >> local to guest...... > > You mean currently? Yes, it's a known limitation. However, with the shared folder, you can copy to and from the client folder. I mean this's my requirement, so the shared folder is not adaptable for me > >> >> >This function is mostly ready, and I will submit a new patch this week (I'll >> >add you in CC). >> >> I'm really appreciate to hear that, thx a lot:) >> _______________________________________________ >> Spice-devel mailing list >> Spice-devel@xxxxxxxxxxxxxxxxxxxxx >> http://lists.freedesktop.org/mailman/listinfo/spice-devel >> _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel