History of development of FreeDock ================================== 1.01 alpha - First release to Angus, Neil & Martin 1.02 alpha - Fixed 2 bugs discovered by Martin : 1) I windows directory is a SUBST'd drive, when the dock creates the path name to the program manager for files which have no icons (.PIF, .COM etc.) the path was incorrect since it contained an extra \ i.e. p:\\progman.exe, this has been corrected by checking for the presence of a trailing \ and only adding one if required. 2) When starting a DOS session from a .PIF file, with a stored window position, the FreeDock window was moved to the stored position & size, this was caused by getting the active window too soon. It was solved by adding a loop which retries 25 times to get the active window which is not the dock window, if this fails it does not try to position the window. 1.03 - Added the ability to drag slots around the dock, dropping a slot in an empty position moves the slot to that position. Dropping a slot in an occupied position swaps the location of the two slots. Dragging a slot off the dock, indicated by the cursor changing to a skull and crossbones removes the slot from the dock. Removed save option, .ini file now saved after any changes made. Removed confirmation dialog from Exit Dock & remove slot options. 1.04 - Fixed bug which was only partly fixed in 1.02 (1), the fix prevoiusly provided correctly for .PIF, .COM & .BAT files, but not for DOS .EXE files, this has now been corrected. 1.05 - Improved slot moving, icons do not now flicker when being moved, and picking up a slot now causes it to be picked up from the dock instead of only picking up a copy as was the case before. 1.06 - Added Choose Icon option which displays all icons in a file in pages of 50 icons at a time and allow the user to click on the icon they wish to choose. Added Browse options to the App name and Iconfile fields, selecting a new app results in the icon file being changed to match the app ,if it contains any icons, otherwise the icons file is set to the program manager & Icon 2 is selected. If the App contains icons, the first icon in the file is selected. 1.06a - Minor addition, when files are associated, in the program manager, with an executable which is given as prog.exe (i.e. only the name and not a full path) the dock would fail to find the exe correctly and therefore be able to get the icon required. This has been solved by doing a searchpath() on all exe's for associated files. 1.06b - Minor modification to the logic which detects when a slot has been dragged off the dock, to stop all slot redraws whilst it is not visible (i.e. outside the dock) this also had the effect of stopping the skull & crossbones (Slot Remove Cursor) from flickering. 1.06c - Minor modification to the logic for detecting the diference between the first click of a double-click and a click or button down prior to dragging. Problem was causing icon to jump around in the dock when it was doubleclicked, this was caused by it momentarily being picked up and then dropped as the first click of the double click was processed. This has now been fixed. Things still to be done ======================= 1) [Most important] Write the manual ! 2) Add a mechanism for viewing/previewing/modifying the stored window position for an application. 3) More testing of current release before general release. 4) Addability to add/remove special built-in slots in the current session, i.e. don't need to restart FreeDock to get built-ins to appear. [Not terribly important] 5) Consider idea for having slots which are groups, this causes the associated icons to pop out at 90 degrees to the dock when the slot is selected. Problems : How to add/move/remove slots in a group ? 6) Possibility of a 4 sided dock, this should be fairly easy to implement, the only problem might be the rotation animation. Possibly add a scroll bar before the Main Free dock slot. 7) Possibility to add ability to drag dock around, probablily only in an up/down direction if the dock is on the left/right or in a left/right direction if the dock is in a top/bottom position.