* Implemented some tests to be run on multiple implementations to
demonstrate how such tests can be implemented
* Detected problems with CryptoFileSystem(NioFileSystem)
* Made CryptoFileSystem and CryptorImpl public / constructible from
other packages
* Extracted Server-logic from InMemoryWebDavServer to
FileSystemBasedWebdavServer
* Made InMemoryWebdavServer and NioWebdavvServer use
FileSystemBasedWebdavServer
* Partial implementation of nio filesystem
* Addded some tests
* Added project for common test dependencies
* Removed default implementation of Folder#delete
** reason: didn't work because empty folders were not deleted and this
cannot be done in the default implementation
* Partial implementation of nio filesystem
* Removed timeouts from openReadable and openWritable
* Added convenience methods for copying
* Added utility to support deadlock safe opening of multiple files
- Fixed password field focus
- Don't show unlock error messages from one vault, when switching to another vault
- Hide advanced mount options by default (preparation for things like #74)
dependency injection. Replaced static references to MainApplication in
the context of closing resources with an injected DeferredCloser. Using
controller factory for dependency injection into FX controllers.
main-method-arguments to the running instance. Command line arguments
are treated by showing the corresponding folder in the GUI.
If an argument is a folder, it is shown directly. If an argument is a
.masterkey.json file, the parent directory is shown. If an argument does
not exist, but the folder can be created, the newly created folder is
shown.
It was necessary to move the main function away from the MainApplication
class because running the main method of a class, which extends the
javafx Application class, will start a non-daemon thread. This prevents
the VM from exiting naturally.
OSX needs its own mechanism, which is implemented in OS-specific code.
It is vital that the required handler is added in the main thread of the
application, not the Java FX thread, which is a bit awkward to
implement. Since it is possible to open .cryptomator packages on OSX,
this extension is now hidden in the folder list.