|
|
|
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:
- Visual C# 2005 Express Edition
- HTML Help Workshop 1.3
- NUnit 2.4.6
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.