Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Final submission for GSoC 2016

GSoC 2016 final submission

Submitted by Nisarg Shah

Project - [GUI-based FTP client for KolibriOS] (https://summerofcode.withgoogle.com/projects/#5072256724107264)

Tasks accomplished

  1. Add proper error handling [Modification]
  2. Refactor code to decouple console code and core FTP code [Flow diagram] [Modification]
  3. Console
  4. Display download progress instead of dots
  5. Error handling for filesystem functions
  6. Build GUI for login screen and integrate it with FTP client
  7. Build main GUI
  8. boxlib treelist element for displaying local and remote files
  9. textedit element for displaying console messages
  10. boxlib progressbar element for displaying progress bar
  11. Core FTP functionality 1. Buttons - LIST, DELE, RDIR, MKD, RMD, BYE (disconnect) 2. RETR/STOR on pressing "Enter" after selecting the file from local/remote treelist 3. Cancel downloads (button) 4. Search for files within current remote directory (not recursive)
  12. Logging to disk (file path configurable via ftpc.ini)

Known issues

  1. Uploading large files fails
  2. Check available disk space before starting download [no efficient method found yet]

Tasks remaining

  1. Resuming downloads
  2. Searching recursively (within subdirectories of current working directory)
  3. Display informative errors on login screen GUI (wrong username, password, etc.) in addition to console (currently only a generic error message is printed)

Diff containing committed changes made to FTP client

http://websvn.kolibrios.org/comp.php?manualorder=1&repname=Kolibri+OS&compare%5B0%5D=%2F&compare_rev%5B0%5D=6435&compare%5B1%5D=%2F&compare_rev%5B1%5D=6437&comparesubmit=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B8%D1%82%D1%8C+%D0%BF%D1%83%D1%82%D0%B8

Diff containing uncommitted changes made to FTP client

http://paste.kolibrios.org/show/566/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment