Primer for ReinDir

Primer for ReinDir v.0.2.593.0

Until I have time to write proper documentation, this will serve to get beta-testers started with this product.

ReinDir is a file name search utility for selected directories by pre-cataloguing the files using an explorer-like interface. Pre-cataloguing of files allows for fast searches but does not update automatically as files in those directories change.

Most of ReinDir's features are self-explanatory and I will not go into them in this primer. Some, however, are not obvious and I will cover those topics here.

Controlling the User-Interface
Directory Selection
Pre-Collection Filtering
Post-Collection Filtering

Controlling the User-Interface

ReinDir, in order to speed operation of the program, dispenses with some common Windows application input conventions.

  • Any alphanumeric character keystroke that is typed automatically is sent to the Filter edit box regardless of which pane is active.
  • Page-Up and Page-Down keystrokes are sent to the right pane (File List) regardless of which pane is active.

While this will change in the future, the left pane (Directory Selection) can currently only be modified by mouse input. To "check" a directory, left-click on its checkbox. To toggle the redbox (see below) status, right-click on its checkbox.

Everything else should work as per standard Windows input conventions.

Directory Selection and Redbox

The left pane of ReinDir is a tree-view of the local shell namespace. This means it has access to all local, networked, mapped, and special directories. By checking directories in this tree, you are determining which directories should be catalogued for searches. The checkboxes are, however, not simple On-Off switches but allow for very accurate and effective directory contents selection.

  • A normal check means that all sub-directories (of as many levels available) are selected for cataloguing.
  • A check on a greyed background means that some sub-directories of this directory are selected for cataloguing.
  • An empty checkbox means that none of the sub-directories of this directory are selected for cataloguing.

Furthermore, the option to catalog the files in a displayed directory is shown by a small red square (redbox) in the bottom-right of the checkbox.

  • If a red square is displayed, the files in this directory will be catalogued.
  • If a red square is not displayed, the files in this directory will not be catalogued. This has no effect on the cataloguing of sub-directories.

Once the tree has been expanded to show a branch, ReinDir determines if the redbox should toggled on or off automatically. If the parent directory of the expanded directory is checked then the redbox will be toggled on, otherwise it will not. If the tree has not been expanded to show a branch, the redbox status for all sub-directories is assumed to be on if the last unexpanded directory is checked, otherwise they are off.

The redbox also allows you to override the default options. For example, by default if you have all subdirectories of directory A checked, then directory A will be checked and have redbox on. If you turn off redbox for directory A then all subdirectories, but none of the files, in directory A will be catalogued. Another override situation would be when directory B has subdirectories but none are checked. In this situation directory B is unchecked and redbox is off. To catalog directory B without cataloguing any of its subdirectories, simply turn on the redbox for directory B.

Pre-Collection Filtering

There are currently three pre-collection filters. They are:

  • Ignore Location Field
  • Ignore CRC-32
  • Ignore MD5

When collecting data during directory cataloguing, these three fields can be ignored. The advantage is that less memory will be used dependant on how many of the entries will contain this data. In most cases, only Ignore Location Field will give any appreciable improvments. Once data is collected, changing these toggles will have no effect until the next data collection.

Post-Collection Filtering

ReinDir currently supports three post-collection filename filters that, when combined with the text in the Filter edit box (filter-text), restrict which files are shown in the right pane. They are:

  • Standard Filtering
  • Filter by Wildcards
  • Filter by Regex

Standard Filtering performs a case-insensitive search for filter-text within each catalogued file name. The filter-text can appear anywher within the file name. There are two special commands allowing for boolean operations. An And operation is performed when a colon (:) is read in the filter-text. Likewise, an Or operation is performed when a vertical line (|) is detected. The order of precedence is determined simply by the order found in filter-text, therefore A:B|C and B|C:A will give totally different results. There are no "parentheses" currently supported so order of precendence cannot be overridden. There is also no availabl Not operation as of this time.

Filter by Wildcards is identical to Standard Filtering (including the And and Or operators) except that it allows for the use of the asterisk (*) and question mark (?) wildcards. These work exactly as they would in DOS and Windows command line filtering. The asterisk (*) represents 0 or more of any character. The question mark (?) represents a single character.

Filter by Regex performs a regular expression search according to standard Regex rules. There currently are no available boolean operators for this filtering option. Regex is a common text search format popularized by the Perl programming language. ReinDir uses the Regex++ library and, therefore, a good source of information on Regex syntax can be found at:
http://www.boost.org/libs/regex/syntax.htm#syntax