Skip to content

Instantly share code, notes, and snippets.

Last active August 22, 2016 18:18
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save nisargshah95/0b431a80713f3239bbdbc43190da0e63 to your computer and use it in GitHub Desktop.
Final submission for GSoC 2016

GSoC 2016 final submission

Submitted by Nisarg Shah

Project - [GUI-based FTP client for KolibriOS] (

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

Diff containing uncommitted changes made to FTP client

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