phalacee
Gallery | Journal | Mozilla
Vision | Glossary of Terms | Notes | Methods | Progress | Resources | Tools
Firefox Filemanager - Vision
A description of the project and a loose layout of the goals.

     I have a desire to create a file manager extension for FireFox, one that will allow the tabs/windows of FireFox to be File Manager windows instead.
     Part of this extension would be the addition of a 'Folders' side-bar, just like the one in Windows Explorer.
     Context Menus and all that would be as they are in Windows Explorer.
     At the moment, the only purpose for this is to allow users to browse the web and manage their files from one application, as they could do from Explorer, and to allow the use of tabs while doing so. Later on, I may seek to include FTP as well, and possibly an image viewer (although, maybe the images could just be viewed in a browser tab, instead of a manager tab).
     If anyone who is willing to help me by supplying tutorials for Shell integration and so forth, as well as any hints and tips that could be offered as to how I can use a .dll in a Firefox extension, it would be greatly appreciated (and more than likely credit will be given for even the most basic help).


     Please note: As I do not have access to a computer I can develop software on that is running Linux or Mac OS X yet, this extension will be Windows only until someone else with a thorough understanding of Linux/OS X can step in and help me.

Firefox Filemanager - Glossary of Terms
An explaination of what I actually mean.
  • Browser Tab
    • A Firefox tab intended to display HTML or images.
    • The tabs already available in Firefox.

  • Manager Tab
    • A Firefox tab intended to files and folders.
    • The tabs this extension will be adding Firefox.

  • Folder Tree
    • The expandable list of drives and files that can be seen in Explorer's Folder List (Left-hand frame of the example above).
    • A sidebar filled with an expandable list of the drives and folders available of the user's computer.

  • File View or File List
    • The area where the files and folders are listed (Right-hand frame in the example above).
    • The content zone filled with a list of the folders and files available of the user's computer under the currently selected directory.

  • Registry
    • The Windows Registry.

Firefox Filemanager - Notes
Notes to myself on what I have figured out.
  • Chrome/XUL
    • Chrome File
    • Sidebar
      • <broadcasterset id="mainBroadcasterSet">
    • HTML Display Zone
      • <vbox id="appcontent" flex="1">
          <tabbrowser id="content" disablehistory="true" 
                         flex="1" contenttooltip="aHTMLTooltip" 
                         contentcontextmenu="contentAreaContextMenu" 
                         onnewtab="BrowserOpenTab();" 
                         autocompleteenabled="true" 
                         autocompletepopup="PopupAutoComplete" 
                         ondragdrop="nsDragAndDrop.drop(event, contentAreaDNDObserver);" 
                         onclick="return contentAreaClick(event, false);"/>
        </vbox>

Firefox Filemanager - Methods
Breaking the components into comprehensible parts (more structured notes)
  1. Folder Tree
  2. File View/List
  3. Icons
  4. Launching
    • Folder Tabs from inside Firefox
    • Folder Tabs from outside Firefox
    • Other Applications and Files
  5. Misc

  1. Folder Tree
  • Probably best to use a dll to output this if thats possible. Have it so the sidebar's content is whatever the dll returns.
    The dll would output html with javascript that allows the tree view to be expanded and closed, and when one of the Folders is double clicked that folder is opened in the Manager Tab
  • Would be great if I could just use a dll similar to the ones I use in Visual Basic, that way I would be able to just create the tree, and let the dll and windows handle the rest instead.
  • Using XUL to parse the Index of file:///c:/ is likely to be the easiest and the most Cross platform compatible
  2. File View/List
  • Again, a dll would be the best way to populate this section, in same way the sidebar/Folder Tree would be.
  • Would be great if I could just use a dll similar to the ones I use in Visual Basic, that way I would be able to just create the folder view, and let the dll and windows handle the rest instead.
  • Using XUL to parse the Index of file:///c:/ is likely to be the easiest and the most Cross platform compatible
  3. Icons
  • The values for these would come straight from the registry, if possible. Get the file extension, get the icon, return it, and there we go.
  • If I could just use a dll similar to the ones I use in Visual Basic, it would handle the icons for me.
  4. Launching
  • There are two ways this could be done, either getting the program for the file from the registry, or just passing it to explorer.exe as a command-line arguement. The first would be the better way to do this, but it would be quicker to do it the second way until just before the FileManager is ready for release.
  • If I could just use a dll similar to the ones I use in Visual Basic, it would handle the file association for me.
  5. Misc
  • Statusbar text to show the URL of internet shortcuts and the filepath of .lnk files. Will also show the number of files in an archive, and the file-size of a file.
Firefox Filemanager - Progress
How far along (behind) I am.
    Overall:
    10%

      Research:
      30%

      Planning:
      20%

      Folder Tree:
      5%

        Structure:
        15%

        Context Menu:
        0%

        Icons:
        0%

      File View/List:
      5%

        Structure:
        15%

        Context Menu:
        0%

        Icons:
        0%

      File Functions:
      0%

        Shell Commands:
        0%

        Cut/Copy/Paste/Delete:
        0%

      Help File:
      0%

Firefox Filemanager - Resources
Tutorials, Reference Guides, Notes, Similar Projects.
Tools.
Software I used to get this done.
  • CVS for windows
  • Download (this is a repackaged copy. I have added a .bat file and a shortcut. Edit the .bat file to match what you want, then run the shortcut.)
  • Visual Studio 6.0
    • Visual Basic 6.0
    • Visual C++ 6.0
  • Visual C++ Toolkit 2003 Commandline Compiler
  • Firefox and the Firefox Source

Contacting Me.
     If you would like to contact me to point out a bug or error in any of the downloads available here, or just to let me know what you think of them, you can send me a note on deviantART or email me.

Legal Fluff.
     The Copyright for deviantART logo and icons is held by deviantART. The Copyright for the php icon is held by The PHP Group. The other images on this site are Copyright © of phalacee. All the downloads on this site are in the Public Domain.