Introduced an IPackageService that is wrapping the existing PackageService but caching it's package lists (CachedPackagesService). This way switching between installed and available packages should be much faster. At the moment there is no way to invalidate the cached lists while the program is running - they are pulled from server / file system only the first time the ListOfPackages / ListOfInstalledPackages methods are called.
Introduced an IPackageVersionService that is wrapping the existing PackageVersionService but caching all obtained package versions internally (CachedPackagesVersionService). At the moment there is no way to invalidate any package version the program is running - they are pulled from server only the first time the PackageVersion method is called.
Bugfix: Package names containing dots are now extracted correctly from the chocolatey directory structure.
Bugfix: Chocolatey lib-directory was not set correctly for users with a non-default path. Now the path will be set by expanding the %ChocolateyInstall% environment variable by default.
Enhancements:
- settings window disposes on okay button click
- minor layout changes in settings window
Enhancement:
- installed packages are now loaded automatically at startup
- moved querying for installed / available packages into methods
Renamed some of the click handlers for better readability.
Replaced toolStripMenu to view installed / available packages with tabs.
Bugfix: Most parts of the user interface are now disabled after every button click that could trigger the command line window. This way there is no way to trigger a pipe while another pipe is already running, throwing an exception.
Bugfix: Installed packages list and package versions are now updated after a new package has been installed.
Bugfix: Programm is not crashing anymore when updating the list of installed packages via menu item.
New feature: Implemented uninstall function for installed packages.
"Help" and "about" dialogs are now loading their help- and version contents within a background thread. This way the GUI is no longer freezing.
Inserted icons from http://www.fatcow.com/free-icons (CC BY 3.0 US).