First Steps For The File Transfer UI

Semester exams are over at my university and now I have 6 weeks to work on my Google Summer of Code project full-time.

I've just finished a set of updates to Swift which allow file transfer via the contact context menu.

The chat log UI in Swift is a WebKit control, with the content being HTML. The new file transfer functionality now adds a UI in the chat log showing the file transfer. This includes an inline progress bar displaying the transfer's progress.
This all works using Qt's WebKit classes that allow you to modify the DOM and allows JavaScript code call back into the C++ world via standard Qt signals.

The file transfer is based on the Jingle File Transfer spec, and interoperates with other clients implementing the same spec. I've successfully tested with Pidgin's and Gajim's development branches implementing the same. We should soon begin to see reliable cross-client file transfer for Jabber soon.

I've also fixed some bugs during a bit of interoperability testing against Jefry's GSoC project, improving Gajim's Stream Management and Jingle support.

What’s next on the list:

  • Finishing up the send-a-file use case (cancelation of transfer and error handling)
  • Writing the receive-a-file code in the UI
  • Finally implementing SOCKS5 transport-method to have real peer-to-peer transfers
This page was posted with tags .