File Locater SourceForge.net Logo
 Home   History   Download   Development 

last updated 3 Mar 2009 

Source for latest released version

The source for the latest released version of File Locater can be downloaded from the SourceForge download page

Subversion access

Alternatively you can access the code directly using subversion.

If you have a subversion client installed, then you can check out the very latest code with:

svn co https://filelocater.svn.sourceforge.net/svnroot/filelocater/trunk filelocater

To check out a particular version, say 1.0, then this can be checked out with:

svn co https://filelocater.svn.sourceforge.net/svnroot/filelocater/tags/FileLocater-1.0 filelocater

Requirements

The following tools have been used to build File Locater:

Directory layout

The following sub-directories exist in the main project directory:
(Note: the directories ScreenShots and Web are only available under svn)

FileLocater
Contains the C# source for File Locater.
FileLocater_Test
Contains the C# source for the unit tests.
Help
Contains the files used to build the .chm help file.
Images
Contains images/icons used to build File Locater.
ScreenShots
Contains the screen shots used on the SourceForge File Locater project page.
Web
Contains this web site.

Conditional compilation symbols

The following conditional compilation symbols are available when building File Locater:

SHOWINFO
Shows information about the size of the index on the Index form.
SHOWEXCLUDED
When building the index, this will add any paths that are being excluded due to a match with the users excluded path list to the Access Problems list box.
SKIP_FLOPPY
Prevents the Index form from including A: and B: in the list of available drives. Making these drives available can make the initial display of this form quite slow while the system probes the drives.

NUnit tests

Unit tests are provided for the non-form objects. Currently some of these tests have hard coded path names, so will fail to pass the tests on your system. This will be rectified in the near future.

XML documentation

All significant public methods use XML documentation tags. You can use your favourite tool e.g. Doxygen to convert these to HTML viewable documentation.

A one minute tour of the source code

Main:

Program.cs
This is where it all starts.

Windows forms:

FileLocaterForm.cs
This is the main Windows form where you enter search queries and see the results.
IndexForm.cs
This form allows the indexing options to be set.
AddExcludedPathForm.cs
This form allows a path to be added to the excluded path list in the IndexForm.
IndexProgressForm.cs
This form displays the progress while the index is built.
RunForm.cs
This form allows you to specify which application to open the selected file with.
AboutForm.cs
The about box.

Filename pattern matching support:

FilenamePattern.cs
Abstract base class that pattern matching classes must derive from.
GlobPattern.cs
Provides glob filename pattern matching.
LocatePattern.cs
Provides locate style filename pattern matching.
RegexPattern.cs
Provides regular expression filename pattern matching.
Glob.cs
Provides low level glob matching.

Support classes:

DirectoryTree.cs
Allows a directory tree to be traversed.
FilenameDb.cs
Internal representation of the indexed files.
MruList.cs
Holds a Most Recently Used list.

Utility(/static) classes:

I18nHelper.cs
Functions to help with Internationalisation.
SystemMenuHelper.cs
Provides routines to allow the system menu to be updated.
Utils.cs
Other utilities that don't fit anywhere else.