The viewer interface

Disclaimer: This article is a draft of the final documentation. 

The Viewer interface

When the internal Viewer of FileVoyager is launched to display a file, it is actually a separate Windows process that is started.
This separation allows the main FileVoyager process to remain stable and protected from any crashes or unresponsiveness that may occur in an individual Viewer instance.

In this page, we will explore the various components that make up the FileVoyager Viewer interface.
The image below illustrates a typical window and its various parts.

Doc02-Viewer_Interface
Doc02-Viewer_Interface_MM

Legend

  1. The view modes toolbar
  2. The rendering area
  3. The main menu and the toolbar
  4. The file path
  5. The search panel
  6. The information bar
  7. The multimedia control panel
  8. The Playlist panel

The view modes toolbar

The toolbar in the Viewer contains the different view modes available for rendering files.

When a file is opened, the Viewer automatically selects the appropriate view mode for the file format.
If the Viewer is unable to identify the file format and the necessary mode to render it, it defaults to Binary mode.

Currently, the Viewer supports nine different modes:

  • Text:
    This mode allows any file to be rendered in a flat format, similar to a text file.
    When the Viewer recognizes a file extension as a supported source code extension, it displays the file with syntax highlighting (using the Scintilla library).
    This mode also takes into account different line break conventions such as CR+LF (Windows), CR (Apple), and LF (Unix/Linux).
    The text mode includes a margin displaying line numbers.
  • Binary:
    Similar to Text mode, but displays non-printable characters and has a fixed column width of 80 characters. It does not take into account the CR and LF of the file to break lines.
  • Hexa:
    Similar to Binary mode, but also includes an Offset column and displays the hexadecimal representation of the bytes in the file.
    Each line displays 16 characters.
  • Unicode:
    This mode displays text files encoded with multibyte character sets (MBCS) and supports UTF-16 Little endian and UTF-16 Big endian.
  • U-Hex:
    Similar to Hexa mode, but dedicated to Unicode files.
  • MM (=MultiMedia):
    This mode is for displaying files in the categories of Image, Audio and Video.
    Supported image files are rendered using the internal engine of FileVoyager, while supported audio and video files use codecs installed on the host system. If no codecs are found, FileVoyager will check if the files are supported by the Windows Media Player engine, and if not, it will try to render them using the VLC codecs included with FileVoyager.
  • Windows:
    This mode uses the PreviewHandler system of Windows for previewing files in the View Pane of Windows Explorer. FileVoyager is also able to render these PreviewHandlers, although availability is limited outside of mainstream software such as Acrobat Reader or MS Office.
  • Web:
    This mode is for displaying web pages (HTML, MHT, etc.) and uses the Internet Explorer engine for rendering.
  • SumatraPDF:
    FileVoyager comes with SumatraPDF embedded, which is a powerful solution for displaying PDF, eBooks, ComicBooks, and DJVU files.

The rendering area

This is the area where the viewed file is displayed based on the chosen mode.

The main menu and the toolbar

This area features the primary menu and toolbar.

The primary menu includes the following options:

  • File
    • Open: Opens a dialog box that allows you to select a file to be displayed in the viewer.
    • Save as…: Opens a dialog box that allows you to specify the location and name for saving a copy of the currently displayed file.
    • Save selection to file…: Allows for saving only the selected text when in “Character modes” (Text, Binary, Hexa, Unicode, U-Hex, or RTF) using a dialog box for specifying the location and name.
    • Export to HTML: Converts a file with syntax highlighting in Text mode (typically a source code or param file) to an HTML file that can be viewed in a web browser, using a dialog box for specifying the location and name.
    • Quit: Closes the Viewer. This option is not available when the Viewer is embedded in one of the panes.
  • Edit (only available when the file is in “Character modes” such as Text, Binary, Hexa, Unicode, U-Hex, or rtf)
    • Select line: Selects the entire line where the cursor is currently located.
    • Select all: Selects the entire contents of the file.
    • Save selection to file…: Allows saving only the selected text to a new file using a “save” dialog box.
    • Copy: Copies the selected text to the Windows clipboard.
    • Find…: Opens the Search panel. If the search panel is already open, it acts as “Find Next” (see below).
    • Find Next: When a text to find is set, searches the first occurrence of the text after the cursor.
    • Find previous: When a text to find is set, searches the first occurrence of the text before the cursor.
    • Go to: Opens a dialog box to enter a position value in the file to navigate to. The position value can be expressed in Line, Percent, Offset, Offset Hex.
      • Line: Number of the line to go to
      • Percent: The position in the file expressed in percents
      • Offset: The position in the file expressed in bytes
      • Offset Hex: Same as Offset, but expressed in Hexadecimal
    • Lexer – xxx: Allows choosing a language for syntax highlighting. “xxx” will be replaced by the name of the current language chosen.
    • CodePage type – xxx: Allows choosing a code page to render the file. “xxx” will be replaced by the name of the current code page chosen. Available code pages vary between different installations of FileVoyager.
      UTF-16 Big Endian and Little Endian are only available from the Unicode mode and are the only available code pages in that mode.

