diff options
| author | Neil <nyamatongwe@gmail.com> | 2014-08-19 09:56:33 +1000 |
|---|---|---|
| committer | Neil <nyamatongwe@gmail.com> | 2014-08-19 09:56:33 +1000 |
| commit | bfa49e19fad49f41b5bf9020d192e0fad1e9e664 (patch) | |
| tree | c463b793250af113d6335a6cbd5e953d4b4a61e6 /win32/ScintillaWin.cxx | |
| parent | d22aad54e9d2b0a5d9e5ee31639b61e44bea5769 (diff) | |
| download | scintilla-mirror-bfa49e19fad49f41b5bf9020d192e0fad1e9e664.tar.gz | |
Bug [#1636]. Support Visual Studio 2010+ line copy clipboard tag.
Diffstat (limited to 'win32/ScintillaWin.cxx')
| -rw-r--r-- | win32/ScintillaWin.cxx | 8 |
1 files changed, 6 insertions, 2 deletions
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(); |
