void TermView::HyperLinkState::MouseDown(BPoint where, int32 buttons, int32 modifiers) { TermPos start; TermPos end; HyperLink link; bool pathPrefixOnly = (modifiers & B_SHIFT_KEY) != 0; if (!_GetHyperLinkAt(where, pathPrefixOnly, link, start, end)) return; if ((buttons & B_PRIMARY_MOUSE_BUTTON) != 0) { link.Open(); } else if ((buttons & B_SECONDARY_MOUSE_BUTTON) != 0) { fView->fHyperLinkMenuState->Prepare(where, link); fView->_NextState(fView->fHyperLinkMenuState); } }