TODO:
Finish catching all possible stdout errors and display with message dialogs.
Finish displaying operations and their results in messages window.
IF any way possible (none known yet), show upload progress. *probably not without using a different ftp library
Scroll messages view on output.
Allow to stop a transfer queue currently in execution
open remote file downloads in thread and opens incomplete file while downloading
Connect in thread.
Text messages after running thread, eg. "compress local file complete."
Add support for different character encodings
Add support for different directory listing styles
Whatever # TODO:'s in the source code (careful, some may be already done).

FIXME:
Changing local folders while downloads are in queue will change where files are saved
Stop a transfer causes lockups* Fixed for downloads, recursive uploads doesn't freeze (but download errors), upload needs fix
LIST on remote dir while transferring causes lockups
Stop pulsing progress bar on exceptions
encrypting password with DES fails to add padding for some users, causing failure to save* exception caught, blanks the password, but needs testing
unpress connect buttons upon failure to connect, causes infinite loop until connected*
TEST uploading directories with deep recursion
intermittent iter problems in playlist

keep cwd when downloading
reinitialize connection