Введена возможность подключения к серверу, вывод откликов в поле ведения логов и получение списка файлов и директорий. Для этого реализован метод MainWindow::ftpConnect.
Переработан класс Service для вывода сообщений в поле QTextBrowser.
Убрано отображение "." в списке каталогов.
Исправлен метод MainWindow::openPath. Теперь в конфиг корректно сохраняется последний каталог, в котором был пользователь при прошлом запуске программы.
Доработан метод UserDTP::fileList. Теперь в нем происходит разбиение списка, полученного от сервера на строки.
В класс UserDTP введена константа MAX_BUF_LEN для обозначения максимальной длины буфера. Установлено значение 4096, как и в интерпретаторе протокола.
Пофиксил предупреждения из класса ProtocolInterpreter.
Реализован обработчик кнопки копирования файлов и каталогов. Копирование файлов осуществляется через метод-слот MainWindow::copy. В нем рекурсивно вызывается метод MainWindow::storeFolder для копирования содержимого директорий на сервер. А метод MainWindow::retrieveFolder рекурсивно вызывается для копирования содержимого директорий с сервера.
Реализован вывод иконок в панели списка удаленных файлов и директорий.
Получение списка локальных файлов и директорий вынесено в отдельный метод MainWindow::getLocalFileList.
Для получения списка файлов на сервере используется метод MainWindow::getRemoteFileList.
Метод MainWindow::openRemotePath реализует вывод содержимого текущей директории для навигации по каталогам.
Исправлено формирование пути сохранения файла в методе UserDTP::retrieve
Метод ProtocolInterpreter::sendList теперь использует метод UserDTP::fileList и возвращает список файлов и директорий.
Исправлен метод UserDTP::fileList. В старой версии, если объем получаемых данных был больше максимального размера буфера, то разбивка на элементы списка происходила не корректно.
Удален метод UserDTP::fullList, поскольку теперь вместо него используется метод UserDTP::fileList.
Реализован метод FileSystem::isFile, проверяющий, является объект файлом или директорией.
Создан метод FileSystem::makeDirectory для создания директорий.
Добавлен метод ProtocolInterpreter::getFileList для доступа к полю fileList. Само же это поле сделано приватным.
Исправлена ошибка подключения к несуществующему серверу.
Немного переработаны методы, реализующие FTP-команды LIST, NLST, RETR и STOR для более стабильной работы.
Откомментирован код в основных классах.
Issue #69 - Реализация обработчика кнопки копирования файлов и каталогов