Hyperlinks: Difference between revisions
From FreeMind
Jump to navigationJump to search
(→Implementation: +descriptions) |
|||
Line 29: | Line 29: | ||
| [http://freemind.cvs.sourceforge.net/freemind/freemind/freemind/main/Tools.java Tools] | | [http://freemind.cvs.sourceforge.net/freemind/freemind/freemind/main/Tools.java Tools] | ||
| isAbsolutePath | | isAbsolutePath | ||
| Used in the loadURL method. | | Tells whether the given string path is absolute or relative. For non-Windows, it decides based on whether the path starts with a file separator. The logic picked depends on the operating system. Used in the loadURL method. | ||
|} | |} | ||
Revision as of 17:08, 8 February 2009
FreeMind supports having one hyperlink per node, linking to web pages, mail addresses, and to local files.
Implementation
Making hyperlinks work fine on all the supported platforms including Microsoft Windows, Max OS X and Linux is technically tricky, requiring dedicated code for each group of platforms.
Class | Method | Description |
---|---|---|
FreeMind | openDocument | Opens the given URL in a browser or using the appropriate service of the operating system, using the browser command appropriate for the operating system. |
ControllerAdapter | loadURL | Takes an URL as a string, checks whether it is relative or absolute, and whether it ends in ".mm", and opens it as a mind map, centers the target node if the URL is of the form "#nodeID", or forwards the URL to the openDocument method. |
Tools | urlGetFile | A heuristic workaround. |
Tools | fileToUrl | Converts a file to URL, working around Java issues. |
Tools | isAbsolutePath | Tells whether the given string path is absolute or relative. For non-Windows, it decides based on whether the path starts with a file separator. The logic picked depends on the operating system. Used in the loadURL method. |
Cases
Type | Case | Example Path | Note |
---|---|---|---|
Local file | Unix path | "/folder/some more/file" | |
Local file | Windows drive path | "C:\Users\User Joe\file" | |
Local file | Windows network path | "\\hostname\folder\file" | Following is broken in 0.9.0 beta 18. |
Browser commands
The various default browser commands per operating system: Source: freemind.properties.
- default_browser_command_windows_nt = cmd.exe /c start "" "{0}"
- default_browser_command_windows_9x = command.com /c start "{0}"
- default_browser_command_mac = open {0}
- default_browser_command_other_os = xdg-open {0}
Protocols
Users are requesting that FreeMind supports various protocols that are currently unsupported. These include the following:
- "onenote://"[1] -- for Microsoft OneNote
- "mid://"[2] -- for messages
- "notes://"[3] -- for Lotus Notes
- "svn://"[4]
- "outlook://"[5]
Tracker items
- URLs of local files - spaces
- Error opening files from network PCs in Windows
- RFE: Customisable hyperlink protocols (like Firefox)
- Support for arbitrary URIs - a patch