diff options
| -rw-r--r-- | doc/ScintillaHistory.html | 6 | ||||
| -rw-r--r-- | win32/ScintillaWin.cxx | 8 | 
2 files changed, 11 insertions, 3 deletions
| diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index fef4804c8..1640dd0ff 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -474,10 +474,14 @@  	Released 13 August 2014.  	</li>  	<li> -	On Windows only unregister windows classes registered.. +	On Windows only unregister windows classes registered.  	<a href="http://sourceforge.net/p/scintilla/bugs/1639/">Bug #1639</a>.  	</li>  	<li> +	On Windows support the Visual Studio 2010+ clipboard format that indicates a line copy. +	<a href="http://sourceforge.net/p/scintilla/bugs/1636/">Bug #1636</a>. +	</li> +	<li>  	SciTE session files remember the scroll position.  	</li>      </ul> diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index b69b3cadb..2ff660a09 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -197,6 +197,7 @@ class ScintillaWin :  	CLIPFORMAT cfColumnSelect;  	CLIPFORMAT cfBorlandIDEBlockType;  	CLIPFORMAT cfLineSelect; +	CLIPFORMAT cfVSLineTag;  	HRESULT hrOle;  	DropSource ds; @@ -366,7 +367,8 @@ ScintillaWin::ScintillaWin(HWND hwnd) {  	// Likewise for line-copy (copies a full line when no text is selected)  	cfLineSelect = static_cast<CLIPFORMAT>(  		::RegisterClipboardFormat(TEXT("MSDEVLineSelect"))); - +	cfVSLineTag = static_cast<CLIPFORMAT>( +		::RegisterClipboardFormat(TEXT("VisualStudioEditorOperationsLineCutCopyClipboardTag")));  	hrOle = E_FAIL;  	wMain = hwnd; @@ -1884,7 +1886,8 @@ void ScintillaWin::Paste() {  	if (!::OpenClipboard(MainHWND()))  		return;  	UndoGroup ug(pdoc); -	const bool isLine = SelectionEmpty() && (::IsClipboardFormatAvailable(cfLineSelect) != 0); +	const bool isLine = SelectionEmpty() &&  +		(::IsClipboardFormatAvailable(cfLineSelect) || ::IsClipboardFormatAvailable(cfVSLineTag));  	ClearSelection(multiPasteMode == SC_MULTIPASTE_EACH);  	bool isRectangular = (::IsClipboardFormatAvailable(cfColumnSelect) != 0); @@ -2451,6 +2454,7 @@ void ScintillaWin::CopyToClipboard(const SelectionText &selectedText) {  	if (selectedText.lineCopy) {  		::SetClipboardData(cfLineSelect, 0); +		::SetClipboardData(cfVSLineTag, 0);  	}  	::CloseClipboard(); | 