The file path

This is simply the path of the currently viewed file.

The search panel

The search panel is a feature that appears when the “Find” action is selected. It provides tools to help find specific text within the current file. This feature can only be used when the file is displayed in Text, Binary, Hexa, Unicode, U-Hex and RTF(UTF-8).

  • The text content edit box: This is a field where you can input the text you want to search for.
  • Find previous: When pressed, searches for the previous occurrence of the text before the cursor.
  • Find next: When pressed, searches for the next occurrence of the text after the cursor.
  • Hexadecimal: On/off button. When pressed (on), indicates that the text in the edit box is an hexadecimal representation of the value to find.
  • Highlight all: On/off button. When pressed (on), indicates that all the matching occurrences to text in the edit box must be highlighted. For performance reasons, this option is set to “off” by default when the file is bigger than 50 MB.
  • Match case: On/off button. When pressed (on), indicates that the text in the edit box is to be found in the file with the exact same case.
  • Whole word: On/off button. When pressed (on), indicates that the text in the edit box is to be found as a complete word, and not as a subset of a word.
  • Close button: Closes/hides the Search Panel.

Note that the Web mode and the SumatraPDF mode have their own built-in search functionality and do not use the Search panel.

The information bar

This bar is displayed only when the current file is viewed in Text, Binary, Hexa, Unicode, U-Hex, and RTF (UTF-8) modes. It provides useful information about the open file and your current position within it.

  • Row: Displays the line number of the current cursor position.
  • Column: Displays the column number of the current cursor position.
  • Offset: Displays the overall position of the cursor within the file.
  • Selection length: Displays the number of characters currently selected.
  • File size: Displays the size of the file in bytes and, in parentheses, in dynamic units (e.g. MB, KB, etc.).
  • Lexer: Displays the name of the lexer currently being used for syntax highlighting. If no lexer is being used, the value is “null”. This field also includes a drop-down list where the user can select a lexer to use.
  • Codepage type: Displays the current codepage used to render the file. This field also includes a drop-down list where the user can select a code page to use.

The multimedia control panel

This panel is only visible when the current file is in MM (MultiMedia) mode.It contains various controls and information related to the multimedia file being viewed. The panel is divided into three sections

Doc02-Viewer_Multimedia_Controls

1. The track slider

The track slider is a cursor located at the top of the control panel. It displays the progress of the playback of the media file, allowing users to easily navigate through the video or audio.
You can drag the track slider left to rewind or right to forward the track being played.

2. The playback control panel

The playback control panel contains various controls that allow users to interact with the multimedia file.

Doc02-Viewer_Multimedia_Controls_Playback

3. The multimedia info panel

This panel displays:

  • The cover of the track, if it exists in the file’s ID3 tags, is displayed on the panel. If no cover is displayed, it means that the file does not contain a cover or that FileVoyager was unable to extract or render it.
  • The file name, the current playback time position, the total duration of the track, and some meta tags such as the title, artist, and album are also displayed on the panel. These meta tags are only shown if they are available and supported by FileVoyager. Meta tags can be read from various audio formats including MP3, OGG (Ogg Vorbis), WAV, WMA (Windows Media Audio), FLAC, APE (Monkey’s Audio), MPC (Musepack), OFR (OptimFROG), and TTA (True Audio).
  • An audio representation, such as spectrums or bars, loosely interpreted from the audio track, is displayed on the panel. This representation is only visible if FileVoyager is rendering the file using the DirectShow framework. By clicking on the spectrum, the rendering can be changed. There are 10 different renderings available, including 5 spectrums and 5 bars.Doc02-Viewer_Multimedia_Controls_SpectrumBars

The Playlist panel

coming soon

The viewer interface was last modified: January 28th, 2023 by FileVoyager (Author)

Comments are closed.