----------------------------------------------------------------------
GrandPerspective, Version 1.7.0
----------------------------------------------------------------------
* INTRODUCTION
GrandPerspective is a small utility for Mac OS X that can draw two-
dimensional views of disk use within a file system. This can help you
to manage your disk, as you can easily spot which files and folders
take up the most space.
The graphical representation is a logical one, where each file is
shown as a rectangle with an area proportional to the file's size.
Files in the same folder appear together, but other than that the
placement of files is arbitrary. You can observe this by resizing the
view window. The location of files will change, in order to keep the
rectangles as square as possible.
* SYSTEM REQUIREMENTS
- Mac OS X, 10.7 or higher
- Intel processor
* CONTENTS
This version of GrandPerspective is released as two separate files:
* GrandPerspective-1_7_0.dmg
This is the main release file. It contains all you need to run
the application. To install the application, open the disk
image and drag the application icon onto your Applications
folder, or wher'ever you want to put it onto your file system.
Next, run the application by clicking on the icon.
* GrandPerspective-1_7_0-src.tgz
This contains the source code of the application. It consists of
the Objective C source code, as well as various auxiliary files,
such as the nib files that are used to construct the GUI.
Note: From Version 1.0 onwards localized versions of GrandPerspective
are released for a subset of releases, those whose second number in
the version string is even. These versions do not introduce new
features. Next to updated translated resources they will only include
fixes, minor cosmetic changes, and refactoring "behind the scenes".
* LICENSE
The GrandPerspective application has been released as Open Source
under the GNU General Public License. See COPYING.txt for details.
* THE WEBSITE
For more information about the application, please visit the website
at http://grandperspectiv.sourceforge.net. From there, you can
download the latest release of the software. It is also possible to
report bugs, make a donation, suggest additional features, provide
more general feedback, etc.
* CREDITS
Special thanks to all that have provided localizations of the
application: Chris Li, Maxime Hadjinlian, Javier Alfonso and Helge
Baumann.
Many thanks to everyone that has shown support by making donations.
They have been used to fund the required upgrade to Leopard, which has
enabled me to build Universal Binaries.
Thanks to Aaron Madlon-Kay for noticing, investigating and fixing the
scan data format compatibility problem caused by a small datetime
formatting change introduced in OS X 10.11 and for updating the source
code for XCode 7.2.
Also thanks to Martin Kahr who made Universal Binaries available for
early releases of GrandPerspective, and to Craig Hughes who helped me
early on to make the source code Intel-compatible.
Thanks to Miles Ponson (iTweek) for providing the free set of "knobs"
icons, three of which I used for the toolbar (the images for the
Reveal, Delete and Rescan actions to be precise; the Open icon is my
own concoction).
Thanks to Keith Blount for developing and making available the source
code of various handy utility classes. His KBPopUpToolbarItem class
provides the pop-up menu functionality of the Rescan button in the
toolbar.
Thanks to the many users that have reported bugs and suggested
improvements. This has definitely made the application better than it
would otherwise have been. Lucky0 deserves a special mention for the
amount of useful feedback given.
Finally thanks to all that have helped to get the word out about the
application. Developing the application may be fun, but having actual
users makes it worthwhile.
* CONTACT DETAILS
The GrandPerspective application has been developed by Erwin Bonsma.
Please visit the website at http://grandperspectiv.sourceforge.net for
details on how to contact me.
======================================================================
GrandPerspective Change Log
======================================================================
----------------------------------------------------------------------
Version 1.7.0, 05-05-2016
----------------------------------------------------------------------
New functionality:
- Added "Recent Scans" menu item to easily repeat common scans across
invocations of the app.
- Added Welcome window on start-up (instead of popping up Scan
Dialog).
- The new window shows the application icon to clearly associate it
with the app, as well as a random tagline describing the app.
- The new window still lets you start a new scan.
- The new window also offers the ability to repeat a recent scan or
to go to the help documentation, which may help new users.
- Prepared app for distribution in Mac App Store by enabling sandbox
- Delete options will be disabled when the app does not have the
necessary write permissions.
Minor improvements:
- Extended Help with "Quick Start" section.
Bug fixes:
- Bug fix: Fixed three minor memory leaks.
----------------------------------------------------------------------
Version 1.5.3, 24-04-2016
----------------------------------------------------------------------
Minor improvements:
- Digitally signed application to avoid Gatekeeper security warning,
at least, as long as you allow apps downloaded from "Mac App Store
and identified developers"
- Updated app icons to add Retina resolutions
----------------------------------------------------------------------
Version 1.5.2, 17-04-2016
----------------------------------------------------------------------
Minor improvements:
- Extended "No Version control" filter to also exclude Mercurial, git
and Bazaar admin folders
Refactoring:
- Moved source code from svn to git
Bug fixes:
- Fixed reading/writing of datetime values when loading/saving scan
date to reflect changes in default date format introduced in OS X
10.11 [#37]
- Updated source code for XCode 7.2. Fixed various warnings [#38]
----------------------------------------------------------------------
Version 1.5.1, 25-08-2012
----------------------------------------------------------------------
Minor improvements:
- Added support for reporting file sizes with decimal-based units
(where 1 kB is 1000 bytes instead of 1024 bytes). [#3556570]
- Added ability to copy path of selected item to paste board.
[#3537974]
Bug fixes:
- Fixed bug: Rescanning a deleted directory could crash the app
[#3552571]
----------------------------------------------------------------------
Version 1.5.0, 30-04-2012
----------------------------------------------------------------------
New functionality:
- Added color mappings based on creation, modification and access
time:
- Added heatmap palettes optimized for usage in time-based mappings.
- Extended the focus panel to also show the creation, modification
and last access time for the selected file.
Minor improvements:
- Sorting items in pop-ups alphabetically.
- Removed dependencies on deprecated methods.
Bug fixes:
- Fixed bug: Revealing of files did not work on loaded scan data.
- Fixed bug: Scan data could not be loaded when file names contained
strange characters (e.g. linebreaks and non-printing characters)
- Fixed bug: Application could crash because disposed views were still
observing events.
----------------------------------------------------------------------
Version 1.3.4, 27-03-2012
----------------------------------------------------------------------
Minor improvements:
- Automatically show Scan dialog when opening application.
- Added preference for showing entire volume.
- Improved labels and layout of preferences dialog.
- Changed keyboard short-cuts for File commands to match standard
look & feel.
- Made source code compatible with XCode 4.3.
Bug fixes:
- Fixed bug #3498256 by removing check introduced to track bug
#2989277.
- Fixed bug: Using path-based tests in filters or masks in combination
with zero sized directories could prematuraly free memory.
- Fixed bug: Mask settings were not carried over when twinning or
duplicating windows.
----------------------------------------------------------------------
Version 1.3.3, 24-05-2010
----------------------------------------------------------------------
Minor improvements:
- Made usage of memory zones for scan tree configurable (default,
dedicated shared, or dedicated private). Now defaulting to default
memory zone.
- Added checks and verbose logging in TreeBuilder to help trace bug
#2989277: Crashes on Scan of Boot Volume.
- Minor fix to TmpDirInfo-dealloc (may fix bug #2989277?)
Bug fixes:
- Plugged a big memory leak: The scan tree was never released.
- Plugged a small memory leak in UniformTypeInventory.
----------------------------------------------------------------------
Version 1.3.2, 17-04-2010
----------------------------------------------------------------------
Minor improvements:
- Added two more rescan commands: "Rescan folder in view" and "Rescan
selected".
- Both commands are available from the toolbar by way of a pop-up
menu. Thanks to Keith Blount for sharing the delayed pop-up code
that enables this.
- "Rescan selected" is also available from the context menu.
- In the Preferences you can specify the default rescan action.
- The selection does not have to be locked anymore for the context
menu to be available.
- Added optional detailed logging when scanning (useful for
troubleshooting).
Bug fix:
- Fixed bug: After a rescan the focus can move down when it should.
----------------------------------------------------------------------
Version 1.3.1, 13-03-2010
----------------------------------------------------------------------
Minor improvement:
- Application now also accepts drops of folders and volumes (Feature
request #2789715)
- Exported Scan Folder and Load Scan Data as a service.
- Added Services menu item to application menu (it wouldn't be fair
otherwise now, would it? ;-)
Bug fix:
- Fixed bug #2935266: Cannot open or reveal files with slashes in
their names.
----------------------------------------------------------------------
Version 1.3.0, 17-01-2010
----------------------------------------------------------------------
New functionality:
- Improvements to filters (and masks):
- All filters now have names that can be used to select them:
- Select filters from the new filter selection panel.
- Select masks using a pop-up button in the Display panel.
- The application comes with a couple of filters out of the box.
- User-created filters are automatically stored in the preferences
so you can use them again later.
- Scan dumps now include information about filters that were used,
both their names as well as the filter tests they contain.
- Enabled individual inversion of tests in a filter.
Refactoring:
- Converted all NIBs to XIBs.
- Renamed several windows and their control classes.
Bug fix:
- Fixed bug #1947382: Typing return in Rule Name field can cause rule
completion.
----------------------------------------------------------------------
Version 1.1.0, 26-09-2009
----------------------------------------------------------------------
Minor improvements:
- Added number of scanned and deleted files to Info panel.
- Added Rescan button to toolbar.
- Rescan can now optionally close the old window.
- Added context menu to views to let you Reveal, Open and Delete
selected files.
- Added ability to store user-editable comments with saved scan data.
- Scan data is now stored in files with a .gpscan extension.
- These files have their own icon and filetype, and are associated
with the application.
- You can now invoke the application from the command line with:
- a path of a folder to scan, or
- a path of a scan data file to load.
Bug fixes:
- Fixed bug #2562846: Failure to load scan data
- Incorrect saving of scan data in OS X 10.4 should be fixed now.
- Freed space did not correctly reflect deletion of hard-linked files.
Documentation:
- Added various advanced "How To" sections to the help documentation.
----------------------------------------------------------------------
Version 1.0 (localized), 22-12-2008
----------------------------------------------------------------------
Updated localizations:
- Japanese, by Chris Li
- French, by Maxime Hadjinlian
- Dutch, by Erwin Bonsma
----------------------------------------------------------------------
Version 1.0, 22-12-2008
----------------------------------------------------------------------
New functionality:
- Added a customizable toolbar, including new controls:
- Added control for changing the focus (which previously could only
be done using the keyboard or scrollwheel).
- Added new "Open with Finder" action (not to be confused with
existing "Reveal in Finder" action).
Minor improvements:
- Improvements to the appearance of the view window:
- Moved info about selected item to statusbar.
- Removed borders around view.
- Not showing rectangle around outermost item in the selected path
unless necessary.
- Positioning newly opened view windows so they cascade.
- When creating a derived view window its size matches that of the
original window.
- Sorted the available tests in the "Edit Filter" window by name.
- Sibling directories are scanned depending on their creation date
(oldest first). This deterministic ordering is particularly helpful
when scanning an entire TimeMachine backup as hard-linked files
will be included in the backup where they first appeared.
- Made selection automatically stick to end-point when reaching a
file after moving selection down a level.
- When resizing the window the view is still being shown.
- Added keyboard shortcuts for zooming.
- Added menu item for visiting the GrandPerspective website.
- The selection only follows the mouse when the view window has main
status.
- Now also setting hardlink and package status for root of scan tree.
- Showing an alert when an invalid date value is encountered when
loading scan data.
- Alerts created by a view window are now all shown as sheets of that
window.
- Moved horizontal drawers away from the window's left edge.
- The initial size of windows and the color gradient for drawing
rectangles in the view are now taken from the user defaults.
- Moved description of file type in Focus panel from separate text
field to tooltip of the file type identifier.
Bug fixes:
- Included workaround for bug #2243134 (crash while scanning NTFS
mounted filesystem).
- Coloring by Level would end up in endless loop for packages at
level zero when package contents were hidden. Not anymore.
- Aborting a drawing task that was just about to complete could
result in premature aborting of next task. Not anymore.
- Closed Edit Mask windows would reappear when the application
got activated again after reactivation. They now remain hidden.
Code clean-up:
- Renamed FileItem -isSpecial to -isPhysical (and inverted meaning)
- Simplified abortion of background tasks (removed enabled state
from TaskExecutor).
- Moved zoom and focus functionality to DirectoryView.
----------------------------------------------------------------------
Version 0.9.13.1 (localized), 01-10-2008
----------------------------------------------------------------------
Updated localizations:
- Japanese, by Chris Li
- Spanish, by Javier Alfonso
- French, by Maxime Hadjinlian
- Dutch, by Erwin Bonsma
----------------------------------------------------------------------
Version 0.9.13.1, 29-08-2008
----------------------------------------------------------------------
Bug fixes:
- Fixed "silly typo" bug that caused crashes when scanning.
- Failures of FSRefMakePath do not abort scanning anymore, but are
handled gracefully instead.
----------------------------------------------------------------------
Version 0.9.13, 26-08-2008
----------------------------------------------------------------------
New functionality:
- Scan data can now be saved to an XML file and loaded again at a
later time.
- Progress of ongoing scan, filter, save, and load tasks is now
reported.
Minor improvements:
- All text fields in the view's drawer are now selectable.
- Views are immediately cleared when they are resized.
- Reduced the amount of memory needed when scanning and filtering.
- The trees used to store scan results are now stored in a dedicated
memory zone to minimise fragmentation and optimise memory usage.
Bug fixes:
- Plugged a big memory leak. The image was not released when the view
was resized. This has been fixed.
- The drawer of the Edit Filter window could be detached from its
window. This cannot happen anymore.
- Aborting a filter task would create a view anyway. Not anymore.
- Now obtaining readlock on the tree before filtering.
Code clean-up:
- Replaced all remaining NSBrowsers by NSTableViews.
- Moved TaskExecutor protocol from "util" folder to "task".
- Placed ProgressPanelControl and its new subclasses into the
"control/progress" subfolder.
- Renamed various classes and methods.
----------------------------------------------------------------------
Version 0.9.12.1, 14-06-2008
----------------------------------------------------------------------
Bug fix:
- [1990250] Applying a Path test on folders in a filter could crash
the application. This has been fixed.
Minor improvements:
- Extended help documentation to better explain how tests on folders
function.
----------------------------------------------------------------------
Version 0.9.12, 10-06-2008
----------------------------------------------------------------------
New functionality:
- Hard-linked files and folders are recognized and handled
appropriately.
- Mask and filter rules can now optionally be applied to folders.
- Added Filtered Scan command, which lets you apply a filter while
scanning.
- Optionally showing package contents.
- Added several new tests for mask and filter rules (on file type,
package status, and hard link status)
Minor improvements:
- Improved application-default ranking of uniform types.
- Added new application-provided tests (Packages and Hard-linked
items) and updated existing ones.
- Improved GUI of "Edit Filter Rule" window.
- Made progress panel resizable.
- Case-sensitivity of string tests is now reflected in their
description.
Bug fixes:
- Files inside a package can now be revealed (unless the package is
itself in a package).
- Filtering produced corrupt trees (PlainFileItems were replaced by
FileItems), which could trigger various exceptions. This has been
fixed.
- Fixed synchronisation in TreeContext.
- AsynchronousTaskManager now unlocks its locks before releasing them.
Code clean-up:
- Introduced ItemPathModelView for managing view-specific selection
path state.
- Introduced FilteredTreeGuide for applying masks and filters.
- FileItems are now duplicated using factory methods.
- Refactored TreeBuilder.
- Removed several warnings when compiling using XCode 3.0.
- Renamed "filter" folder to "test".
- Renamed various classes, methods and member variables.
- Removed some unnecessary nesting.
----------------------------------------------------------------------
Version 0.9.11 (localized), 22-04-2008
----------------------------------------------------------------------
Updated localizations:
- Japanese, by Chris Li
- Dutch, by Erwin Bonsma
----------------------------------------------------------------------
Version 0.9.11, 18-03-2008
----------------------------------------------------------------------
New functionality:
- Files and folders can now be deleted from the view window:
- Deletion can be enabled and disabled from the Preferences, with
optional required confirmation.
- The view updates itself to show freed space.
- The total amount of freed space is shown in the Info panel.
- Added coloring by file type:
- The hierarchical Uniform Type system of OS X is used as a basis.
- A color legend in the Display panel shows the file type that
corresponds to each color.
- The types that are assigned a different color can be controlled
in the Preferences by changing the order of the uniform types.
- The list of new uniform types is dynamically extended as new
types are encountered during scanning.
Minor improvements:
- Improved drawer of the view window:
- The Focus panel now shows the file type of the selected item.
- The width of the drawer can be increased.
- Improved wrapping/scrolling of text fields in the Info panel.
- Renamed "Depth" color mapping scheme to "Level". The newly added
color legend shows the level that is associated with each color.
Bug fixes:
- Removed race condition in view redrawing code that could trigger
a near endless cycle of view redrawings.
- It was possible to show multiple preference panels at once. Not
anymore.
- Made it impossible to change the names of application-provided
rules. Furthermore, now correctly showing the localized namee.
Code clean-up:
- Using constants for all event strings and user default keys.
- Application defaults are now set in the Info.plist file.
- Improved reverse look-up of localized keys.
- Moved all Item classes to the "tree" folder.
- Moved all file item hashing related classes to a separate folder.
----------------------------------------------------------------------
Version 0.9.10 (localized), 20-01-2008
----------------------------------------------------------------------
New localizations:
- Spanish, by Javier Alfonso
- French, by Maxime Hadjinlian
Updated localizations:
- Japanese, by Chris Li
- German, by Helge Baumann
- Dutch, by Erwin Bonsma
----------------------------------------------------------------------
Version 0.9.10, 12-12-2007
----------------------------------------------------------------------
New functionality:
- Added ability to show the entire volume on which the scanned folder
resides, including free space.
- Added ability to select folders in the view window. By default,
files are still selected, but you can select folders using the
scrollwheel of the mouse or the "[" and "]" keys.
Minor improvements:
- The "Info" panel has been pimped:
- It more elegantly shows the folder that has been scanned,
together with the volume it is on.
- It now also shows the size of volume and the amount of
miscellaneous used space.
- Added more color palettes, each with at least eight colors. Removed
several old palettes that had relatively few colors.
- Made the path to the selected file more clearly visible in the view.
- Improved drawing of the view so that it does not unnecessarily
"flash" when it is updated.
Minor meta changes:
- Changed version numbering scheme to allow this release before
releasing Version 1.00. (Just insert a dot in the version numbers
of all earlier releases for the new numbering to make sense)
Code clean-up:
- Drastically refactored the code in order to cleanly add the new
functionality.
----------------------------------------------------------------------
Version 0.99 (localized), 28-03-2007
----------------------------------------------------------------------
Updated localizations:
- Japanese, by Chris Li
- German, by Helge Baumann
- Dutch, by Erwin Bonsma
----------------------------------------------------------------------
Version 0.99, 24-02-2007
----------------------------------------------------------------------
New functionality:
- Added choice of file size measure. You can choose between logical
file size (the default), and physical file size.
- Added help. Hopefully rarely needed, but at least it exists.
Changes to the release files:
- The application has been released as a Universal Binary.
- The source release has been extended, and now includes everything
needed to build the application. Newly included:
- The (cleaned up) project file.
- The help documentation.
- All Dutch resources (as an example for other localizers).
Tiny changes:
- Made titles of various panels and their default buttons more
specific.
- Moved all localizable names into new Names.strings file.
- Moved all color palettes into "Palettes" subfolder.
- Enlarged bounding box of text fields where there was room (to
facilitate localization).
Bug fixes:
- Enabling a filename or path test without specifying any strings
does not give an error anymore.
- It was possible to specify a negative file size bound, which
resulted in a very large size. Not any more.
- It was possible (to attempt) to save an image with a dimension that
was zero or negative. This resulted in an exception. Not anymore.
- When a "void" test was returned after adding or editing a mask or
filter rule an exception occurred. This has been fixed.
----------------------------------------------------------------------
Version 0.98 (localized), 09-01-2007
----------------------------------------------------------------------
Updated localizations:
- Japanese, by Chris Li
- German, by Helge Baumann
- Dutch, by Erwin Bonsma
----------------------------------------------------------------------
Version 0.98, 15-12-2006
----------------------------------------------------------------------
New functionality:
- Masking and filtering rules that are created (or modified) by the
user are now stored in the user preferences so that they are
available next time the application is run.
- The default file item tests are now read from the information
properties file, instead of being hardcoded in the application.
- String tests support case-insensitive matching.
- Now also showing human-friendly file sizes in the Info and Focus
panels.
- Added button for removing all tests from the filter in the
"Edit Filter" window.
Minor improvements:
- The path test now applies to path of the folder where the file item
resides (excluding the name of the file itself). This way it better
complements the name test.
- Path strings are cached during filtering or drawing of the file
item tree for improved performance.
- Changed size of main window to 640x480.
- Internationalized the OK and Cancel buttons of alert panels.
Bug fix:
- When an image was saved, the "Clown Barf" palette was always used,
irrespective of the palette used by the view. This has been fixed.
- The CFBundleSignature, CFBundleIdentifier, and CFBundleVersion
properties in Info.plist were not set correctly. This, for instance,
meant that preferences were incorrectly associated with the
example com.apple.myCocoaApp application. This has been fixed.
----------------------------------------------------------------------
Version 0.97 (localized), 10-12-2006
----------------------------------------------------------------------
New localizations:
- Japanese, by Chris Li
- German, by Helge Baumann
- Dutch, by Erwin Bonsma
----------------------------------------------------------------------
Version 0.97, 14-11-2006
----------------------------------------------------------------------
New functionality:
- There is now a choice of color palettes.
- The palettes that can be chosen have been taken from the
ColorSchemer gallery at http://www.colorschemer.com/schemes/.
Thanks to the following users for providing one or more color
schemes: copperblue, tumuchtime, Jalle, Nemoflow, and rageforst.
- Preferences can now be changed and stored. This means that you
can change the default color mapping and default color palette.
- The application has been fully internationalized. This means that
localized versions can now be generated.
- See LOCALIZATION.TXT for details on how you can help to make
GrandPerspective available in your language.
Minor improvements:
- Zero-sized items are not included in the tree anymore. This
reduces the memory footprint and stops tree paths from being
drawn when the tree has a total size of zero.
Code clean-up:
- Renamed FileItemHashingOptions to FileItemHashingCollection and
more generally made it match the new ColorListCollection class.
Also renamed instances of FileItemHashing to colorMapping.
Bug fixes:
- Closing Filter Window would freeze application (see 1562627)
- Selecting an empty filter would throw an assertion (see 1562627).
- It used to be possible for a test that was not available to be
selected anyway, which could cause various anomalous behaviours.
----------------------------------------------------------------------
Version 0.96, 12-08-2006
----------------------------------------------------------------------
Changes since Version 0.95:
- New functionality:
- Added ability to filter a directory view window, which generates
a new window with a "filtered view". The filter determines which
files are shown in the new window.
- If a filter has been applied this is reflected in the window
title.
- Added a drawer to directory view windows. It has three panels:
- An "Info" panel with details about the files that are shown
in the view, including:
- the time of scan,
- the folder that was scanned, and
- details of the filter that has been applied (if any).
- A "Display" panel for configuring the way the view is drawn.
Here you can specify:
- how files are colored, and
- the mask that is used (if any).
- A "Focus" panel with details about:
- the folder that is currently shown in the view, and
- the file that is currently selected.
- Tiny changes:
- The button for revealing a file in Finder has been renamed to
"Reveal" (it used to be "Show").
- The file coloring options "directory" and "top directory" have
been renamed to "folder" and "top folder" respectively.
- Cosmetic changes to the "Edit Filter" window.
- Code cleanup:
- The progress panel has been refactored. It is now also used when
filtering takes place.
- All tasks and executors have been moved to a new "task" folder.
- Simplified the code that creates the attributed string for the
selected file.
- The contents of PopUpButtons are now set in their nib file
instead of programmatically.
- Bug fix:
- Plugged a memory leak in the image drawing code.
----------------------------------------------------------------------
Version 0.95, 05-07-2006
----------------------------------------------------------------------
Changes since Version 0.94:
- New functionality:
- Added ability to mask files. When a file is masked it is not
drawn, but still takes up space in the view. Masking files is
handy for quickly spotting certain types of file.
- A mask can be quickly enabled or disabled.
- A test for masking can be created quickly by selecting one or
more existing rules.
- Existing rules can be edited and new ones can be created.
- Rules can take the name of the file into account, its size, and
its path.
- Rules can be identified by their friendly name, but a full
description can optionally also be shown.
- Tiny changes:
- Added coloring by "top directory" option as suggested by Adrian
Sampson (ID 1501479).
- Made color-mapping choice in directory view a pop-up button.
- Added keyboard shortcuts for Re-scan and Filter commands.
- The SaveImageDialog is now centered.
- Code cleanup:
- The code is now spread across various folders.
- Made implementation of TreeLayoutTraverser protocol explicit.
- Split BalancingTreeBuilder in two: TreeBuilder and TreeBalancer.
----------------------------------------------------------------------
Version 0.94, 09-05-2006
----------------------------------------------------------------------
Changes since Version 0.93:
- New functionality:
- There is now a "rescan" command which generates an up-to-date
window given an existing one. You can use this command after you
have moved or deleted several files and folders.
- Tiny changes:
- Window titles now include the time of the scan and, if needed,
an additional number, to make each title unique.
- The scan progress panel now shows the name of the folder that is
being scanned.
- Renamed the "Open" button of the directory view window to "Show".
- Renamed the "Scan directory..." command to "Scan Folder...".
- Code clean up:
- Generalised the execution of background threads in the new
AsynchronousTaskManager class, which is now used for both drawing
and rescanning in a background thread.
- The scan progress panel has been moved into a nib of its own,
and now has a dedicated control: ScanProgressPanelControl.
- Bug fix:
- Fixed the drawing code so that it also runs properly when
compiled for Intel Macs. Many thanks to Craig Hughes for his
help with this.
----------------------------------------------------------------------
Version 0.93, 22-01-2006
----------------------------------------------------------------------
Changes since Version 0.92:
- New functionality:
- Selected files can now be opened in Finder. This can be used to
examine files and folders in more detail, and to optionally
remove, move or edit files.
- An image of the directory view can now be generated and saved (as
a TIFF image).
- Code clean up:
- Refactored ItemTreeDrawer into two classes. ItemTreeDrawer now
does the basic drawing, and AsynchronousItemTreeDrawer manages
drawing in a separate thread.
- Bug fix:
- The thread used for drawing in the background is now properly
terminated and disposed of when it is not needed anymore.
----------------------------------------------------------------------
Version 0.92, 10-01-2006
----------------------------------------------------------------------
Changes since Version 0.91:
- New functionality:
- Added a "twin window" command. This is like the "duplicate window"
command, except that navigation of the directory tree in the new
window is synchronized with its parent window.
- Improved functionality:
- When duplicating a window, the file colouring scheme and the path
in the tree are now also copied.
- Code clean up:
- Refactored code so that it adheres much better to the MVC pattern.
- Bug fixes:
- Fixed bug that would occassionally prevent redrawing of the
directory view. (ID 1309819)
- Plugged a big memory leak. The directory tree is now actually
freed when all windows that refer to it are closed.
----------------------------------------------------------------------
Version 0.91, 30-09-2005
----------------------------------------------------------------------
Changes since Version 0.90:
- Now building with ZeroLink disabled, so that the application should
actually run on machines other than my own. :-)
- Optimised view drawing. Drawing the tree map of my entire hard drive
contents at 1280x1024 resolution on my Mac Mini now takes only half
a second.
----------------------------------------------------------------------
Version 0.90, 20-09-2005
----------------------------------------------------------------------
First release of GrandPerspective.
Features:
- A view showing directory trees graphically:
- Layout of files using a basic balanced tree building algorithm.
- Drawing of files using basic gradient filling.
- Support for different file colouring schemes. Colouring by:
- Directory name (i.e. a hash of the name)
- File name (i.e. a hash of the name)
- File type (i.e. hash of file extension)
- Nothing (all files same colour)
- Selection of a file in the view:
- To descend into the directory tree.
- To enable copying of file path.
- Support for multiple windows:
- Scan different folder and show in new window.
- Duplication of an existing window (to view data differently).