[ENHANCEMENT] (Author: Dave Brotherstone) Style clickable links only in current page instead of on whole documents.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@911 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
parent
efc33d6c06
commit
07f9ab578f
@ -122,7 +122,8 @@ Notepad_plus::Notepad_plus(): _mainWindowStatus(0), _pDocTab(NULL), _pEditView(N
|
||||
_pMainSplitter(NULL),
|
||||
_recordingMacro(false), _pTrayIco(NULL), _isUDDocked(false), _pFileSwitcherPanel(NULL),
|
||||
_pProjectPanel_1(NULL), _pProjectPanel_2(NULL), _pProjectPanel_3(NULL), _pDocMap(NULL),
|
||||
_linkTriggered(true), _isDocModifing(false), _isHotspotDblClicked(false), _sysMenuEntering(false),
|
||||
_linkTriggered(true), _isDocModifing(false), _isHotspotDblClicked(false), _isFolding(false),
|
||||
_sysMenuEntering(false),
|
||||
_autoCompleteMain(&_mainEditView), _autoCompleteSub(&_subEditView), _smartHighlighter(&_findReplaceDlg),
|
||||
_isFileOpening(false), _rememberThisSession(true), _pAnsiCharPanel(NULL), _pClipboardHistoryPanel(NULL)
|
||||
{
|
||||
@ -1929,8 +1930,9 @@ void Notepad_plus::addHotSpot(bool docIsModifing)
|
||||
}
|
||||
|
||||
|
||||
int startPos = 0;
|
||||
int endPos = _pEditView->execute(SCI_GETTEXTLENGTH);
|
||||
int firstVisibleLine = _pEditView->execute(SCI_GETFIRSTVISIBLELINE);
|
||||
int startPos = _pEditView->execute(SCI_POSITIONFROMLINE, _pEditView->execute(SCI_DOCLINEFROMVISIBLE, firstVisibleLine));
|
||||
int endPos = _pEditView->execute(SCI_POSITIONFROMLINE, _pEditView->execute(SCI_DOCLINEFROMVISIBLE, firstVisibleLine + _pEditView->execute(SCI_LINESONSCREEN)));
|
||||
|
||||
_pEditView->execute(SCI_SETSEARCHFLAGS, SCFIND_REGEXP|SCFIND_POSIX);
|
||||
|
||||
|
@ -368,6 +368,7 @@ private:
|
||||
bool _linkTriggered;
|
||||
bool _isDocModifing;
|
||||
bool _isHotspotDblClicked;
|
||||
bool _isFolding;
|
||||
|
||||
//For Dynamic selection highlight
|
||||
CharacterRange _prevSelectedRange;
|
||||
|
@ -940,7 +940,9 @@ void Notepad_plus::command(int id)
|
||||
case IDM_VIEW_TOGGLE_FOLDALL:
|
||||
case IDM_VIEW_TOGGLE_UNFOLDALL:
|
||||
{
|
||||
_pEditView->foldAll((id==IDM_VIEW_TOGGLE_FOLDALL)?fold_collapse:fold_uncollapse);
|
||||
_isFolding = true; // So we can ignore events while folding is taking place
|
||||
_pEditView->foldAll((id==IDM_VIEW_TOGGLE_FOLDALL)?fold_collapse:fold_uncollapse);
|
||||
_isFolding = false;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -952,7 +954,9 @@ void Notepad_plus::command(int id)
|
||||
case IDM_VIEW_FOLD_6:
|
||||
case IDM_VIEW_FOLD_7:
|
||||
case IDM_VIEW_FOLD_8:
|
||||
_pEditView->collapse(id - IDM_VIEW_FOLD - 1, fold_collapse);
|
||||
_isFolding = true; // So we can ignore events while folding is taking place
|
||||
_pEditView->collapse(id - IDM_VIEW_FOLD - 1, fold_collapse);
|
||||
_isFolding = false;
|
||||
break;
|
||||
|
||||
case IDM_VIEW_UNFOLD_1:
|
||||
@ -963,7 +967,9 @@ void Notepad_plus::command(int id)
|
||||
case IDM_VIEW_UNFOLD_6:
|
||||
case IDM_VIEW_UNFOLD_7:
|
||||
case IDM_VIEW_UNFOLD_8:
|
||||
_pEditView->collapse(id - IDM_VIEW_UNFOLD - 1, fold_uncollapse);
|
||||
_isFolding = true; // So we can ignore events while folding is taking place
|
||||
_pEditView->collapse(id - IDM_VIEW_UNFOLD - 1, fold_uncollapse);
|
||||
_isFolding = false;
|
||||
break;
|
||||
|
||||
|
||||
|
@ -392,6 +392,14 @@ BOOL Notepad_plus::notify(SCNotification *notification)
|
||||
|| (notification->nmhdr.hwndFrom == _subEditView.getHSelf()))
|
||||
{
|
||||
int lineClicked = notification->line;
|
||||
|
||||
if (!_isFolding)
|
||||
{
|
||||
int urlAction = (NppParameters::getInstance())->getNppGUI()._styleURL;
|
||||
if ((urlAction == 1) || (urlAction == 2))
|
||||
addHotSpot(_isDocModifing);
|
||||
}
|
||||
|
||||
if (_pDocMap)
|
||||
_pDocMap->fold(lineClicked, _pEditView->isFolded(lineClicked));
|
||||
}
|
||||
@ -459,6 +467,10 @@ BOOL Notepad_plus::notify(SCNotification *notification)
|
||||
const NppGUI & nppGUI = (NppParameters::getInstance())->getNppGUI();
|
||||
if (nppGUI._enableSmartHilite)
|
||||
_smartHighlighter.highlightView(notifyView);
|
||||
|
||||
int urlAction = (NppParameters::getInstance())->getNppGUI()._styleURL;
|
||||
if ((urlAction == 1) || (urlAction == 2))
|
||||
addHotSpot(_isDocModifing);
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user