First commit.
Multiformat image (GIFs!!) support. Images now are loaded into the image box.
Fixed incrementation and decrementation calculation with PrevImage() and NextImage() methods.
Who doesn't like a few comments?
Added MenuStrip and MenuItems. Added icons for MenuItems.
Added "Open" to the list of MenuItems. Files can now be opened with a file dialog.
Changed the filtering of files to include ICOs and exclude EXIGs.
Removed AeroForms and added in the source for WindowsAPICodePack.Core and WindowsAPICodePack.Shell.
Moved argument handling to a method that will be invoked after the GUI is shown.
Copied parts of GlassForm implementation to MainForm to have the Aero effect without the need of inheriting GlassForm, which Windows Form Designer complains about.
Aero Effect! YAY!
Deleted image duplicates.
Created ButtonImageSet class to split button image sets into smaller usable images.
Implemented mouse entering and leaving the buttons, allowing the buttons to show the right images when each event occurs. WHOOT!
Fixed bug with filenames not being initialized everytime.
Implemented image changes for mousedown and mouseup states.
Implemented images for enabling and disabling buttons.
Added regions.
Changed mouse over on buttons to retain the transparent background (Control).
Added other buttons.
Implemented image swapping for the new buttons.
Fixed image state of MouseUp from Active to Hover.
Added FileOperationAPIWrapper to delete files (move files to the recycling bin) normally. This includes prompting the user and checking if the file is locked.
Solved file locking issue by loading image files into stream and then creating an image out of the stream. GIF animations are preserved.
Changed the behavior of the Send() method to only return true if a file deletion was confirmed.
Attempted to remedy the problem when the Delete button is still in the hover state image when the delete confirmation dialog appears. Deactivating the form will put all buttons in their default state, either Active or Inactive.
Added checks for the DeleteImage() method to check if there are files to be deleted before attempting to delete.
If all files are deleted in the directory, the image box is cleared and the buttons are deactivated.
Things got COMPLEX!
Added a FileSystemWatcher to watch for file changes in the working directory.
The filenames list is updated everytime an event is raised with the watcher.
Clearing of the image box and the deactivation of buttons was moved to a delegate that will be called when file change events are raised.
Fixed major bug where the DeleteImage() method attempts to delete the item from the filenames list after the filenames have already been updated after the delete. (deleting a name that nolonger exists).
Fixed bug where if the original file that is shown in the image box is still in the directory, it won't be maintained as the current file (in the backend).
Forgot to initialize mutex.
Added a new ImageBox control. In process of changing the code to fit needs.
Replaced the icons with more appropriately sized ones for menu buttons delete and copy.
Refactored some code in ImageBox to be more eye pleasing.
Implemented "fit to window" feature. It is activated by default one image load and maintains its 'state' until 'broken' by a zoom event.