#
7daf3758 |
| 12-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Terminal: HyperLink: Remove base address, add text property
* The base address is no longer used (it was in a an earlier, never committed version), so we can as remove it. * Introduce a text prope
Terminal: HyperLink: Remove base address, add text property
* The base address is no longer used (it was in a an earlier, never committed version), so we can as remove it. * Introduce a text property.
show more ...
|
#
e9bad28a |
| 10-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Terminal: Add a hyperlink mode
When holding down Command, text under the mouse is checked whether it looks like a URL or a local path. If so, it is highlighted and can be clicked, which will open th
Terminal: Add a hyperlink mode
When holding down Command, text under the mouse is checked whether it looks like a URL or a local path. If so, it is highlighted and can be clicked, which will open the URL/file. Right-clicking opens a context menu with items for opening the link/file or copying it to the clipboard. When additionally holding down Shift, path prefixes up to the component under the mouse will be considered (no effect for URLs).
Changes: * Add HyperLink class. Encapsulates a type, the address, and an optional base address. Features an Open() method to open the address. * Move/add some string constants to TermConst. * Move TermView::CharClassifier to top level and rename to DefaultCharClassifier. * Introduce TermViewHighlight and TermViewHighlighter. The former refers to a range of text in a TermView's text buffer. It also contains a pointer to a TermViewHighlighter object, which specifies how the text range shall be rendered (colors and attributes). * TermView: - Add respective _{Add,Remove}Highlight() methods and adjust the code to support highlights. - Make the selection a TermViewHighlight. At least its visual aspect is now handled like other highlights. - Introduce an inner TextBufferSyncLocker. It is used instead of BAutolock when locking the text buffer to synchronize the visual buffer with it. After it unlocks it calls _VisibleTextBufferChanged(), if the visual text buffer has changed, which in turn calls a new callback on the active state. - Add WindowActivated() and ModifiersChanged() callbacks to the state interface. - Add new states HyperLinkState and HyperLinkMenuState which implement the new feature.
Fix modifier issues
show more ...
|